tolua-5.2.4/0000755000175000017500000000000014303161317011321 5ustar tobitobitolua-5.2.4/src/0000755000175000017500000000000012615764613012124 5ustar tobitobitolua-5.2.4/src/bin/0000755000175000017500000000000014303161317012660 5ustar tobitobitolua-5.2.4/src/bin/._Makefile0000755000175000017500000000043012615764613014551 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/._guia.txt0000755000175000017500000000043012615764613014577 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/tolua_bind52_linux30_64.c0000755000175000017500000077437712615764613017256 0ustar tobitobi/* ** Lua binding: tolua */ #include "tolua.h" #ifndef __cplusplus #include #endif #ifdef __cplusplus extern "C" int tolua_bnd_takeownership (lua_State* L); // from tolua_map.c #else int tolua_bnd_takeownership (lua_State* L); /* from tolua_map.c */ #endif #include /* Exported function */ TOLUA_API int tolua_tolua_open (lua_State* tolua_S); LUALIB_API int luaopen_tolua (lua_State* tolua_S); /* function to register type */ static void tolua_reg_types (lua_State* tolua_S) { } /* Open lib function */ LUALIB_API int luaopen_tolua (lua_State* tolua_S) { tolua_open(tolua_S); tolua_reg_types(tolua_S); tolua_module(tolua_S,NULL,0); tolua_beginmodule(tolua_S,NULL); { /* begin embedded lua code */ static unsigned char B[] = { 10,114, 97,119,116,121,112,101, 32, 61, 32,116,121,112,101, 10,102,117,110, 99,116,105,111,110, 32,100,111, 95, 32, 40, 102, 44, 32,101,114,114, 41, 10,105,102, 32,110,111,116, 32, 102, 32,116,104,101,110, 32,112,114,105,110,116, 40,101,114, 114, 41, 59, 32,114,101,116,117,114,110, 32,101,110,100, 10, 108,111, 99, 97,108, 32, 97, 44, 98, 32, 61, 32,112, 99, 97, 108,108, 40,102, 41, 10,105,102, 32,110,111,116, 32, 97, 32, 116,104,101,110, 32,112,114,105,110,116, 40, 98, 41, 59, 32, 114,101,116,117,114,110, 32,110,105,108, 10,101,108,115,101, 32,114,101,116,117,114,110, 32, 98, 32,111,114, 32,116,114, 117,101, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32,100,111,115,116,114,105,110,103, 40,115, 41, 32,114,101,116,117,114,110, 32,100,111, 95, 40,108,111, 97,100,115,116,114,105,110,103, 40,115, 41, 41, 32,101,110, 100, 10,108,111, 99, 97,108, 32,116, 97, 98, 32, 61, 32,116, 97, 98,108,101, 10,102,111,114,101, 97, 99,104, 32, 61, 32, 102,117,110, 99,116,105,111,110, 40,116, 44,102, 41, 10,102, 111,114, 32,107, 44,118, 32,105,110, 32,112, 97,105,114,115, 40,116, 41, 32,100,111, 10,102, 40,107, 44,118, 41, 10,101, 110,100, 10,101,110,100, 10,102,111,114,101, 97, 99,104,105, 32, 61, 32,102,117,110, 99,116,105,111,110, 40,116, 44,102, 41, 10,102,111,114, 32,105, 44,118, 32,105,110, 32,105,112, 97,105,114,115, 40,116, 41, 32,100,111, 10,102, 40,105, 44, 118, 41, 10,101,110,100, 10,101,110,100, 10,103,101,116,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 40,116, 41, 10, 114,101,116,117,114,110, 32, 35,116, 10,101,110,100, 10,116, 105,110,115,101,114,116, 32, 61, 32,116, 97, 98, 46,105,110, 115,101,114,116, 10,116,114,101,109,111,118,101, 32, 61, 32, 116, 97, 98, 46,114,101,109,111,118,101, 10,115,111,114,116, 32, 61, 32,116, 97, 98, 46,115,111,114,116, 10,108,111, 99, 97,108, 32,100, 98,103, 32, 61, 32,100,101, 98,117,103, 10, 103,101,116,105,110,102,111, 32, 61, 32,100, 98,103, 46,103, 101,116,105,110,102,111, 10,103,101,116,108,111, 99, 97,108, 32, 61, 32,100, 98,103, 46,103,101,116,108,111, 99, 97,108, 10,115,101,116, 99, 97,108,108,104,111,111,107, 32, 61, 32, 102,117,110, 99,116,105,111,110, 32, 40, 41, 32,101,114,114, 111,114, 34, 96,115,101,116, 99, 97,108,108,104,111,111,107, 39, 32,105,115, 32,100,101,112,114,101, 99, 97,116,101,100, 34, 32,101,110,100, 10,115,101,116,108,105,110,101,104,111, 111,107, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40, 41, 32,101,114,114,111,114, 34, 96,115,101,116,108,105,110, 101,104,111,111,107, 39, 32,105,115, 32,100,101,112,114,101, 99, 97,116,101,100, 34, 32,101,110,100, 10,115,101,116,108, 111, 99, 97,108, 32, 61, 32,100, 98,103, 46,115,101,116,108, 111, 99, 97,108, 10,108,111, 99, 97,108, 32,109, 97,116,104, 32, 61, 32,109, 97,116,104, 10, 97, 98,115, 32, 61, 32,109, 97,116,104, 46, 97, 98,115, 10, 97, 99,111,115, 32, 61, 32, 102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101, 116,117,114,110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97, 99,111,115, 40,120, 41, 41, 32,101,110, 100, 10, 97,115,105,110, 32, 61, 32,102,117,110, 99,116,105, 111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,115, 105,110, 40,120, 41, 41, 32,101,110,100, 10, 97,116, 97,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101, 103, 40,109, 97,116,104, 46, 97,116, 97,110, 40,120, 41, 41, 32,101,110,100, 10, 97,116, 97,110, 50, 32, 61, 32,102,117, 110, 99,116,105,111,110, 32, 40,120, 44,121, 41, 32,114,101, 116,117,114,110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,116, 97,110, 50, 40,120, 44,121, 41, 41, 32,101,110,100, 10, 99,101,105,108, 32, 61, 32,109, 97,116, 104, 46, 99,101,105,108, 10, 99,111,115, 32, 61, 32,102,117, 110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117, 114,110, 32,109, 97,116,104, 46, 99,111,115, 40,109, 97,116, 104, 46,114, 97,100, 40,120, 41, 41, 32,101,110,100, 10,100, 101,103, 32, 61, 32,109, 97,116,104, 46,100,101,103, 10,101, 120,112, 32, 61, 32,109, 97,116,104, 46,101,120,112, 10,102, 108,111,111,114, 32, 61, 32,109, 97,116,104, 46,102,108,111, 111,114, 10,102,114,101,120,112, 32, 61, 32,109, 97,116,104, 46,102,114,101,120,112, 10,108,100,101,120,112, 32, 61, 32, 109, 97,116,104, 46,108,100,101,120,112, 10,108,111,103, 32, 61, 32,109, 97,116,104, 46,108,111,103, 10,108,111,103, 49, 48, 32, 61, 32,109, 97,116,104, 46,108,111,103, 49, 48, 10, 109, 97,120, 32, 61, 32,109, 97,116,104, 46,109, 97,120, 10, 109,105,110, 32, 61, 32,109, 97,116,104, 46,109,105,110, 10, 109,111,100, 32, 61, 32,109, 97,116,104, 46,109,111,100, 10, 80, 73, 32, 61, 32,109, 97,116,104, 46,112,105, 10,114, 97, 100, 32, 61, 32,109, 97,116,104, 46,114, 97,100, 10,114, 97, 110,100,111,109, 32, 61, 32,109, 97,116,104, 46,114, 97,110, 100,111,109, 10,114, 97,110,100,111,109,115,101,101,100, 32, 61, 32,109, 97,116,104, 46,114, 97,110,100,111,109,115,101, 101,100, 10,115,105,110, 32, 61, 32,102,117,110, 99,116,105, 111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,115,105,110, 40,109, 97,116,104, 46,114, 97, 100, 40,120, 41, 41, 32,101,110,100, 10,115,113,114,116, 32, 61, 32,109, 97,116,104, 46,115,113,114,116, 10,116, 97,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,116, 97, 110, 40,109, 97,116,104, 46,114, 97,100, 40,120, 41, 41, 32, 101,110,100, 10,108,111, 99, 97,108, 32,115,116,114, 32, 61, 32,115,116,114,105,110,103, 10,115,116,114, 98,121,116,101, 32, 61, 32,115,116,114, 46, 98,121,116,101, 10,115,116,114, 99,104, 97,114, 32, 61, 32,115,116,114, 46, 99,104, 97,114, 10,115,116,114,102,105,110,100, 32, 61, 32,115,116,114, 46, 102,105,110,100, 10,102,111,114,109, 97,116, 32, 61, 32,115, 116,114, 46,102,111,114,109, 97,116, 10,103,115,117, 98, 32, 61, 32,115,116,114, 46,103,115,117, 98, 10,115,116,114,108, 101,110, 32, 61, 32,115,116,114, 46,108,101,110, 10,115,116, 114,108,111,119,101,114, 32, 61, 32,115,116,114, 46,108,111, 119,101,114, 10,115,116,114,114,101,112, 32, 61, 32,115,116, 114, 46,114,101,112, 10,115,116,114,115,117, 98, 32, 61, 32, 115,116,114, 46,115,117, 98, 10,115,116,114,117,112,112,101, 114, 32, 61, 32,115,116,114, 46,117,112,112,101,114, 10, 99, 108,111, 99,107, 32, 61, 32,111,115, 46, 99,108,111, 99,107, 10,100, 97,116,101, 32, 61, 32,111,115, 46,100, 97,116,101, 10,100,105,102,102,116,105,109,101, 32, 61, 32,111,115, 46, 100,105,102,102,116,105,109,101, 10,101,120,101, 99,117,116, 101, 32, 61, 32,111,115, 46,101,120,101, 99,117,116,101, 10, 101,120,105,116, 32, 61, 32,111,115, 46,101,120,105,116, 10, 103,101,116,101,110,118, 32, 61, 32,111,115, 46,103,101,116, 101,110,118, 10,114,101,109,111,118,101, 32, 61, 32,111,115, 46,114,101,109,111,118,101, 10,114,101,110, 97,109,101, 32, 61, 32,111,115, 46,114,101,110, 97,109,101, 10,115,101,116, 108,111, 99, 97,108,101, 32, 61, 32,111,115, 46,115,101,116, 108,111, 99, 97,108,101, 10,116,105,109,101, 32, 61, 32,111, 115, 46,116,105,109,101, 10,116,109,112,110, 97,109,101, 32, 61, 32,111,115, 46,116,109,112,110, 97,109,101, 10,103,101, 116,103,108,111, 98, 97,108, 32, 61, 32,102,117,110, 99,116, 105,111,110, 32, 40,110, 41, 32,114,101,116,117,114,110, 32, 95, 71, 91,110, 93, 32,101,110,100, 10,115,101,116,103,108, 111, 98, 97,108, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,110, 44,118, 41, 32, 95, 71, 91,110, 93, 32, 61, 32, 118, 32,101,110,100, 10,108,111, 99, 97,108, 32,105,111, 44, 32,116, 97, 98, 32, 61, 32,105,111, 44, 32,116, 97, 98,108, 101, 10, 95, 83, 84, 68, 73, 78, 32, 61, 32,105,111, 46,115, 116,100,105,110, 10, 95, 83, 84, 68, 69, 82, 82, 32, 61, 32, 105,111, 46,115,116,100,101,114,114, 10, 95, 83, 84, 68, 79, 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117,116, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100, 105,110, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117,116, 10,115,101,101,107, 32, 61, 32, 105,111, 46,115,116,100,105,110, 46,115,101,101,107, 10,116, 109,112,102,105,108,101, 32, 61, 32,105,111, 46,116,109,112, 102,105,108,101, 10, 99,108,111,115,101,102,105,108,101, 32, 61, 32,105,111, 46, 99,108,111,115,101, 10,111,112,101,110, 102,105,108,101, 32, 61, 32,105,111, 46,111,112,101,110, 10, 102,117,110, 99,116,105,111,110, 32,102,108,117,115,104, 32, 40,102, 41, 10,105,102, 32,102, 32,116,104,101,110, 32,102, 58,102,108,117,115,104, 40, 41, 10,101,108,115,101, 32, 95, 79, 85, 84, 80, 85, 84, 58,102,108,117,115,104, 40, 41, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32,114,101, 97,100,102,114,111,109, 32, 40,110, 97,109, 101, 41, 10,105,102, 32,110, 97,109,101, 32, 61, 61, 32,110, 105,108, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,108,111,115,101, 40, 95, 73, 78, 80, 85, 84, 41, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100, 105,110, 10,114,101,116,117,114,110, 32,102, 44, 32,101,114, 114, 44, 32, 99,111,100, 10,101,108,115,101, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111,112,101,110, 40,110, 97,109,101, 44, 32, 34,114, 34, 41, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32, 102, 32,111,114, 32, 95, 73, 78, 80, 85, 84, 10,114,101,116, 117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32,119,114,105,116,101,116,111, 32, 40,110, 97,109, 101, 41, 10,105,102, 32,110, 97,109,101, 32, 61, 61, 32,110, 105,108, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,108,111,115,101, 40, 95, 79, 85, 84, 80, 85, 84, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,111, 46,115, 116,100,111,117,116, 10,114,101,116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,108,115,101, 10, 108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99, 111,100, 32, 61, 32,105,111, 46,111,112,101,110, 40,110, 97, 109,101, 44, 32, 34,119, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95, 79, 85, 84, 80, 85, 84, 10,114,101,116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,110,100, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32, 97,112,112,101,110,100,116, 111, 32, 40,110, 97,109,101, 41, 10,108,111, 99, 97,108, 32, 102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105, 111, 46,111,112,101,110, 40,110, 97,109,101, 44, 32, 34, 97, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32, 111,114, 32, 95, 79, 85, 84, 80, 85, 84, 10,114,101,116,117, 114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32,114,101, 97,100, 32, 40, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32, 102, 32, 61, 32, 95, 73, 78, 80, 85, 84, 10,108,111, 99, 97, 108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46,125, 10,105, 102, 32,114, 97,119,116,121,112,101, 40, 97,114,103, 91, 49, 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101,110, 10,102, 32, 61, 32,116, 97, 98, 46, 114,101,109,111,118,101, 40, 97,114,103, 44, 32, 49, 41, 10, 101,110,100, 10,114,101,116,117,114,110, 32,102, 58,114,101, 97,100, 40,117,110,112, 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,119, 114,105,116,101, 32, 40, 46, 46, 46, 41, 10,108,111, 99, 97, 108, 32,102, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10,108, 111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46, 125, 10,105,102, 32,114, 97,119,116,121,112,101, 40, 97,114, 103, 91, 49, 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101,110, 10,102, 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,103, 44, 32, 49, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32,102, 58,119,114,105,116,101, 40,117,110,112, 97, 99,107, 40, 97, 114,103, 41, 41, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 95, 98, 97,115,105, 99, 32, 61, 32,123, 10, 91, 39,118, 111,105,100, 39, 93, 32, 61, 32, 39, 39, 44, 10, 91, 39, 99, 104, 97,114, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116,111,108,117, 97, 95,105,110,100,101, 120, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116,111,108,117, 97, 95, 98,121,116,101, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39, 116,111,108,117, 97, 95,117, 98,121,116,101, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,105,110, 116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,115,104,111,114,116, 39, 93, 32, 61, 32, 39,110, 117,109, 98,101,114, 39, 44, 10, 91, 39,108,111,110,103, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,117,110,115,105,103,110,101,100, 39, 93, 32, 61, 32, 39, 110,117,109, 98,101,114, 39, 44, 10, 91, 39,102,108,111, 97, 116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,100,111,117, 98,108,101, 39, 93, 32, 61, 32, 39, 110,117,109, 98,101,114, 39, 44, 10, 91, 39, 95, 99,115,116, 114,105,110,103, 39, 93, 32, 61, 32, 39,115,116,114,105,110, 103, 39, 44, 10, 91, 39, 95,117,115,101,114,100, 97,116, 97, 39, 93, 32, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 44, 10, 91, 39, 99,104, 97,114, 42, 39, 93, 32, 61, 32, 39, 115,116,114,105,110,103, 39, 44, 10, 91, 39,118,111,105,100, 42, 39, 93, 32, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 44, 10, 91, 39, 98,111,111,108, 39, 93, 32, 61, 32, 39, 98,111,111,108,101, 97,110, 39, 44, 10, 91, 39,108,117, 97, 95, 83,116, 97,116,101, 42, 39, 93, 32, 61, 32, 39,115,116, 97,116,101, 39, 44, 10, 91, 39, 95,108,115,116, 97,116,101, 39, 93, 32, 61, 32, 39,115,116, 97,116,101, 39, 44, 10, 91, 39,108,117, 97, 95, 79, 98,106,101, 99,116, 39, 93, 32, 61, 32, 39,118, 97,108,117,101, 39, 44, 10, 91, 39,108,117, 97, 95, 70,117,110, 99,116,105,111,110, 39, 93, 32, 61, 32, 39, 102,117,110, 99,116,105,111,110, 39, 44, 10, 91, 39, 76, 85, 65, 95, 86, 65, 76, 85, 69, 39, 93, 32, 61, 32, 39,118, 97, 108,117,101, 39, 44, 10,125, 10, 95, 98, 97,115,105, 99, 95, 99,116,121,112,101, 32, 61, 32,123, 10,110,117,109, 98,101, 114, 32, 61, 32, 34,108,117, 97, 95, 78,117,109, 98,101,114, 34, 44, 10,115,116,114,105,110,103, 32, 61, 32, 34, 99,111, 110,115,116, 32, 99,104, 97,114, 42, 34, 44, 10,117,115,101, 114,100, 97,116, 97, 32, 61, 32, 34,118,111,105,100, 42, 34, 44, 10, 98,111,111,108,101, 97,110, 32, 61, 32, 34, 98,111, 111,108, 34, 44, 10,118, 97,108,117,101, 32, 61, 32, 34,105, 110,116, 34, 44, 10,125, 10, 95,117,115,101,114,116,121,112, 101, 32, 61, 32,123,125, 10, 95, 99,111,108,108,101, 99,116, 32, 61, 32,123,125, 10, 95,114,101,110, 97,109,105,110,103, 32, 61, 32,123,125, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101,110,100,114,101,110, 97,109,105,110,103, 32, 40,115, 41, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,111, 108,100, 44,110,101,119, 32, 61, 32,115,116,114,102,105,110, 100, 40,115, 44, 34, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 64, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 36, 34, 41, 10, 105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10,101, 114,114,111,114, 40, 34, 35, 73,110,118, 97,108,105,100, 32, 114,101,110, 97,109,105,110,103, 32,115,121,110,116, 97,120, 59, 32,105,116, 32,115,104,111,117,108,100, 32, 98,101, 32, 111,102, 32,116,104,101, 32,102,111,114,109, 58, 32,112, 97, 116,116,101,114,110, 64,112, 97,116,116,101,114,110, 34, 41, 10,101,110,100, 10,116,105,110,115,101,114,116, 40, 95,114, 101,110, 97,109,105,110,103, 44,123,111,108,100, 61,111,108, 100, 44, 32,110,101,119, 61,110,101,119,125, 41, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,108, 121,114,101,110, 97,109,105,110,103, 32, 40,115, 41, 10,102, 111,114, 32,105, 61, 49, 44,103,101,116,110, 40, 95,114,101, 110, 97,109,105,110,103, 41, 32,100,111, 10,108,111, 99, 97, 108, 32,109, 44,110, 32, 61, 32,103,115,117, 98, 40,115, 44, 95,114,101,110, 97,109,105,110,103, 91,105, 93, 46,111,108, 100, 44, 95,114,101,110, 97,109,105,110,103, 91,105, 93, 46, 110,101,119, 41, 10,105,102, 32,110, 32,126, 61, 32, 48, 32, 116,104,101,110, 10,114,101,116,117,114,110, 32,109, 10,101, 110,100, 10,101,110,100, 10,114,101,116,117,114,110, 32,110, 105,108, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,116,111,108,117, 97, 95,101,114,114,111,114, 32, 40,115, 44,102, 41, 10,108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 95, 83, 84, 68, 69, 82, 82, 10,105,102, 32, 115,116,114,115,117, 98, 40,115, 44, 49, 44, 49, 41, 32, 61, 61, 32, 39, 35, 39, 32,116,104,101,110, 10,119,114,105,116, 101, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 58, 32, 34, 46, 46,115,116,114,115,117, 98, 40,115, 44, 50, 41, 46, 46, 34, 46, 92,110, 92,110, 34, 41, 10,105,102, 32, 95, 99, 117,114,114, 95, 99,111,100,101, 32,116,104,101,110, 10,108, 111, 99, 97,108, 32, 95, 44, 95, 44,115, 32, 61, 32,115,116, 114,102,105,110,100, 40, 95, 99,117,114,114, 95, 99,111,100, 101, 44, 34, 94, 37,115, 42, 40, 46, 45, 92,110, 41, 34, 41, 10,105,102, 32,115, 61, 61,110,105,108, 32,116,104,101,110, 32,115, 32, 61, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,101,110,100, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95,117,115,101,114,100, 97,116, 97, 34, 44, 34,118, 111,105,100, 42, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95, 99,115,116,114,105,110,103, 34, 44, 34, 99,104, 97,114, 42, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95,108,115,116, 97,116,101, 34, 44, 34, 108,117, 97, 95, 83,116, 97,116,101, 42, 34, 41, 10,119,114, 105,116,101, 40, 34, 67,111,100,101, 32, 98,101,105,110,103, 32,112,114,111, 99,101,115,115,101,100, 58, 92,110, 34, 46, 46,115, 46, 46, 34, 92,110, 34, 41, 10,101,110,100, 10,101, 108,115,101, 10,112,114,105,110,116, 40,100,101, 98,117,103, 46,116,114, 97, 99,101, 98, 97, 99,107, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 32,105,110,116,101,114,110, 97, 108, 32,101,114,114,111,114, 58, 32, 34, 46, 46,102, 46, 46, 115, 46, 46, 34, 46, 92,110, 92,110, 34, 41, 41, 10,114,101, 116,117,114,110, 10,101,110,100, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,111,117,116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,119, 97,114,110,105,110,103, 32, 40, 109,115,103, 41, 10,108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 95, 83, 84, 68, 69, 82, 82, 10,119,114, 105,116,101, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 32,119, 97,114,110,105,110,103, 58, 32, 34, 46, 46,109,115, 103, 46, 46, 34, 46, 92,110, 92,110, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,111,117,116, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32,114,101,103,116,121,112, 101, 32, 40,116, 41, 10,108,111, 99, 97,108, 32,102,116, 32, 61, 32,102,105,110,100,116,121,112,101, 40,116, 41, 10,105, 102, 32,105,115, 98, 97,115,105, 99, 40,116, 41, 32,116,104, 101,110, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,105,102, 32,110,111,116, 32,102,116, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 97,112,112,101,110,100,117, 115,101,114,116,121,112,101, 40,116, 41, 10,101,110,100, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32,116,121, 112,101,118, 97,114, 40,116,121,112,101, 41, 10,105,102, 32, 116,121,112,101, 32, 61, 61, 32, 39, 39, 32,111,114, 32,116, 121,112,101, 32, 61, 61, 32, 39,118,111,105,100, 39, 32,111, 114, 32,116,121,112,101, 32, 61, 61, 32, 34, 46, 46, 46, 34, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,116,121, 112,101, 10,101,108,115,101, 10,108,111, 99, 97,108, 32,102, 116, 32, 61, 32,102,105,110,100,116,121,112,101, 40,116,121, 112,101, 41, 10,105,102, 32,102,116, 32,116,104,101,110, 10, 114,101,116,117,114,110, 32,102,116, 10,101,110,100, 10, 95, 117,115,101,114,116,121,112,101, 91,116,121,112,101, 93, 32, 61, 32,116,121,112,101, 10,114,101,116,117,114,110, 32,116, 121,112,101, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,105,115, 98, 97,115,105, 99, 32, 40, 116,121,112,101, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,103,115,117, 98, 40,116,121,112,101, 44, 39, 99,111,110, 115,116, 32, 39, 44, 39, 39, 41, 10,108,111, 99, 97,108, 32, 109, 44,116, 32, 61, 32, 97,112,112,108,121,116,121,112,101, 100,101,102, 40,116, 41, 10,108,111, 99, 97,108, 32, 98, 32, 61, 32, 95, 98, 97,115,105, 99, 91,116, 93, 10,105,102, 32, 98, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 98, 44, 95, 98, 97,115,105, 99, 95, 99,116,121,112,101, 91, 98, 93, 10,101,110,100, 10,114,101,116,117,114,110, 32,110,105, 108, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 115,112,108,105,116, 32, 40,115, 44,116, 41, 10,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,108,111, 99, 97,108, 32,102, 32, 61, 32,102,117,110, 99,116,105,111, 110, 32, 40,115, 41, 10,108, 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32,115, 10,114,101,116,117,114,110, 32, 34, 34, 10,101,110,100, 10, 108,111, 99, 97,108, 32,112, 32, 61, 32, 34, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 34, 46, 46,116, 46, 46, 34, 37,115, 42, 34, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 94, 37,115, 43, 34, 44, 34, 34, 41, 10,115, 32, 61, 32,103, 115,117, 98, 40,115, 44, 34, 37,115, 43, 36, 34, 44, 34, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44,112, 44, 102, 41, 10,108, 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 40, 37,115, 37,115, 42, 41, 36, 34, 44, 34, 34, 41, 10,114,101,116,117,114,110, 32,108, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,111,110, 99, 97, 116, 32, 40,116, 44,102, 44,108, 41, 10,108,111, 99, 97,108, 32,115, 32, 61, 32, 39, 39, 10,108,111, 99, 97,108, 32,105, 61,102, 10,119,104,105,108,101, 32,105, 60, 61,108, 32,100, 111, 10,115, 32, 61, 32,115, 46, 46,116, 91,105, 93, 10,105, 32, 61, 32,105, 43, 49, 10,105,102, 32,105, 32, 60, 61, 32, 108, 32,116,104,101,110, 32,115, 32, 61, 32,115, 46, 46, 39, 32, 39, 32,101,110,100, 10,101,110,100, 10,114,101,116,117, 114,110, 32,115, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 32, 40,108,105,110,101, 44, 32, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46,125, 10, 108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,105, 60, 61, 35, 97,114,103, 32,100,111, 10,105,102, 32, 95, 99,111,110,116, 32, 97,110,100, 32,110,111,116, 32,115, 116,114,102,105,110,100, 40, 95, 99,111,110,116, 44, 39, 91, 37, 40, 44, 34, 93, 39, 41, 32, 97,110,100, 10,115,116,114, 102,105,110,100, 40, 97,114,103, 91,105, 93, 44, 34, 94, 91, 37, 97, 95,126, 93, 34, 41, 32,116,104,101,110, 10,108,105, 110,101, 32, 61, 32,108,105,110,101, 32, 46, 46, 32, 39, 32, 39, 10,101,110,100, 10,108,105,110,101, 32, 61, 32,108,105, 110,101, 32, 46, 46, 32, 97,114,103, 91,105, 93, 10,105,102, 32, 97,114,103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,116, 104,101,110, 10, 95, 99,111,110,116, 32, 61, 32,115,116,114, 115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49, 44, 45, 49, 41, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10, 101,110,100, 10,105,102, 32,115,116,114,102,105,110,100, 40, 97,114,103, 91, 35, 97,114,103, 93, 44, 34, 91, 37, 47, 37, 41, 37, 59, 37,123, 37,125, 93, 36, 34, 41, 32,116,104,101, 110, 10, 95, 99,111,110,116, 61,110,105,108, 32,108,105,110, 101, 32, 61, 32,108,105,110,101, 32, 46, 46, 32, 39, 92,110, 39, 10,101,110,100, 10,114,101,116,117,114,110, 32,108,105, 110,101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,111,117,116,112,117,116, 32, 40, 46, 46, 46, 41, 10,108, 111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46, 125, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105, 108,101, 32,105, 60, 61, 35, 97,114,103, 32,100,111, 10,105, 102, 32, 95, 99,111,110,116, 32, 97,110,100, 32,110,111,116, 32,115,116,114,102,105,110,100, 40, 95, 99,111,110,116, 44, 39, 91, 37, 40, 44, 34, 93, 39, 41, 32, 97,110,100, 10,115, 116,114,102,105,110,100, 40, 97,114,103, 91,105, 93, 44, 34, 94, 91, 37, 97, 95,126, 93, 34, 41, 32,116,104,101,110, 10, 119,114,105,116,101, 40, 39, 32, 39, 41, 10,101,110,100, 10, 119,114,105,116,101, 40, 97,114,103, 91,105, 93, 41, 10,105, 102, 32, 97,114,103, 91,105, 93, 32,126, 61, 32, 39, 39, 32, 116,104,101,110, 10, 95, 99,111,110,116, 32, 61, 32,115,116, 114,115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49, 44, 45, 49, 41, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,105,102, 32,115,116,114,102,105,110,100, 40, 97,114,103, 91, 35, 97,114,103, 93, 44, 34, 91, 37, 47, 37, 41, 37, 59, 37,123, 37,125, 93, 36, 34, 41, 32,116,104, 101,110, 10, 95, 99,111,110,116, 61,110,105,108, 32,119,114, 105,116,101, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,101, 110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 32, 61, 32,123, 10,125, 10, 99,108, 97,115,115, 70,101, 97,116,117, 114,101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117, 114,101, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 70,101, 97,116,117,114,101, 58,100,101, 99,108,116, 121,112,101, 32, 40, 41, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117, 114,101, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,112,114,101, 97, 109, 98,108,101, 32, 40, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116, 117,114,101, 58,105,115,118, 97,114,105, 97, 98,108,101, 32, 40, 41, 10,114,101,116,117,114,110, 32,102, 97,108,115,101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 70,101, 97,116,117,114,101, 58,114,101,113, 117,105,114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41, 10,114,101,116,117,114,110, 32,102, 97,108,115, 101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58, 98,117, 105,108,100,110, 97,109,101,115, 32, 40, 41, 10,105,102, 32, 115,101,108,102, 46,110, 97,109,101, 32, 97,110,100, 32,115, 101,108,102, 46,110, 97,109,101,126, 61, 39, 39, 32,116,104, 101,110, 10,108,111, 99, 97,108, 32,110, 32, 61, 32,115,112, 108,105,116, 40,115,101,108,102, 46,110, 97,109,101, 44, 39, 64, 39, 41, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32,110, 91, 49, 93, 10,105,102, 32,110,111,116, 32,110, 91, 50, 93, 32,116,104,101,110, 10,110, 91, 50, 93, 32, 61, 32, 97,112,112,108,121,114,101,110, 97,109,105,110,103, 40,110, 91, 49, 93, 41, 10,101,110,100, 10,115,101,108,102, 46,108, 110, 97,109,101, 32, 61, 32,110, 91, 50, 93, 32,111,114, 32, 103,115,117, 98, 40,110, 91, 49, 93, 44, 34, 37, 91, 46, 45, 37, 93, 34, 44, 34, 34, 41, 10,101,110,100, 10,115,101,108, 102, 46,110, 97,109,101, 32, 61, 32,103,101,116,111,110,108, 121,110, 97,109,101,115,112, 97, 99,101, 40, 41, 32, 46, 46, 32,115,101,108,102, 46,110, 97,109,101, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70, 101, 97,116,117,114,101, 58,105,110, 99,111,110,116, 97,105, 110,101,114, 32, 40,119,104,105, 99,104, 41, 10,105,102, 32, 115,101,108,102, 46,112, 97,114,101,110,116, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32,112, 97,114,101,110,116, 32, 61, 32,115,101,108,102, 46,112, 97,114,101,110,116, 10,119, 104,105,108,101, 32,112, 97,114,101,110,116, 32,100,111, 10, 105,102, 32,112, 97,114,101,110,116, 46, 99,108, 97,115,115, 116,121,112,101, 32, 61, 61, 32,119,104,105, 99,104, 32,116, 104,101,110, 10,114,101,116,117,114,110, 32,112, 97,114,101, 110,116, 46,110, 97,109,101, 10,101,110,100, 10,112, 97,114, 101,110,116, 32, 61, 32,112, 97,114,101,110,116, 46,112, 97, 114,101,110,116, 10,101,110,100, 10,101,110,100, 10,114,101, 116,117,114,110, 32,110,105,108, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97, 116,117,114,101, 58,105,110, 99,108, 97,115,115, 32, 40, 41, 10,114,101,116,117,114,110, 32,115,101,108,102, 58,105,110, 99,111,110,116, 97,105,110,101,114, 40, 39, 99,108, 97,115, 115, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58, 105,110,109,111,100,117,108,101, 32, 40, 41, 10,114,101,116, 117,114,110, 32,115,101,108,102, 58,105,110, 99,111,110,116, 97,105,110,101,114, 40, 39,109,111,100,117,108,101, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 70,101, 97,116,117,114,101, 58,105,110,110, 97,109,101,115,112, 97, 99,101, 32, 40, 41, 10,114,101,116, 117,114,110, 32,115,101,108,102, 58,105,110, 99,111,110,116, 97,105,110,101,114, 40, 39,110, 97,109,101,115,112, 97, 99, 101, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58, 99,102,117,110, 99,110, 97,109,101, 32, 40,110, 41, 10,105, 102, 32,115,101,108,102, 46,112, 97,114,101,110,116, 32,116, 104,101,110, 10,110, 32, 61, 32,115,101,108,102, 46,112, 97, 114,101,110,116, 58, 99,102,117,110, 99,110, 97,109,101, 40, 110, 41, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46, 108,110, 97,109,101, 32, 97,110,100, 10,115,116,114,115,117, 98, 40,115,101,108,102, 46,108,110, 97,109,101, 44, 49, 44, 49, 41,126, 61, 34, 46, 34, 10,116,104,101,110, 10,114,101, 116,117,114,110, 32,110, 46, 46, 39, 95, 39, 46, 46,115,101, 108,102, 46,108,110, 97,109,101, 10,101,108,115,101, 10,114, 101,116,117,114,110, 32,110, 46, 46, 39, 95, 39, 46, 46,115, 101,108,102, 46,110, 97,109,101, 10,101,110,100, 10,101,110, 100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109, 32, 61, 32,123, 10,108,105,110,101, 32, 61, 32, 39, 39, 44, 10, 99,111,110,100, 32, 61, 32,110,105,108, 44, 10,125, 10, 99, 108, 97,115,115, 86,101,114, 98, 97,116,105,109, 46, 95, 95, 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 86,101, 114, 98, 97,116,105,109, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 86,101,114, 98, 97, 116,105,109, 44, 99,108, 97,115,115, 70,101, 97,116,117,114, 101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 86,101,114, 98, 97,116,105,109, 58,112,114,101, 97, 109, 98,108,101, 32, 40, 41, 10,105,102, 32,115,101,108,102, 46, 99,111,110,100, 32, 61, 61, 32, 39, 39, 32,116,104,101, 110, 10,119,114,105,116,101, 40,115,101,108,102, 46,108,105, 110,101, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10,105,102, 32,115,116,114,102,105,110,100, 40,115,101,108, 102, 46, 99,111,110,100, 44, 39,115, 39, 41, 32,116,104,101, 110, 10,119,114,105,116,101, 40,115,101,108,102, 46,108,105, 110,101, 41, 10,119,114,105,116,101, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,105, 109, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10,105, 102, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46, 99,111,110,100, 44, 39,114, 39, 41, 32,116,104,101,110, 10, 119,114,105,116,101, 40,115,101,108,102, 46,108,105,110,101, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116, 105,111,110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116, 105,109, 58,112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105,110,116, 40,105, 100,101,110,116, 46, 46, 34, 86,101,114, 98, 97,116,105,109, 123, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,108,105,110,101, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,108,105,110,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 86,101,114, 98, 97,116,105,109, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 86, 101,114, 98, 97,116,105,109, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116,117,114,110, 32,116, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 86,101,114, 98, 97,116,105,109, 32, 40,108, 44, 99,111,110,100, 41, 10,105, 102, 32,115,116,114,115,117, 98, 40,108, 44, 49, 44, 49, 41, 32, 61, 61, 32, 39, 36, 39, 32,116,104,101,110, 10, 99,111, 110,100, 32, 61, 32, 39,115,114, 39, 10,108, 32, 61, 32,115, 116,114,115,117, 98, 40,108, 44, 50, 41, 10,101,110,100, 10, 114,101,116,117,114,110, 32, 95, 86,101,114, 98, 97,116,105, 109, 32,123, 10,108,105,110,101, 32, 61, 32,108, 44, 10, 99, 111,110,100, 32, 61, 32, 99,111,110,100, 32,111,114, 32, 39, 39, 44, 10,125, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 67,111,100,101, 32, 61, 32,123, 10, 116,101,120,116, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 67,111,100,101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 67,111,100,101, 10,115,101, 116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115, 115, 67,111,100,101, 44, 99,108, 97,115,115, 70,101, 97,116, 117,114,101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 67,111,100,101, 58,114,101,103,105,115,116, 101,114, 32, 40, 41, 10,108,111, 99, 97,108, 32,115, 32, 61, 32, 99,108,101, 97,110, 40,115,101,108,102, 46,116,101,120, 116, 41, 10,105,102, 32,110,111,116, 32,115, 32,116,104,101, 110, 10,101,114,114,111,114, 40, 34,112, 97,114,115,101,114, 32,101,114,114,111,114, 32,105,110, 32,101,109, 98,101,100, 100,101,100, 32, 99,111,100,101, 34, 41, 10,101,110,100, 10, 111,117,116,112,117,116, 40, 39, 92,110, 32,123, 32, 47, 42, 32, 98,101,103,105,110, 32,101,109, 98,101,100,100,101,100, 32,108,117, 97, 32, 99,111,100,101, 32, 42, 47, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,115,116, 97,116, 105, 99, 32,117,110,115,105,103,110,101,100, 32, 99,104, 97, 114, 32, 66, 91, 93, 32, 61, 32,123, 92,110, 32, 39, 41, 10, 108,111, 99, 97,108, 32,116, 61,123,110, 61, 48,125, 10,108, 111, 99, 97,108, 32, 98, 32, 61, 32,103,115,117, 98, 40,115, 44, 39, 40, 46, 41, 39, 44,102,117,110, 99,116,105,111,110, 32, 40, 99, 41, 10,108,111, 99, 97,108, 32,101, 32, 61, 32, 39, 39, 10,116, 46,110, 61,116, 46,110, 43, 49, 32,105,102, 32,116, 46,110, 61, 61, 49, 53, 32,116,104,101,110, 32,116, 46,110, 61, 48, 32,101, 61, 39, 92,110, 32, 39, 32,101,110, 100, 10,114,101,116,117,114,110, 32,102,111,114,109, 97,116, 40, 39, 37, 51,117, 44, 37,115, 39, 44,115,116,114, 98,121, 116,101, 40, 99, 41, 44,101, 41, 10,101,110,100, 10, 41, 10, 111,117,116,112,117,116, 40, 98, 46, 46,115,116,114, 98,121, 116,101, 40, 34, 32, 34, 41, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 32,125, 59, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,105,102, 32, 40,108,117, 97, 76, 95, 108,111, 97,100, 98,117,102,102,101,114, 40,116,111,108,117, 97, 95, 83, 44, 40, 99,104, 97,114, 42, 41, 66, 44,115,105, 122,101,111,102, 40, 66, 41, 44, 34,116,111,108,117, 97, 58, 32,101,109, 98,101,100,100,101,100, 32, 76,117, 97, 32, 99, 111,100,101, 34, 41, 32, 61, 61, 32, 76, 85, 65, 95, 79, 75, 41, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 108,117, 97, 95,112, 99, 97,108,108, 40,116,111,108,117, 97, 95, 83, 44, 48, 44, 76, 85, 65, 95, 77, 85, 76, 84, 82, 69, 84, 44, 48, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 32, 47, 42, 32,101,110,100, 32,111,102, 32,101, 109, 98,101,100,100,101,100, 32,108,117, 97, 32, 99,111,100, 101, 32, 42, 47, 92,110, 92,110, 39, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67, 111,100,101, 58,112,114,105,110,116, 32, 40,105,100,101,110, 116, 44, 99,108,111,115,101, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 67,111,100,101,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,101,120,116, 32, 61, 32, 91, 91, 34, 46, 46,115,101, 108,102, 46,116,101,120,116, 46, 46, 34, 93, 93, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 95, 67,111,100,101, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108, 101, 40,116, 44, 99,108, 97,115,115, 67,111,100,101, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116,117,114, 110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 67,111,100,101, 32, 40,108, 41, 10,114,101,116,117, 114,110, 32, 95, 67,111,100,101, 32,123, 10,116,101,120,116, 32, 61, 32,108, 10,125, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 84,121,112,101,100,101,102, 32, 61, 32,123, 10,117,116,121,112,101, 32, 61, 32, 39, 39, 44, 10, 109,111,100, 32, 61, 32, 39, 39, 44, 10,116,121,112,101, 32, 61, 32, 39, 39, 10,125, 10, 99,108, 97,115,115, 84,121,112, 101,100,101,102, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 84,121,112,101,100,101,102, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 84,121,112, 101,100,101,102, 58,112,114,105,110,116, 32, 40,105,100,101, 110,116, 44, 99,108,111,115,101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 84,121,112,101,100,101, 102,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,117,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,117,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 84,121,112, 101,100,101,102, 58,105,115,118, 97,114,105, 97, 98,108,101, 32, 40, 41, 10,114,101,116,117,114,110, 32,102, 97,108,115, 101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 84,121,112,101,100,101,102, 32, 40,116, 41, 10,115,101, 116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 84,121,112,101,100,101,102, 41, 10, 97,112,112, 101,110,100,116,121,112,101,100,101,102, 40,116, 41, 10,114, 101,116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 84,121,112,101,100,101,102, 32, 40, 115, 41, 10,105,102, 32,115,116,114,102,105,110,100, 40,115, 44, 39, 91, 37, 42, 38, 93, 39, 41, 32,116,104,101,110, 10, 116,111,108,117, 97, 95,101,114,114,111,114, 40, 34, 35,105, 110,118, 97,108,105,100, 32,116,121,112,101,100,101,102, 58, 32,112,111,105,110,116,101,114,115, 32, 40, 97,110,100, 32, 114,101,102,101,114,101,110, 99,101,115, 41, 32, 97,114,101, 32,110,111,116, 32,115,117,112,112,111,114,116,101,100, 34, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,103,115,117, 98, 40,115, 44, 34, 37,115, 37,115, 42, 34, 44, 34, 32, 34, 41, 44, 34, 32, 34, 41, 10,105,102, 32,110,111,116, 32,105,115, 98, 97,115,105, 99, 40,116, 91,116, 46,110, 93, 41, 32,116,104,101,110, 10, 114,101,116,117,114,110, 32, 95, 84,121,112,101,100,101,102, 32,123, 10,117,116,121,112,101, 32, 61, 32,116, 91,116, 46, 110, 93, 44, 10,116,121,112,101, 32, 61, 32,116, 91,116, 46, 110, 45, 49, 93, 44, 10,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,116, 44, 49, 44,116, 46,110, 45, 50, 41, 44, 10,125, 10,101,108,115,101, 10,114,101,116,117,114,110, 32, 110,105,108, 10,101,110,100, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10,103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102, 115, 32, 61, 32,123,125, 10,103,108,111, 98, 97,108, 95,101, 110,117,109,115, 32, 61, 32,123,125, 10, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 32, 61, 10,123, 10, 99, 117,114,114, 32, 61, 32,110,105,108, 44, 10,125, 10, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 95, 95, 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 67,111, 110,116, 97,105,110,101,114, 10,115,101,116,109,101,116, 97, 116, 97, 98,108,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 44, 99,108, 97,115,115, 70,101, 97,116, 117,114,101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,100, 101, 99,108,116,121,112,101, 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101,108,102, 91,105, 93, 58,100,101, 99, 108,116,121,112,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111,112, 40, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67, 111,110,116, 97,105,110,101,114, 58,115,117,112, 99,111,100, 101, 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101, 108,102, 91,105, 93, 58,115,117,112, 99,111,100,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111, 112, 40, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 58,104, 97,115,118, 97,114, 32, 40, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101, 108,102, 91,105, 93, 32,100,111, 10,105,102, 32,115,101,108, 102, 91,105, 93, 58,105,115,118, 97,114,105, 97, 98,108,101, 40, 41, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 49, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101, 110,100, 10,114,101,116,117,114,110, 32, 48, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 67,111,110,116, 97,105,110,101,114, 32, 40,115,101,108,102, 41, 10,115,101, 116,109,101,116, 97,116, 97, 98,108,101, 40,115,101,108,102, 44, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 41, 10,115,101,108,102, 46,110, 32, 61, 32, 48, 10,115,101, 108,102, 46,116,121,112,101,100,101,102,115, 32, 61, 32,123, 116,111,108,117, 97, 95,110, 61, 48,125, 10,115,101,108,102, 46,117,115,101,114,116,121,112,101,115, 32, 61, 32,123,125, 10,115,101,108,102, 46,101,110,117,109,115, 32, 61, 32,123, 116,111,108,117, 97, 95,110, 61, 48,125, 10,115,101,108,102, 46,108,110, 97,109,101,115, 32, 61, 32,123,125, 10,114,101, 116,117,114,110, 32,115,101,108,102, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32,112,117,115,104, 32, 40,116, 41, 10,116, 46,112,114,111,120, 32, 61, 32, 99,108, 97,115, 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 32, 61, 32,116, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32,112,111,112, 32, 40, 41, 10, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 32, 61, 32, 99,108, 97,115,115, 67,111,110, 116, 97,105,110,101,114, 46, 99,117,114,114, 46,112,114,111, 120, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 103,101,116, 99,117,114,114,110, 97,109,101,115,112, 97, 99, 101, 32, 40, 41, 10,114,101,116,117,114,110, 32,103,101,116, 110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 97, 112,112,101,110,100, 32, 40,116, 41, 10,114,101,116,117,114, 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 46, 99,117,114,114, 58, 97,112,112,101,110,100, 40,116, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101,110,100,116,121,112,101,100,101,102, 32, 40, 116, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58, 97,112,112,101,110,100,116,121,112,101,100,101,102, 40,116, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101,110,100,117,115,101,114,116,121,112,101, 32, 40,116, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115, 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58, 97,112,112,101,110,100,117,115,101,114,116,121,112,101, 40,116, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 97,112,112,101,110,100,101,110,117,109, 32, 40,116, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67, 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58, 97, 112,112,101,110,100,101,110,117,109, 40,116, 41, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,108, 121,116,121,112,101,100,101,102, 32, 40,116,121,112,101, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67,111, 110,116, 97,105,110,101,114, 46, 99,117,114,114, 58, 97,112, 112,108,121,116,121,112,101,100,101,102, 40,116,121,112,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 102,105,110,100,116,121,112,101, 32, 40,116,121,112,101, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32, 99,108, 97,115, 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,102,105,110,100,116,121,112,101, 40,116,121,112,101, 41, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32,105,115,116,121,112,101,100, 101,102, 32, 40,116,121,112,101, 41, 10,114,101,116,117,114, 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 46, 99,117,114,114, 58,105,115,116,121,112,101,100,101, 102, 40,116,121,112,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,102,117,108,108,116,121,112,101, 32, 40,116, 41, 10,108,111, 99, 97,108, 32, 99,117,114,114, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 46, 99,117,114,114, 10,119,104,105,108,101, 32, 99,117, 114,114, 32,100,111, 10,105,102, 32, 99,117,114,114, 32,116, 104,101,110, 10,105,102, 32, 99,117,114,114, 46,116,121,112, 101,100,101,102,115, 32, 97,110,100, 32, 99,117,114,114, 46, 116,121,112,101,100,101,102,115, 91,116, 93, 32,116,104,101, 110, 10,114,101,116,117,114,110, 32, 99,117,114,114, 46,116, 121,112,101,100,101,102,115, 91,116, 93, 10,101,108,115,101, 105,102, 32, 99,117,114,114, 46,117,115,101,114,116,121,112, 101,115, 32, 97,110,100, 32, 99,117,114,114, 46,117,115,101, 114,116,121,112,101,115, 91,116, 93, 32,116,104,101,110, 10, 114,101,116,117,114,110, 32, 99,117,114,114, 46,117,115,101, 114,116,121,112,101,115, 91,116, 93, 10,101,110,100, 10,101, 110,100, 10, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46, 112,114,111,120, 10,101,110,100, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,116, 105,111,110, 32, 40,116, 41, 10,112,117,115,104, 40,115,101, 108,102, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,108, 111, 99, 97,108, 32,114, 32, 61, 32,102, 97,108,115,101, 10, 119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100, 111, 10,114, 32, 61, 32,115,101,108,102, 91,105, 93, 58,114, 101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111, 110, 40,116, 41, 32,111,114, 32,114, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111,112, 40, 41, 10,114,101, 116,117,114,110, 32,114, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101, 32, 40, 99,117,114,114, 41, 10,108,111, 99, 97,108, 32,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32, 39, 39, 10,119,104,105,108,101, 32, 99,117,114,114, 32,100,111, 10, 105,102, 32, 99,117,114,114, 32, 97,110,100, 10, 40, 32, 99, 117,114,114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,111,114, 32, 99,117, 114,114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101, 39, 41, 10,116, 104,101,110, 10,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32, 99,117,114,114, 46,110, 97,109,101, 32, 46, 46, 32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,101,115,112, 97, 99, 101, 10,101,110,100, 10, 99,117,114,114, 32, 61, 32, 99,117, 114,114, 46,112,114,111,120, 10,101,110,100, 10,114,101,116, 117,114,110, 32,110, 97,109,101,115,112, 97, 99,101, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,103,101,116, 111,110,108,121,110, 97,109,101,115,112, 97, 99,101, 32, 40, 41, 10,108,111, 99, 97,108, 32, 99,117,114,114, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10,108,111, 99, 97,108, 32,110, 97,109,101, 115,112, 97, 99,101, 32, 61, 32, 39, 39, 10,119,104,105,108, 101, 32, 99,117,114,114, 32,100,111, 10,105,102, 32, 99,117, 114,114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,116,104,101,110, 10,114, 101,116,117,114,110, 32,110, 97,109,101,115,112, 97, 99,101, 10,101,108,115,101,105,102, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39,110, 97,109, 101,115,112, 97, 99,101, 39, 32,116,104,101,110, 10,110, 97, 109,101,115,112, 97, 99,101, 32, 61, 32, 99,117,114,114, 46, 110, 97,109,101, 32, 46, 46, 32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,101,115,112, 97, 99,101, 10,101,110,100, 10, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,112,114,111, 120, 10,101,110,100, 10,114,101,116,117,114,110, 32,110, 97, 109,101,115,112, 97, 99,101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,105,115,101,110,117,109, 32, 40,116, 121,112,101, 41, 10,114,101,116,117,114,110, 32, 99,108, 97, 115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114, 114, 58,105,115,101,110,117,109, 40,116,121,112,101, 41, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58, 97,112, 112,101,110,100, 32, 40,116, 41, 10,115,101,108,102, 46,110, 32, 61, 32,115,101,108,102, 46,110, 32, 43, 32, 49, 10,115, 101,108,102, 91,115,101,108,102, 46,110, 93, 32, 61, 32,116, 10,116, 46,112, 97,114,101,110,116, 32, 61, 32,115,101,108, 102, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58, 97,112,112,101,110,100,116,121,112,101,100,101,102, 32, 40, 116, 41, 10,108,111, 99, 97,108, 32,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105, 110,101,114, 46, 99,117,114,114, 41, 10,115,101,108,102, 46, 116,121,112,101,100,101,102,115, 46,116,111,108,117, 97, 95, 110, 32, 61, 32,115,101,108,102, 46,116,121,112,101,100,101, 102,115, 46,116,111,108,117, 97, 95,110, 32, 43, 32, 49, 10, 115,101,108,102, 46,116,121,112,101,100,101,102,115, 91,115, 101,108,102, 46,116,121,112,101,100,101,102,115, 46,116,111, 108,117, 97, 95,110, 93, 32, 61, 32,116, 10,115,101,108,102, 46,116,121,112,101,100,101,102,115, 91,116, 46,117,116,121, 112,101, 93, 32, 61, 32,110, 97,109,101,115,112, 97, 99,101, 32, 46, 46, 32,116, 46,117,116,121,112,101, 10,103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102,115, 91,110, 97, 109,101,115,112, 97, 99,101, 46, 46,116, 46,117,116,121,112, 101, 93, 32, 61, 32,116, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97, 105,110,101,114, 58, 97,112,112,101,110,100,117,115,101,114, 116,121,112,101, 32, 40,116, 41, 10,108,111, 99, 97,108, 32, 99,111,110,116, 97,105,110,101,114, 10,105,102, 32,116, 32, 61, 61, 32,115,101,108,102, 46,110, 97,109,101, 32,116,104, 101,110, 10, 99,111,110,116, 97,105,110,101,114, 32, 61, 32, 115,101,108,102, 46,112,114,111,120, 10,101,108,115,101, 10, 99,111,110,116, 97,105,110,101,114, 32, 61, 32,115,101,108, 102, 10,101,110,100, 10,108,111, 99, 97,108, 32,102,116, 32, 61, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,111,110,116, 97,105,110,101,114, 41, 32, 46, 46, 32,116, 10, 99,111,110,116, 97,105,110,101,114, 46,117,115,101,114, 116,121,112,101,115, 91,116, 93, 32, 61, 32,102,116, 10, 95, 117,115,101,114,116,121,112,101, 91,102,116, 93, 32, 61, 32, 102,116, 10,114,101,116,117,114,110, 32,102,116, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115, 115, 67,111,110,116, 97,105,110,101,114, 58, 97,112,112,101, 110,100,101,110,117,109, 32, 40,116, 41, 10,108,111, 99, 97, 108, 32,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,103, 101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97, 115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114, 114, 41, 10,115,101,108,102, 46,101,110,117,109,115, 46,116, 111,108,117, 97, 95,110, 32, 61, 32,115,101,108,102, 46,101, 110,117,109,115, 46,116,111,108,117, 97, 95,110, 32, 43, 32, 49, 10,115,101,108,102, 46,101,110,117,109,115, 91,115,101, 108,102, 46,101,110,117,109,115, 46,116,111,108,117, 97, 95, 110, 93, 32, 61, 32,116, 10,103,108,111, 98, 97,108, 95,101, 110,117,109,115, 91,110, 97,109,101,115,112, 97, 99,101, 46, 46,116, 46,110, 97,109,101, 93, 32, 61, 32,116, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115, 115, 67,111,110,116, 97,105,110,101,114, 58,111,118,101,114, 108,111, 97,100, 32, 40,108,110, 97,109,101, 41, 10,105,102, 32,110,111,116, 32,115,101,108,102, 46,108,110, 97,109,101, 115, 91,108,110, 97,109,101, 93, 32,116,104,101,110, 10,115, 101,108,102, 46,108,110, 97,109,101,115, 91,108,110, 97,109, 101, 93, 32, 61, 32, 48, 10,101,108,115,101, 10,115,101,108, 102, 46,108,110, 97,109,101,115, 91,108,110, 97,109,101, 93, 32, 61, 32,115,101,108,102, 46,108,110, 97,109,101,115, 91, 108,110, 97,109,101, 93, 32, 43, 32, 49, 10,101,110,100, 10, 114,101,116,117,114,110, 32,102,111,114,109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,115,101,108,102, 46,108,110, 97,109, 101,115, 91,108,110, 97,109,101, 93, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67, 111,110,116, 97,105,110,101,114, 58, 97,112,112,108,121,116, 121,112,101,100,101,102, 32, 40,116,121,112,101, 41, 10,105, 102, 32,103,108,111, 98, 97,108, 95,116,121,112,101,100,101, 102,115, 91,116,121,112,101, 93, 32,116,104,101,110, 10,108, 111, 99, 97,108, 32,109,111,100, 49, 44, 32,116,121,112,101, 49, 32, 61, 32,103,108,111, 98, 97,108, 95,116,121,112,101, 100,101,102,115, 91,116,121,112,101, 93, 46,109,111,100, 44, 32,103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102, 115, 91,116,121,112,101, 93, 46,116,121,112,101, 10,108,111, 99, 97,108, 32,109,111,100, 50, 44, 32,116,121,112,101, 50, 32, 61, 32, 97,112,112,108,121,116,121,112,101,100,101,102, 40,116,121,112,101, 49, 41, 10,114,101,116,117,114,110, 32, 109,111,100, 50, 32, 46, 46, 32, 39, 32, 39, 32, 46, 46, 32, 109,111,100, 49, 44, 32,116,121,112,101, 50, 10,101,110,100, 10,108,111, 99, 97,108, 32, 98, 97,115,101,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,116,121,112,101, 44, 34, 94, 46, 42, 58, 58, 34, 44, 34, 34, 41, 10,108,111, 99, 97,108, 32,101,110,118, 32, 61, 32,115,101,108,102, 10,119,104,105, 108,101, 32,101,110,118, 32,100,111, 10,105,102, 32,101,110, 118, 46,116,121,112,101,100,101,102,115, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,101,110,118, 46,116,121,112,101,100,101,102,115, 91, 105, 93, 32,100,111, 10,105,102, 32,101,110,118, 46,116,121, 112,101,100,101,102,115, 91,105, 93, 46,117,116,121,112,101, 32, 61, 61, 32, 98, 97,115,101,116,121,112,101, 32,116,104, 101,110, 10,108,111, 99, 97,108, 32,109,111,100, 49, 44,116, 121,112,101, 49, 32, 61, 32,101,110,118, 46,116,121,112,101, 100,101,102,115, 91,105, 93, 46,109,111,100, 44,101,110,118, 46,116,121,112,101,100,101,102,115, 91,105, 93, 46,116,121, 112,101, 10,108,111, 99, 97,108, 32,109,111,100, 50, 44,116, 121,112,101, 50, 32, 61, 32, 97,112,112,108,121,116,121,112, 101,100,101,102, 40,116,121,112,101, 49, 41, 10,114,101,116, 117,114,110, 32,109,111,100, 50, 46, 46, 39, 32, 39, 46, 46, 109,111,100, 49, 44,116,121,112,101, 50, 10,101,110,100, 10, 105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,101,110,118, 32, 61, 32,101,110,118, 46,112, 97,114,101, 110,116, 10,101,110,100, 10,114,101,116,117,114,110, 32, 39, 39, 44,116,121,112,101, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97, 105,110,101,114, 58,105,115,116,121,112,101,100,101,102, 32, 40,116,121,112,101, 41, 10,108,111, 99, 97,108, 32,101,110, 118, 32, 61, 32,115,101,108,102, 10,119,104,105,108,101, 32, 101,110,118, 32,100,111, 10,105,102, 32,101,110,118, 46,116, 121,112,101,100,101,102,115, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,101, 110,118, 46,116,121,112,101,100,101,102,115, 91,105, 93, 32, 100,111, 10,105,102, 32,101,110,118, 46,116,121,112,101,100, 101,102,115, 91,105, 93, 46,117,116,121,112,101, 32, 61, 61, 32,116,121,112,101, 32,116,104,101,110, 10,114,101,116,117, 114,110, 32,116,121,112,101, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,101,110, 118, 32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10, 101,110,100, 10,114,101,116,117,114,110, 32,110,105,108, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,102,105, 110,100,116,121,112,101, 32, 40,116, 41, 10,108,111, 99, 97, 108, 32, 99,117,114,114, 32, 61, 32,115,101,108,102, 10,119, 104,105,108,101, 32, 99,117,114,114, 32,100,111, 10,105,102, 32, 99,117,114,114, 46,116,121,112,101,100,101,102,115, 32, 97,110,100, 32, 99,117,114,114, 46,116,121,112,101,100,101, 102,115, 91,116, 93, 32,116,104,101,110, 10,114,101,116,117, 114,110, 32, 99,117,114,114, 46,116,121,112,101,100,101,102, 115, 91,116, 93, 10,101,108,115,101,105,102, 32, 99,117,114, 114, 46,117,115,101,114,116,121,112,101,115, 32, 97,110,100, 32, 99,117,114,114, 46,117,115,101,114,116,121,112,101,115, 91,116, 93, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 99,117,114,114, 46,117,115,101,114,116,121,112,101,115, 91,116, 93, 10,101,110,100, 10, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,112,114,111,120, 10,101,110,100, 10,105, 102, 32, 95, 98, 97,115,105, 99, 91,116, 93, 32,116,104,101, 110, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10, 114,101,116,117,114,110, 32,110,105,108, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67, 111,110,116, 97,105,110,101,114, 58,105,115,101,110,117,109, 32, 40,116,121,112,101, 41, 10,105,102, 32,103,108,111, 98, 97,108, 95,101,110,117,109,115, 91,116,121,112,101, 93, 32, 116,104,101,110, 10,114,101,116,117,114,110, 32,116,114,117, 101, 10,101,110,100, 10,108,111, 99, 97,108, 32, 98, 97,115, 101,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,116,121, 112,101, 44, 34, 94, 46, 42, 58, 58, 34, 44, 34, 34, 41, 10, 108,111, 99, 97,108, 32,101,110,118, 32, 61, 32,115,101,108, 102, 10,119,104,105,108,101, 32,101,110,118, 32,100,111, 10, 105,102, 32,101,110,118, 46,101,110,117,109,115, 32,116,104, 101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104, 105,108,101, 32,101,110,118, 46,101,110,117,109,115, 91,105, 93, 32,100,111, 10,105,102, 32,101,110,118, 46,101,110,117, 109,115, 91,105, 93, 46,110, 97,109,101, 32, 61, 61, 32, 98, 97,115,101,116,121,112,101, 32,116,104,101,110, 10,114,101, 116,117,114,110, 32,116,114,117,101, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10, 101,110,118, 32, 61, 32,101,110,118, 46,112, 97,114,101,110, 116, 10,101,110,100, 10,114,101,116,117,114,110, 32,102, 97, 108,115,101, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 58,100,111,112, 97,114,115,101, 32, 40,115, 41, 10,100, 111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44, 99,111,100, 101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 37, 98, 92, 49, 92, 50, 41, 34, 41, 10, 105,102, 32, 98, 32,116,104,101,110, 10, 67,111,100,101, 40, 115,116,114,115,117, 98, 40, 99,111,100,101, 44, 50, 44, 45, 50, 41, 41, 10,114,101,116,117,114,110, 32,115,116,114,115, 117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101, 110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 37, 98, 92, 51, 92, 52, 41, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 99, 111,100,101, 32, 61, 32, 39,123, 39, 46, 46,115,116,114,115, 117, 98, 40, 99,111,100,101, 44, 50, 44, 45, 50, 41, 46, 46, 39, 92,110,125, 92,110, 39, 10, 86,101,114, 98, 97,116,105, 109, 40, 99,111,100,101, 44, 39,114, 39, 41, 10,114,101,116, 117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108, 111, 99, 97,108, 32, 98, 44,101, 44,108,105,110,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 37, 36, 40, 46, 45, 92,110, 41, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 86,101,114, 98, 97,116,105,109, 40,108,105,110,101, 41, 10,114,101,116,117,114,110, 32,115, 116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110, 100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,109,111,100,117,108,101, 37,115, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93, 42, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32, 116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 77,111,100,117,108,101, 40,110, 97,109,101, 44, 98, 111,100,121, 41, 10,114,101,116,117,114,110, 32,115,116,114, 115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10, 101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44, 101, 44,110, 97,109,101, 44, 98,111,100,121, 32, 61, 32,115, 116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,110, 97,109,101,115,112, 97, 99,101, 37,115, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93, 42, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100, 101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44, 101, 41, 10, 78, 97,109,101,115,112, 97, 99,101, 40,110, 97, 109,101, 44, 98,111,100,121, 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 101,110,100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97, 108, 32, 98, 44,101, 44,110, 97,109,101, 32, 61, 32,115,116, 114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 35,100, 101,102,105,110,101, 37,115, 37,115, 42, 40, 91, 94, 37,115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117, 114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 68,101,102,105,110,101, 40,110, 97,109,101, 41, 10,114,101,116,117,114,110, 32,115, 116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110, 100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,101,110,117,109, 37,115, 43, 40, 37, 83, 42, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99, 117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115, 117, 98, 40,115, 44, 98, 44,101, 41, 10, 69,110,117,109,101, 114, 97,116,101, 40,110, 97,109,101, 44, 98,111,100,121, 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40, 115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10, 100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44, 98,111, 100,121, 44,110, 97,109,101, 32, 61, 32,115,116,114,102,105, 110,100, 40,115, 44, 34, 94, 37,115, 42,116,121,112,101,100, 101,102, 37,115, 43,101,110,117,109, 91, 94,123, 93, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91, 37,119, 95, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114, 114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 69,110,117,109,101,114, 97, 116,101, 40,110, 97,109,101, 44, 98,111,100,121, 41, 10,114, 101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44, 101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 44,107,105,110,100, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 37,115, 37, 42, 38, 58, 93, 42,111,112,101,114, 97,116,111,114, 41, 37,115, 42, 40, 91, 94, 37,115, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59, 37, 115, 42, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,116, 104,101,110, 10, 98, 44,101, 44,100,101, 99,108, 44,107,105, 110,100, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32, 115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 37,115, 37, 42, 38, 58, 93, 42,111,112,101,114, 97,116,111,114, 41, 37,115, 42, 40, 91, 94, 37,115, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63, 110, 63,115, 63,116, 63, 41, 37,115, 42, 37, 98,123,125, 37, 115, 42, 59, 63, 37,115, 42, 34, 41, 10,101,110,100, 10,105, 102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 79,112,101,114, 97,116,111,114, 40, 100,101, 99,108, 44,107,105,110,100, 44, 97,114,103, 44, 99, 111,110,115,116, 41, 10,114,101,116,117,114,110, 32,115,116, 114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110, 115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,126, 95, 37,119, 93, 91, 95, 64, 37,119, 37,115, 37, 42, 38, 58, 93, 42, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 61, 63, 37,115, 42, 48, 63, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110, 115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,101,110,100, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116, 114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 70,117,110, 99,116,105,111,110, 40,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 41, 10,114,101,116,117,114,110, 32,115, 116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110, 100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103, 44, 99,111, 110,115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,126, 95, 37,119, 93, 91, 95, 64, 37,119, 37,115, 37, 42, 38, 58, 93, 42, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 46, 45, 37, 98, 123,125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 46, 45, 37, 98,123,125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10,101,110,100, 10,105,102, 32, 98, 32, 116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 70,117,110, 99,116,105,111,110, 40,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 41, 10,114,101,116, 117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108, 111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,115,101, 44, 98,111,100,121, 10, 98, 97,115,101, 32, 61, 32, 39, 39, 32, 98,111,100,121, 32, 61, 32, 39, 39, 10, 98, 44,101, 44,110, 97,109,101, 32, 61, 32,115,116,114,102,105, 110,100, 40,115, 44, 34, 94, 37,115, 42, 99,108, 97,115,115, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 44,101, 44,110, 97,109, 101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,115,116,114,117, 99,116, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,116,104, 101,110, 10, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,115, 101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110, 100, 40,115, 44, 34, 94, 37,115, 42, 99,108, 97,115,115, 37, 115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 40, 37, 98,123, 125, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 44,101, 44, 110, 97,109,101, 44, 98, 97,115,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37, 115, 42,115,116,114,117, 99,116, 37,115, 42, 40, 91, 95, 37, 119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32, 116,104,101,110, 10, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,115,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102, 105,110,100, 40,115, 44, 34, 94, 37,115, 42,117,110,105,111, 110, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105, 102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 97, 115,101, 32, 61, 32, 39, 39, 10, 98, 44,101, 44, 98,111,100, 121, 44,110, 97,109,101, 32, 61, 32,115,116,114,102,105,110, 100, 40,115, 44, 34, 94, 37,115, 42,116,121,112,101,100,101, 102, 37,115, 37,115, 42,115,116,114,117, 99,116, 37,115, 42, 91, 95, 37,119, 93, 42, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 97,115,101, 32, 61, 32, 39, 39, 10, 98, 44,101, 44, 98,111,100,121, 44, 110, 97,109,101, 32, 61, 32,115,116,114,102,105,110,100, 40, 115, 44, 34, 94, 37,115, 42,116,121,112,101,100,101,102, 37, 115, 37,115, 42,117,110,105,111,110, 37,115, 42, 91, 95, 37, 119, 93, 42, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37, 115, 42, 59, 37,115, 42, 34, 41, 10,101,110,100, 10,101,110, 100, 10,101,110,100, 10,101,110,100, 10,101,110,100, 10,101, 110,100, 10,105,102, 32, 98, 32,116,104,101,110, 10,105,102, 32, 98, 97,115,101, 32,126, 61, 32, 39, 39, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32, 98, 44,101, 10, 98, 44,101, 44, 98, 97,115,101, 32, 61, 32,115,116,114,102,105,110,100, 40, 98, 97,115,101, 44, 34, 46, 45, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93, 42, 41, 36, 34, 41, 10,101,110,100, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116, 114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 67,108, 97, 115,115, 40,110, 97,109,101, 44, 98, 97,115,101, 44, 98,111, 100,121, 41, 10,114,101,116,117,114,110, 32,115,116,114,115, 117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101, 110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,116,121,112,101,115, 32, 61, 32,115,116,114,102,105,110, 100, 40,115, 44, 34, 94, 37,115, 42,116,121,112,101,100,101, 102, 37,115, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 59, 37, 115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116, 114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 84,121,112, 101,100,101,102, 40,116,121,112,101,115, 41, 10,114,101,116, 117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108, 111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 64, 37,115, 37,119, 37, 100, 37, 42, 38, 58, 93, 42, 91, 95, 37,119, 37,100, 93, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32, 116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 86, 97,114,105, 97, 98,108,101, 40,100,101, 99,108, 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100, 101, 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 63, 91, 95, 37,115, 37,119, 37,100, 93, 45, 99,104, 97,114, 37,115, 43, 91, 95, 64, 37,119, 37,100, 93, 42, 37,115, 42, 37, 91, 37, 115, 42, 37, 83, 43, 37,115, 42, 37, 93, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115, 116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 86, 97, 114,105, 97, 98,108,101, 40,100,101, 99,108, 41, 10,114,101, 116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10, 108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37, 115, 42, 40, 91, 95, 37,119, 93, 91, 93, 91, 95, 64, 37,115, 37,119, 37,100, 37, 42, 38, 58, 93, 42, 91, 93, 95, 37,119, 37,100, 93, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105, 102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 65,114,114, 97,121, 40,100,101, 99, 108, 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110, 100, 10,105,102, 32,103,115,117, 98, 40,115, 44, 34, 37,115, 37,115, 42, 34, 44, 34, 34, 41, 32,126, 61, 32, 34, 34, 32, 116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115, 10,101,114,114,111,114, 40, 34, 35,112, 97, 114,115,101, 32,101,114,114,111,114, 34, 41, 10,101,108,115, 101, 10,114,101,116,117,114,110, 32, 34, 34, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,112, 97,114,115,101, 32, 40,115, 41, 10,119,104,105,108,101, 32, 115, 32,126, 61, 32, 39, 39, 32,100,111, 10,115, 32, 61, 32, 115,101,108,102, 58,100,111,112, 97,114,115,101, 40,115, 41, 10,101,110,100, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 32, 61, 32,123, 10, 99,108, 97,115,115,116,121,112,101, 32, 61, 32, 39,112, 97, 99,107, 97,103,101, 39, 10,125, 10, 99,108, 97, 115,115, 80, 97, 99,107, 97,103,101, 46, 95, 95,105,110,100, 101,120, 32, 61, 32, 99,108, 97,115,115, 80, 97, 99,107, 97, 103,101, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 44, 99, 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 41, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,105,110,116, 32, 40, 41, 10,112,114,105,110,116, 40, 34, 80, 97, 99,107, 97,103,101, 58, 32, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101, 108,102, 91,105, 93, 58,112,114,105,110,116, 40, 34, 34, 44, 34, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,101, 112,114,111, 99,101,115,115, 32, 40, 41, 10,108,111, 99, 97, 108, 32, 76, 32, 61, 32,123,125, 10,115,101,108,102, 46, 99, 111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 37,115, 42, 37, 36, 37, 91, 34, 44, 34, 92, 49, 34, 41, 10,115,101,108,102, 46, 99, 111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 37,115, 42, 37, 36, 37, 93, 34, 44, 34, 92, 50, 34, 41, 10,115,101,108,102, 46, 99, 111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 37, 98, 92, 49, 92, 50, 41, 34, 44, 32,102,117,110, 99,116,105,111,110, 32, 40, 99, 41, 10,116,105,110,115,101,114,116, 40, 76, 44, 99, 41, 10,114, 101,116,117,114,110, 32, 34, 92,110, 35, 91, 34, 46, 46,103, 101,116,110, 40, 76, 41, 46, 46, 34, 93, 35, 34, 10,101,110, 100, 41, 10,108,111, 99, 97,108, 32, 67, 32, 61, 32,123,125, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115, 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92, 110, 37,115, 42, 37, 36, 37, 60, 34, 44, 34, 92, 51, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115, 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92, 110, 37,115, 42, 37, 36, 37, 62, 34, 44, 34, 92, 52, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115, 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 37, 98, 92, 51, 92, 52, 41, 34, 44, 32,102,117,110, 99,116, 105,111,110, 32, 40, 99, 41, 10,116,105,110,115,101,114,116, 40, 67, 44, 99, 41, 10,114,101,116,117,114,110, 32, 34, 92, 110, 35, 60, 34, 46, 46,103,101,116,110, 40, 67, 41, 46, 46, 34, 62, 35, 34, 10,101,110,100, 41, 10,108,111, 99, 97,108, 32, 86, 32, 61, 32,123,125, 10,115,101,108,102, 46, 99,111, 100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 40, 37,115, 42, 37, 36, 91, 94, 37, 91, 37, 93, 93, 91, 94, 92,110, 93, 42, 41, 34, 44, 102,117,110, 99,116,105,111,110, 32, 40,118, 41, 10,116,105, 110,115,101,114,116, 40, 86, 44,118, 41, 10,114,101,116,117, 114,110, 32, 34, 92,110, 35, 34, 46, 46,103,101,116,110, 40, 86, 41, 46, 46, 34, 35, 34, 10,101,110,100, 41, 10,115,101, 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40, 115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 47, 47, 91, 94, 92,110, 93, 42, 41, 34, 44, 34, 34, 41, 10,115,101,108, 102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115, 101,108,102, 46, 99,111,100,101, 44, 34, 47, 37, 42, 34, 44, 34, 92, 49, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111, 100,101, 44, 34, 37, 42, 47, 34, 44, 34, 92, 50, 34, 41, 10, 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37, 98, 92, 49, 92, 50, 34, 44, 34, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108, 102, 46, 99,111,100,101, 44, 34, 92, 49, 34, 44, 34, 47, 37, 42, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92, 50, 34, 44, 34, 37, 42, 47, 34, 41, 10,115,101, 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40, 115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 42, 64, 37,115, 42, 34, 44, 34, 64, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108, 102, 46, 99,111,100,101, 44, 34, 37,115, 63,105,110,108,105, 110,101, 40, 37,115, 41, 34, 44, 34, 37, 49, 34, 41, 10,115, 101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 63, 101,120,116,101,114,110, 40, 37,115, 41, 34, 44, 34, 37, 49, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32, 103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 63,118,105,114,116,117, 97,108, 40, 37,115, 41, 34, 44, 34, 37, 49, 34, 41, 10,115,101,108,102, 46, 99,111, 100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34,112,117, 98,108,105, 99, 58, 34, 44, 34, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41,118,111,105,100, 37, 115, 42, 37, 42, 34, 44, 34, 37, 49, 95,117,115,101,114,100, 97,116, 97, 32, 34, 41, 10,115,101,108,102, 46, 99,111,100, 101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99, 111,100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41,118,111, 105,100, 37,115, 42, 37, 42, 34, 44, 34, 37, 49, 95,117,115, 101,114,100, 97,116, 97, 32, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108, 102, 46, 99,111,100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41, 99,104, 97,114, 37,115, 42, 37, 42, 34, 44, 34, 37, 49, 95, 99,115,116,114,105,110,103, 32, 34, 41, 10,115,101,108, 102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115, 101,108,102, 46, 99,111,100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41,108,117, 97, 95, 83,116, 97,116,101, 37,115, 42, 37, 42, 34, 44, 34, 37, 49, 95,108,115,116, 97,116,101, 32, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32, 103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37, 35, 37, 91, 40, 37,100, 43, 41, 37, 93, 37, 35, 34, 44,102,117,110, 99,116,105,111,110, 32, 40,110, 41, 10,114, 101,116,117,114,110, 32, 76, 91,116,111,110,117,109, 98,101, 114, 40,110, 41, 93, 10,101,110,100, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101, 108,102, 46, 99,111,100,101, 44, 34, 37, 35, 37, 60, 40, 37, 100, 43, 41, 37, 62, 37, 35, 34, 44,102,117,110, 99,116,105, 111,110, 32, 40,110, 41, 10,114,101,116,117,114,110, 32, 67, 91,116,111,110,117,109, 98,101,114, 40,110, 41, 93, 10,101, 110,100, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37, 35, 40, 37,100, 43, 41, 37, 35, 34, 44,102,117, 110, 99,116,105,111,110, 32, 40,110, 41, 10,114,101,116,117, 114,110, 32, 86, 91,116,111,110,117,109, 98,101,114, 40,110, 41, 93, 10,101,110,100, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,101, 97,109, 98,108,101, 32, 40, 41, 10,111,117,116,112,117,116, 40, 39, 47, 42, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 42, 42, 32, 76,117, 97, 32, 98,105,110,100,105,110,103, 58, 32, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 39, 92,110, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 42, 47, 92,110, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,110, 99,108, 117,100,101, 32, 34,116,111,108,117, 97, 46,104, 34, 92,110, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105, 102,110,100,101,102, 32, 95, 95, 99,112,108,117,115,112,108, 117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,110, 99,108,117,100,101, 32, 60,115,116,100,108,105, 98, 46,104, 62, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110, 39, 41, 10,111, 117,116,112,117,116, 40, 39,101,120,116,101,114,110, 32, 34, 67, 34, 32,105,110,116, 32,116,111,108,117, 97, 95, 98,110, 100, 95,116, 97,107,101,111,119,110,101,114,115,104,105,112, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32, 76, 41, 59, 32, 47, 47, 32,102,114,111,109, 32,116,111,108,117, 97, 95,109, 97,112, 46, 99, 92,110, 39, 41, 10,111,117,116,112, 117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111, 117,116,112,117,116, 40, 39,105,110,116, 32,116,111,108,117, 97, 95, 98,110,100, 95,116, 97,107,101,111,119,110,101,114, 115,104,105,112, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32, 76, 41, 59, 32, 47, 42, 32,102,114,111,109, 32,116, 111,108,117, 97, 95,109, 97,112, 46, 99, 32, 42, 47, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100, 105,102, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,110, 99,108,117,100,101, 32, 60,115,116,114,105,110, 103, 46,104, 62, 92,110, 92,110, 39, 41, 10,105,102, 32,110, 111,116, 32,102,108, 97,103,115, 46,104, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 47, 42, 32, 69,120,112, 111,114,116,101,100, 32,102,117,110, 99,116,105,111,110, 32, 42, 47, 39, 41, 10,111,117,116,112,117,116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,105,110,116, 32,116,111,108, 117, 97, 95, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 95,111,112,101,110, 32, 40,108,117, 97, 95, 83, 116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 76, 85, 65, 76, 73, 66, 95, 65, 80, 73, 32,105,110,116, 32,108,117, 97,111, 112,101,110, 95, 39, 46, 46,115,101,108,102, 46,110, 97,109, 101, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101, 108,102, 91,105, 93, 58,112,114,101, 97,109, 98,108,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,105, 102, 32,115,101,108,102, 58,114,101,113,117,105,114,101, 99, 111,108,108,101, 99,116,105,111,110, 40, 95, 99,111,108,108, 101, 99,116, 41, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 47, 42, 32,102,117,110, 99,116,105,111,110, 32,116,111, 32,114,101,108,101, 97,115,101, 32, 99,111,108,108,101, 99, 116,101,100, 32,111, 98,106,101, 99,116, 32,118,105, 97, 32, 100,101,115,116,114,117, 99,116,111,114, 32, 42, 47, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110, 39, 41, 10,102,111,114, 32,105, 44,118, 32,105,110, 32,112, 97, 105,114,115, 40, 95, 99,111,108,108,101, 99,116, 41, 32,100, 111, 10,111,117,116,112,117,116, 40, 39, 92,110,115,116, 97, 116,105, 99, 32,105,110,116, 32, 39, 46, 46,118, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111, 108,117, 97, 95, 83, 41, 39, 41, 10,111,117,116,112,117,116, 40, 39,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 39, 46, 46,105, 46, 46, 39, 42, 32,115,101,108,102, 32, 61, 32, 40, 39, 46, 46,105, 46, 46, 39, 42, 41, 32,116,111,108, 117, 97, 95,116,111,117,115,101,114,116,121,112,101, 40,116, 111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 114,101,108,101, 97,115,101, 40,116,111,108,117, 97, 95, 83, 44,115,101,108,102, 41, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 32,100,101,108,101,116,101, 32,115,101,108,102, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,114,101, 116,117,114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39,125, 39, 41, 10,101,110,100, 10,111,117,116,112, 117,116, 40, 39, 35,101,110,100,105,102, 92,110, 92,110, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 47, 42, 32, 102,117,110, 99,116,105,111,110, 32,116,111, 32,114,101,103, 105,115,116,101,114, 32,116,121,112,101, 32, 42, 47, 39, 41, 10,111,117,116,112,117,116, 40, 39,115,116, 97,116,105, 99, 32,118,111,105,100, 32,116,111,108,117, 97, 95,114,101,103, 95,116,121,112,101,115, 32, 40,108,117, 97, 95, 83,116, 97, 116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 39, 41, 10, 111,117,116,112,117,116, 40, 39,123, 39, 41, 10,102,111,114, 101, 97, 99,104, 40, 95,117,115,101,114,116,121,112,101, 44, 102,117,110, 99,116,105,111,110, 40,110, 44,118, 41, 32,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,117, 115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 44,118, 44, 39, 34, 41, 59, 39, 41, 32,101,110, 100, 41, 10,111,117,116,112,117,116, 40, 39,125, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115, 115, 80, 97, 99,107, 97,103,101, 58,114,101,103,105,115,116, 101,114, 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32, 79,112, 101,110, 32,108,105, 98, 32,102,117,110, 99,116,105,111,110, 32, 42, 47, 34, 41, 10,111,117,116,112,117,116, 40, 39, 76, 85, 65, 76, 73, 66, 95, 65, 80, 73, 32,105,110,116, 32,108, 117, 97,111,112,101,110, 95, 39, 46, 46,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 39, 41, 10,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,111,117, 116,112,117,116, 40, 34, 32,116,111,108,117, 97, 95,111,112, 101,110, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10, 111,117,116,112,117,116, 40, 34, 32,116,111,108,117, 97, 95, 114,101,103, 95,116,121,112,101,115, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,116,111,108,117, 97, 95,109,111,100,117,108,101, 40,116, 111,108,117, 97, 95, 83, 44, 78, 85, 76, 76, 44, 34, 44,115, 101,108,102, 58,104, 97,115,118, 97,114, 40, 41, 44, 34, 41, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,116,111, 108,117, 97, 95, 98,101,103,105,110,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83, 44, 78, 85, 76, 76, 41, 59, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104, 105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 115,101,108,102, 91,105, 93, 58,114,101,103,105,115,116,101, 114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,111,117,116,112,117,116, 40, 34, 32,116,111,108,117, 97, 95,101,110,100,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,114,101,116,117,114,110, 32, 49, 59, 34, 41, 10,111, 117,116,112,117,116, 40, 34,125, 34, 41, 10,111,117,116,112, 117,116, 40, 34, 47, 42, 32, 79,112,101,110, 32,116,111,108, 117, 97, 32,102,117,110, 99,116,105,111,110, 32, 42, 47, 34, 41, 10,111,117,116,112,117,116, 40, 34, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,105,110,116, 32,116,111,108,117, 97, 95, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 95,111,112,101,110, 32, 40,108,117, 97, 95, 83,116, 97,116, 101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111, 117,116,112,117,116, 40, 34,123, 34, 41, 10,111,117,116,112, 117,116, 40, 34, 32,108,117, 97, 95,112,117,115,104, 99,102, 117,110, 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 32,108,117, 97,111,112,101,110, 95, 34, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 34, 41, 59, 34, 41, 10, 111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,117, 115,104,115,116,114,105,110,103, 40,116,111,108,117, 97, 95, 83, 44, 32, 34, 39, 46, 46,115,101,108,102, 46,110, 97,109, 101, 46, 46, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 34, 32,108,117, 97, 95, 99, 97,108,108, 40,116,111, 108,117, 97, 95, 83, 44, 32, 49, 44, 32, 48, 41, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,114,101,116,117,114, 110, 32, 49, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 125, 34, 41, 10,112,111,112, 40, 41, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,104,101, 97,100,101,114, 32, 40, 41, 10,111,117,116,112,117,116, 40, 39, 47, 42, 92,110, 39, 41, 32,111,117,116,112,117,116, 40, 39, 42, 42, 32, 76,117, 97, 32, 98,105,110,100,105,110,103, 58, 32, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 39, 92,110, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 42, 42, 32, 71,101,110,101, 114, 97,116,101,100, 32, 97,117,116,111,109, 97,116,105, 99, 97,108,108,121, 32, 98,121, 32, 39, 46, 46, 84, 79, 76, 85, 65, 95, 86, 69, 82, 83, 73, 79, 78, 46, 46, 39, 32,111,110, 32, 39, 46, 46,100, 97,116,101, 40, 41, 46, 46, 39, 46, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 42, 47, 92, 110, 92,110, 39, 41, 10,105,102, 32,110,111,116, 32,102,108, 97,103,115, 46,104, 32,116,104,101,110, 10,111,117,116,112, 117,116, 40, 39, 47, 42, 32, 69,120,112,111,114,116,101,100, 32,102,117,110, 99,116,105,111,110, 32, 42, 47, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,105,110,116, 32,116,111,108,117, 97, 95, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 95,111, 112,101,110, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 76, 85, 65, 76, 73, 66, 95, 65, 80, 73, 32,105,110,116, 32,108,117, 97,111,112,101,110, 95, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108, 117, 97, 95, 83, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 95, 80, 97, 99,107, 97, 103,101, 32, 40,115,101,108,102, 41, 10,115,101,116,109,101, 116, 97,116, 97, 98,108,101, 40,115,101,108,102, 44, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 41, 10,114,101,116, 117,114,110, 32,115,101,108,102, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32,101,120,116,114, 97, 99,116, 95, 99,111,100,101, 40,102,110, 44,115, 41, 10,108,111, 99, 97, 108, 32, 99,111,100,101, 32, 61, 32, 39, 92,110, 36, 35,105, 110, 99,108,117,100,101, 32, 34, 39, 46, 46,102,110, 46, 46, 39, 34, 92,110, 39, 10,115, 61, 32, 34, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 92,110, 34, 10,108,111, 99, 97,108, 32, 95, 44,101, 44, 99, 44,116, 32, 61, 32,115,116, 114,102,105,110,100, 40,115, 44, 32, 34, 92,110, 40, 91, 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91, 79,111, 93, 91, 76, 108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 40, 91, 94, 37, 115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 34, 41, 10, 119,104,105,108,101, 32,101, 32,100,111, 10,116, 32, 61, 32, 115,116,114,108,111,119,101,114, 40,116, 41, 10,105,102, 32, 116, 32, 61, 61, 32, 34, 98,101,103,105,110, 34, 32,116,104, 101,110, 10, 95, 44,101, 44, 99, 32, 61, 32,115,116,114,102, 105,110,100, 40,115, 44, 34, 40, 46, 45, 41, 92,110, 91, 94, 92,110, 93, 42, 91, 84,116, 93, 91, 79,111, 93, 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 91, 69,101, 93, 91, 78,110, 93, 91, 68,100, 93, 91, 94, 92,110, 93, 42, 92,110, 34, 44,101, 41, 10,105,102, 32,110,111,116, 32,101, 32,116, 104,101,110, 10,116,111,108,117, 97, 95,101,114,114,111,114, 40, 34, 85,110, 98, 97,108, 97,110, 99,101,100, 32, 39,116, 111,108,117, 97, 95, 98,101,103,105,110, 39, 32,100,105,114, 101, 99,116,105,118,101, 32,105,110, 32,104,101, 97,100,101, 114, 32,102,105,108,101, 34, 41, 10,101,110,100, 10,101,110, 100, 10, 99,111,100,101, 32, 61, 32, 99,111,100,101, 32, 46, 46, 32, 99, 32, 46, 46, 32, 34, 92,110, 34, 10, 95, 44,101, 44, 99, 44,116, 32, 61, 32,115,116,114,102,105,110,100, 40, 115, 44, 32, 34, 92,110, 40, 91, 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91, 79,111, 93, 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 40, 91, 94, 37,115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 34, 44,101, 41, 10,101,110,100, 10, 114,101,116,117,114,110, 32, 99,111,100,101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 80, 97, 99,107, 97, 103,101, 32, 40,110, 97,109,101, 44,102,110, 41, 10,108,111, 99, 97,108, 32,101,120,116, 32, 61, 32, 34,112,107,103, 34, 10,105,102, 32,102,110, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,115,116, 44, 32,109,115,103, 32, 61, 32,114,101, 97,100,102,114,111,109, 40,102,108, 97,103,115, 46,102, 41, 10,105,102, 32,110,111,116, 32,115,116, 32,116,104,101,110, 10,101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,103, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32, 95, 59, 32, 95, 44, 32, 95, 44, 32,101,120,116, 32, 61, 32,115,116,114, 102,105,110,100, 40,102,110, 44, 34, 46, 42, 37, 46, 40, 46, 42, 41, 36, 34, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32, 99,111,100,101, 32, 61, 32, 34, 92,110, 34, 32, 46, 46, 32,114,101, 97,100, 40, 39, 42, 97, 39, 41, 10,105,102, 32, 101,120,116, 32, 61, 61, 32, 39,104, 39, 32,111,114, 32,101, 120,116, 32, 61, 61, 32, 39,104,112,112, 39, 32,116,104,101, 110, 10, 99,111,100,101, 32, 61, 32,101,120,116,114, 97, 99, 116, 95, 99,111,100,101, 40,102,110, 44, 99,111,100,101, 41, 10,101,110,100, 10,105,102, 32,102,110, 32,116,104,101,110, 10,114,101, 97,100,102,114,111,109, 40, 41, 10,101,110,100, 10, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40, 99,111, 100,101, 44, 39, 37,115, 42, 37, 36,114,101,110, 97,109,105, 110,103, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 92,110, 39, 44, 32,102,117,110, 99,116,105,111,110, 32, 40,114, 41, 32, 97,112,112,101,110,100,114,101,110, 97,109,105,110,103, 40, 114, 41, 32,114,101,116,117,114,110, 32, 34, 92,110, 34, 32, 101,110,100, 41, 10,108,111, 99, 97,108, 32,110,115,117, 98, 115,116, 10,114,101,112,101, 97,116, 10, 99,111,100,101, 44, 110,115,117, 98,115,116, 32, 61, 32,103,115,117, 98, 40, 99, 111,100,101, 44, 39, 92,110, 37,115, 42, 37, 36, 40, 46, 41, 102,105,108,101, 37,115, 42, 34, 40, 46, 45, 41, 34, 37,115, 42, 92,110, 39, 44, 10,102,117,110, 99,116,105,111,110, 32, 40,107,105,110,100, 44,102,110, 41, 10,108,111, 99, 97,108, 32, 95, 44, 32, 95, 44, 32,101,120,116, 32, 61, 32,115,116, 114,102,105,110,100, 40,102,110, 44, 34, 46, 42, 37, 46, 40, 46, 42, 41, 36, 34, 41, 10,108,111, 99, 97,108, 32,102,112, 44,109,115,103, 32, 61, 32,111,112,101,110,102,105,108,101, 40,102,110, 44, 39,114, 39, 41, 10,105,102, 32,110,111,116, 32,102,112, 32,116,104,101,110, 10,101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,103, 46, 46, 39, 58, 32, 39, 46, 46,102,110, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32, 115, 32, 61, 32,114,101, 97,100, 40,102,112, 44, 39, 42, 97, 39, 41, 10, 99,108,111,115,101,102,105,108,101, 40,102,112, 41, 10,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39, 99, 39, 32,111,114, 32,107,105,110,100, 32, 61, 61, 32, 39,104, 39, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,101, 120,116,114, 97, 99,116, 95, 99,111,100,101, 40,102,110, 44, 115, 41, 10,101,108,115,101,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,112, 39, 32,116,104,101,110, 10,114,101,116, 117,114,110, 32, 34, 92,110, 92,110, 34, 32, 46, 46, 32,115, 10,101,108,115,101,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,108, 39, 32,116,104,101,110, 10,114,101,116,117,114, 110, 32, 34, 92,110, 36, 91, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 92,110, 36, 93, 92,110, 34, 10,101,108, 115,101, 10,101,114,114,111,114, 40, 39, 35, 73,110,118, 97, 108,105,100, 32,105,110, 99,108,117,100,101, 32,100,105,114, 101, 99,116,105,118,101, 32, 40,117,115,101, 32, 36, 99,102, 105,108,101, 44, 32, 36,112,102,105,108,101, 32,111,114, 32, 36,108,102,105,108,101, 41, 39, 41, 10,101,110,100, 10,101, 110,100, 41, 10,117,110,116,105,108, 32,110,115,117, 98,115, 116, 61, 61, 48, 10,108,111, 99, 97,108, 32,116, 32, 61, 32, 95, 80, 97, 99,107, 97,103,101, 40, 95, 67,111,110,116, 97, 105,110,101,114,123,110, 97,109,101, 61,110, 97,109,101, 44, 32, 99,111,100,101, 61, 99,111,100,101,125, 41, 10,112,117, 115,104, 40,116, 41, 10,116, 58,112,114,101,112,114,111, 99, 101,115,115, 40, 41, 10,116, 58,112, 97,114,115,101, 40,116, 46, 99,111,100,101, 41, 10,112,111,112, 40, 41, 10,114,101, 116,117,114,110, 32,116, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 77,111,100,117,108,101, 32, 61, 32, 123, 10, 99,108, 97,115,115,116,121,112,101, 32, 61, 32, 39, 109,111,100,117,108,101, 39, 10,125, 10, 99,108, 97,115,115, 77,111,100,117,108,101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 77,111,100,117,108,101, 10,115, 101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97, 115,115, 77,111,100,117,108,101, 44, 99,108, 97,115,115, 67, 111,110,116, 97,105,110,101,114, 41, 10,102,117,110, 99,116, 105,111,110, 32, 99,108, 97,115,115, 77,111,100,117,108,101, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10,112,117, 115,104, 40,115,101,108,102, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 39, 34, 44, 39, 44,115, 101,108,102, 58,104, 97,115,118, 97,114, 40, 41, 44, 39, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111, 108,117, 97, 95, 98,101,103,105,110,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 39, 34, 41, 59, 39, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101, 108,102, 91,105, 93, 58,114,101,103,105,115,116,101,114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101, 110,100,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,112,111,112, 40, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 77,111,100,117,108,101, 58,112,114,105,110,116, 32, 40,105, 100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 77,111,100,117, 108,101,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101, 110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 59, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119, 104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101,108,102, 91,105, 93, 58,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114, 105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 77,111,100,117,108,101, 32, 40, 116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 77,111,100,117,108,101, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116,117, 114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 77,111,100,117,108,101, 32, 40,110, 44, 98, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32, 95, 77,111,100, 117,108,101, 40, 95, 67,111,110,116, 97,105,110,101,114,123, 110, 97,109,101, 61,110,125, 41, 10,112,117,115,104, 40,116, 41, 10,116, 58,112, 97,114,115,101, 40,115,116,114,115,117, 98, 40, 98, 44, 50, 44,115,116,114,108,101,110, 40, 98, 41, 45, 49, 41, 41, 10,112,111,112, 40, 41, 10,114,101,116,117, 114,110, 32,116, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 32, 61, 32,123, 10, 99,108, 97,115,115,116,121,112,101, 32, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101, 39, 44, 10, 110, 97,109,101, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 46, 95, 95, 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 78, 97, 109,101,115,112, 97, 99,101, 10,115,101,116,109,101,116, 97, 116, 97, 98,108,101, 40, 99,108, 97,115,115, 78, 97,109,101, 115,112, 97, 99,101, 44, 99,108, 97,115,115, 77,111,100,117, 108,101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 58,112,114, 105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115, 101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 78, 97,109,101,115,112, 97, 99,101,123, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115, 101,108,102, 91,105, 93, 32,100,111, 10,115,101,108,102, 91, 105, 93, 58,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114,105,110,116, 40,105,100, 101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 78, 97,109,101,115,112, 97, 99,101, 32, 40,116, 41, 10, 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116,117, 114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 78, 97,109,101,115,112, 97, 99,101, 32, 40,110, 44, 98, 41, 10,108,111, 99, 97,108, 32, 99, 32, 61, 32, 95, 78, 97,109,101,115,112, 97, 99,101, 40, 95, 67,111,110,116, 97,105,110,101,114,123,110, 97,109,101, 61,110,125, 41, 10, 112,117,115,104, 40, 99, 41, 10, 99, 58,112, 97,114,115,101, 40,115,116,114,115,117, 98, 40, 98, 44, 50, 44,115,116,114, 108,101,110, 40, 98, 41, 45, 49, 41, 41, 10,112,111,112, 40, 41, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 68,101,102,105,110,101, 32, 61, 32, 123, 10,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 68,101,102,105,110,101, 46, 95, 95,105, 110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 68,101,102, 105,110,101, 10,115,101,116,109,101,116, 97,116, 97, 98,108, 101, 40, 99,108, 97,115,115, 68,101,102,105,110,101, 44, 99, 108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101,102, 105,110,101, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 99,111,110,115,116, 97,110,116, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97, 109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101,102,105,110,101, 58,112,114,105,110,116, 32, 40,105, 100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 68,101,102,105, 110,101,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101, 110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 68,101, 102,105,110,101, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 68, 101,102,105,110,101, 41, 10,116, 58, 98,117,105,108,100,110, 97,109,101,115, 40, 41, 10,105,102, 32,116, 46,110, 97,109, 101, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,101,114, 114,111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,100, 101,102,105,110,101, 34, 41, 10,101,110,100, 10, 97,112,112, 101,110,100, 40,116, 41, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 68, 101,102,105,110,101, 32, 40,110, 41, 10,114,101,116,117,114, 110, 32, 95, 68,101,102,105,110,101,123, 10,110, 97,109,101, 32, 61, 32,110, 10,125, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101, 32, 61, 32,123, 10,125, 10, 99,108, 97,115,115, 69,110,117, 109,101,114, 97,116,101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116, 101, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101, 44, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10,102, 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 69,110, 117,109,101,114, 97,116,101, 58,114,101,103,105,115,116,101, 114, 32, 40, 41, 10,108,111, 99, 97,108, 32,110,115,112, 97, 99,101, 32, 61, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110, 101,114, 46, 99,117,114,114, 41, 10,108,111, 99, 97,108, 32, 105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 91, 105, 93, 32,100,111, 10,111,117,116,112,117,116, 40, 39, 32, 116,111,108,117, 97, 95, 99,111,110,115,116, 97,110,116, 40, 116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108, 102, 46,108,110, 97,109,101,115, 91,105, 93, 46, 46, 39, 34, 44, 39, 46, 46,110,115,112, 97, 99,101, 46, 46,115,101,108, 102, 91,105, 93, 46, 46, 39, 41, 59, 39, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 69,110,117, 109,101,114, 97,116,101, 58,112,114,105,110,116, 32, 40,105, 100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 69,110,117,109, 101,114, 97,116,101,123, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10, 108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 39, 34, 46, 46,115,101,108,102, 91,105, 93, 46, 46, 34, 39, 40, 34, 46, 46,115,101,108,102, 46,108,110, 97,109,101,115, 91,105, 93, 46, 46, 34, 41, 44, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 69, 110,117,109,101,114, 97,116,101, 32, 40,116, 41, 10,115,101, 116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101, 41, 10, 97, 112,112,101,110,100, 40,116, 41, 10, 97,112,112,101,110,100, 101,110,117,109, 40,116, 41, 10,114,101,116,117,114,110, 32, 116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 69,110,117,109,101,114, 97,116,101, 32, 40,110, 44, 98, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105, 116, 40,115,116,114,115,117, 98, 40, 98, 44, 50, 44, 45, 50, 41, 44, 39, 44, 39, 41, 10,108,111, 99, 97,108, 32,105, 32, 61, 32, 49, 10,108,111, 99, 97,108, 32,101, 32, 61, 32,123, 110, 61, 48,125, 10,119,104,105,108,101, 32,116, 91,105, 93, 32,100,111, 10,108,111, 99, 97,108, 32,116,116, 32, 61, 32, 115,112,108,105,116, 40,116, 91,105, 93, 44, 39, 61, 39, 41, 10,101, 46,110, 32, 61, 32,101, 46,110, 32, 43, 32, 49, 10, 101, 91,101, 46,110, 93, 32, 61, 32,116,116, 91, 49, 93, 10, 105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,105, 32, 61, 32, 49, 10,101, 46,108,110, 97,109,101,115, 32, 61, 32,123, 125, 10,119,104,105,108,101, 32,101, 91,105, 93, 32,100,111, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105, 116, 40,101, 91,105, 93, 44, 39, 64, 39, 41, 10,101, 91,105, 93, 32, 61, 32,116, 91, 49, 93, 10,105,102, 32,110,111,116, 32,116, 91, 50, 93, 32,116,104,101,110, 10,116, 91, 50, 93, 32, 61, 32, 97,112,112,108,121,114,101,110, 97,109,105,110, 103, 40,116, 91, 49, 93, 41, 10,101,110,100, 10,101, 46,108, 110, 97,109,101,115, 91,105, 93, 32, 61, 32,116, 91, 50, 93, 32,111,114, 32,116, 91, 49, 93, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101, 46,110, 97,109,101, 32, 61, 32, 110, 10,105,102, 32,110,126, 61, 34, 34, 32,116,104,101,110, 10, 84,121,112,101,100,101,102, 40, 34,105,110,116, 32, 34, 46, 46,110, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32, 95, 69,110,117,109,101,114, 97,116,101, 40,101, 41, 10, 101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105, 111,110, 32, 61, 32,123, 10,109,111,100, 32, 61, 32, 39, 39, 44, 10,116,121,112,101, 32, 61, 32, 39, 39, 44, 10,112,116, 114, 32, 61, 32, 39, 39, 44, 10,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10,100,105,109, 32, 61, 32, 39, 39, 44, 10,114, 101,116, 32, 61, 32, 39, 39, 44, 10,100,101,102, 32, 61, 32, 39, 39, 10,125, 10, 99,108, 97,115,115, 68,101, 99,108, 97, 114, 97,116,105,111,110, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116, 105,111,110, 10,115,101,116,109,101,116, 97,116, 97, 98,108, 101, 40, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116, 105,111,110, 44, 99,108, 97,115,115, 70,101, 97,116,117,114, 101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 32, 40, 41, 10, 105,102, 32,110,111,116, 32, 95,118, 97,114,110,117,109, 98, 101,114, 32,116,104,101,110, 32, 95,118, 97,114,110,117,109, 98,101,114, 32, 61, 32, 48, 32,101,110,100, 10, 95,118, 97, 114,110,117,109, 98,101,114, 32, 61, 32, 95,118, 97,114,110, 117,109, 98,101,114, 32, 43, 32, 49, 10,114,101,116,117,114, 110, 32, 34,116,111,108,117, 97, 95,118, 97,114, 95, 34, 46, 46, 95,118, 97,114,110,117,109, 98,101,114, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58, 99,104,101, 99,107,110, 97,109,101, 32, 40, 41, 10,105,102, 32,115,116, 114,115,117, 98, 40,115,101,108,102, 46,110, 97,109,101, 44, 49, 44, 49, 41, 32, 61, 61, 32, 39, 91, 39, 32, 97,110,100, 32,110,111,116, 32,102,105,110,100,116,121,112,101, 40,115, 101,108,102, 46,116,121,112,101, 41, 32,116,104,101,110, 10, 115,101,108,102, 46,110, 97,109,101, 32, 61, 32,115,101,108, 102, 46,116,121,112,101, 46, 46,115,101,108,102, 46,110, 97, 109,101, 10,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112, 108,105,116, 40,115,101,108,102, 46,109,111,100, 44, 39, 37, 115, 37,115, 42, 39, 41, 10,115,101,108,102, 46,116,121,112, 101, 32, 61, 32,109, 91,109, 46,110, 93, 10,115,101,108,102, 46,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109, 46,110, 45, 49, 41, 10,101,110,100, 10,108, 111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40, 115,101,108,102, 46,110, 97,109,101, 44, 39, 61, 39, 41, 10, 105,102, 32,116, 46,110, 61, 61, 50, 32,116,104,101,110, 10, 115,101,108,102, 46,110, 97,109,101, 32, 61, 32,116, 91, 49, 93, 10,115,101,108,102, 46,100,101,102, 32, 61, 32,116, 91, 116, 46,110, 93, 10,101,110,100, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,110, 97,109,101, 44, 34, 37, 91, 40, 46, 45, 41, 37, 93, 34, 41, 10,105,102, 32, 98, 32,116,104, 101,110, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 115,116,114,115,117, 98, 40,115,101,108,102, 46,110, 97,109, 101, 44, 49, 44, 98, 45, 49, 41, 10,115,101,108,102, 46,100, 105,109, 32, 61, 32,100, 10,101,110,100, 10,105,102, 32,115, 101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32, 97,110,100, 32,115,101, 108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39, 39, 32,116, 104,101,110, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 99,114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40, 41, 10,101,108,115,101,105,102, 32,115,101,108,102, 46, 107,105,110,100, 61, 61, 39,118, 97,114, 39, 32,116,104,101, 110, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 61, 61, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,110, 97, 109,101,126, 61, 39, 39, 32,116,104,101,110, 10,115,101,108, 102, 46,116,121,112,101, 32, 61, 32,115,101,108,102, 46,116, 121,112,101, 46, 46,115,101,108,102, 46,110, 97,109,101, 10, 115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 99,114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40, 41, 10,101, 108,115,101,105,102, 32,102,105,110,100,116,121,112,101, 40, 115,101,108,102, 46,110, 97,109,101, 41, 32,116,104,101,110, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 61, 61, 39, 39, 32,116,104,101,110, 32,115,101,108,102, 46,116,121, 112,101, 32, 61, 32,115,101,108,102, 46,110, 97,109,101, 10, 101,108,115,101, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 46, 46, 39, 32, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 32,101,110, 100, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 99, 114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40, 41, 10,101,110,100, 10,101,110,100, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99, 108, 97,114, 97,116,105,111,110, 58, 99,104,101, 99,107,116, 121,112,101, 32, 40, 41, 10,105,102, 32,105,115, 98, 97,115, 105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 32, 97, 110,100, 32,115,101,108,102, 46,112,116,114,126, 61, 39, 39, 32,116,104,101,110, 10,115,101,108,102, 46,114,101,116, 32, 61, 32,115,101,108,102, 46,112,116,114, 10,115,101,108,102, 46,112,116,114, 32, 61, 32,110,105,108, 10,101,110,100, 10, 105,102, 32,115,101,108,102, 46,100,105,109,126, 61, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,114,101,116,126, 61, 39, 39, 32,116,104,101,110, 10,101,114,114,111,114, 40, 39, 35,105,110,118, 97,108,105,100, 32,112, 97,114, 97,109,101, 116,101,114, 58, 32, 99, 97,110,110,111,116, 32,114,101,116, 117,114,110, 32, 97,110, 32, 97,114,114, 97,121, 32,111,102, 32,118, 97,108,117,101,115, 39, 41, 10,101,110,100, 10,105, 102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39, 95,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101, 110, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 32, 39, 118,111,105,100, 42, 39, 10,101,108,115,101,105,102, 32,115, 101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39, 95, 99, 115,116,114,105,110,103, 39, 32,116,104,101,110, 32,115,101, 108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,104, 97,114, 42, 39, 10,101,108,115,101,105,102, 32,115,101,108,102, 46, 116,121,112,101, 32, 61, 61, 32, 39, 95,108,115,116, 97,116, 101, 39, 32,116,104,101,110, 32,115,101,108,102, 46,116,121, 112,101, 32, 61, 32, 39,108,117, 97, 95, 83,116, 97,116,101, 42, 39, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97, 114, 97,116,105,111,110, 58,112,114,105,110,116, 32, 40,105, 100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 68,101, 99,108, 97,114, 97,116,105,111,110,123, 34, 41, 10,112,114,105,110, 116, 40,105,100,101,110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100, 101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,112,116,114, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100, 105,109, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100, 105,109, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100,101,102, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100,101,102, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101, 110,116, 46, 46, 34, 32,114,101,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,114,101,116, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,114,101,113, 117,105,114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41, 10,105,102, 32,115,101,108,102, 46,109,111,100, 32,126, 61, 32, 39, 99,111,110,115,116, 39, 32, 97,110,100, 10,115,101,108,102, 46,100,105,109, 32, 97,110,100, 32,115, 101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97, 110,100, 10,110,111,116, 32,105,115, 98, 97,115,105, 99, 40, 115,101,108,102, 46,116,121,112,101, 41, 32, 97,110,100, 10, 115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32, 116,104,101,110, 10,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,116,121, 112,101, 44, 34, 37,115, 42, 99,111,110,115,116, 37,115, 42, 34, 44, 34, 34, 41, 10,116, 91,116,121,112,101, 93, 32, 61, 32, 34,116,111,108,117, 97, 95, 99,111,108,108,101, 99,116, 95, 34, 32, 46, 46, 32,103,115,117, 98, 40,116,121,112,101, 44, 34, 58, 58, 34, 44, 34, 95, 34, 41, 10,114,101,116,117, 114,110, 32,116,114,117,101, 10,101,110,100, 10,114,101,116, 117,114,110, 32,102, 97,108,115,101, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,100,101, 99,108,116, 121,112,101, 32, 40, 41, 10,115,101,108,102, 46,116,121,112, 101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115,101,108, 102, 46,116,121,112,101, 41, 10,105,102, 32,115,116,114,102, 105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 99, 111,110,115,116, 39, 41, 32,116,104,101,110, 10,115,101,108, 102, 46,116,121,112,101, 32, 61, 32, 39, 99,111,110,115,116, 32, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 10,115, 101,108,102, 46,109,111,100, 32, 61, 32,103,115,117, 98, 40, 115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115,116, 37,115, 42, 39, 44, 39, 39, 41, 10,101,110,100, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115, 115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,111,117, 116, 99,104,101, 99,107,116,121,112,101, 32, 40,110, 97,114, 103, 44,118, 97,114, 41, 10,108,111, 99, 97,108, 32,100,101, 102, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10,105,102, 32,115,101,108,102, 46,100,101,102,126, 61, 39, 39, 32,116,104,101,110, 10,100,101,102, 32, 61, 32, 49, 10, 101,108,115,101, 10,100,101,102, 32, 61, 32, 48, 10,101,110, 100, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,105,102, 32,118, 97, 114, 32, 97,110,100, 32,115,101,108,102, 46,116,121,112,101, 61, 61, 39, 99,104, 97,114, 39, 32,116,104,101,110, 10,114, 101,116,117,114,110, 32, 39,116,111,108,117, 97, 95,105,115, 115,116,114,105,110,103, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46, 39, 44, 39, 46, 46,100, 101,102, 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114, 114, 41, 39, 10,101,108,115,101, 10,114,101,116,117,114,110, 32, 39,116,111,108,117, 97, 95,105,115,116, 97, 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,114, 103, 46, 46, 39, 44, 48, 44, 38,116,111,108,117, 97, 95,101, 114,114, 41, 39, 10,101,110,100, 10,101,108,115,101,105,102, 32,116, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 39,116,111,108,117, 97, 95,105,115, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97, 114,103, 46, 46, 39, 44, 39, 46, 46,100,101,102, 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 39, 10,101, 108,115,101, 10,114,101,116,117,114,110, 32, 39,116,111,108, 117, 97, 95,105,115,117,115,101,114,116,121,112,101, 40,116, 111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46, 39, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121,112, 101, 46, 46, 39, 34, 44, 39, 46, 46,100,101,102, 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 39, 10,101, 110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105, 111,110, 58, 98,117,105,108,100,100,101, 99,108, 97,114, 97, 116,105,111,110, 32, 40,110, 97,114,103, 44, 32, 99,112,108, 117,115,112,108,117,115, 41, 10,108,111, 99, 97,108, 32, 97, 114,114, 97,121, 32, 61, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,116,111,110,117, 109, 98,101,114, 40,115,101,108,102, 46,100,105,109, 41, 61, 61,110,105,108, 10,108,111, 99, 97,108, 32,108,105,110,101, 32, 61, 32, 34, 34, 10,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39, 10,108,111, 99, 97,108, 32,109,111,100, 10,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,115, 101,108,102, 46,116,121,112,101, 10,105,102, 32,115,101,108, 102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101, 110, 10,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115, 101,108,102, 46,116,121,112,101, 44, 39, 99,111,110,115,116, 37,115, 42, 39, 44, 39, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32, 99,116,121,112,101, 32, 61, 32,116,121,112, 101, 10,105,102, 32, 99,116,121,112,101, 61, 61, 34,108,117, 97, 95, 79, 98,106,101, 99,116, 34, 32,111,114, 32, 99,116, 121,112,101, 61, 61, 34,108,117, 97, 95, 70,117,110, 99,116, 105,111,110, 34, 32,116,104,101,110, 10, 99,116,121,112,101, 32, 61, 32, 34,105,110,116, 34, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46,112,116,114,126, 61, 39, 39, 32,116, 104,101,110, 32,112,116,114, 32, 61, 32, 39, 42, 39, 32,101, 110,100, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97, 116,112, 97,114, 97,109, 40,108,105,110,101, 44, 34, 32, 34, 44,115,101,108,102, 46,109,111,100, 44, 99,116,121,112,101, 44,112,116,114, 41, 10,105,102, 32, 97,114,114, 97,121, 32, 116,104,101,110, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 42, 39, 41, 10,101,110,100, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110, 101, 44,115,101,108,102, 46,110, 97,109,101, 41, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,105,102, 32,116,111,110,117,109, 98, 101,114, 40,115,101,108,102, 46,100,105,109, 41,126, 61,110, 105,108, 32,116,104,101,110, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110, 101, 44, 39, 91, 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 93, 59, 39, 41, 10,101,108,115,101, 10,105,102, 32, 99, 112,108,117,115,112,108,117,115, 32,116,104,101,110, 10,108, 105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 32, 61, 32,110,101,119, 39, 44,116,121,112,101, 44,112,116,114, 44, 39, 91, 39, 46, 46,115,101,108,102, 46,100,105,109, 46, 46, 39, 93, 59, 39, 41, 10,101,108,115,101, 10,108,105,110,101, 32, 61, 32, 99, 111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 32, 61, 32, 40, 39, 44,116,121,112,101, 44,112,116, 114, 44, 39, 42, 41, 39, 44, 10, 39,109, 97,108,108,111, 99, 40, 40, 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 41, 42,115,105,122,101,111,102, 40, 39, 44,116,121,112,101, 44, 112,116,114, 44, 39, 41, 41, 59, 39, 41, 10,101,110,100, 10, 101,110,100, 10,101,108,115,101, 10,108,111, 99, 97,108, 32, 116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121,112, 101, 41, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97, 116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 32, 61, 32, 39, 41, 10,105,102, 32,116, 32, 61, 61, 32, 39,115,116, 97,116,101, 39, 32,116,104,101,110, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108, 105,110,101, 44, 32, 39,116,111,108,117, 97, 95, 83, 59, 39, 41, 10,101,108,115,101, 10,105,102, 32,110,111,116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,104, 101,110, 32,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97, 116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 42, 39, 41, 32,101,110,100, 10,108,111, 99, 97,108, 32, 99,116, 32, 61, 32,116,121,112,101, 10,105,102, 32,116, 32, 61, 61, 32, 39,118, 97,108,117,101, 39, 32,111,114, 32,116, 32, 61, 61, 32, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104,101, 110, 10, 99,116, 32, 61, 32, 39,105,110,116, 39, 10,101,110, 100, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116, 112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44, 99,116, 41, 10,105, 102, 32,110,111,116, 32,116, 32,116,104,101,110, 10,108,105, 110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97, 109, 40,108,105,110,101, 44, 39, 42, 39, 41, 10,101,110,100, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 41, 32, 39, 41, 10,105,102, 32,105,115,101,110,117,109, 40,116,121,112,101, 41, 32,116,104,101,110, 10,108,105,110,101, 32, 61, 32, 99, 111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 40,105,110,116, 41, 32, 39, 41, 10,101,110,100, 10, 108,111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10,105, 102, 32,115,101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32,100,101,102, 32, 61, 32,115,101, 108,102, 46,100,101,102, 32,101,110,100, 10,105,102, 32,116, 32,116,104,101,110, 10,105,102, 32,116, 61, 61, 39,102,117, 110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,105,102, 32, 115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 34,116, 111,108,117, 97, 95,105,110,100,101,120, 34, 32,116,104,101, 110, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116, 112, 97,114, 97,109, 40,108,105,110,101, 44, 39,116,111,108, 117, 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116,111,108, 117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 39, 44,100,101,102, 44, 39, 41, 45, 49, 41, 59, 39, 41, 10,101, 108,115,101, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39,116, 111,108,117, 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116, 111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101, 110,100, 10,101,108,115,101, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110, 101, 44, 39,116,111,108,117, 97, 95,116,111,117,115,101,114, 116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 44, 110, 97,114,103, 44, 39, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,101,110, 100, 10,114,101,116,117,114,110, 32,108,105,110,101, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,100, 101, 99,108, 97,114,101, 32, 40,110, 97,114,103, 41, 10,105, 102, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,116,121,112,101, 126, 61, 39, 99,104, 97,114, 39, 32, 97,110,100, 32,116,111, 110,117,109, 98,101,114, 40,115,101,108,102, 46,100,105,109, 41, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116, 112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99, 112,108,117,115,112,108,117,115, 92,110, 39, 41, 10,111,117, 116,112,117,116, 40,115,101,108,102, 58, 98,117,105,108,100, 100,101, 99,108, 97,114, 97,116,105,111,110, 40,110, 97,114, 103, 44,116,114,117,101, 41, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40,115,101,108,102, 58, 98,117,105,108,100,100, 101, 99,108, 97,114, 97,116,105,111,110, 40,110, 97,114,103, 44,102, 97,108,115,101, 41, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101,108, 115,101, 10,111,117,116,112,117,116, 40,115,101,108,102, 58, 98,117,105,108,100,100,101, 99,108, 97,114, 97,116,105,111, 110, 40,110, 97,114,103, 44,102, 97,108,115,101, 41, 41, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116, 105,111,110, 58,103,101,116, 97,114,114, 97,121, 32, 40,110, 97,114,103, 41, 10,105,102, 32,115,101,108,102, 46,100,105, 109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110, 115,116, 32, 39, 44, 39, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,108,111, 99, 97, 108, 32,100,101,102, 59, 32,105,102, 32,115,101,108,102, 46, 100,101,102,126, 61, 39, 39, 32,116,104,101,110, 32,100,101, 102, 61, 49, 32,101,108,115,101, 32,100,101,102, 61, 48, 32, 101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105, 115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10,105,102, 32, 40,116, 41, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,105,102, 32, 40, 33,116,111,108,117, 97, 95, 105,115, 39, 46, 46,116, 46, 46, 39, 97,114,114, 97,121, 40, 116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 44, 39, 44,100,101,102, 44, 39, 44, 38,116,111,108,117, 97, 95, 101,114,114, 41, 41, 39, 41, 10,101,108,115,101, 10,111,117, 116,112,117,116, 40, 39, 32,105,102, 32, 40, 33,116,111,108, 117, 97, 95,105,115,117,115,101,114,116,121,112,101, 97,114, 114, 97,121, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 34, 39, 44,116,121,112,101, 44, 39, 34, 44, 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 44, 39, 44,100,101,102, 44, 39, 44, 38,116,111,108,117, 97, 95, 101,114,114, 41, 41, 39, 41, 10,101,110,100, 10,111,117,116, 112,117,116, 40, 39, 32,103,111,116,111, 32,116,111,108,117, 97, 95,108,101,114,114,111,114, 59, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,101,108,115,101, 92,110, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,110,116, 32, 105, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,102, 111,114, 40,105, 61, 48, 59, 32,105, 60, 39, 46, 46,115,101, 108,102, 46,100,105,109, 46, 46, 39, 59,105, 43, 43, 41, 39, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10,108,111, 99, 97, 108, 32,112,116,114, 32, 61, 32, 39, 39, 10,105,102, 32,115, 101,108,102, 46,112,116,114,126, 61, 39, 39, 32,116,104,101, 110, 32,112,116,114, 32, 61, 32, 39, 42, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44,115,101,108, 102, 46,110, 97,109,101, 46, 46, 39, 91,105, 93, 32, 61, 32, 39, 41, 10,105,102, 32,110,111,116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 32,111, 117,116,112,117,116, 40, 39, 42, 39, 41, 32,101,110,100, 10, 111,117,116,112,117,116, 40, 39, 40, 40, 39, 44,116,121,112, 101, 41, 10,105,102, 32,110,111,116, 32,116, 32,116,104,101, 110, 10,111,117,116,112,117,116, 40, 39, 42, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 41, 32, 39, 41, 10,108,111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10, 105,102, 32,115,101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32,100,101,102, 32, 61, 32,115, 101,108,102, 46,100,101,102, 32,101,110,100, 10,105,102, 32, 116, 32,116,104,101,110, 10,105,102, 32,116, 61, 61, 39,102, 117,110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,111,117, 116,112,117,116, 40, 39,116,111,108,117, 97, 95,116,111,102, 105,101,108,100, 39, 46, 46,116, 46, 46, 39, 40,116,111,108, 117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39,116, 111,108,117, 97, 95,116,111,102,105,101,108,100,117,115,101, 114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 39, 44,100, 101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,110,100, 10,111, 117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,125, 39, 41, 10,101,110,100, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,115, 101,116, 97,114,114, 97,121, 32, 40,110, 97,114,103, 41, 10, 105,102, 32,110,111,116, 32,115,116,114,102,105,110,100, 40, 115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110,115, 116, 39, 41, 32, 97,110,100, 32,115,101,108,102, 46,100,105, 109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110, 115,116, 32, 39, 44, 39, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,110,116, 32,105, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 32,102,111,114, 40,105, 61, 48, 59, 32,105, 60, 39, 46, 46,115,101,108,102, 46,100,105,109, 46, 46, 39, 59, 105, 43, 43, 41, 39, 41, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121, 112,101, 41, 10,105,102, 32,116, 32,116,104,101,110, 10,105, 102, 32,116, 61, 61, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,116, 111,108,117, 97, 95,112,117,115,104,102,105,101,108,100, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 44,115,101,108,102, 46,110, 97, 109,101, 44, 39, 91,105, 93, 41, 59, 39, 41, 10,101,108,115, 101, 10,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115, 112,108,117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95, 111, 98,106, 32, 61, 32,110,101,119, 39, 44,116,121,112,101, 44, 39, 40, 39, 44,115,101,108,102, 46,110, 97,109,101, 44, 39, 91,105, 93, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,102,105, 101,108,100,117,115,101,114,116,121,112,101, 40,116,111,108, 117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44,116,111,108,117, 97, 95, 99,108,111,110,101, 40, 116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,111, 98,106, 44, 39, 46, 46, 32, 40, 95, 99,111,108,108,101, 99, 116, 91,116,121,112,101, 93, 32,111,114, 32, 39, 78, 85, 76, 76, 39, 41, 32, 46, 46, 39, 41, 44, 34, 39, 44,116,121,112, 101, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108, 117, 97, 95,111, 98,106, 32, 61, 32,116,111,108,117, 97, 95, 99,111,112,121, 40,116,111,108,117, 97, 95, 83, 44, 40,118, 111,105,100, 42, 41, 38, 39, 44,115,101,108,102, 46,110, 97, 109,101, 44, 39, 91,105, 93, 44,115,105,122,101,111,102, 40, 39, 44,116,121,112,101, 44, 39, 41, 41, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112, 117,115,104,102,105,101,108,100,117,115,101,114,116,121,112, 101, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114, 103, 44, 39, 44,105, 43, 49, 44,116,111,108,117, 97, 95, 99, 108,111,110,101, 40,116,111,108,117, 97, 95, 83, 44,116,111, 108,117, 97, 95,111, 98,106, 44, 78, 85, 76, 76, 41, 44, 34, 39, 44,116,121,112,101, 44, 39, 34, 41, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32, 116,111,108,117, 97, 95,112,117,115,104,102,105,101,108,100, 117,115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 40,118,111,105,100, 42, 41, 39, 44,115,101,108,102, 46,110, 97,109,101, 44, 39, 91,105, 93, 44, 34, 39, 44,116,121,112, 101, 44, 39, 34, 41, 59, 39, 41, 10,101,110,100, 10,101,110, 100, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116, 105,111,110, 58,102,114,101,101, 97,114,114, 97,121, 32, 40, 41, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,116,111,110,117,109, 98, 101,114, 40,115,101,108,102, 46,100,105,109, 41, 61, 61,110, 105,108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115, 112,108,117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,100,101,108,101,116,101, 32, 91, 93, 39, 44,115, 101,108,102, 46,110, 97,109,101, 44, 39, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,102,114,101,101, 40, 39, 44,115,101,108,102, 46,110, 97,109,101, 44, 39, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110, 100,105,102, 92,110, 39, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,112, 97,115, 115,112, 97,114, 32, 40, 41, 10,108,111, 99, 97,108, 32,110, 97,109,101, 32, 61, 32,115,101,108,102, 46,110, 97,109,101, 10,105,102, 32,115,101,108,102, 46,112,116,114, 61, 61, 39, 38, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 42, 39, 46, 46,110, 97,109,101, 41, 10,101,108,115,101, 105,102, 32,115,101,108,102, 46,114,101,116, 61, 61, 39, 42, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 38, 39, 46, 46,110, 97,109,101, 41, 10,101,108,115,101, 10, 111,117,116,112,117,116, 40,110, 97,109,101, 41, 10,101,110, 100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111, 110, 58,114,101,116,118, 97,108,117,101, 32, 40, 41, 10,105, 102, 32,115,101,108,102, 46,114,101,116, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101, 108,102, 46,116,121,112,101, 41, 10,105,102, 32,116, 32,116, 104,101,110, 10,105,102, 32,116, 61, 61, 39,102,117,110, 99, 116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,105,102, 32,115,101, 108,102, 46,116,121,112,101, 61, 61, 34,116,111,108,117, 97, 95,105,110,100,101,120, 34, 32,116,104,101,110, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117, 115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,115, 101,108,102, 46,110, 97,109,101, 46, 46, 39, 43, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46, 116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,101,110,100, 10, 101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,116, 111,108,117, 97, 95,112,117,115,104,117,115,101,114,116,121, 112,101, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105, 100, 42, 41, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 44, 34, 39, 44,115,101,108,102, 46,116,121,112, 101, 44, 39, 34, 41, 59, 39, 41, 10,101,110,100, 10,114,101, 116,117,114,110, 32, 49, 10,101,110,100, 10,114,101,116,117, 114,110, 32, 48, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98, 108,101, 40,116, 44, 99,108, 97,115,115, 68,101, 99,108, 97, 114, 97,116,105,111,110, 41, 10,116, 58, 98,117,105,108,100, 110, 97,109,101,115, 40, 41, 10,116, 58, 99,104,101, 99,107, 110, 97,109,101, 40, 41, 10,116, 58, 99,104,101, 99,107,116, 121,112,101, 40, 41, 10,114,101,116,117,114,110, 32,116, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 32, 40,115, 44,107,105, 110,100, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 37,115, 42, 61, 37,115, 42, 34, 44, 34, 61, 34, 41, 10, 105,102, 32,107,105,110,100, 32, 61, 61, 32, 34,118, 97,114, 34, 32,116,104,101,110, 10,105,102, 32,115, 32, 61, 61, 32, 39, 39, 32,111,114, 32,115, 32, 61, 61, 32, 39,118,111,105, 100, 39, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110,123,116,121, 112,101, 32, 61, 32, 39,118,111,105,100, 39, 44, 32,107,105, 110,100, 32, 61, 32,107,105,110,100,125, 10,101,110,100, 10, 101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115, 112,108,105,116, 40,115, 44, 39, 37, 42, 37,115, 42, 38, 39, 41, 10,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116, 104,101,110, 10,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,102,117,110, 99, 39, 32,116,104,101,110, 10,101,114,114, 111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,102,117, 110, 99,116,105,111,110, 32,114,101,116,117,114,110, 32,116, 121,112,101, 58, 32, 34, 46, 46,115, 41, 10,101,110,100, 10, 108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10, 114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97, 116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 42, 39, 44, 10, 114,101,116, 32, 61, 32, 39, 38, 39, 44, 10,116,121,112,101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109, 46, 110, 45, 49, 41, 44, 10,107,105,110,100, 32, 61, 32,107,105, 110,100, 10,125, 10,101,110,100, 10,116, 32, 61, 32,115,112, 108,105,116, 40,115, 44, 39, 37, 42, 37,115, 42, 37, 42, 39, 41, 10,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116, 104,101,110, 10,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,102,117,110, 99, 39, 32,116,104,101,110, 10,101,114,114, 111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,102,117, 110, 99,116,105,111,110, 32,114,101,116,117,114,110, 32,116, 121,112,101, 58, 32, 34, 46, 46,115, 41, 10,101,110,100, 10, 108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10, 114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97, 116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 42, 39, 44, 10, 114,101,116, 32, 61, 32, 39, 42, 39, 44, 10,116,121,112,101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109, 46, 110, 45, 49, 41, 44, 10,107,105,110,100, 32, 61, 32,107,105, 110,100, 10,125, 10,101,110,100, 10,116, 32, 61, 32,115,112, 108,105,116, 40,115, 44, 39, 38, 39, 41, 10,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10,114,101, 116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105, 111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 38, 39, 44, 10,116,121, 112,101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10,109,111, 100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44, 109, 46,110, 45, 49, 41, 32, 44, 10,107,105,110,100, 32, 61, 32,107,105,110,100, 10,125, 10,101,110,100, 10,108,111, 99, 97,108, 32,115, 49, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 40, 37, 98, 37, 91, 37, 93, 41, 34, 44,102,117,110, 99, 116,105,111,110, 32, 40,110, 41, 32,114,101,116,117,114,110, 32,103,115,117, 98, 40,110, 44, 39, 37, 42, 39, 44, 39, 92, 49, 39, 41, 32,101,110,100, 41, 10,116, 32, 61, 32,115,112, 108,105,116, 40,115, 49, 44, 39, 37, 42, 39, 41, 10,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10, 116, 91, 50, 93, 32, 61, 32,103,115,117, 98, 40,116, 91, 50, 93, 44, 39, 92, 49, 39, 44, 39, 37, 42, 39, 41, 10,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10,114,101, 116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105, 111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 42, 39, 44, 10,116,121, 112,101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10,109,111, 100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44, 109, 46,110, 45, 49, 41, 32, 44, 10,107,105,110,100, 32, 61, 32,107,105,110,100, 10,125, 10,101,110,100, 10,105,102, 32, 107,105,110,100, 32, 61, 61, 32, 39,118, 97,114, 39, 32,116, 104,101,110, 10,116, 32, 61, 32,115,112,108,105,116, 40,115, 44, 39, 37,115, 37,115, 42, 39, 41, 10,108,111, 99, 97,108, 32,118, 10,105,102, 32,102,105,110,100,116,121,112,101, 40, 116, 91,116, 46,110, 93, 41, 32,116,104,101,110, 32,118, 32, 61, 32, 39, 39, 32,101,108,115,101, 32,118, 32, 61, 32,116, 91,116, 46,110, 93, 59, 32,116, 46,110, 32, 61, 32,116, 46, 110, 45, 49, 32,101,110,100, 10,114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,118, 44, 10,116,121,112,101, 32, 61, 32,116, 91,116, 46,110, 93, 44, 10,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,116, 44, 49, 44,116, 46,110, 45, 49, 41, 44, 10,107,105,110,100, 32, 61, 32,107,105,110,100, 10,125, 10,101,108,115,101, 10,116, 32, 61, 32,115,112,108, 105,116, 40,115, 44, 39, 37,115, 37,115, 42, 39, 41, 10,108, 111, 99, 97,108, 32,118, 32, 61, 32,116, 91,116, 46,110, 93, 10,108,111, 99, 97,108, 32,116,112, 44,109,100, 10,105,102, 32,116, 46,110, 62, 49, 32,116,104,101,110, 10,116,112, 32, 61, 32,116, 91,116, 46,110, 45, 49, 93, 10,109,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,116, 44, 49, 44,116, 46,110, 45, 50, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,118, 44, 10,116,121,112,101, 32, 61, 32,116,112, 44, 10,109,111,100, 32, 61, 32,109,100, 44, 10, 107,105,110,100, 32, 61, 32,107,105,110,100, 10,125, 10,101, 110,100, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 32, 61, 32,123, 10, 95,103,101,116, 32, 61, 32,123,125, 44, 10, 95,115,101,116, 32, 61, 32,123,125, 44, 10,125, 10, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 46, 95, 95,105, 110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 86, 97,114, 105, 97, 98,108,101, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 86, 97,114,105, 97, 98, 108,101, 44, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97, 116,105,111,110, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,112, 114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111, 115,101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 86, 97,114,105, 97, 98,108,101,123, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110, 116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112, 101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,112,116,114, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32, 116,104,101,110, 32,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,100,105,109, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,100,105,109, 46, 46, 34, 39, 44, 34, 41, 32,101,110,100, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,100,101,102, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,100,101,102, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,114,101,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,114,101,116, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58, 99,102,117,110, 99,110, 97,109,101, 32, 40, 112,114,101,102,105,120, 41, 10,108,111, 99, 97,108, 32,112, 97,114,101,110,116, 32, 61, 32, 34, 34, 10,108,111, 99, 97, 108, 32,117,110,115,105,103,110,101,100, 32, 61, 32, 34, 34, 10,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32, 34, 34, 10,108,111, 99, 97,108, 32,112, 32, 61, 32,115,101,108,102, 58,105,110,109,111,100,117,108,101, 40, 41, 32,111,114, 32, 115,101,108,102, 58,105,110,110, 97,109,101,115,112, 97, 99, 101, 40, 41, 32,111,114, 32,115,101,108,102, 58,105,110, 99, 108, 97,115,115, 40, 41, 10,105,102, 32,112, 32,116,104,101, 110, 10,112, 97,114,101,110,116, 32, 61, 32, 34, 95, 34, 32, 46, 46, 32,112, 10,101,110,100, 10,105,102, 32,115,116,114, 102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 34, 40,117,110,115,105,103,110,101,100, 41, 34, 41, 32,116,104, 101,110, 10,117,110,115,105,103,110,101,100, 32, 61, 32, 34, 95,117,110,115,105,103,110,101,100, 34, 10,101,110,100, 10, 105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 34, 42, 34, 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 34, 95,112,116,114, 34, 10,101,108,115,101,105,102, 32,115, 101,108,102, 46,112,116,114, 32, 61, 61, 32, 34, 38, 34, 32, 116,104,101,110, 32,112,116,114, 32, 61, 32, 34, 95,114,101, 102, 34, 10,101,110,100, 10,108,111, 99, 97,108, 32,110, 97, 109,101, 32, 61, 32,112,114,101,102,105,120, 32, 46, 46, 32, 112, 97,114,101,110,116, 32, 46, 46, 32,117,110,115,105,103, 110,101,100, 32, 46, 46, 32, 34, 95, 34, 32, 46, 46, 32,103, 115,117, 98, 40,115,101,108,102, 46,110, 97,109,101, 44, 34, 46, 42, 58, 58, 34, 44, 34, 34, 41, 32, 46, 46, 32,112,116, 114, 10,114,101,116,117,114,110, 32,110, 97,109,101, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 86, 97,114,105, 97, 98,108,101, 58,105,115,118, 97, 114,105, 97, 98,108,101, 32, 40, 41, 10,114,101,116,117,114, 110, 32,116,114,117,101, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,103,101,116,118, 97,108,117,101, 32, 40, 99, 108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116, 105, 99, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 10,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,114,101,116,117, 114,110, 32, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 10,101,108,115,101, 10,114,101, 116,117,114,110, 32,115,101,108,102, 46,110, 97,109,101, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,103,101,116,112,111,105,110,116,101,114,118, 97,108,117, 101, 32, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32, 115,116, 97,116,105, 99, 32,116,104,101,110, 10,114,101,116, 117,114,110, 32, 99,108, 97,115,115, 46, 46, 39, 58, 58,112, 39, 10,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 116,104,101,110, 10,114,101,116,117,114,110, 32, 39,115,101, 108,102, 45, 62,112, 39, 10,101,108,115,101, 10,114,101,116, 117,114,110, 32, 39,112, 39, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,115,117,112, 99,111,100, 101, 32, 40, 41, 10,108,111, 99, 97,108, 32, 99,108, 97,115, 115, 32, 61, 32,115,101,108,102, 58,105,110, 99,108, 97,115, 115, 40, 41, 10,105,102, 32, 99,108, 97,115,115, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,103, 101,116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115, 101,108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99, 108, 97,115,115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,103,101, 116, 95, 34, 46, 46, 99,108, 97,115,115, 41, 10,101,108,115, 101, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,103,101, 116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,101, 108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10, 115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,103,101,116, 34, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 34,115,116, 97,116, 105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,103, 101,116,110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,108,111, 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46, 109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97,116,105, 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97, 110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32, 116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44, 99,108, 97,115,115, 44, 39, 42, 39, 44, 39,115,101,108, 102, 32, 61, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39, 40, 39, 44, 99,108, 97,115,115, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95, 116,111,117,115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10,101,108,115, 101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,109, 111,100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99, 37, 115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100, 10, 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10, 111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 33,115,101,108,102, 41, 32,116,111,108,117, 97, 95, 101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 105,110,118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,105,110, 32, 97, 99, 99,101,115,115,105,110,103, 32, 118, 97,114,105, 97, 98,108,101, 32, 92, 39, 39, 46, 46,115, 101,108,102, 46,110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10,111,117,116,112,117, 116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101, 110,100, 10,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,105,102, 32,103, 115,117, 98, 40,116,121,112,101, 44, 39, 99,111,110,115,116, 32, 39, 44, 39, 39, 41, 61, 61, 39, 99,104, 97,114, 39, 32, 97,110,100, 32,115,101,108,102, 46,100,105,109,126, 61, 39, 39, 32,116,104,101,110, 10,116,121,112,101, 32, 61, 32, 39, 99,104, 97,114, 42, 39, 10,101,110,100, 10,108,111, 99, 97, 108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10,105,102, 32,116, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108, 117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40, 116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108, 117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 41, 59, 39, 41, 10,101,108,115,101, 10,116, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,111,114, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,117, 115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38, 39, 46, 46,115,101,108, 102, 58,103,101,116,118, 97,108,117,101, 40, 99,108, 97,115, 115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101,108,115,101, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 112,117,115,104,117,115,101,114,116,121,112,101, 40,116,111, 108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101, 110,100, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 49, 59, 39, 41, 10,111,117, 116,112,117,116, 40, 39,125, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 92,110, 39, 41, 10,105,102, 32,110,111,116, 32, 115,116,114,102,105,110,100, 40,115,101,108,102, 46,116,121, 112,101, 44, 39, 99,111,110,115,116, 39, 41, 32,116,104,101, 110, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,115,101,116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108, 102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,108, 97, 115,115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,115,101,108,102, 46, 99,115,101,116,110, 97,109, 101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,115,101,116, 95, 34, 46, 46, 99,108, 97,115,115, 41, 10,101,108,115,101, 10, 111,117,116,112,117,116, 40, 34, 47, 42, 32,115,101,116, 32, 102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,115,101, 108,102, 46, 99,115,101,116,110, 97,109,101, 32, 61, 32,115, 101,108,102, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34, 116,111,108,117, 97, 95,115,101,116, 34, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 34,115,116, 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,115,101,116, 110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116, 101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111, 117,116,112,117,116, 40, 34,123, 34, 41, 10,105,102, 32, 99, 108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112, 117,116, 40, 39, 32, 39, 44, 99,108, 97,115,115, 44, 39, 42, 39, 44, 39,115,101,108,102, 32, 61, 32, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 40, 39, 44, 99,108, 97,115,115, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39, 116,111,108,117, 97, 95,116,111,117,115,101,114,116,121,112, 101, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95, 69,114,114,111, 114, 32,116,111,108,117, 97, 95,101,114,114, 59, 39, 41, 10, 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10, 111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 33,115, 101,108,102, 41, 32,116,111,108,117, 97, 95,101,114,114,111, 114, 40,116,111,108,117, 97, 95, 83, 44, 34,105,110,118, 97, 108,105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,105,110, 32, 97, 99, 99,101,115,115,105,110,103, 32,118, 97,114,105, 97, 98,108,101, 32, 92, 39, 39, 46, 46,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10,101,108,115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95, 44, 95, 44,115, 101,108,102, 46,109,111,100, 32, 61, 32,115,116,114,102,105, 110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 94, 37, 115, 42,115,116, 97,116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 33, 39, 46, 46,115,101,108,102, 58,111,117,116, 99,104,101, 99,107,116,121,112,101, 40, 50, 44,116,114,117,101, 41, 46, 46, 39, 41, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101,114, 114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,118, 105,110,118, 97,108,105,100, 32,116,121,112,101, 32,105,110, 32,118, 97,114,105, 97, 98,108,101, 32, 97,115,115,105,103, 110,109,101,110,116, 46, 34, 44, 38,116,111,108,117, 97, 95, 101,114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,108,111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10,105,102, 32,115, 101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39, 32,116, 104,101,110, 32,100,101,102, 32, 61, 32,115,101,108,102, 46, 100,101,102, 32,101,110,100, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39, 99,104, 97,114, 39, 32, 97,110,100, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,115,116,114,110, 99,112,121, 40, 39, 41, 10, 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46, 115,101,108,102, 46,110, 97,109,101, 41, 10,101,108,115,101, 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10,101,108,115, 101, 10,111,117,116,112,117,116, 40,115,101,108,102, 46,110, 97,109,101, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 44,116,111,108,117, 97, 95,116,111,115,116,114,105, 110,103, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 39, 44, 100,101,102, 44, 39, 41, 44, 39, 44,115,101,108,102, 46,100, 105,109, 44, 39, 45, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39, 10,105,102, 32,115,101,108,102, 46,112,116,114,126, 61, 39, 39, 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 39, 42, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,111,117, 116,112,117,116, 40, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10,101, 108,115,101,105,102, 32, 99,108, 97,115,115, 32,116,104,101, 110, 10,111,117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10, 101,108,115,101, 10,111,117,116,112,117,116, 40,115,101,108, 102, 46,110, 97,109,101, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40, 115,101,108,102, 46,116,121,112,101, 41, 10,111,117,116,112, 117,116, 40, 39, 32, 61, 32, 39, 41, 10,105,102, 32,110,111, 116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 32,111,117,116,112,117,116, 40, 39, 42, 39, 41, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44,115,101, 108,102, 46,116,121,112,101, 41, 10,105,102, 32,110,111,116, 32,116, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 42, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 41, 32, 39, 41, 10,105,102, 32,116, 32,116,104,101, 110, 10,105,102, 32,105,115,101,110,117,109, 40,115,101,108, 102, 46,116,121,112,101, 41, 32,116,104,101,110, 10,111,117, 116,112,117,116, 40, 39, 40,105,110,116, 41, 32, 39, 41, 10, 101,110,100, 10,105,102, 32,116, 61, 61, 39,102,117,110, 99, 116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,111,117,116,112,117, 116, 40, 39,116,111,108,117, 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 39, 44, 100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95, 116,111,117,115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,111,117,116, 112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39,125, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110, 100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,114, 101,103,105,115,116,101,114, 32, 40, 41, 10,108,111, 99, 97, 108, 32,112, 97,114,101,110,116, 32, 61, 32,115,101,108,102, 58,105,110,109,111,100,117,108,101, 40, 41, 32,111,114, 32, 115,101,108,102, 58,105,110,110, 97,109,101,115,112, 97, 99, 101, 40, 41, 32,111,114, 32,115,101,108,102, 58,105,110, 99, 108, 97,115,115, 40, 41, 10,105,102, 32,110,111,116, 32,112, 97,114,101,110,116, 32,116,104,101,110, 10,105,102, 32, 99, 108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 46, 95,119, 97,114,110,105,110,103, 61, 61,110,105,108, 32,116,104,101, 110, 10,119, 97,114,110,105,110,103, 40, 34, 77, 97,112,112, 105,110,103, 32,118, 97,114,105, 97, 98,108,101, 32,116,111, 32,103,108,111, 98, 97,108, 32,109, 97,121, 32,100,101,103, 114, 97,100,101, 32,112,101,114,102,111,114,109, 97,110, 99, 101, 34, 41, 10, 99,108, 97,115,115, 86, 97,114,105, 97, 98, 108,101, 46, 95,119, 97,114,110,105,110,103, 32, 61, 32, 49, 10,101,110,100, 10,101,110,100, 10,105,102, 32,115,101,108, 102, 46, 99,115,101,116,110, 97,109,101, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,118, 97,114,105, 97, 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97, 109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 39, 46, 46, 115,101,108,102, 46, 99,115,101,116,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95,118, 97,114,105, 97, 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 95, 86, 97,114,105, 97, 98,108,101, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 116, 44, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116, 117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116, 105,111,110, 32, 86, 97,114,105, 97, 98,108,101, 32, 40,115, 41, 10,114,101,116,117,114,110, 32, 95, 86, 97,114,105, 97, 98,108,101, 32, 40, 68,101, 99,108, 97,114, 97,116,105,111, 110, 40,115, 44, 39,118, 97,114, 39, 41, 41, 10,101,110,100, 32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 65,114,114, 97,121, 32, 61, 32,123, 10,125, 10, 99,108, 97,115,115, 65,114,114, 97,121, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 65, 114,114, 97,121, 10,115,101,116,109,101,116, 97,116, 97, 98, 108,101, 40, 99,108, 97,115,115, 65,114,114, 97,121, 44, 99, 108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115, 115, 65,114,114, 97,121, 58,112,114,105,110,116, 32, 40,105, 100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 65,114,114, 97, 121,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,112, 116,114, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,112, 116,114, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105, 100,101,110,116, 46, 46, 34, 32,100,101,102, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100,101,102, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100,105,109, 32, 61, 32, 39, 34, 46, 46,115, 101,108,102, 46,100,105,109, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 114,101,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 114,101,116, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110, 116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99, 108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116, 105,111,110, 32, 99,108, 97,115,115, 65,114,114, 97,121, 58, 105,115,118, 97,114,105, 97, 98,108,101, 32, 40, 41, 10,114, 101,116,117,114,110, 32,116,114,117,101, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 65, 114,114, 97,121, 58,103,101,116,118, 97,108,117,101, 32, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 10,105, 102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97, 116,105, 99, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46,115, 101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,116,111,108, 117, 97, 95,105,110,100,101,120, 93, 39, 10,101,108,115,101, 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,114, 101,116,117,114,110, 32, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,116, 111,108,117, 97, 95,105,110,100,101,120, 93, 39, 10,101,108, 115,101, 10,114,101,116,117,114,110, 32,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105, 110,100,101,120, 93, 39, 10,101,110,100, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 65, 114,114, 97,121, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10,108,111, 99, 97,108, 32, 99,108, 97,115,115, 32, 61, 32, 115,101,108,102, 58,105,110, 99,108, 97,115,115, 40, 41, 10, 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 34, 47, 42, 32,103,101,116, 32,102, 117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46, 110, 97,109,101, 44, 34, 32,111,102, 32, 99,108, 97,115,115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,103,101,116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,101,110,100, 10,115,101,108,102, 46, 99,103, 101,116,110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99, 102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,103,101,116, 34, 41, 10,111,117,116,112,117,116, 40, 34, 115,116, 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108, 102, 46, 99,103,101,116,110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,105,110,116, 32, 116,111,108,117, 97, 95,105,110,100,101,120, 59, 34, 41, 10, 108,111, 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108, 102, 46,109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97, 116,105, 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105, 108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46, 116,121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,117,115,104,115,116,114,105,110,103, 40,116,111,108, 117, 97, 95, 83, 44, 34, 46,115,101,108,102, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95, 114, 97,119,103,101,116, 40,116,111,108,117, 97, 95, 83, 44, 49, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 115,101,108,102, 32, 61, 32, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 40, 39, 44, 99,108, 97,115,115, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39,108,117, 97, 95,116,111,117,115,101,114,100, 97,116, 97, 40,116,111,108, 117, 97, 95, 83, 44, 45, 49, 41, 59, 39, 41, 10,101,108,115, 101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,109, 111,100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99, 37, 115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100, 10, 111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95,101, 114,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 105,102, 32, 40, 33,116,111,108,117, 97, 95,105,115,110,117, 109, 98,101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 41, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,118,105,110,118, 97,108,105,100, 32,116,121,112, 101, 32,105,110, 32, 97,114,114, 97,121, 32,105,110,100,101, 120,105,110,103, 46, 34, 44, 38,116,111,108,117, 97, 95,101, 114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101, 110,100,105,102, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,105,110,100,101,120, 32, 61, 32, 40,105,110,116, 41,116,111,108,117, 97, 95,116,111, 110,117,109, 98,101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 41, 45, 49, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 32,105,102, 32, 40,116,111,108, 117, 97, 95,105,110,100,101,120, 60, 48, 32,124,124, 32,116, 111,108,117, 97, 95,105,110,100,101,120, 62, 61, 39, 46, 46, 115,101,108,102, 46,100,105,109, 46, 46, 39, 41, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 97,114,114, 97,121, 32,105,110,100,101,120,105,110,103, 32, 111,117,116, 32,111,102, 32,114, 97,110,103,101, 46, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97, 115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10, 105,102, 32,116, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 41, 59, 39, 41, 10,101,108,115,101, 10,116, 32, 61, 32,115,101,108,102, 46, 116,121,112,101, 10,105,102, 32,115,101,108,102, 46,112,116, 114, 32, 61, 61, 32, 39, 38, 39, 32,111,114, 32,115,101,108, 102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101, 110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,117,115,101,114,116,121,112,101, 40, 116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108, 117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,117,115,101,114, 116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 40,118, 111,105,100, 42, 41, 39, 46, 46,115,101,108,102, 58,103,101, 116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,111, 117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 49, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10, 105,102, 32,110,111,116, 32,115,116,114,102,105,110,100, 40, 115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110,115, 116, 39, 41, 32,116,104,101,110, 10,105,102, 32, 99,108, 97, 115,115, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,115,101,116, 32,102,117,110, 99,116,105,111, 110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,108, 97,115,115, 32, 34, 44, 99,108, 97, 115,115, 44, 34, 32, 42, 47, 34, 41, 10,101,108,115,101, 10, 111,117,116,112,117,116, 40, 34, 47, 42, 32,115,101,116, 32, 102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,101,110, 100, 10,115,101,108,102, 46, 99,115,101,116,110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,110, 97, 109,101, 40, 34,116,111,108,117, 97, 95,115,101,116, 34, 41, 10,111,117,116,112,117,116, 40, 34,115,116, 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,115,101,116, 110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116, 101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111, 117,116,112,117,116, 40, 34,123, 34, 41, 10,111,117,116,112, 117,116, 40, 39, 32,105,110,116, 32,116,111,108,117, 97, 95, 105,110,100,101,120, 59, 39, 41, 10,108,111, 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116, 114,102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97,116,105, 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115, 116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44, 99,108, 97, 115,115, 44, 39, 42, 39, 44, 39,115,101,108,102, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112, 117,115,104,115,116,114,105,110,103, 40,116,111,108,117, 97, 95, 83, 44, 34, 46,115,101,108,102, 34, 41, 59, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,114, 97, 119,103,101,116, 40,116,111,108,117, 97, 95, 83, 44, 49, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,115,101, 108,102, 32, 61, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39, 40, 39, 44, 99,108, 97,115,115, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39,108,117, 97, 95,116, 111,117,115,101,114,100, 97,116, 97, 40,116,111,108,117, 97, 95, 83, 44, 45, 49, 41, 59, 39, 41, 10,101,108,115,101,105, 102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115, 116,114,102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99, 37,115, 37, 115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100, 10,111,117, 116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95,101,114,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 33,116,111,108,117, 97, 95,105,115,110,117,109, 98, 101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 41, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,118,105,110,118, 97,108,105,100, 32,116,121,112,101, 32, 105,110, 32, 97,114,114, 97,121, 32,105,110,100,101,120,105, 110,103, 46, 34, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100, 105,102, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,105,110,100,101,120, 32, 61, 32, 40,105,110,116, 41,116,111,108,117, 97, 95,116,111,110,117, 109, 98,101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 41, 45, 49, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,105,102, 32, 40,116,111,108,117, 97, 95,105,110,100,101,120, 60, 48, 32,124,124, 32,116,111,108, 117, 97, 95,105,110,100,101,120, 62, 61, 39, 46, 46,115,101, 108,102, 46,100,105,109, 46, 46, 39, 41, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101,114, 114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 97,114, 114, 97,121, 32,105,110,100,101,120,105,110,103, 32,111,117, 116, 32,111,102, 32,114, 97,110,103,101, 46, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,108,111, 99, 97, 108, 32,112,116,114, 32, 61, 32, 39, 39, 10,105,102, 32,115, 101,108,102, 46,112,116,114,126, 61, 39, 39, 32,116,104,101, 110, 32,112,116,114, 32, 61, 32, 39, 42, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116, 105, 99, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,100,101,120, 93, 39, 41, 10,101,108,115,101, 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,116, 111,108,117, 97, 95,105,110,100,101,120, 93, 39, 41, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95, 105,110,100,101,120, 93, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10,111,117,116, 112,117,116, 40, 39, 32, 61, 32, 39, 41, 10,105,102, 32,110, 111,116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 32,111,117,116,112,117,116, 40, 39, 42, 39, 41, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44,115, 101,108,102, 46,116,121,112,101, 41, 10,105,102, 32,110,111, 116, 32,116, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 42, 39, 41, 10,101,110,100, 10,111,117,116,112,117, 116, 40, 39, 41, 32, 39, 41, 10,108,111, 99, 97,108, 32,100, 101,102, 32, 61, 32, 48, 10,105,102, 32,115,101,108,102, 46, 100,101,102, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32, 100,101,102, 32, 61, 32,115,101,108,102, 46,100,101,102, 32, 101,110,100, 10,105,102, 32,116, 32,116,104,101,110, 10,105, 102, 32,105,115,101,110,117,109, 40,115,101,108,102, 46,116, 121,112,101, 41, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 40,105,110,116, 41, 39, 41, 10,101,110,100, 10, 105,102, 32,116, 61, 61, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39,116, 111,108,117, 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116, 111,108,117, 97, 95, 83, 44, 51, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116, 112,117,116, 40, 39,116,111,108,117, 97, 95,116,111,117,115, 101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 51, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10, 101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,114,101, 116,117,114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 65,114,114, 97,121, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10, 105,102, 32,115,101,108,102, 46, 99,115,101,116,110, 97,109, 101, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 97,114,114, 97,121, 40,116,111, 108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46, 108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101, 108,102, 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 39, 46, 46,115,101,108,102, 46, 99,115,101,116,110, 97,109, 101, 46, 46, 39, 41, 59, 39, 41, 10,101,108,115,101, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 97, 114,114, 97,121, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 95, 65,114,114, 97,121, 32, 40,116, 41, 10,115, 101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99, 108, 97,115,115, 65,114,114, 97,121, 41, 10, 97,112,112,101, 110,100, 40,116, 41, 10,114,101,116,117,114,110, 32,116, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 65,114, 114, 97,121, 32, 40,115, 41, 10,114,101,116,117,114,110, 32, 95, 65,114,114, 97,121, 32, 40, 68,101, 99,108, 97,114, 97, 116,105,111,110, 40,115, 44, 39,118, 97,114, 39, 41, 41, 10, 101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 32, 61, 32,123, 10,109,111,100, 32, 61, 32, 39, 39, 44, 10,116, 121,112,101, 32, 61, 32, 39, 39, 44, 10,112,116,114, 32, 61, 32, 39, 39, 44, 10,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10, 97,114,103,115, 32, 61, 32,123,110, 61, 48,125, 44, 10, 99,111,110,115,116, 32, 61, 32, 39, 39, 44, 10,125, 10, 99, 108, 97,115,115, 70,117,110, 99,116,105,111,110, 46, 95, 95, 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 70,117, 110, 99,116,105,111,110, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 70,117,110, 99,116, 105,111,110, 44, 99,108, 97,115,115, 70,101, 97,116,117,114, 101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 70,117,110, 99,116,105,111,110, 58,100,101, 99,108, 116,121,112,101, 32, 40, 41, 10,115,101,108,102, 46,116,121, 112,101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115,101, 108,102, 46,116,121,112,101, 41, 10,105,102, 32,115,116,114, 102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115,116, 39, 41, 32,116,104,101,110, 10,115,101, 108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,111,110,115, 116, 32, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 10, 115,101,108,102, 46,109,111,100, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115, 116, 37,115, 42, 39, 44, 39, 39, 41, 10,101,110,100, 10,108, 111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32, 115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,100, 101, 99,108,116,121,112,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116, 105,111,110, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10, 108,111, 99, 97,108, 32,111,118,101,114,108,111, 97,100, 32, 61, 32,115,116,114,115,117, 98, 40,115,101,108,102, 46, 99, 110, 97,109,101, 44, 45, 50, 44, 45, 49, 41, 32, 45, 32, 49, 10,108,111, 99, 97,108, 32,110,114,101,116, 32, 61, 32, 48, 10,108,111, 99, 97,108, 32, 99,108, 97,115,115, 32, 61, 32, 115,101,108,102, 58,105,110, 99,108, 97,115,115, 40, 41, 10, 108,111, 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108, 102, 46,109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97, 116,105, 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,109,101,116,104,111,100, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,108, 97,115, 115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115, 101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 34,115,116, 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97, 116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10, 111,117,116,112,117,116, 40, 34,123, 34, 41, 10,105,102, 32, 111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 39, 35,105,102,110, 100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,101,110,100, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95, 69,114,114,111, 114, 32,116,111,108,117, 97, 95,101,114,114, 59, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 92,110, 39, 41, 10,108,111, 99, 97,108, 32,110, 97,114,103, 10,105, 102, 32, 99,108, 97,115,115, 32,116,104,101,110, 32,110, 97, 114,103, 61, 50, 32,101,108,115,101, 32,110, 97,114,103, 61, 49, 32,101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 116,104,101,110, 10,108,111, 99, 97,108, 32,102,117,110, 99, 32, 61, 32, 39,116,111,108,117, 97, 95,105,115,117,115,101, 114,116,121,112,101, 39, 10,108,111, 99, 97,108, 32,116,121, 112,101, 32, 61, 32,115,101,108,102, 46,112, 97,114,101,110, 116, 46,116,121,112,101, 10,105,102, 32,115,101,108,102, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 39, 32,116,104,101, 110, 10,116,121,112,101, 32, 61, 32,115,101,108,102, 46, 99, 111,110,115,116, 32, 46, 46, 32, 34, 32, 34, 32, 46, 46, 32, 116,121,112,101, 10,101,110,100, 10,105,102, 32,115,101,108, 102, 46,110, 97,109,101, 61, 61, 39,110,101,119, 39, 32,111, 114, 32,115,116, 97,116,105, 99,126, 61,110,105,108, 32,116, 104,101,110, 10,102,117,110, 99, 32, 61, 32, 39,116,111,108, 117, 97, 95,105,115,117,115,101,114,116, 97, 98,108,101, 39, 10,116,121,112,101, 32, 61, 32,115,101,108,102, 46,112, 97, 114,101,110,116, 46,116,121,112,101, 10,101,110,100, 10,111, 117,116,112,117,116, 40, 39, 32, 33, 39, 46, 46,102,117,110, 99, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 34, 39, 46, 46,116,121,112,101, 46, 46, 39, 34, 44, 48, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 32,124,124, 32, 92,110, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32, 118, 97,114, 97,114,103, 32, 61, 32,102, 97,108,115,101, 10, 105,102, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103, 115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97, 114,103,115, 91,105, 93, 46,116,121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,108,111, 99, 97,108, 32, 98,116,121,112,101, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116, 121,112,101, 41, 10,105,102, 32, 98,116,121,112,101, 32,126, 61, 32, 39,115,116, 97,116,101, 39, 32,116,104,101,110, 10, 111,117,116,112,117,116, 40, 39, 32, 33, 39, 46, 46,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 58,111,117,116, 99, 104,101, 99,107,116,121,112,101, 40,110, 97,114,103, 44,102, 97,108,115,101, 41, 46, 46, 39, 32,124,124, 32, 92,110, 39, 41, 10,101,110,100, 10,105,102, 32, 98,116,121,112,101, 32, 126, 61, 32, 39,115,116, 97,116,101, 39, 32,116,104,101,110, 10,110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10, 101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,116,104,101,110, 10,118, 97,114, 97,114,103, 32, 61, 32,116,114,117,101, 10,101,110,100, 10,101,110,100, 10,105, 102, 32,110,111,116, 32,118, 97,114, 97,114,103, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 39, 32, 33,116,111, 108,117, 97, 95,105,115,110,111,111, 98,106, 40,116,111,108, 117, 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 92,110, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32, 48, 92,110, 39, 41, 10,101,110,100, 10,111,117,116,112, 117,116, 40, 39, 32, 41, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,103,111,116,111, 32,116,111,108,117, 97, 95,108, 101,114,114,111,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,101,108,115,101, 92,110, 39, 41, 10,105,102, 32, 111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100, 105,102, 92,110, 39, 41, 10,101,110,100, 10,111,117,116,112, 117,116, 40, 39, 32,123, 39, 41, 10,108,111, 99, 97,108, 32, 110, 97,114,103, 10,105,102, 32, 99,108, 97,115,115, 32,116, 104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115,101, 32,110, 97,114,103, 61, 49, 32,101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,101,108,102, 46, 110, 97,109,101,126, 61, 39,110,101,119, 39, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44,115, 101,108,102, 46, 99,111,110,115,116, 44,115,101,108,102, 46, 112, 97,114,101,110,116, 46,116,121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 32, 61, 32, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 40, 39, 44,115,101,108,102, 46, 99,111, 110,115,116, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 44, 39, 42, 41, 32, 39, 41, 10,111,117, 116,112,117,116, 40, 39,116,111,108,117, 97, 95,116,111,117, 115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10,101,108,115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115,116, 114,102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100, 10,105,102, 32, 115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116,121, 112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104, 101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104, 105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,100,101, 99,108, 97,114,101, 40,110, 97,114, 103, 41, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,115, 101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112, 101, 41, 32,126, 61, 32, 34,115,116, 97,116,101, 34, 32,116, 104,101,110, 10,110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10, 101,110,100, 10,101,110,100, 10,105,102, 32, 99,108, 97,115, 115, 32, 97,110,100, 32,115,101,108,102, 46,110, 97,109,101, 126, 61, 39,110,101,119, 39, 32, 97,110,100, 32,115,116, 97, 116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 33,115,101,108,102, 41, 32,116,111,108,117, 97, 95,101, 114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34,105, 110,118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,105,110, 32,102,117,110, 99,116,105,111,110, 32, 92, 39, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10,111, 117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108, 115,101, 32,110, 97,114,103, 61, 49, 32,101,110,100, 10,105, 102, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46, 116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32, 116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10, 119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97,114, 103,115, 91,105, 93, 46,116,121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,105,102, 32,105,115, 98, 97, 115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 41, 32,126, 61, 32, 34,115,116, 97, 116,101, 34, 32,116,104,101,110, 10,115,101,108,102, 46, 97, 114,103,115, 91,105, 93, 58,103,101,116, 97,114,114, 97,121, 40,110, 97,114,103, 41, 10,110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,105,102, 32, 99, 108, 97,115,115, 32, 97,110,100, 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39,100,101,108,101,116,101, 39, 32,116, 104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,116,111, 108,117, 97, 95,114,101,108,101, 97,115,101, 40,116,111,108, 117, 97, 95, 83, 44,115,101,108,102, 41, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 32,100,101,108,101,116,101, 32, 115,101,108,102, 59, 39, 41, 10,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,101,108,102, 46, 110, 97,109,101, 32, 61, 61, 32, 39,111,112,101,114, 97,116, 111,114, 38, 91, 93, 39, 32,116,104,101,110, 10,111,117,116, 112,117,116, 40, 39, 32,115,101,108,102, 45, 62,111,112,101, 114, 97,116,111,114, 91, 93, 40, 39, 44,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,110, 97,109,101, 44, 39, 45, 49, 41, 32, 61, 32, 39, 44,115,101,108,102, 46, 97,114,103, 115, 91, 50, 93, 46,110, 97,109,101, 44, 39, 59, 39, 41, 10, 101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 99,116,121, 112,101, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10, 105,102, 32, 99,116,121,112,101, 32, 61, 61, 32, 39,118, 97, 108,117,101, 39, 32,111,114, 32, 99,116,121,112,101, 32, 61, 61, 32, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104, 101,110, 10, 99,116,121,112,101, 32, 61, 32, 39,105,110,116, 39, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44,115,101,108,102, 46,109,111,100, 44, 99,116,121,112, 101, 44,115,101,108,102, 46,112,116,114, 44, 39,116,111,108, 117, 97, 95,114,101,116, 32, 61, 32, 39, 41, 10,105,102, 32, 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121, 112,101, 41, 32,111,114, 32,115,101,108,102, 46,112,116,114, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116, 112,117,116, 40, 39, 40, 39, 44,115,101,108,102, 46,109,111, 100, 44, 99,116,121,112,101, 44,115,101,108,102, 46,112,116, 114, 44, 39, 41, 32, 39, 41, 10,101,110,100, 10,101,108,115, 101, 10,111,117,116,112,117,116, 40, 39, 32, 39, 41, 10,101, 110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39,110,101, 119, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39,110,101,119, 39, 44,115,101,108,102, 46,116,121,112,101, 44, 39, 40, 39, 41, 10,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32, 116,104,101,110, 10,111,117,116,112,117,116, 40, 99,108, 97, 115,115, 46, 46, 39, 58, 58, 39, 46, 46,115,101,108,102, 46, 110, 97,109,101, 44, 39, 40, 39, 41, 10,101,108,115,101,105, 102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111,117, 116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46, 115,101,108,102, 46,110, 97,109,101, 44, 39, 40, 39, 41, 10, 101,108,115,101, 10,111,117,116,112,117,116, 40,115,101,108, 102, 46,110, 97,109,101, 44, 39, 40, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,112, 97,115,115,112, 97,114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,105,102, 32,115,101,108,102, 46, 97,114, 103,115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,116,104,101,110, 10,111,117,116, 112,117,116, 40, 39, 44, 39, 41, 10,101,110,100, 10,101,110, 100, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32, 115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39,111, 112,101,114, 97,116,111,114, 91, 93, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 45, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 41, 59, 39, 41, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 118,111,105,100, 39, 32,116,104,101,110, 10,110,114,101,116, 32, 61, 32,110,114,101,116, 32, 43, 32, 49, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115, 105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10,105, 102, 32,116, 32,116,104,101,110, 10,105,102, 32,116, 61, 61, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10, 105,102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,105,110,100,101,120, 39, 32, 116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,105, 102, 32, 40,116,111,108,117, 97, 95,114,101,116, 32, 60, 32, 48, 41, 32,108,117, 97, 95,112,117,115,104,110,105,108, 40, 116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,101,108,115,101, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116, 111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 116,111,108,117, 97, 95,114,101,116, 43, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32, 116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99, 116, 44, 39, 41,116,111,108,117, 97, 95,114,101,116, 41, 59, 39, 41, 10,101,110,100, 10,101,108,115,101, 10,116, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,105,102, 32,115, 101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116, 104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,100,101, 102, 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,118,111,105, 100, 42, 32,116,111,108,117, 97, 95,111, 98,106, 32, 61, 32, 110,101,119, 39, 44,116, 44, 39, 40,116,111,108,117, 97, 95, 114,101,116, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,117,115,101, 114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44,116, 111,108,117, 97, 95, 99,108,111,110,101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,111, 98,106, 44, 39, 46, 46, 32, 40, 95, 99,111,108,108,101, 99,116, 91,116, 93, 32,111,114, 32, 39, 78, 85, 76, 76, 39, 41, 32, 46, 46, 39, 41, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,111, 98,106, 32, 61, 32,116, 111,108,117, 97, 95, 99,111,112,121, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38,116,111,108,117, 97, 95,114,101,116, 44,115,105,122,101,111,102, 40, 39, 44, 116, 44, 39, 41, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,117,115, 101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 116,111,108,117, 97, 95, 99,108,111,110,101, 40,116,111,108, 117, 97, 95, 83, 44,116,111,108,117, 97, 95,111, 98,106, 44, 78, 85, 76, 76, 41, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100, 105,102, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,101,108,115,101,105,102, 32,115,101,108, 102, 46,112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108, 117, 97, 95,112,117,115,104,117,115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38,116,111,108,117, 97, 95,114,101,116, 44, 34, 39, 44, 116, 44, 39, 34, 41, 59, 39, 41, 10,101,108,115,101, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112, 117,115,104,117,115,101,114,116,121,112,101, 40,116,111,108, 117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41,116,111,108, 117, 97, 95,114,101,116, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,105,102, 32,115,101,108,102, 46,109,111,100, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,111,119,110, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 108,117, 97, 95,112,117,115,104, 99,102,117,110, 99,116,105, 111,110, 40,116,111,108,117, 97, 95, 83, 44, 32,116,111,108, 117, 97, 95, 98,110,100, 95,116, 97,107,101,111,119,110,101, 114,115,104,105,112, 41, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 32,108,117, 97, 95,112,117,115,104,118, 97,108, 117,101, 40,116,111,108,117, 97, 95, 83, 44, 32, 45, 50, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95, 99, 97,108,108, 40,116,111,108,117, 97, 95, 83, 44, 32, 49, 44, 32, 48, 41, 59, 39, 41, 10,101,110,100, 10,101, 110,100, 10,101,110,100, 10,101,110,100, 10,108,111, 99, 97, 108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108, 102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,110,114, 101,116, 32, 61, 32,110,114,101,116, 32, 43, 32,115,101,108, 102, 46, 97,114,103,115, 91,105, 93, 58,114,101,116,118, 97, 108,117,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 32, 110, 97,114,103, 61, 50, 32,101,108,115,101, 32,110, 97,114, 103, 61, 49, 32,101,110,100, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108, 111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32, 115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108, 102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 41, 32,126, 61, 32, 34,115,116, 97,116,101, 34, 32,116,104,101, 110, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58, 115,101,116, 97,114,114, 97,121, 40,110, 97,114,103, 41, 10, 110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10,101, 110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10, 101,110,100, 10,105,102, 32,115,101,108,102, 46, 97,114,103, 115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32, 39,118, 111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,115,101,108, 102, 46, 97,114,103,115, 91,105, 93, 58,102,114,101,101, 97, 114,114, 97,121, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10, 101,110,100, 10,101,110,100, 10,101,110,100, 10,111,117,116, 112,117,116, 40, 39, 32,125, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,110, 114,101,116, 46, 46, 39, 59, 39, 41, 10,105,102, 32,111,118, 101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101, 102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39,116,111, 108,117, 97, 95,108,101,114,114,111,114, 58, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,102,101,114,114,111,114, 32,105,110, 32,102,117,110, 99,116,105,111,110, 32, 92, 39, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 92, 39, 46, 34, 44, 38, 116,111,108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101, 110,100,105,102, 92,110, 39, 41, 10,101,108,115,101, 10,111, 117,116,112,117,116, 40, 39,116,111,108,117, 97, 95,108,101, 114,114,111,114, 58, 92,110, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,115, 116,114,115,117, 98, 40,115,101,108,102, 46, 99,110, 97,109, 101, 44, 49, 44, 45, 51, 41, 46, 46,102,111,114,109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,111,118,101,114,108,111, 97, 100, 41, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 58,114, 101,103,105,115,116,101,114, 32, 40, 41, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95,102,117,110, 99, 116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99, 116,105,111,110, 58,112,114,105,110,116, 32, 40,105,100,101, 110,116, 44, 99,108,111,115,101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 70,117,110, 99,116,105, 111,110,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101, 110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101, 108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 112,116,114, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110, 116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109, 101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108,110, 97,109, 101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32, 99,111,110,115,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 99,111,110,115, 116, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32, 99,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 99,110, 97,109, 101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108,110, 97,109, 101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32, 97,114,103,115, 32, 61, 32,123, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10, 119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,115,101,108,102, 46, 97,114,103, 115, 91,105, 93, 58,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,125, 34, 41, 10,112,114, 105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99, 116,105,111,110, 58,114,101,113,117,105,114,101, 99,111,108, 108,101, 99,116,105,111,110, 32, 40,116, 41, 10,108,111, 99, 97,108, 32,114, 32, 61, 32,102, 97,108,115,101, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,110,111,116, 32,105,115, 98, 97,115, 105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 32, 97, 110,100, 32,115,101,108,102, 46,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,116,121,112, 101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,116, 121,112,101, 44, 34, 37,115, 42, 99,111,110,115,116, 37,115, 42, 34, 44, 34, 34, 41, 10,116, 91,116,121,112,101, 93, 32, 61, 32, 34,116,111,108,117, 97, 95, 99,111,108,108,101, 99, 116, 95, 34, 32, 46, 46, 32,103,115,117, 98, 40,116,121,112, 101, 44, 34, 58, 58, 34, 44, 34, 95, 34, 41, 10,114, 32, 61, 32,116,114,117,101, 10,101,110,100, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,114, 32, 61, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,114, 101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111, 110, 40,116, 41, 32,111,114, 32,114, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,114,101,116,117,114,110, 32,114, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 70,117,110, 99,116,105,111,110, 58,111,118, 101,114,108,111, 97,100, 32, 40, 41, 10,114,101,116,117,114, 110, 32,115,101,108,102, 46,112, 97,114,101,110,116, 58,111, 118,101,114,108,111, 97,100, 40,115,101,108,102, 46,108,110, 97,109,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 95, 70,117,110, 99,116,105,111,110, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 116, 44, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 41, 10,105,102, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 99,111,110,115,116, 39, 32, 97,110,100, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 39, 32,116,104,101, 110, 10,101,114,114,111,114, 40, 34, 35,105,110,118, 97,108, 105,100, 32, 39, 99,111,110,115,116, 39, 32,115,112,101, 99, 105,102,105, 99, 97,116,105,111,110, 34, 41, 10,101,110,100, 10, 97,112,112,101,110,100, 40,116, 41, 10,105,102, 32,116, 58,105,110, 99,108, 97,115,115, 40, 41, 32,116,104,101,110, 10,105,102, 32,116, 46,110, 97,109,101, 32, 61, 61, 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 32,116,104, 101,110, 10,116, 46,110, 97,109,101, 32, 61, 32, 39,110,101, 119, 39, 10,116, 46,108,110, 97,109,101, 32, 61, 32, 39,110, 101,119, 39, 10,116, 46,116,121,112,101, 32, 61, 32,116, 46, 112, 97,114,101,110,116, 46,110, 97,109,101, 10,116, 46,112, 116,114, 32, 61, 32, 39, 42, 39, 10,101,108,115,101,105,102, 32,116, 46,110, 97,109,101, 32, 61, 61, 32, 39,126, 39, 46, 46,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 32, 116,104,101,110, 10,116, 46,110, 97,109,101, 32, 61, 32, 39, 100,101,108,101,116,101, 39, 10,116, 46,108,110, 97,109,101, 32, 61, 32, 39,100,101,108,101,116,101, 39, 10,116, 46,112, 97,114,101,110,116, 46, 95,100,101,108,101,116,101, 32, 61, 32,116,114,117,101, 10,101,110,100, 10,101,110,100, 10,116, 46, 99,110, 97,109,101, 32, 61, 32,116, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 34, 41, 46, 46,116, 58,111,118,101,114,108,111, 97,100, 40,116, 41, 10, 114,101,116,117,114,110, 32,116, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 70,117,110, 99,116,105,111,110, 32, 40,100, 44, 97, 44, 99, 41, 10,108,111, 99, 97,108, 32, 116, 32, 61, 32,115,112,108,105,116, 40,115,116,114,115,117, 98, 40, 97, 44, 50, 44, 45, 50, 41, 44, 39, 44, 39, 41, 10, 108,111, 99, 97,108, 32,105, 61, 49, 10,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,119,104,105,108, 101, 32,116, 91,105, 93, 32,100,111, 10,108, 46,110, 32, 61, 32,108, 46,110, 43, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,116, 91, 105, 93, 44, 39,118, 97,114, 39, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,108,111, 99, 97,108, 32,102, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,100, 44, 39,102,117,110, 99, 39, 41, 10,102, 46, 97,114,103,115, 32, 61, 32,108, 10,102, 46, 99,111,110,115,116, 32, 61, 32, 99, 10,114,101,116,117,114,110, 32, 95, 70,117,110, 99,116, 105,111,110, 40,102, 41, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 79,112,101,114, 97,116,111,114, 32, 61, 32,123, 10,107,105,110,100, 32, 61, 32, 39, 39, 44, 10, 125, 10, 99,108, 97,115,115, 79,112,101,114, 97,116,111,114, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115, 115, 79,112,101,114, 97,116,111,114, 10,115,101,116,109,101, 116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 79,112, 101,114, 97,116,111,114, 44, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 41, 10, 95, 84, 77, 32, 61, 32,123, 91, 39, 43, 39, 93, 32, 61, 32, 39, 97,100,100, 39, 44, 10, 91, 39, 45, 39, 93, 32, 61, 32, 39,115,117, 98, 39, 44, 10, 91, 39, 42, 39, 93, 32, 61, 32, 39,109,117,108, 39, 44, 10, 91, 39, 47, 39, 93, 32, 61, 32, 39,100,105,118, 39, 44, 10, 91, 39, 60, 39, 93, 32, 61, 32, 39,108,116, 39, 44, 10, 91, 39, 60, 61, 39, 93, 32, 61, 32, 39,108,101, 39, 44, 10, 91, 39, 61, 61, 39, 93, 32, 61, 32, 39,101,113, 39, 44, 10, 91, 39, 91, 93, 39, 93, 32, 61, 32, 39,103,101,116,105, 39, 44, 10, 91, 39, 38, 91, 93, 39, 93, 32, 61, 32, 39,115,101,116,105, 39, 44, 10,125, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 79,112,101,114, 97,116,111,114, 58,112,114, 105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115, 101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 79,112,101,114, 97,116,111,114,123, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,107, 105,110,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 107,105,110,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105, 100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101, 110,116, 46, 46, 34, 32,112,116,114, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 99,111,110,115,116, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46, 99,111,110,115,116, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 99,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46, 99,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 97,114,103,115, 32, 61, 32,123, 34, 41, 10,108,111, 99, 97, 108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108, 102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 58,112,114,105,110, 116, 40,105,100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 125, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 79,112, 101,114, 97,116,111,114, 32, 40,116, 41, 10,115,101,116,109, 101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115, 115, 79,112,101,114, 97,116,111,114, 41, 10,105,102, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 99,111,110,115, 116, 39, 32, 97,110,100, 32,116, 46, 99,111,110,115,116, 32, 126, 61, 32, 39, 39, 32,116,104,101,110, 10,101,114,114,111, 114, 40, 34, 35,105,110,118, 97,108,105,100, 32, 39, 99,111, 110,115,116, 39, 32,115,112,101, 99,105,102,105, 99, 97,116, 105,111,110, 34, 41, 10,101,110,100, 10, 97,112,112,101,110, 100, 40,116, 41, 10,105,102, 32,110,111,116, 32,116, 58,105, 110, 99,108, 97,115,115, 40, 41, 32,116,104,101,110, 10,101, 114,114,111,114, 40, 34, 35,111,112,101,114, 97,116,111,114, 32, 99, 97,110, 32,111,110,108,121, 32, 98,101, 32,100,101, 102,105,110,101,100, 32, 97,115, 32, 99,108, 97,115,115, 32, 109,101,109, 98,101,114, 34, 41, 10,101,110,100, 10,116, 46, 110, 97,109,101, 32, 61, 32,116, 46,110, 97,109,101, 32, 46, 46, 32, 34, 95, 34, 32, 46, 46, 32, 95, 84, 77, 91,116, 46, 107,105,110,100, 93, 10,116, 46, 99,110, 97,109,101, 32, 61, 32,116, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116, 111,108,117, 97, 34, 41, 46, 46,116, 58,111,118,101,114,108, 111, 97,100, 40,116, 41, 10,116, 46,110, 97,109,101, 32, 61, 32, 34,111,112,101,114, 97,116,111,114, 34, 32, 46, 46, 32, 116, 46,107,105,110,100, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 79, 112,101,114, 97,116,111,114, 32, 40,100, 44,107, 44, 97, 44, 99, 41, 10,108,111, 99, 97,108, 32,114,101,102, 32, 61, 32, 39, 39, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112, 108,105,116, 40,115,116,114,115,117, 98, 40, 97, 44, 50, 44, 115,116,114,108,101,110, 40, 97, 41, 45, 49, 41, 44, 39, 44, 39, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,119, 104,105,108,101, 32,116, 91,105, 93, 32,100,111, 10,108, 46, 110, 32, 61, 32,108, 46,110, 43, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,116, 91,105, 93, 44, 39,118, 97,114, 39, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,105,102, 32,107, 32, 61, 61, 32, 39, 91, 93, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 95, 10, 95, 44, 32, 95, 44, 32,114,101,102, 32, 61, 32,115,116,114,102,105,110,100, 40,100, 44, 39, 40, 38, 41, 39, 41, 10,100, 32, 61, 32,103,115,117, 98, 40,100, 44, 39, 38, 39, 44, 39, 39, 41, 10,101,108,115,101,105,102, 32,107, 61, 61, 39, 38, 91, 93, 39, 32,116,104,101,110, 10, 108, 46,110, 32, 61, 32,108, 46,110, 43, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105, 111,110, 40,100, 44, 39,118, 97,114, 39, 41, 10,108, 91,108, 46,110, 93, 46,110, 97,109,101, 32, 61, 32, 39,116,111,108, 117, 97, 95,118, 97,108,117,101, 39, 10,101,110,100, 10,108, 111, 99, 97,108, 32,102, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,100, 44, 39,102,117,110, 99, 39, 41, 10,105,102, 32,107, 32, 61, 61, 32, 39, 91, 93, 39, 32, 97, 110,100, 32, 40,108, 91, 49, 93, 61, 61,110,105,108, 32,111, 114, 32,105,115, 98, 97,115,105, 99, 40,108, 91, 49, 93, 46, 116,121,112,101, 41,126, 61, 39,110,117,109, 98,101,114, 39, 41, 32,116,104,101,110, 10,101,114,114,111,114, 40, 39,111, 112,101,114, 97,116,111,114, 91, 93, 32, 99, 97,110, 32,111, 110,108,121, 32, 98,101, 32,100,101,102,105,110,101,100, 32, 102,111,114, 32,110,117,109,101,114,105, 99, 32,105,110,100, 101,120, 46, 39, 41, 10,101,110,100, 10,102, 46, 97,114,103, 115, 32, 61, 32,108, 10,102, 46, 99,111,110,115,116, 32, 61, 32, 99, 10,102, 46,107,105,110,100, 32, 61, 32,103,115,117, 98, 40,107, 44, 34, 37,115, 34, 44, 34, 34, 41, 10,105,102, 32,110,111,116, 32, 95, 84, 77, 91,102, 46,107,105,110,100, 93, 32,116,104,101,110, 10,101,114,114,111,114, 40, 34,116, 111,108,117, 97, 58, 32,110,111, 32,115,117,112,112,111,114, 116, 32,102,111,114, 32,111,112,101,114, 97,116,111,114, 34, 32, 46, 46, 32,102, 46,107,105,110,100, 41, 10,101,110,100, 10,102, 46,108,110, 97,109,101, 32, 61, 32, 34, 46, 34, 46, 46, 95, 84, 77, 91,102, 46,107,105,110,100, 93, 10,105,102, 32,102, 46,107,105,110,100, 32, 61, 61, 32, 39, 91, 93, 39, 32, 97,110,100, 32,114,101,102, 61, 61, 39, 38, 39, 32, 97, 110,100, 32,102, 46, 99,111,110,115,116,126, 61, 39, 99,111, 110,115,116, 39, 32,116,104,101,110, 10, 79,112,101,114, 97, 116,111,114, 40,100, 44, 39, 38, 39, 46, 46,107, 44, 97, 44, 99, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32, 95, 79,112,101,114, 97,116,111,114, 40,102, 41, 10,101,110,100, 32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 67,108, 97,115,115, 32, 61, 32,123, 10, 99,108, 97,115,115,116,121,112,101, 32, 61, 32, 39, 99, 108, 97,115,115, 39, 44, 10,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10, 98, 97,115,101, 32, 61, 32, 39, 39, 44, 10,116, 121,112,101, 32, 61, 32, 39, 39, 44, 10, 98,116,121,112,101, 32, 61, 32, 39, 39, 44, 10, 99,116,121,112,101, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 67,108, 97,115, 115, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97, 115,115, 67,108, 97,115,115, 10,115,101,116,109,101,116, 97, 116, 97, 98,108,101, 40, 99,108, 97,115,115, 67,108, 97,115, 115, 44, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 67,108, 97,115,115, 58,114,101,103,105,115,116,101, 114, 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,105,102, 32, 95, 99,111,108,108,101, 99,116, 91,115,101, 108,102, 46,116,121,112,101, 93, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 99, 99,108, 97,115,115, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121, 112,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46, 98,116,121,112,101, 46, 46, 39, 34, 44, 39, 46, 46, 95, 99,111,108,108,101, 99,116, 91,115,101,108,102, 46,116,121, 112,101, 93, 46, 46, 39, 41, 59, 39, 41, 10,111,117,116,112, 117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 99, 99,108, 97,115,115, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121,112, 101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46, 98,116,121,112,101, 46, 46, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110, 100,105,102, 92,110, 39, 41, 10,101,108,115,101, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 99, 99, 108, 97,115,115, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46, 98, 116,121,112,101, 46, 46, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 98,101,103,105,110,109,111,100, 117,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 41, 59, 39, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10, 119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100, 111, 10,115,101,108,102, 91,105, 93, 58,114,101,103,105,115, 116,101,114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108, 117, 97, 95,101,110,100,109,111,100,117,108,101, 40,116,111, 108,117, 97, 95, 83, 41, 59, 39, 41, 10,112,111,112, 40, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 67,108, 97,115,115, 58,114,101,113,117,105, 114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,108,111, 99, 97,108, 32,114, 32, 61, 32,102, 97,108,115,101, 10,108, 111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32, 115,101,108,102, 91,105, 93, 32,100,111, 10,114, 32, 61, 32, 115,101,108,102, 91,105, 93, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,110, 40,116, 41, 32,111, 114, 32,114, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111,112, 40, 41, 10,105,102, 32,115,101,108,102, 46, 95,100,101,108,101,116,101, 32,116,104,101,110, 10,116, 91, 115,101,108,102, 46,116,121,112,101, 93, 32, 61, 32, 34,116, 111,108,117, 97, 95, 99,111,108,108,101, 99,116, 95, 34, 32, 46, 46, 32,103,115,117, 98, 40,115,101,108,102, 46,116,121, 112,101, 44, 34, 58, 58, 34, 44, 34, 95, 34, 41, 10,114, 32, 61, 32,116,114,117,101, 10,101,110,100, 10,114,101,116,117, 114,110, 32,114, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 99,108, 97,115,115, 67,108, 97,115,115, 58,100, 101, 99,108,116,121,112,101, 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,115,101,108,102, 46,116,121,112, 101, 32, 61, 32,114,101,103,116,121,112,101, 40,115,101,108, 102, 46,110, 97,109,101, 41, 10,115,101,108,102, 46, 98,116, 121,112,101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115, 101,108,102, 46, 98, 97,115,101, 41, 10,115,101,108,102, 46, 99,116,121,112,101, 32, 61, 32, 39, 99,111,110,115,116, 32, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115, 101,108,102, 91,105, 93, 32,100,111, 10,115,101,108,102, 91, 105, 93, 58,100,101, 99,108,116,121,112,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111,112, 40, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,108, 97,115,115, 58,112,114,105,110, 116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 67,108, 97,115,115,123, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100, 101,110,116, 46, 46, 34, 32, 98, 97,115,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 98, 97,115,101, 46, 46, 34, 39, 59, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 98,116,121,112,101, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46, 98,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 99,116,121,112,101, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46, 99,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104, 105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 115,101,108,102, 91,105, 93, 58,112,114,105,110,116, 40,105, 100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10, 105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 95, 67,108, 97,115,115, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 67,108, 97,115,115, 41, 10,116, 58, 98,117,105,108,100,110, 97,109,101,115, 40, 41, 10, 97,112, 112,101,110,100, 40,116, 41, 10,114,101,116,117,114,110, 32, 116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 67,108, 97,115,115, 32, 40,110, 44,112, 44, 98, 41, 10,108, 111, 99, 97,108, 32, 99, 32, 61, 32, 95, 67,108, 97,115,115, 40, 95, 67,111,110,116, 97,105,110,101,114,123,110, 97,109, 101, 61,110, 44, 32, 98, 97,115,101, 61,112,125, 41, 10,112, 117,115,104, 40, 99, 41, 10, 99, 58,112, 97,114,115,101, 40, 115,116,114,115,117, 98, 40, 98, 44, 50, 44,115,116,114,108, 101,110, 40, 98, 41, 45, 49, 41, 41, 10,112,111,112, 40, 41, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 83, 84, 82, 49, 32, 61, 32, 34, 92, 48, 48, 49, 34, 10, 83, 84, 82, 50, 32, 61, 32, 34, 92, 48, 48, 50, 34, 10, 83, 84, 82, 51, 32, 61, 32, 34, 92, 48, 48, 51, 34, 10, 83, 84, 82, 52, 32, 61, 32, 34, 92, 48, 48, 52, 34, 10, 82, 69, 77, 32, 61, 32, 34, 92, 48, 48, 53, 34, 10, 65, 78, 89, 32, 61, 32, 34, 40, 91, 92, 48, 48, 49, 45, 92, 48, 48, 53, 93, 41, 34, 10, 69, 83, 67, 49, 32, 61, 32, 34, 92, 48, 48, 54, 34, 10, 69, 83, 67, 50, 32, 61, 32, 34, 92, 48, 48, 55, 34, 10, 77, 65, 83, 75, 32, 61, 32,123, 10,123, 69, 83, 67, 49, 44, 32, 34, 92, 92, 39, 34, 44, 32, 34, 92, 92, 39, 34,125, 44, 10,123, 69, 83, 67, 50, 44, 32, 39, 92, 92, 34, 39, 44, 32, 39, 92, 92, 34, 39,125, 44, 10,123, 83, 84, 82, 49, 44, 32, 34, 39, 34, 44, 32, 34, 39, 34,125, 44, 10,123, 83, 84, 82, 50, 44, 32, 39, 34, 39, 44, 32, 39, 34, 39,125, 44, 10,123, 83, 84, 82, 51, 44, 32, 34, 37, 91, 37, 91, 34, 44, 32, 34, 91, 91, 34,125, 44, 10,123, 83, 84, 82, 52, 44, 32, 34, 37, 93, 37, 93, 34, 44, 32, 34, 93, 93, 34,125, 44, 10,123, 82, 69, 77, 32, 44, 32, 34, 37, 45, 37, 45, 34, 44, 32, 34, 45, 45, 34,125, 44, 10,125, 10,102,117,110, 99,116,105,111,110, 32,109, 97,115,107, 32, 40,115, 41, 10,102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,110, 40, 77, 65, 83, 75, 41, 32,100,111, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 77, 65, 83, 75, 91,105, 93, 91, 50, 93, 44, 77, 65, 83, 75, 91,105, 93, 91, 49, 93, 41, 10,101,110,100, 10,114,101,116, 117,114,110, 32,115, 10,101,110,100, 10,102,117,110, 99,116, 105,111,110, 32,117,110,109, 97,115,107, 32, 40,115, 41, 10, 102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,110, 40, 77, 65, 83, 75, 41, 32,100,111, 10,115, 32, 61, 32,103,115, 117, 98, 40,115, 44, 77, 65, 83, 75, 91,105, 93, 91, 49, 93, 44, 77, 65, 83, 75, 91,105, 93, 91, 51, 93, 41, 10,101,110, 100, 10,114,101,116,117,114,110, 32,115, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108,101, 97,110, 32, 40,115, 41, 10,108,111, 99, 97,108, 32, 99,111,100,101, 32, 61, 32, 34,114,101,116,117,114,110, 32,102,117,110, 99,116, 105,111,110, 32, 40, 41, 32, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 32,101,110,100, 34, 10,105,102, 32,110,111,116, 32,100,111,115,116,114,105,110,103, 40, 99,111,100,101, 41, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,110,105, 108, 10,101,110,100, 10,108,111, 99, 97,108, 32, 83, 32, 61, 32, 34, 34, 10,115, 32, 61, 32,109, 97,115,107, 40,115, 41, 10,119,104,105,108,101, 32, 49, 32,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100, 32, 61, 32,115,116,114,102, 105,110,100, 40,115, 44, 65, 78, 89, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 83, 32, 61, 32, 83, 46, 46,115,116, 114,115,117, 98, 40,115, 44, 49, 44, 98, 45, 49, 41, 10,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 43, 49, 41, 10,105,102, 32,100, 61, 61, 83, 84, 82, 49, 32,111,114, 32,100, 61, 61, 83, 84, 82, 50, 32,116,104,101,110, 10,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44,100, 41, 10, 83, 32, 61, 32, 83, 32, 46, 46,100, 46, 46,115,116,114, 115,117, 98, 40,115, 44, 49, 44,101, 41, 10,115, 32, 61, 32, 115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101, 108,115,101,105,102, 32,100, 61, 61, 83, 84, 82, 51, 32,116, 104,101,110, 10,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 83, 84, 82, 52, 41, 10, 83, 32, 61, 32, 83, 46, 46,100, 46, 46,115,116,114,115,117, 98, 40,115, 44, 49, 44, 101, 41, 10,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,108,115,101,105,102, 32,100, 61, 61, 82, 69, 77, 32,116,104,101,110, 10,115, 32, 61, 32,103, 115,117, 98, 40,115, 44, 34, 91, 94, 92,110, 93, 42, 40, 92, 110, 63, 41, 34, 44, 34, 37, 49, 34, 44, 49, 41, 10,101,110, 100, 10,101,108,115,101, 10, 83, 32, 61, 32, 83, 46, 46,115, 10, 98,114,101, 97,107, 10,101,110,100, 10,101,110,100, 10, 83, 32, 61, 32,103,115,117, 98, 40, 83, 44, 34, 91, 32, 92, 116, 93, 43, 34, 44, 34, 32, 34, 41, 10, 83, 32, 61, 32,103, 115,117, 98, 40, 83, 44, 34, 91, 32, 92,116, 93, 42, 92,110, 91, 32, 92,116, 93, 42, 34, 44, 34, 92,110, 34, 41, 10, 83, 32, 61, 32,103,115,117, 98, 40, 83, 44, 34, 92,110, 43, 34, 44, 34, 92,110, 34, 41, 10, 83, 32, 61, 32,117,110,109, 97, 115,107, 40, 83, 41, 10,114,101,116,117,114,110, 32, 83, 10, 101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10,102,117,110, 99,116,105,111,110, 32,100,111,105,116, 32, 40, 41, 10,105,102, 32,110,111,116, 32,102,108, 97,103,115, 46,110, 32,116,104,101,110, 10,105,102, 32,102,108, 97,103, 115, 46,102, 32,116,104,101,110, 10,102,108, 97,103,115, 46, 110, 32, 61, 32,103,115,117, 98, 40,102,108, 97,103,115, 46, 102, 44, 34, 37, 46, 46, 42, 34, 44, 34, 34, 41, 10,101,108, 115,101, 10,101,114,114,111,114, 40, 34, 35,110,111, 32,112, 97, 99,107, 97,103,101, 32,110, 97,109,101, 32,110,111,114, 32,105,110,112,117,116, 32,102,105,108,101, 32,112,114,111, 118,105,100,101,100, 34, 41, 10,101,110,100, 10,101,110,100, 10,108,111, 99, 97,108, 32,112, 32, 61, 32, 80, 97, 99,107, 97,103,101, 40,102,108, 97,103,115, 46,110, 44,102,108, 97, 103,115, 46,102, 41, 10,105,102, 32,102,108, 97,103,115, 46, 112, 32,116,104,101,110, 10,114,101,116,117,114,110, 10,101, 110,100, 10,105,102, 32,102,108, 97,103,115, 46,111, 32,116, 104,101,110, 10,108,111, 99, 97,108, 32,115,116, 44,109,115, 103, 32, 61, 32,119,114,105,116,101,116,111, 40,102,108, 97, 103,115, 46,111, 41, 10,105,102, 32,110,111,116, 32,115,116, 32,116,104,101,110, 10,101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,103, 41, 10,101,110,100, 10,101,110,100, 10, 112, 58,100,101, 99,108,116,121,112,101, 40, 41, 10,105,102, 32,102,108, 97,103,115, 46, 80, 32,116,104,101,110, 10,112, 58,112,114,105,110,116, 40, 41, 10,101,108,115,101, 10,112, 58,112,114,101, 97,109, 98,108,101, 40, 41, 10,112, 58,115, 117,112, 99,111,100,101, 40, 41, 10,112, 58,114,101,103,105, 115,116,101,114, 40, 41, 10,101,110,100, 10,105,102, 32,102, 108, 97,103,115, 46,111, 32,116,104,101,110, 10,119,114,105, 116,101,116,111, 40, 41, 10,101,110,100, 10,105,102, 32,110, 111,116, 32,102,108, 97,103,115, 46, 80, 32,116,104,101,110, 10,105,102, 32,102,108, 97,103,115, 46, 72, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32,115,116, 44,109,115,103, 32, 61, 32,119,114,105,116,101,116,111, 40,102,108, 97,103,115, 46, 72, 41, 10,105,102, 32,110,111,116, 32,115,116, 32,116, 104,101,110, 10,101,114,114,111,114, 40, 39, 35, 39, 46, 46, 109,115,103, 41, 10,101,110,100, 10,112, 58,104,101, 97,100, 101,114, 40, 41, 10,119,114,105,116,101,116,111, 40, 41, 10, 101,110,100, 10,101,110,100, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10,108,111, 99, 97,108, 32,101,114,114, 44,109,115,103, 32, 61, 32,112, 99, 97,108,108, 40,100,111,105,116, 41, 10,105, 102, 32,110,111,116, 32,101,114,114, 32,116,104,101,110, 10, 108,111, 99, 97,108, 32, 95, 44, 95, 44,108, 97, 98,101,108, 44,109,115,103, 32, 61, 32,115,116,114,102,105,110,100, 40, 109,115,103, 44, 34, 40, 46, 45, 58, 46, 45, 58, 37,115, 42, 41, 40, 46, 42, 41, 34, 41, 10,116,111,108,117, 97, 95,101, 114,114,111,114, 40,109,115,103, 44,108, 97, 98,101,108, 41, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ tolua_endmodule(tolua_S); return 1; } /* Open tolua function */ TOLUA_API int tolua_tolua_open (lua_State* tolua_S) { lua_pushcfunction(tolua_S, luaopen_tolua); lua_pushstring(tolua_S, "tolua"); lua_call(tolua_S, 1, 0); return 1; } tolua-5.2.4/src/bin/Makefile0000755000175000017500000000104212615764613014334 0ustar tobitobi# makefile for tolua executable TOLUA=../.. include $(TOLUA)/config OBJS= \ tolua.o \ toluabind.o OBJS_D= \ tolua_lua.o T= $(TOLUA)/bin/tolua T_D = $(TOLUA)/bin/tolua_lua all: $(T) $(T): $(OBJS) $(CC) -o $@ $(OBJS) $(LIB) -ltolua -llua -lm toluabind.c: $(T_D) $(T_D) -o toluabind.c tolua.pkg $(T_D): $(OBJS_D) $(CC) -o $@ $(OBJS_D) $(LIB) -ltolua -llua -lm tolua_lua.o: tolua.c $(CC) -c -DLUA_SOURCE $(INC) -o $@ $< clean: rm -f tolua_lua.o $(OBJS) -$(OBJS_D) $(T) $(T_D) klean: rm -f tolua_lua.o $(OBJS) -$(OBJS_D) $(T_D) tolua-5.2.4/src/bin/guia.txt0000755000175000017500000000030212615764613014360 0ustar tobitobi- gerar o executavel 'tolua5lua' (make -C tolua -f VisMakefile lib app -s) - criar um link em src/tolua/src para o executavel chamado 'tolua5' - rodar de src/tolua/src/bin: ./regenerate_binding tolua-5.2.4/src/bin/toluabind.c0000755000175000017500000100007312615764613015025 0ustar tobitobi/* ** Lua binding: tolua */ #include "tolua.h" #ifndef __cplusplus #include #endif #ifdef __cplusplus extern "C" int tolua_bnd_takeownership (lua_State* L); // from tolua_map.c #else int tolua_bnd_takeownership (lua_State* L); /* from tolua_map.c */ #endif #include /* Exported function */ TOLUA_API int tolua_tolua_open (lua_State* tolua_S); LUALIB_API int luaopen_tolua (lua_State* tolua_S); /* function to register type */ static void tolua_reg_types (lua_State* tolua_S) { } /* Open lib function */ LUALIB_API int luaopen_tolua (lua_State* tolua_S) { tolua_open(tolua_S); tolua_reg_types(tolua_S); tolua_module(tolua_S,NULL,0); tolua_beginmodule(tolua_S,NULL); { /* begin embedded lua code */ static unsigned char B[] = { 10,114, 97,119,116,121,112,101, 32, 61, 32,116,121,112,101, 10,102,117,110, 99,116,105,111,110, 32,100,111, 95, 32, 40, 102, 44, 32,101,114,114, 41, 10,105,102, 32,110,111,116, 32, 102, 32,116,104,101,110, 32,112,114,105,110,116, 40,101,114, 114, 41, 59, 32,114,101,116,117,114,110, 32,101,110,100, 10, 108,111, 99, 97,108, 32, 97, 44, 98, 32, 61, 32,112, 99, 97, 108,108, 40,102, 41, 10,105,102, 32,110,111,116, 32, 97, 32, 116,104,101,110, 32,112,114,105,110,116, 40, 98, 41, 59, 32, 114,101,116,117,114,110, 32,110,105,108, 10,101,108,115,101, 32,114,101,116,117,114,110, 32, 98, 32,111,114, 32,116,114, 117,101, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32,100,111,115,116,114,105,110,103, 40,115, 41, 32,114,101,116,117,114,110, 32,100,111, 95, 40,108,111, 97,100, 40,115, 41, 41, 32,101,110,100, 10,108,111, 99, 97, 108, 32,116, 97, 98, 32, 61, 32,116, 97, 98,108,101, 10,102, 111,114,101, 97, 99,104, 32, 61, 32,102,117,110, 99,116,105, 111,110, 40,116, 44,102, 41, 10,102,111,114, 32,107, 44,118, 32,105,110, 32,112, 97,105,114,115, 40,116, 41, 32,100,111, 10,102, 40,107, 44,118, 41, 10,101,110,100, 10,101,110,100, 10,102,111,114,101, 97, 99,104,105, 32, 61, 32,102,117,110, 99,116,105,111,110, 40,116, 44,102, 41, 10,102,111,114, 32, 105, 44,118, 32,105,110, 32,105,112, 97,105,114,115, 40,116, 41, 32,100,111, 10,102, 40,105, 44,118, 41, 10,101,110,100, 10,101,110,100, 10,103,101,116,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 40,116, 41, 10,114,101,116,117,114,110, 32, 35,116, 10,101,110,100, 10,116,105,110,115,101,114,116, 32, 61, 32,116, 97, 98, 46,105,110,115,101,114,116, 10,116, 114,101,109,111,118,101, 32, 61, 32,116, 97, 98, 46,114,101, 109,111,118,101, 10,115,111,114,116, 32, 61, 32,116, 97, 98, 46,115,111,114,116, 10,108,111, 99, 97,108, 32,100, 98,103, 32, 61, 32,100,101, 98,117,103, 10,103,101,116,105,110,102, 111, 32, 61, 32,100, 98,103, 46,103,101,116,105,110,102,111, 10,103,101,116,108,111, 99, 97,108, 32, 61, 32,100, 98,103, 46,103,101,116,108,111, 99, 97,108, 10,115,101,116, 99, 97, 108,108,104,111,111,107, 32, 61, 32,102,117,110, 99,116,105, 111,110, 32, 40, 41, 32,101,114,114,111,114, 34, 96,115,101, 116, 99, 97,108,108,104,111,111,107, 39, 32,105,115, 32,100, 101,112,114,101, 99, 97,116,101,100, 34, 32,101,110,100, 10, 115,101,116,108,105,110,101,104,111,111,107, 32, 61, 32,102, 117,110, 99,116,105,111,110, 32, 40, 41, 32,101,114,114,111, 114, 34, 96,115,101,116,108,105,110,101,104,111,111,107, 39, 32,105,115, 32,100,101,112,114,101, 99, 97,116,101,100, 34, 32,101,110,100, 10,115,101,116,108,111, 99, 97,108, 32, 61, 32,100, 98,103, 46,115,101,116,108,111, 99, 97,108, 10,108, 111, 99, 97,108, 32,109, 97,116,104, 32, 61, 32,109, 97,116, 104, 10, 97, 98,115, 32, 61, 32,109, 97,116,104, 46, 97, 98, 115, 10, 97, 99,111,115, 32, 61, 32,102,117,110, 99,116,105, 111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97, 99, 111,115, 40,120, 41, 41, 32,101,110,100, 10, 97,115,105,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101, 103, 40,109, 97,116,104, 46, 97,115,105,110, 40,120, 41, 41, 32,101,110,100, 10, 97,116, 97,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114, 110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,116, 97,110, 40,120, 41, 41, 32,101,110,100, 10, 97, 116, 97,110, 50, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 44,121, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,116, 97,110, 50, 40,120, 44,121, 41, 41, 32,101,110,100, 10, 99, 101,105,108, 32, 61, 32,109, 97,116,104, 46, 99,101,105,108, 10, 99,111,115, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116, 104, 46, 99,111,115, 40,109, 97,116,104, 46,114, 97,100, 40, 120, 41, 41, 32,101,110,100, 10,100,101,103, 32, 61, 32,109, 97,116,104, 46,100,101,103, 10,101,120,112, 32, 61, 32,109, 97,116,104, 46,101,120,112, 10,102,108,111,111,114, 32, 61, 32,109, 97,116,104, 46,102,108,111,111,114, 10,102,114,101, 120,112, 32, 61, 32,109, 97,116,104, 46,102,114,101,120,112, 10,108,100,101,120,112, 32, 61, 32,109, 97,116,104, 46,108, 100,101,120,112, 10,108,111,103, 32, 61, 32,109, 97,116,104, 46,108,111,103, 10,108,111,103, 49, 48, 32, 61, 32,109, 97, 116,104, 46,108,111,103, 49, 48, 10,109, 97,120, 32, 61, 32, 109, 97,116,104, 46,109, 97,120, 10,109,105,110, 32, 61, 32, 109, 97,116,104, 46,109,105,110, 10,109,111,100, 32, 61, 32, 109, 97,116,104, 46,109,111,100, 10, 80, 73, 32, 61, 32,109, 97,116,104, 46,112,105, 10,114, 97,100, 32, 61, 32,109, 97, 116,104, 46,114, 97,100, 10,114, 97,110,100,111,109, 32, 61, 32,109, 97,116,104, 46,114, 97,110,100,111,109, 10,114, 97, 110,100,111,109,115,101,101,100, 32, 61, 32,109, 97,116,104, 46,114, 97,110,100,111,109,115,101,101,100, 10,115,105,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,115,105, 110, 40,109, 97,116,104, 46,114, 97,100, 40,120, 41, 41, 32, 101,110,100, 10,115,113,114,116, 32, 61, 32,109, 97,116,104, 46,115,113,114,116, 10,116, 97,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114, 110, 32,109, 97,116,104, 46,116, 97,110, 40,109, 97,116,104, 46,114, 97,100, 40,120, 41, 41, 32,101,110,100, 10,108,111, 99, 97,108, 32,115,116,114, 32, 61, 32,115,116,114,105,110, 103, 10,115,116,114, 98,121,116,101, 32, 61, 32,115,116,114, 46, 98,121,116,101, 10,115,116,114, 99,104, 97,114, 32, 61, 32,115,116,114, 46, 99,104, 97,114, 10,115,116,114,102,105, 110,100, 32, 61, 32,115,116,114, 46,102,105,110,100, 10,102, 111,114,109, 97,116, 32, 61, 32,115,116,114, 46,102,111,114, 109, 97,116, 10,103,115,117, 98, 32, 61, 32,115,116,114, 46, 103,115,117, 98, 10,115,116,114,108,101,110, 32, 61, 32,115, 116,114, 46,108,101,110, 10,115,116,114,108,111,119,101,114, 32, 61, 32,115,116,114, 46,108,111,119,101,114, 10,115,116, 114,114,101,112, 32, 61, 32,115,116,114, 46,114,101,112, 10, 115,116,114,115,117, 98, 32, 61, 32,115,116,114, 46,115,117, 98, 10,115,116,114,117,112,112,101,114, 32, 61, 32,115,116, 114, 46,117,112,112,101,114, 10, 99,108,111, 99,107, 32, 61, 32,111,115, 46, 99,108,111, 99,107, 10,100, 97,116,101, 32, 61, 32,111,115, 46,100, 97,116,101, 10,100,105,102,102,116, 105,109,101, 32, 61, 32,111,115, 46,100,105,102,102,116,105, 109,101, 10,101,120,101, 99,117,116,101, 32, 61, 32,111,115, 46,101,120,101, 99,117,116,101, 10,101,120,105,116, 32, 61, 32,111,115, 46,101,120,105,116, 10,103,101,116,101,110,118, 32, 61, 32,111,115, 46,103,101,116,101,110,118, 10,114,101, 109,111,118,101, 32, 61, 32,111,115, 46,114,101,109,111,118, 101, 10,114,101,110, 97,109,101, 32, 61, 32,111,115, 46,114, 101,110, 97,109,101, 10,115,101,116,108,111, 99, 97,108,101, 32, 61, 32,111,115, 46,115,101,116,108,111, 99, 97,108,101, 10,116,105,109,101, 32, 61, 32,111,115, 46,116,105,109,101, 10,116,109,112,110, 97,109,101, 32, 61, 32,111,115, 46,116, 109,112,110, 97,109,101, 10,103,101,116,103,108,111, 98, 97, 108, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,110, 41, 32,114,101,116,117,114,110, 32, 95, 71, 91,110, 93, 32, 101,110,100, 10,115,101,116,103,108,111, 98, 97,108, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,110, 44,118, 41, 32, 95, 71, 91,110, 93, 32, 61, 32,118, 32,101,110,100, 10, 108,111, 99, 97,108, 32,105,111, 44, 32,116, 97, 98, 32, 61, 32,105,111, 44, 32,116, 97, 98,108,101, 10, 95, 83, 84, 68, 73, 78, 32, 61, 32,105,111, 46,115,116,100,105,110, 10, 95, 83, 84, 68, 69, 82, 82, 32, 61, 32,105,111, 46,115,116,100, 101,114,114, 10, 95, 83, 84, 68, 79, 85, 84, 32, 61, 32,105, 111, 46,115,116,100,111,117,116, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,105,110, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117, 116, 10,115,101,101,107, 32, 61, 32,105,111, 46,115,116,100, 105,110, 46,115,101,101,107, 10,116,109,112,102,105,108,101, 32, 61, 32,105,111, 46,116,109,112,102,105,108,101, 10, 99, 108,111,115,101,102,105,108,101, 32, 61, 32,105,111, 46, 99, 108,111,115,101, 10,111,112,101,110,102,105,108,101, 32, 61, 32,105,111, 46,111,112,101,110, 10,102,117,110, 99,116,105, 111,110, 32,102,108,117,115,104, 32, 40,102, 41, 10,105,102, 32,102, 32,116,104,101,110, 32,102, 58,102,108,117,115,104, 40, 41, 10,101,108,115,101, 32, 95, 79, 85, 84, 80, 85, 84, 58,102,108,117,115,104, 40, 41, 10,101,110,100, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32,114,101, 97,100, 102,114,111,109, 32, 40,110, 97,109,101, 41, 10,105,102, 32, 110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,108,111,115,101, 40, 95, 73, 78, 80, 85, 84, 41, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,105,110, 10,114,101,116, 117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,108,115,101, 10,108,111, 99, 97,108, 32,102, 44, 32, 101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111, 112,101,110, 40,110, 97,109,101, 44, 32, 34,114, 34, 41, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95, 73, 78, 80, 85, 84, 10,114,101,116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,110,100, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,119,114,105, 116,101,116,111, 32, 40,110, 97,109,101, 41, 10,105,102, 32, 110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,108,111,115,101, 40, 95, 79, 85, 84, 80, 85, 84, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117,116, 10, 114,101,116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,108,115,101, 10,108,111, 99, 97,108, 32, 102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105, 111, 46,111,112,101,110, 40,110, 97,109,101, 44, 32, 34,119, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32, 111,114, 32, 95, 79, 85, 84, 80, 85, 84, 10,114,101,116,117, 114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 97,112,112,101,110,100,116,111, 32, 40,110, 97,109, 101, 41, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111,112,101,110, 40,110, 97,109,101, 44, 32, 34, 97, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95, 79, 85, 84, 80, 85, 84, 10,114,101,116,117,114,110, 32,102, 44, 32, 101,114,114, 44, 32, 99,111,100, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32,114,101, 97,100, 32, 40, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32,102, 32, 61, 32, 95, 73, 78, 80, 85, 84, 10,108,111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46,125, 10,105,102, 32,114, 97,119,116, 121,112,101, 40, 97,114,103, 91, 49, 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101,110, 10,102, 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,103, 44, 32, 49, 41, 10,101,110,100, 10,114,101, 116,117,114,110, 32,102, 58,114,101, 97,100, 40,116, 97, 98, 108,101, 46,117,110,112, 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,119, 114,105,116,101, 32, 40, 46, 46, 46, 41, 10,108,111, 99, 97, 108, 32,102, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10,108, 111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46, 125, 10,105,102, 32,114, 97,119,116,121,112,101, 40, 97,114, 103, 91, 49, 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101,110, 10,102, 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,103, 44, 32, 49, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32,102, 58,119,114,105,116,101, 40,116, 97, 98,108,101, 46,117,110, 112, 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 95, 98, 97,115,105, 99, 32, 61, 32,123, 10, 91, 39,118, 111,105,100, 39, 93, 32, 61, 32, 39, 39, 44, 10, 91, 39, 99, 104, 97,114, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116,111,108,117, 97, 95,105,110,100,101, 120, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116,111,108,117, 97, 95,108,101,110, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116, 111,108,117, 97, 95, 98,121,116,101, 39, 93, 32, 61, 32, 39, 110,117,109, 98,101,114, 39, 44, 10, 91, 39,116,111,108,117, 97, 95,117, 98,121,116,101, 39, 93, 32, 61, 32, 39,110,117, 109, 98,101,114, 39, 44, 10, 91, 39,116,111,108,117, 97, 95, 109,117,108,116,114,101,116, 39, 93, 32, 61, 32, 39,110,117, 109, 98,101,114, 39, 44, 10, 91, 39,105,110,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,115, 104,111,114,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101, 114, 39, 44, 10, 91, 39,108,111,110,103, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,117,110,115, 105,103,110,101,100, 39, 93, 32, 61, 32, 39,110,117,109, 98, 101,114, 39, 44, 10, 91, 39,102,108,111, 97,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,100, 111,117, 98,108,101, 39, 93, 32, 61, 32, 39,110,117,109, 98, 101,114, 39, 44, 10, 91, 39, 95, 99,115,116,114,105,110,103, 39, 93, 32, 61, 32, 39,115,116,114,105,110,103, 39, 44, 10, 91, 39, 95,117,115,101,114,100, 97,116, 97, 39, 93, 32, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 44, 10, 91, 39, 99,104, 97,114, 42, 39, 93, 32, 61, 32, 39,115,116,114,105, 110,103, 39, 44, 10, 91, 39,118,111,105,100, 42, 39, 93, 32, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 44, 10, 91, 39, 98,111,111,108, 39, 93, 32, 61, 32, 39, 98,111,111,108, 101, 97,110, 39, 44, 10, 91, 39,108,117, 97, 95, 83,116, 97, 116,101, 42, 39, 93, 32, 61, 32, 39,115,116, 97,116,101, 39, 44, 10, 91, 39, 95,108,115,116, 97,116,101, 39, 93, 32, 61, 32, 39,115,116, 97,116,101, 39, 44, 10, 91, 39,108,117, 97, 95, 79, 98,106,101, 99,116, 39, 93, 32, 61, 32, 39,118, 97, 108,117,101, 39, 44, 10, 91, 39,108,117, 97, 95, 70,117,110, 99,116,105,111,110, 39, 93, 32, 61, 32, 39,102,117,110, 99, 116,105,111,110, 39, 44, 10, 91, 39, 76, 85, 65, 95, 86, 65, 76, 85, 69, 39, 93, 32, 61, 32, 39,118, 97,108,117,101, 39, 44, 10,125, 10, 95, 98, 97,115,105, 99, 95, 99,116,121,112, 101, 32, 61, 32,123, 10,110,117,109, 98,101,114, 32, 61, 32, 34,108,117, 97, 95, 78,117,109, 98,101,114, 34, 44, 10,115, 116,114,105,110,103, 32, 61, 32, 34, 99,111,110,115,116, 32, 99,104, 97,114, 42, 34, 44, 10,117,115,101,114,100, 97,116, 97, 32, 61, 32, 34,118,111,105,100, 42, 34, 44, 10, 98,111, 111,108,101, 97,110, 32, 61, 32, 34, 98,111,111,108, 34, 44, 10,118, 97,108,117,101, 32, 61, 32, 34,105,110,116, 34, 44, 10,125, 10, 95,117,115,101,114,116,121,112,101, 32, 61, 32, 123,125, 10, 95, 99,111,108,108,101, 99,116, 32, 61, 32,123, 125, 10, 95,114,101,110, 97,109,105,110,103, 32, 61, 32,123, 125, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101, 110,100,114,101,110, 97,109,105,110,103, 32, 40,115, 41, 10, 108,111, 99, 97,108, 32, 98, 44,101, 44,111,108,100, 44,110, 101,119, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 64, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 36, 34, 41, 10,105,102, 32,110, 111,116, 32, 98, 32,116,104,101,110, 10,101,114,114,111,114, 40, 34, 35, 73,110,118, 97,108,105,100, 32,114,101,110, 97, 109,105,110,103, 32,115,121,110,116, 97,120, 59, 32,105,116, 32,115,104,111,117,108,100, 32, 98,101, 32,111,102, 32,116, 104,101, 32,102,111,114,109, 58, 32,112, 97,116,116,101,114, 110, 64,112, 97,116,116,101,114,110, 34, 41, 10,101,110,100, 10,116,105,110,115,101,114,116, 40, 95,114,101,110, 97,109, 105,110,103, 44,123,111,108,100, 61,111,108,100, 44, 32,110, 101,119, 61,110,101,119,125, 41, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 97,112,112,108,121,114,101,110, 97,109,105,110,103, 32, 40,115, 41, 10,102,111,114, 32,105, 61, 49, 44,103,101,116,110, 40, 95,114,101,110, 97,109,105, 110,103, 41, 32,100,111, 10,108,111, 99, 97,108, 32,109, 44, 110, 32, 61, 32,103,115,117, 98, 40,115, 44, 95,114,101,110, 97,109,105,110,103, 91,105, 93, 46,111,108,100, 44, 95,114, 101,110, 97,109,105,110,103, 91,105, 93, 46,110,101,119, 41, 10,105,102, 32,110, 32,126, 61, 32, 48, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,109, 10,101,110,100, 10,101, 110,100, 10,114,101,116,117,114,110, 32,110,105,108, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,116,111,108, 117, 97, 95,101,114,114,111,114, 32, 40,115, 44,102, 41, 10, 108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 95, 83, 84, 68, 69, 82, 82, 10,105,102, 32,115,116,114,115, 117, 98, 40,115, 44, 49, 44, 49, 41, 32, 61, 61, 32, 39, 35, 39, 32,116,104,101,110, 10,119,114,105,116,101, 40, 34, 92, 110, 42, 42, 32,116,111,108,117, 97, 58, 32, 34, 46, 46,115, 116,114,115,117, 98, 40,115, 44, 50, 41, 46, 46, 34, 46, 92, 110, 92,110, 34, 41, 10,105,102, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 95, 44, 95, 44,115, 32, 61, 32,115,116,114,102,105,110, 100, 40, 95, 99,117,114,114, 95, 99,111,100,101, 44, 34, 94, 37,115, 42, 40, 46, 45, 92,110, 41, 34, 41, 10,105,102, 32, 115, 61, 61,110,105,108, 32,116,104,101,110, 32,115, 32, 61, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,101,110,100, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95,117, 115,101,114,100, 97,116, 97, 34, 44, 34,118,111,105,100, 42, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95, 99,115,116,114,105,110,103, 34, 44, 34, 99,104, 97,114, 42, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95,108,115,116, 97,116,101, 34, 44, 34,108,117, 97, 95, 83,116, 97,116,101, 42, 34, 41, 10,119,114,105,116,101, 40, 34, 67,111,100,101, 32, 98,101,105,110,103, 32,112,114,111, 99,101,115,115,101,100, 58, 92,110, 34, 46, 46,115, 46, 46, 34, 92,110, 34, 41, 10,101,110,100, 10,101,108,115,101, 10, 112,114,105,110,116, 40,100,101, 98,117,103, 46,116,114, 97, 99,101, 98, 97, 99,107, 40, 34, 92,110, 42, 42, 32,116,111, 108,117, 97, 32,105,110,116,101,114,110, 97,108, 32,101,114, 114,111,114, 58, 32, 34, 46, 46,102, 46, 46,115, 46, 46, 34, 46, 92,110, 92,110, 34, 41, 41, 10,114,101,116,117,114,110, 10,101,110,100, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 111,117,116, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32,119, 97,114,110,105,110,103, 32, 40,109,115,103, 41, 10,108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 95, 83, 84, 68, 69, 82, 82, 10,119,114,105,116,101, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 32,119, 97,114, 110,105,110,103, 58, 32, 34, 46, 46,109,115,103, 46, 46, 34, 46, 92,110, 92,110, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,111,117,116, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32,114,101,103,116,121,112,101, 32, 40,116, 41, 10,108,111, 99, 97,108, 32,102,116, 32, 61, 32,102,105, 110,100,116,121,112,101, 40,116, 41, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,116, 41, 32,116,104,101,110, 10,114, 101,116,117,114,110, 32,116, 10,101,110,100, 10,105,102, 32, 110,111,116, 32,102,116, 32,116,104,101,110, 10,114,101,116, 117,114,110, 32, 97,112,112,101,110,100,117,115,101,114,116, 121,112,101, 40,116, 41, 10,101,110,100, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32,116,121,112,101,118, 97, 114, 40,116,121,112,101, 41, 10,105,102, 32,116,121,112,101, 32, 61, 61, 32, 39, 39, 32,111,114, 32,116,121,112,101, 32, 61, 61, 32, 39,118,111,105,100, 39, 32,111,114, 32,116,121, 112,101, 32, 61, 61, 32, 34, 46, 46, 46, 34, 32,116,104,101, 110, 10,114,101,116,117,114,110, 32,116,121,112,101, 10,101, 108,115,101, 10,108,111, 99, 97,108, 32,102,116, 32, 61, 32, 102,105,110,100,116,121,112,101, 40,116,121,112,101, 41, 10, 105,102, 32,102,116, 32,116,104,101,110, 10,114,101,116,117, 114,110, 32,102,116, 10,101,110,100, 10, 95,117,115,101,114, 116,121,112,101, 91,116,121,112,101, 93, 32, 61, 32,116,121, 112,101, 10,114,101,116,117,114,110, 32,116,121,112,101, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32,105,115, 98, 97,115,105, 99, 32, 40,116,121,112,101, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,103,115,117, 98, 40,116,121,112,101, 44, 39, 99,111,110,115,116, 32, 39, 44, 39, 39, 41, 10,108,111, 99, 97,108, 32,109, 44,116, 32, 61, 32, 97,112,112,108,121,116,121,112,101,100,101,102, 40, 116, 41, 10,108,111, 99, 97,108, 32, 98, 32, 61, 32, 95, 98, 97,115,105, 99, 91,116, 93, 10,105,102, 32, 98, 32,116,104, 101,110, 10,114,101,116,117,114,110, 32, 98, 44, 95, 98, 97, 115,105, 99, 95, 99,116,121,112,101, 91, 98, 93, 10,101,110, 100, 10,114,101,116,117,114,110, 32,110,105,108, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32,115,112,108,105, 116, 32, 40,115, 44,116, 41, 10,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,108,111, 99, 97,108, 32, 102, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,115, 41, 10,108, 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32,115, 10,114,101,116, 117,114,110, 32, 34, 34, 10,101,110,100, 10,108,111, 99, 97, 108, 32,112, 32, 61, 32, 34, 37,115, 42, 40, 46, 45, 41, 37, 115, 42, 34, 46, 46,116, 46, 46, 34, 37,115, 42, 34, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 94, 37,115, 43, 34, 44, 34, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40, 115, 44, 34, 37,115, 43, 36, 34, 44, 34, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44,112, 44,102, 41, 10,108, 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10,108, 91, 108, 46,110, 93, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 40, 37,115, 37,115, 42, 41, 36, 34, 44, 34, 34, 41, 10,114, 101,116,117,114,110, 32,108, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,111,110, 99, 97,116, 32, 40,116, 44,102, 44,108, 41, 10,108,111, 99, 97,108, 32,115, 32, 61, 32, 39, 39, 10,108,111, 99, 97,108, 32,105, 61,102, 10,119, 104,105,108,101, 32,105, 60, 61,108, 32,100,111, 10,115, 32, 61, 32,115, 46, 46,116, 91,105, 93, 10,105, 32, 61, 32,105, 43, 49, 10,105,102, 32,105, 32, 60, 61, 32,108, 32,116,104, 101,110, 32,115, 32, 61, 32,115, 46, 46, 39, 32, 39, 32,101, 110,100, 10,101,110,100, 10,114,101,116,117,114,110, 32,115, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 111,110, 99, 97,116,112, 97,114, 97,109, 32, 40,108,105,110, 101, 44, 32, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32, 97, 114,103, 32, 61, 32,123, 46, 46, 46,125, 10,108,111, 99, 97, 108, 32,105, 61, 49, 10,119,104,105,108,101, 32,105, 60, 61, 35, 97,114,103, 32,100,111, 10,105,102, 32, 95, 99,111,110, 116, 32, 97,110,100, 32,110,111,116, 32,115,116,114,102,105, 110,100, 40, 95, 99,111,110,116, 44, 39, 91, 37, 40, 44, 34, 93, 39, 41, 32, 97,110,100, 10,115,116,114,102,105,110,100, 40, 97,114,103, 91,105, 93, 44, 34, 94, 91, 37, 97, 95,126, 93, 34, 41, 32,116,104,101,110, 10,108,105,110,101, 32, 61, 32,108,105,110,101, 32, 46, 46, 32, 39, 32, 39, 10,101,110, 100, 10,108,105,110,101, 32, 61, 32,108,105,110,101, 32, 46, 46, 32, 97,114,103, 91,105, 93, 10,105,102, 32, 97,114,103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10, 95, 99,111,110,116, 32, 61, 32,115,116,114,115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49, 44, 45, 49, 41, 10,101, 110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10, 105,102, 32,115,116,114,102,105,110,100, 40, 97,114,103, 91, 35, 97,114,103, 93, 44, 34, 91, 37, 47, 37, 41, 37, 59, 37, 123, 37,125, 93, 36, 34, 41, 32,116,104,101,110, 10, 95, 99, 111,110,116, 61,110,105,108, 32,108,105,110,101, 32, 61, 32, 108,105,110,101, 32, 46, 46, 32, 39, 92,110, 39, 10,101,110, 100, 10,114,101,116,117,114,110, 32,108,105,110,101, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,111,117,116, 112,117,116, 32, 40, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46,125, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,105, 60, 61, 35, 97,114,103, 32,100,111, 10,105,102, 32, 95, 99, 111,110,116, 32, 97,110,100, 32,110,111,116, 32,115,116,114, 102,105,110,100, 40, 95, 99,111,110,116, 44, 39, 91, 37, 40, 44, 34, 93, 39, 41, 32, 97,110,100, 10,115,116,114,102,105, 110,100, 40, 97,114,103, 91,105, 93, 44, 34, 94, 91, 37, 97, 95,126, 93, 34, 41, 32,116,104,101,110, 10,119,114,105,116, 101, 40, 39, 32, 39, 41, 10,101,110,100, 10,119,114,105,116, 101, 40, 97,114,103, 91,105, 93, 41, 10,105,102, 32, 97,114, 103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10, 95, 99,111,110,116, 32, 61, 32,115,116,114,115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49, 44, 45, 49, 41, 10, 101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,105,102, 32,115,116,114,102,105,110,100, 40, 97,114,103, 91, 35, 97,114,103, 93, 44, 34, 91, 37, 47, 37, 41, 37, 59, 37,123, 37,125, 93, 36, 34, 41, 32,116,104,101,110, 10, 95, 99,111,110,116, 61,110,105,108, 32,119,114,105,116,101, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 32, 61, 32,123, 10,125, 10, 99,108, 97,115,115, 70,101, 97,116,117, 114,101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117, 114,101, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 70,101, 97,116,117,114,101, 58,100,101, 99,108,116, 121,112,101, 32, 40, 41, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117, 114,101, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,112,114,101, 97, 109, 98,108,101, 32, 40, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116, 117,114,101, 58,105,115,118, 97,114,105, 97, 98,108,101, 32, 40, 41, 10,114,101,116,117,114,110, 32,102, 97,108,115,101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 70,101, 97,116,117,114,101, 58,114,101,113, 117,105,114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41, 10,114,101,116,117,114,110, 32,102, 97,108,115, 101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58, 98,117, 105,108,100,110, 97,109,101,115, 32, 40, 41, 10,105,102, 32, 115,101,108,102, 46,110, 97,109,101, 32, 97,110,100, 32,115, 101,108,102, 46,110, 97,109,101,126, 61, 39, 39, 32,116,104, 101,110, 10,108,111, 99, 97,108, 32,110, 32, 61, 32,115,112, 108,105,116, 40,115,101,108,102, 46,110, 97,109,101, 44, 39, 64, 39, 41, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32,110, 91, 49, 93, 10,105,102, 32,110,111,116, 32,110, 91, 50, 93, 32,116,104,101,110, 10,110, 91, 50, 93, 32, 61, 32, 97,112,112,108,121,114,101,110, 97,109,105,110,103, 40,110, 91, 49, 93, 41, 10,101,110,100, 10,115,101,108,102, 46,108, 110, 97,109,101, 32, 61, 32,110, 91, 50, 93, 32,111,114, 32, 103,115,117, 98, 40,110, 91, 49, 93, 44, 34, 37, 91, 46, 45, 37, 93, 34, 44, 34, 34, 41, 10,101,110,100, 10,115,101,108, 102, 46,110, 97,109,101, 32, 61, 32,103,101,116,111,110,108, 121,110, 97,109,101,115,112, 97, 99,101, 40, 41, 32, 46, 46, 32,115,101,108,102, 46,110, 97,109,101, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70, 101, 97,116,117,114,101, 58,105,110, 99,111,110,116, 97,105, 110,101,114, 32, 40,119,104,105, 99,104, 41, 10,105,102, 32, 115,101,108,102, 46,112, 97,114,101,110,116, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32,112, 97,114,101,110,116, 32, 61, 32,115,101,108,102, 46,112, 97,114,101,110,116, 10,119, 104,105,108,101, 32,112, 97,114,101,110,116, 32,100,111, 10, 105,102, 32,112, 97,114,101,110,116, 46, 99,108, 97,115,115, 116,121,112,101, 32, 61, 61, 32,119,104,105, 99,104, 32,116, 104,101,110, 10,114,101,116,117,114,110, 32,112, 97,114,101, 110,116, 46,110, 97,109,101, 10,101,110,100, 10,112, 97,114, 101,110,116, 32, 61, 32,112, 97,114,101,110,116, 46,112, 97, 114,101,110,116, 10,101,110,100, 10,101,110,100, 10,114,101, 116,117,114,110, 32,110,105,108, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97, 116,117,114,101, 58,105,110, 99,108, 97,115,115, 32, 40, 41, 10,114,101,116,117,114,110, 32,115,101,108,102, 58,105,110, 99,111,110,116, 97,105,110,101,114, 40, 39, 99,108, 97,115, 115, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58, 105,110,109,111,100,117,108,101, 32, 40, 41, 10,114,101,116, 117,114,110, 32,115,101,108,102, 58,105,110, 99,111,110,116, 97,105,110,101,114, 40, 39,109,111,100,117,108,101, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 70,101, 97,116,117,114,101, 58,105,110,110, 97,109,101,115,112, 97, 99,101, 32, 40, 41, 10,114,101,116, 117,114,110, 32,115,101,108,102, 58,105,110, 99,111,110,116, 97,105,110,101,114, 40, 39,110, 97,109,101,115,112, 97, 99, 101, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58, 99,102,117,110, 99,110, 97,109,101, 32, 40,110, 41, 10,105, 102, 32,115,101,108,102, 46,112, 97,114,101,110,116, 32,116, 104,101,110, 10,110, 32, 61, 32,115,101,108,102, 46,112, 97, 114,101,110,116, 58, 99,102,117,110, 99,110, 97,109,101, 40, 110, 41, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46, 108,110, 97,109,101, 32, 97,110,100, 10,115,116,114,115,117, 98, 40,115,101,108,102, 46,108,110, 97,109,101, 44, 49, 44, 49, 41,126, 61, 34, 46, 34, 10,116,104,101,110, 10,114,101, 116,117,114,110, 32,110, 46, 46, 39, 95, 39, 46, 46,115,101, 108,102, 46,108,110, 97,109,101, 10,101,108,115,101, 10,114, 101,116,117,114,110, 32,110, 46, 46, 39, 95, 39, 46, 46,115, 101,108,102, 46,110, 97,109,101, 10,101,110,100, 10,101,110, 100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109, 32, 61, 32,123, 10,108,105,110,101, 32, 61, 32, 39, 39, 44, 10, 99,111,110,100, 32, 61, 32,110,105,108, 44, 10,125, 10, 99, 108, 97,115,115, 86,101,114, 98, 97,116,105,109, 46, 95, 95, 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 86,101, 114, 98, 97,116,105,109, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 86,101,114, 98, 97, 116,105,109, 44, 99,108, 97,115,115, 70,101, 97,116,117,114, 101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 86,101,114, 98, 97,116,105,109, 58,112,114,101, 97, 109, 98,108,101, 32, 40, 41, 10,105,102, 32,115,101,108,102, 46, 99,111,110,100, 32, 61, 61, 32, 39, 39, 32,116,104,101, 110, 10,119,114,105,116,101, 40,115,101,108,102, 46,108,105, 110,101, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10,105,102, 32,115,116,114,102,105,110,100, 40,115,101,108, 102, 46, 99,111,110,100, 44, 39,115, 39, 41, 32,116,104,101, 110, 10,119,114,105,116,101, 40,115,101,108,102, 46,108,105, 110,101, 41, 10,119,114,105,116,101, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,105, 109, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10,105, 102, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46, 99,111,110,100, 44, 39,114, 39, 41, 32,116,104,101,110, 10, 119,114,105,116,101, 40,115,101,108,102, 46,108,105,110,101, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116, 105,111,110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116, 105,109, 58,112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105,110,116, 40,105, 100,101,110,116, 46, 46, 34, 86,101,114, 98, 97,116,105,109, 123, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,108,105,110,101, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,108,105,110,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 86,101,114, 98, 97,116,105,109, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 86, 101,114, 98, 97,116,105,109, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116,117,114,110, 32,116, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 86,101,114, 98, 97,116,105,109, 32, 40,108, 44, 99,111,110,100, 41, 10,105, 102, 32,115,116,114,115,117, 98, 40,108, 44, 49, 44, 49, 41, 32, 61, 61, 32, 39, 36, 39, 32,116,104,101,110, 10, 99,111, 110,100, 32, 61, 32, 39,115,114, 39, 10,108, 32, 61, 32,115, 116,114,115,117, 98, 40,108, 44, 50, 41, 10,101,110,100, 10, 114,101,116,117,114,110, 32, 95, 86,101,114, 98, 97,116,105, 109, 32,123, 10,108,105,110,101, 32, 61, 32,108, 44, 10, 99, 111,110,100, 32, 61, 32, 99,111,110,100, 32,111,114, 32, 39, 39, 44, 10,125, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 67,111,100,101, 32, 61, 32,123, 10, 116,101,120,116, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 67,111,100,101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 67,111,100,101, 10,115,101, 116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115, 115, 67,111,100,101, 44, 99,108, 97,115,115, 70,101, 97,116, 117,114,101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 67,111,100,101, 58,114,101,103,105,115,116, 101,114, 32, 40, 41, 10,108,111, 99, 97,108, 32,115, 32, 61, 32, 99,108,101, 97,110, 40,115,101,108,102, 46,116,101,120, 116, 41, 10,105,102, 32,110,111,116, 32,115, 32,116,104,101, 110, 10,101,114,114,111,114, 40, 34,112, 97,114,115,101,114, 32,101,114,114,111,114, 32,105,110, 32,101,109, 98,101,100, 100,101,100, 32, 99,111,100,101, 34, 41, 10,101,110,100, 10, 111,117,116,112,117,116, 40, 39, 92,110, 32,123, 32, 47, 42, 32, 98,101,103,105,110, 32,101,109, 98,101,100,100,101,100, 32,108,117, 97, 32, 99,111,100,101, 32, 42, 47, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,115,116, 97,116, 105, 99, 32,117,110,115,105,103,110,101,100, 32, 99,104, 97, 114, 32, 66, 91, 93, 32, 61, 32,123, 92,110, 32, 39, 41, 10, 108,111, 99, 97,108, 32,116, 61,123,110, 61, 48,125, 10,108, 111, 99, 97,108, 32, 98, 32, 61, 32,103,115,117, 98, 40,115, 44, 39, 40, 46, 41, 39, 44,102,117,110, 99,116,105,111,110, 32, 40, 99, 41, 10,108,111, 99, 97,108, 32,101, 32, 61, 32, 39, 39, 10,116, 46,110, 61,116, 46,110, 43, 49, 32,105,102, 32,116, 46,110, 61, 61, 49, 53, 32,116,104,101,110, 32,116, 46,110, 61, 48, 32,101, 61, 39, 92,110, 32, 39, 32,101,110, 100, 10,114,101,116,117,114,110, 32,102,111,114,109, 97,116, 40, 39, 37, 51,117, 44, 37,115, 39, 44,115,116,114, 98,121, 116,101, 40, 99, 41, 44,101, 41, 10,101,110,100, 10, 41, 10, 111,117,116,112,117,116, 40, 98, 46, 46,115,116,114, 98,121, 116,101, 40, 34, 32, 34, 41, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 32,125, 59, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,105,102, 32, 40,108,117, 97, 76, 95, 108,111, 97,100, 98,117,102,102,101,114, 40,116,111,108,117, 97, 95, 83, 44, 40, 99,104, 97,114, 42, 41, 66, 44,115,105, 122,101,111,102, 40, 66, 41, 44, 34,116,111,108,117, 97, 58, 32,101,109, 98,101,100,100,101,100, 32, 76,117, 97, 32, 99, 111,100,101, 34, 41, 32, 61, 61, 32, 76, 85, 65, 95, 79, 75, 41, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 108,117, 97, 95,112, 99, 97,108,108, 40,116,111,108,117, 97, 95, 83, 44, 48, 44, 76, 85, 65, 95, 77, 85, 76, 84, 82, 69, 84, 44, 48, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 32, 47, 42, 32,101,110,100, 32,111,102, 32,101, 109, 98,101,100,100,101,100, 32,108,117, 97, 32, 99,111,100, 101, 32, 42, 47, 92,110, 92,110, 39, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67, 111,100,101, 58,112,114,105,110,116, 32, 40,105,100,101,110, 116, 44, 99,108,111,115,101, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 67,111,100,101,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,101,120,116, 32, 61, 32, 91, 91, 34, 46, 46,115,101, 108,102, 46,116,101,120,116, 46, 46, 34, 93, 93, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 95, 67,111,100,101, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108, 101, 40,116, 44, 99,108, 97,115,115, 67,111,100,101, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116,117,114, 110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 67,111,100,101, 32, 40,108, 41, 10,114,101,116,117, 114,110, 32, 95, 67,111,100,101, 32,123, 10,116,101,120,116, 32, 61, 32,108, 10,125, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 84,121,112,101,100,101,102, 32, 61, 32,123, 10,117,116,121,112,101, 32, 61, 32, 39, 39, 44, 10, 109,111,100, 32, 61, 32, 39, 39, 44, 10,116,121,112,101, 32, 61, 32, 39, 39, 10,125, 10, 99,108, 97,115,115, 84,121,112, 101,100,101,102, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 84,121,112,101,100,101,102, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 84,121,112, 101,100,101,102, 58,112,114,105,110,116, 32, 40,105,100,101, 110,116, 44, 99,108,111,115,101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 84,121,112,101,100,101, 102,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,117,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,117,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 84,121,112, 101,100,101,102, 58,105,115,118, 97,114,105, 97, 98,108,101, 32, 40, 41, 10,114,101,116,117,114,110, 32,102, 97,108,115, 101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 84,121,112,101,100,101,102, 32, 40,116, 41, 10,115,101, 116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 84,121,112,101,100,101,102, 41, 10, 97,112,112, 101,110,100,116,121,112,101,100,101,102, 40,116, 41, 10,114, 101,116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 84,121,112,101,100,101,102, 32, 40, 115, 41, 10,105,102, 32,115,116,114,102,105,110,100, 40,115, 44, 39, 91, 37, 42, 38, 93, 39, 41, 32,116,104,101,110, 10, 116,111,108,117, 97, 95,101,114,114,111,114, 40, 34, 35,105, 110,118, 97,108,105,100, 32,116,121,112,101,100,101,102, 58, 32,112,111,105,110,116,101,114,115, 32, 40, 97,110,100, 32, 114,101,102,101,114,101,110, 99,101,115, 41, 32, 97,114,101, 32,110,111,116, 32,115,117,112,112,111,114,116,101,100, 34, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,103,115,117, 98, 40,115, 44, 34, 37,115, 37,115, 42, 34, 44, 34, 32, 34, 41, 44, 34, 32, 34, 41, 10,105,102, 32,110,111,116, 32,105,115, 98, 97,115,105, 99, 40,116, 91,116, 46,110, 93, 41, 32,116,104,101,110, 10, 114,101,116,117,114,110, 32, 95, 84,121,112,101,100,101,102, 32,123, 10,117,116,121,112,101, 32, 61, 32,116, 91,116, 46, 110, 93, 44, 10,116,121,112,101, 32, 61, 32,116, 91,116, 46, 110, 45, 49, 93, 44, 10,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,116, 44, 49, 44,116, 46,110, 45, 50, 41, 44, 10,125, 10,101,108,115,101, 10,114,101,116,117,114,110, 32, 110,105,108, 10,101,110,100, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10,103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102, 115, 32, 61, 32,123,125, 10,103,108,111, 98, 97,108, 95,101, 110,117,109,115, 32, 61, 32,123,125, 10, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 32, 61, 10,123, 10, 99, 117,114,114, 32, 61, 32,110,105,108, 44, 10,125, 10, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 95, 95, 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 67,111, 110,116, 97,105,110,101,114, 10,115,101,116,109,101,116, 97, 116, 97, 98,108,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 44, 99,108, 97,115,115, 70,101, 97,116, 117,114,101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,100, 101, 99,108,116,121,112,101, 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101,108,102, 91,105, 93, 58,100,101, 99, 108,116,121,112,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111,112, 40, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67, 111,110,116, 97,105,110,101,114, 58,115,117,112, 99,111,100, 101, 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101, 108,102, 91,105, 93, 58,115,117,112, 99,111,100,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111, 112, 40, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 58,104, 97,115,118, 97,114, 32, 40, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101, 108,102, 91,105, 93, 32,100,111, 10,105,102, 32,115,101,108, 102, 91,105, 93, 58,105,115,118, 97,114,105, 97, 98,108,101, 40, 41, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 49, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101, 110,100, 10,114,101,116,117,114,110, 32, 48, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 67,111,110,116, 97,105,110,101,114, 32, 40,115,101,108,102, 41, 10,115,101, 116,109,101,116, 97,116, 97, 98,108,101, 40,115,101,108,102, 44, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 41, 10,115,101,108,102, 46,110, 32, 61, 32, 48, 10,115,101, 108,102, 46,116,121,112,101,100,101,102,115, 32, 61, 32,123, 116,111,108,117, 97, 95,110, 61, 48,125, 10,115,101,108,102, 46,117,115,101,114,116,121,112,101,115, 32, 61, 32,123,125, 10,115,101,108,102, 46,101,110,117,109,115, 32, 61, 32,123, 116,111,108,117, 97, 95,110, 61, 48,125, 10,115,101,108,102, 46,108,110, 97,109,101,115, 32, 61, 32,123,125, 10,114,101, 116,117,114,110, 32,115,101,108,102, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32,112,117,115,104, 32, 40,116, 41, 10,116, 46,112,114,111,120, 32, 61, 32, 99,108, 97,115, 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 32, 61, 32,116, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32,112,111,112, 32, 40, 41, 10, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 32, 61, 32, 99,108, 97,115,115, 67,111,110, 116, 97,105,110,101,114, 46, 99,117,114,114, 46,112,114,111, 120, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 103,101,116, 99,117,114,114,110, 97,109,101,115,112, 97, 99, 101, 32, 40, 41, 10,114,101,116,117,114,110, 32,103,101,116, 110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 97, 112,112,101,110,100, 32, 40,116, 41, 10,114,101,116,117,114, 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 46, 99,117,114,114, 58, 97,112,112,101,110,100, 40,116, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101,110,100,116,121,112,101,100,101,102, 32, 40, 116, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58, 97,112,112,101,110,100,116,121,112,101,100,101,102, 40,116, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101,110,100,117,115,101,114,116,121,112,101, 32, 40,116, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115, 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58, 97,112,112,101,110,100,117,115,101,114,116,121,112,101, 40,116, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 97,112,112,101,110,100,101,110,117,109, 32, 40,116, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67, 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58, 97, 112,112,101,110,100,101,110,117,109, 40,116, 41, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,108, 121,116,121,112,101,100,101,102, 32, 40,116,121,112,101, 41, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67,111, 110,116, 97,105,110,101,114, 46, 99,117,114,114, 58, 97,112, 112,108,121,116,121,112,101,100,101,102, 40,116,121,112,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 102,105,110,100,116,121,112,101, 32, 40,116,121,112,101, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32, 99,108, 97,115, 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,102,105,110,100,116,121,112,101, 40,116,121,112,101, 41, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32,105,115,116,121,112,101,100, 101,102, 32, 40,116,121,112,101, 41, 10,114,101,116,117,114, 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 46, 99,117,114,114, 58,105,115,116,121,112,101,100,101, 102, 40,116,121,112,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,102,117,108,108,116,121,112,101, 32, 40,116, 41, 10,108,111, 99, 97,108, 32, 99,117,114,114, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 46, 99,117,114,114, 10,119,104,105,108,101, 32, 99,117, 114,114, 32,100,111, 10,105,102, 32, 99,117,114,114, 32,116, 104,101,110, 10,105,102, 32, 99,117,114,114, 46,116,121,112, 101,100,101,102,115, 32, 97,110,100, 32, 99,117,114,114, 46, 116,121,112,101,100,101,102,115, 91,116, 93, 32,116,104,101, 110, 10,114,101,116,117,114,110, 32, 99,117,114,114, 46,116, 121,112,101,100,101,102,115, 91,116, 93, 10,101,108,115,101, 105,102, 32, 99,117,114,114, 46,117,115,101,114,116,121,112, 101,115, 32, 97,110,100, 32, 99,117,114,114, 46,117,115,101, 114,116,121,112,101,115, 91,116, 93, 32,116,104,101,110, 10, 114,101,116,117,114,110, 32, 99,117,114,114, 46,117,115,101, 114,116,121,112,101,115, 91,116, 93, 10,101,110,100, 10,101, 110,100, 10, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46, 112,114,111,120, 10,101,110,100, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,116, 105,111,110, 32, 40,116, 41, 10,112,117,115,104, 40,115,101, 108,102, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,108, 111, 99, 97,108, 32,114, 32, 61, 32,102, 97,108,115,101, 10, 119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100, 111, 10,114, 32, 61, 32,115,101,108,102, 91,105, 93, 58,114, 101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111, 110, 40,116, 41, 32,111,114, 32,114, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111,112, 40, 41, 10,114,101, 116,117,114,110, 32,114, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101, 32, 40, 99,117,114,114, 41, 10,108,111, 99, 97,108, 32,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32, 39, 39, 10,119,104,105,108,101, 32, 99,117,114,114, 32,100,111, 10, 105,102, 32, 99,117,114,114, 32, 97,110,100, 10, 40, 32, 99, 117,114,114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,111,114, 32, 99,117, 114,114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101, 39, 41, 10,116, 104,101,110, 10,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32, 99,117,114,114, 46,110, 97,109,101, 32, 46, 46, 32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,101,115,112, 97, 99, 101, 10,101,110,100, 10, 99,117,114,114, 32, 61, 32, 99,117, 114,114, 46,112,114,111,120, 10,101,110,100, 10,114,101,116, 117,114,110, 32,110, 97,109,101,115,112, 97, 99,101, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,103,101,116, 111,110,108,121,110, 97,109,101,115,112, 97, 99,101, 32, 40, 41, 10,108,111, 99, 97,108, 32, 99,117,114,114, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10,108,111, 99, 97,108, 32,110, 97,109,101, 115,112, 97, 99,101, 32, 61, 32, 39, 39, 10,119,104,105,108, 101, 32, 99,117,114,114, 32,100,111, 10,105,102, 32, 99,117, 114,114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,116,104,101,110, 10,114, 101,116,117,114,110, 32,110, 97,109,101,115,112, 97, 99,101, 10,101,108,115,101,105,102, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39,110, 97,109, 101,115,112, 97, 99,101, 39, 32,116,104,101,110, 10,110, 97, 109,101,115,112, 97, 99,101, 32, 61, 32, 99,117,114,114, 46, 110, 97,109,101, 32, 46, 46, 32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,101,115,112, 97, 99,101, 10,101,110,100, 10, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,112,114,111, 120, 10,101,110,100, 10,114,101,116,117,114,110, 32,110, 97, 109,101,115,112, 97, 99,101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,105,115,101,110,117,109, 32, 40,116, 121,112,101, 41, 10,114,101,116,117,114,110, 32, 99,108, 97, 115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114, 114, 58,105,115,101,110,117,109, 40,116,121,112,101, 41, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58, 97,112, 112,101,110,100, 32, 40,116, 41, 10,115,101,108,102, 46,110, 32, 61, 32,115,101,108,102, 46,110, 32, 43, 32, 49, 10,115, 101,108,102, 91,115,101,108,102, 46,110, 93, 32, 61, 32,116, 10,116, 46,112, 97,114,101,110,116, 32, 61, 32,115,101,108, 102, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58, 97,112,112,101,110,100,116,121,112,101,100,101,102, 32, 40, 116, 41, 10,108,111, 99, 97,108, 32,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105, 110,101,114, 46, 99,117,114,114, 41, 10,115,101,108,102, 46, 116,121,112,101,100,101,102,115, 46,116,111,108,117, 97, 95, 110, 32, 61, 32,115,101,108,102, 46,116,121,112,101,100,101, 102,115, 46,116,111,108,117, 97, 95,110, 32, 43, 32, 49, 10, 115,101,108,102, 46,116,121,112,101,100,101,102,115, 91,115, 101,108,102, 46,116,121,112,101,100,101,102,115, 46,116,111, 108,117, 97, 95,110, 93, 32, 61, 32,116, 10,115,101,108,102, 46,116,121,112,101,100,101,102,115, 91,116, 46,117,116,121, 112,101, 93, 32, 61, 32,110, 97,109,101,115,112, 97, 99,101, 32, 46, 46, 32,116, 46,117,116,121,112,101, 10,103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102,115, 91,110, 97, 109,101,115,112, 97, 99,101, 46, 46,116, 46,117,116,121,112, 101, 93, 32, 61, 32,116, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97, 105,110,101,114, 58, 97,112,112,101,110,100,117,115,101,114, 116,121,112,101, 32, 40,116, 41, 10,108,111, 99, 97,108, 32, 99,111,110,116, 97,105,110,101,114, 10,105,102, 32,116, 32, 61, 61, 32,115,101,108,102, 46,110, 97,109,101, 32,116,104, 101,110, 10, 99,111,110,116, 97,105,110,101,114, 32, 61, 32, 115,101,108,102, 46,112,114,111,120, 10,101,108,115,101, 10, 99,111,110,116, 97,105,110,101,114, 32, 61, 32,115,101,108, 102, 10,101,110,100, 10,108,111, 99, 97,108, 32,102,116, 32, 61, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,111,110,116, 97,105,110,101,114, 41, 32, 46, 46, 32,116, 10, 99,111,110,116, 97,105,110,101,114, 46,117,115,101,114, 116,121,112,101,115, 91,116, 93, 32, 61, 32,102,116, 10, 95, 117,115,101,114,116,121,112,101, 91,102,116, 93, 32, 61, 32, 102,116, 10,114,101,116,117,114,110, 32,102,116, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115, 115, 67,111,110,116, 97,105,110,101,114, 58, 97,112,112,101, 110,100,101,110,117,109, 32, 40,116, 41, 10,108,111, 99, 97, 108, 32,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,103, 101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97, 115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114, 114, 41, 10,115,101,108,102, 46,101,110,117,109,115, 46,116, 111,108,117, 97, 95,110, 32, 61, 32,115,101,108,102, 46,101, 110,117,109,115, 46,116,111,108,117, 97, 95,110, 32, 43, 32, 49, 10,115,101,108,102, 46,101,110,117,109,115, 91,115,101, 108,102, 46,101,110,117,109,115, 46,116,111,108,117, 97, 95, 110, 93, 32, 61, 32,116, 10,103,108,111, 98, 97,108, 95,101, 110,117,109,115, 91,110, 97,109,101,115,112, 97, 99,101, 46, 46,116, 46,110, 97,109,101, 93, 32, 61, 32,116, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115, 115, 67,111,110,116, 97,105,110,101,114, 58,111,118,101,114, 108,111, 97,100, 32, 40,108,110, 97,109,101, 41, 10,105,102, 32,110,111,116, 32,115,101,108,102, 46,108,110, 97,109,101, 115, 91,108,110, 97,109,101, 93, 32,116,104,101,110, 10,115, 101,108,102, 46,108,110, 97,109,101,115, 91,108,110, 97,109, 101, 93, 32, 61, 32, 48, 10,101,108,115,101, 10,115,101,108, 102, 46,108,110, 97,109,101,115, 91,108,110, 97,109,101, 93, 32, 61, 32,115,101,108,102, 46,108,110, 97,109,101,115, 91, 108,110, 97,109,101, 93, 32, 43, 32, 49, 10,101,110,100, 10, 114,101,116,117,114,110, 32,102,111,114,109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,115,101,108,102, 46,108,110, 97,109, 101,115, 91,108,110, 97,109,101, 93, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67, 111,110,116, 97,105,110,101,114, 58, 97,112,112,108,121,116, 121,112,101,100,101,102, 32, 40,116,121,112,101, 41, 10,105, 102, 32,103,108,111, 98, 97,108, 95,116,121,112,101,100,101, 102,115, 91,116,121,112,101, 93, 32,116,104,101,110, 10,108, 111, 99, 97,108, 32,109,111,100, 49, 44, 32,116,121,112,101, 49, 32, 61, 32,103,108,111, 98, 97,108, 95,116,121,112,101, 100,101,102,115, 91,116,121,112,101, 93, 46,109,111,100, 44, 32,103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102, 115, 91,116,121,112,101, 93, 46,116,121,112,101, 10,108,111, 99, 97,108, 32,109,111,100, 50, 44, 32,116,121,112,101, 50, 32, 61, 32, 97,112,112,108,121,116,121,112,101,100,101,102, 40,116,121,112,101, 49, 41, 10,114,101,116,117,114,110, 32, 109,111,100, 50, 32, 46, 46, 32, 39, 32, 39, 32, 46, 46, 32, 109,111,100, 49, 44, 32,116,121,112,101, 50, 10,101,110,100, 10,108,111, 99, 97,108, 32, 98, 97,115,101,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,116,121,112,101, 44, 34, 94, 46, 42, 58, 58, 34, 44, 34, 34, 41, 10,108,111, 99, 97,108, 32,101,110,118, 32, 61, 32,115,101,108,102, 10,119,104,105, 108,101, 32,101,110,118, 32,100,111, 10,105,102, 32,101,110, 118, 46,116,121,112,101,100,101,102,115, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,101,110,118, 46,116,121,112,101,100,101,102,115, 91, 105, 93, 32,100,111, 10,105,102, 32,101,110,118, 46,116,121, 112,101,100,101,102,115, 91,105, 93, 46,117,116,121,112,101, 32, 61, 61, 32, 98, 97,115,101,116,121,112,101, 32,116,104, 101,110, 10,108,111, 99, 97,108, 32,109,111,100, 49, 44,116, 121,112,101, 49, 32, 61, 32,101,110,118, 46,116,121,112,101, 100,101,102,115, 91,105, 93, 46,109,111,100, 44,101,110,118, 46,116,121,112,101,100,101,102,115, 91,105, 93, 46,116,121, 112,101, 10,108,111, 99, 97,108, 32,109,111,100, 50, 44,116, 121,112,101, 50, 32, 61, 32, 97,112,112,108,121,116,121,112, 101,100,101,102, 40,116,121,112,101, 49, 41, 10,114,101,116, 117,114,110, 32,109,111,100, 50, 46, 46, 39, 32, 39, 46, 46, 109,111,100, 49, 44,116,121,112,101, 50, 10,101,110,100, 10, 105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,101,110,118, 32, 61, 32,101,110,118, 46,112, 97,114,101, 110,116, 10,101,110,100, 10,114,101,116,117,114,110, 32, 39, 39, 44,116,121,112,101, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97, 105,110,101,114, 58,105,115,116,121,112,101,100,101,102, 32, 40,116,121,112,101, 41, 10,108,111, 99, 97,108, 32,101,110, 118, 32, 61, 32,115,101,108,102, 10,119,104,105,108,101, 32, 101,110,118, 32,100,111, 10,105,102, 32,101,110,118, 46,116, 121,112,101,100,101,102,115, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,101, 110,118, 46,116,121,112,101,100,101,102,115, 91,105, 93, 32, 100,111, 10,105,102, 32,101,110,118, 46,116,121,112,101,100, 101,102,115, 91,105, 93, 46,117,116,121,112,101, 32, 61, 61, 32,116,121,112,101, 32,116,104,101,110, 10,114,101,116,117, 114,110, 32,116,121,112,101, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,101,110, 118, 32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10, 101,110,100, 10,114,101,116,117,114,110, 32,110,105,108, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,102,105, 110,100,116,121,112,101, 32, 40,116, 41, 10,108,111, 99, 97, 108, 32, 99,117,114,114, 32, 61, 32,115,101,108,102, 10,119, 104,105,108,101, 32, 99,117,114,114, 32,100,111, 10,105,102, 32, 99,117,114,114, 46,116,121,112,101,100,101,102,115, 32, 97,110,100, 32, 99,117,114,114, 46,116,121,112,101,100,101, 102,115, 91,116, 93, 32,116,104,101,110, 10,114,101,116,117, 114,110, 32, 99,117,114,114, 46,116,121,112,101,100,101,102, 115, 91,116, 93, 10,101,108,115,101,105,102, 32, 99,117,114, 114, 46,117,115,101,114,116,121,112,101,115, 32, 97,110,100, 32, 99,117,114,114, 46,117,115,101,114,116,121,112,101,115, 91,116, 93, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 99,117,114,114, 46,117,115,101,114,116,121,112,101,115, 91,116, 93, 10,101,110,100, 10, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,112,114,111,120, 10,101,110,100, 10,105, 102, 32, 95, 98, 97,115,105, 99, 91,116, 93, 32,116,104,101, 110, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10, 114,101,116,117,114,110, 32,110,105,108, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67, 111,110,116, 97,105,110,101,114, 58,105,115,101,110,117,109, 32, 40,116,121,112,101, 41, 10,105,102, 32,103,108,111, 98, 97,108, 95,101,110,117,109,115, 91,116,121,112,101, 93, 32, 116,104,101,110, 10,114,101,116,117,114,110, 32,116,114,117, 101, 10,101,110,100, 10,108,111, 99, 97,108, 32, 98, 97,115, 101,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,116,121, 112,101, 44, 34, 94, 46, 42, 58, 58, 34, 44, 34, 34, 41, 10, 108,111, 99, 97,108, 32,101,110,118, 32, 61, 32,115,101,108, 102, 10,119,104,105,108,101, 32,101,110,118, 32,100,111, 10, 105,102, 32,101,110,118, 46,101,110,117,109,115, 32,116,104, 101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104, 105,108,101, 32,101,110,118, 46,101,110,117,109,115, 91,105, 93, 32,100,111, 10,105,102, 32,101,110,118, 46,101,110,117, 109,115, 91,105, 93, 46,110, 97,109,101, 32, 61, 61, 32, 98, 97,115,101,116,121,112,101, 32,116,104,101,110, 10,114,101, 116,117,114,110, 32,116,114,117,101, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10, 101,110,118, 32, 61, 32,101,110,118, 46,112, 97,114,101,110, 116, 10,101,110,100, 10,114,101,116,117,114,110, 32,102, 97, 108,115,101, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 58,100,111,112, 97,114,115,101, 32, 40,115, 41, 10,100, 111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44, 99,111,100, 101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 37, 98, 92, 49, 92, 50, 41, 34, 41, 10, 105,102, 32, 98, 32,116,104,101,110, 10, 67,111,100,101, 40, 115,116,114,115,117, 98, 40, 99,111,100,101, 44, 50, 44, 45, 50, 41, 41, 10,114,101,116,117,114,110, 32,115,116,114,115, 117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101, 110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 37, 98, 92, 51, 92, 52, 41, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 99, 111,100,101, 32, 61, 32, 39,123, 39, 46, 46,115,116,114,115, 117, 98, 40, 99,111,100,101, 44, 50, 44, 45, 50, 41, 46, 46, 39, 92,110,125, 92,110, 39, 10, 86,101,114, 98, 97,116,105, 109, 40, 99,111,100,101, 44, 39,114, 39, 41, 10,114,101,116, 117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108, 111, 99, 97,108, 32, 98, 44,101, 44,108,105,110,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 37, 36, 40, 46, 45, 92,110, 41, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 86,101,114, 98, 97,116,105,109, 40,108,105,110,101, 41, 10,114,101,116,117,114,110, 32,115, 116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110, 100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,109,111,100,117,108,101, 37,115, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93, 42, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32, 116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 77,111,100,117,108,101, 40,110, 97,109,101, 44, 98, 111,100,121, 41, 10,114,101,116,117,114,110, 32,115,116,114, 115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10, 101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44, 101, 44,110, 97,109,101, 44, 98,111,100,121, 32, 61, 32,115, 116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,110, 97,109,101,115,112, 97, 99,101, 37,115, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93, 42, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100, 101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44, 101, 41, 10, 78, 97,109,101,115,112, 97, 99,101, 40,110, 97, 109,101, 44, 98,111,100,121, 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 101,110,100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97, 108, 32, 98, 44,101, 44,110, 97,109,101, 32, 61, 32,115,116, 114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 35,100, 101,102,105,110,101, 37,115, 37,115, 42, 40, 91, 94, 37,115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117, 114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 68,101,102,105,110,101, 40,110, 97,109,101, 41, 10,114,101,116,117,114,110, 32,115, 116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110, 100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,101,110,117,109, 37,115, 43, 40, 37, 83, 42, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99, 117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115, 117, 98, 40,115, 44, 98, 44,101, 41, 10, 69,110,117,109,101, 114, 97,116,101, 40,110, 97,109,101, 44, 98,111,100,121, 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40, 115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10, 100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44, 98,111, 100,121, 44,110, 97,109,101, 32, 61, 32,115,116,114,102,105, 110,100, 40,115, 44, 34, 94, 37,115, 42,116,121,112,101,100, 101,102, 37,115, 43,101,110,117,109, 91, 94,123, 93, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91, 37,119, 95, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114, 114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 69,110,117,109,101,114, 97, 116,101, 40,110, 97,109,101, 44, 98,111,100,121, 41, 10,114, 101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44, 101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 44,107,105,110,100, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 37,115, 37, 42, 38, 58, 93, 42,111,112,101,114, 97,116,111,114, 41, 37,115, 42, 40, 91, 94, 37,115, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59, 37, 115, 42, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,116, 104,101,110, 10, 98, 44,101, 44,100,101, 99,108, 44,107,105, 110,100, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32, 115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 37,115, 37, 42, 38, 58, 93, 42,111,112,101,114, 97,116,111,114, 41, 37,115, 42, 40, 91, 94, 37,115, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63, 110, 63,115, 63,116, 63, 41, 37,115, 42, 37, 98,123,125, 37, 115, 42, 59, 63, 37,115, 42, 34, 41, 10,101,110,100, 10,105, 102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 79,112,101,114, 97,116,111,114, 40, 100,101, 99,108, 44,107,105,110,100, 44, 97,114,103, 44, 99, 111,110,115,116, 41, 10,114,101,116,117,114,110, 32,115,116, 114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110, 115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,126, 95, 37,119, 93, 91, 95, 64, 37,119, 37,115, 37, 42, 38, 58, 93, 42, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 61, 63, 37,115, 42, 48, 63, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110, 115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,101,110,100, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116, 114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 70,117,110, 99,116,105,111,110, 40,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 41, 10,114,101,116,117,114,110, 32,115, 116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110, 100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103, 44, 99,111, 110,115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,126, 95, 37,119, 93, 91, 95, 64, 37,119, 37,115, 37, 42, 38, 58, 93, 42, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 46, 45, 37, 98, 123,125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 46, 45, 37, 98,123,125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10,101,110,100, 10,105,102, 32, 98, 32, 116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 70,117,110, 99,116,105,111,110, 40,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 41, 10,114,101,116, 117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108, 111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,115,101, 44, 98,111,100,121, 10, 98, 97,115,101, 32, 61, 32, 39, 39, 32, 98,111,100,121, 32, 61, 32, 39, 39, 10, 98, 44,101, 44,110, 97,109,101, 32, 61, 32,115,116,114,102,105, 110,100, 40,115, 44, 34, 94, 37,115, 42, 99,108, 97,115,115, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 44,101, 44,110, 97,109, 101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,115,116,114,117, 99,116, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32,116,104, 101,110, 10, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,115, 101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110, 100, 40,115, 44, 34, 94, 37,115, 42, 99,108, 97,115,115, 37, 115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 40, 37, 98,123, 125, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 44,101, 44, 110, 97,109,101, 44, 98, 97,115,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37, 115, 42,115,116,114,117, 99,116, 37,115, 42, 40, 91, 95, 37, 119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32,110,111,116, 32, 98, 32, 116,104,101,110, 10, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,115,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102, 105,110,100, 40,115, 44, 34, 94, 37,115, 42,117,110,105,111, 110, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105, 102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 97, 115,101, 32, 61, 32, 39, 39, 10, 98, 44,101, 44, 98,111,100, 121, 44,110, 97,109,101, 32, 61, 32,115,116,114,102,105,110, 100, 40,115, 44, 34, 94, 37,115, 42,116,121,112,101,100,101, 102, 37,115, 37,115, 42,115,116,114,117, 99,116, 37,115, 42, 91, 95, 37,119, 93, 42, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 110,111,116, 32, 98, 32,116,104,101,110, 10, 98, 97,115,101, 32, 61, 32, 39, 39, 10, 98, 44,101, 44, 98,111,100,121, 44, 110, 97,109,101, 32, 61, 32,115,116,114,102,105,110,100, 40, 115, 44, 34, 94, 37,115, 42,116,121,112,101,100,101,102, 37, 115, 37,115, 42,117,110,105,111,110, 37,115, 42, 91, 95, 37, 119, 93, 42, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37, 115, 42, 59, 37,115, 42, 34, 41, 10,101,110,100, 10,101,110, 100, 10,101,110,100, 10,101,110,100, 10,101,110,100, 10,101, 110,100, 10,105,102, 32, 98, 32,116,104,101,110, 10,105,102, 32, 98, 97,115,101, 32,126, 61, 32, 39, 39, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32, 98, 44,101, 10, 98, 44,101, 44, 98, 97,115,101, 32, 61, 32,115,116,114,102,105,110,100, 40, 98, 97,115,101, 44, 34, 46, 45, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93, 42, 41, 36, 34, 41, 10,101,110,100, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116, 114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 67,108, 97, 115,115, 40,110, 97,109,101, 44, 98, 97,115,101, 44, 98,111, 100,121, 41, 10,114,101,116,117,114,110, 32,115,116,114,115, 117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101, 110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,116,121,112,101,115, 32, 61, 32,115,116,114,102,105,110, 100, 40,115, 44, 34, 94, 37,115, 42,116,121,112,101,100,101, 102, 37,115, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 59, 37, 115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116, 114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 84,121,112, 101,100,101,102, 40,116,121,112,101,115, 41, 10,114,101,116, 117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108, 111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 64, 37,115, 37,119, 37, 100, 37, 42, 38, 58, 93, 42, 91, 95, 37,119, 37,100, 93, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32, 116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 86, 97,114,105, 97, 98,108,101, 40,100,101, 99,108, 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100, 101, 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 63, 91, 95, 37,115, 37,119, 37,100, 93, 45, 99,104, 97,114, 37,115, 43, 91, 95, 64, 37,119, 37,100, 93, 42, 37,115, 42, 37, 91, 37, 115, 42, 37, 83, 43, 37,115, 42, 37, 93, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115, 116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 86, 97, 114,105, 97, 98,108,101, 40,100,101, 99,108, 41, 10,114,101, 116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110,100, 10,100,111, 10, 108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37, 115, 42, 40, 91, 95, 37,119, 93, 91, 93, 91, 95, 64, 37,115, 37,119, 37,100, 37, 42, 38, 58, 93, 42, 91, 93, 95, 37,119, 37,100, 93, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,105, 102, 32, 98, 32,116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 65,114,114, 97,121, 40,100,101, 99, 108, 41, 10,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,110,100, 10,101,110, 100, 10,105,102, 32,103,115,117, 98, 40,115, 44, 34, 37,115, 37,115, 42, 34, 44, 34, 34, 41, 32,126, 61, 32, 34, 34, 32, 116,104,101,110, 10, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115, 10,101,114,114,111,114, 40, 34, 35,112, 97, 114,115,101, 32,101,114,114,111,114, 34, 41, 10,101,108,115, 101, 10,114,101,116,117,114,110, 32, 34, 34, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,112, 97,114,115,101, 32, 40,115, 41, 10,119,104,105,108,101, 32, 115, 32,126, 61, 32, 39, 39, 32,100,111, 10,115, 32, 61, 32, 115,101,108,102, 58,100,111,112, 97,114,115,101, 40,115, 41, 10,101,110,100, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 32, 61, 32,123, 10, 99,108, 97,115,115,116,121,112,101, 32, 61, 32, 39,112, 97, 99,107, 97,103,101, 39, 10,125, 10, 99,108, 97, 115,115, 80, 97, 99,107, 97,103,101, 46, 95, 95,105,110,100, 101,120, 32, 61, 32, 99,108, 97,115,115, 80, 97, 99,107, 97, 103,101, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 44, 99, 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 41, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,105,110,116, 32, 40, 41, 10,112,114,105,110,116, 40, 34, 80, 97, 99,107, 97,103,101, 58, 32, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101, 108,102, 91,105, 93, 58,112,114,105,110,116, 40, 34, 34, 44, 34, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,101, 112,114,111, 99,101,115,115, 32, 40, 41, 10,108,111, 99, 97, 108, 32, 76, 32, 61, 32,123,125, 10,115,101,108,102, 46, 99, 111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 37,115, 42, 37, 36, 37, 91, 34, 44, 34, 92, 49, 34, 41, 10,115,101,108,102, 46, 99, 111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 37,115, 42, 37, 36, 37, 93, 34, 44, 34, 92, 50, 34, 41, 10,115,101,108,102, 46, 99, 111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 37, 98, 92, 49, 92, 50, 41, 34, 44, 32,102,117,110, 99,116,105,111,110, 32, 40, 99, 41, 10,116,105,110,115,101,114,116, 40, 76, 44, 99, 41, 10,114, 101,116,117,114,110, 32, 34, 92,110, 35, 91, 34, 46, 46,103, 101,116,110, 40, 76, 41, 46, 46, 34, 93, 35, 34, 10,101,110, 100, 41, 10,108,111, 99, 97,108, 32, 67, 32, 61, 32,123,125, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115, 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92, 110, 37,115, 42, 37, 36, 37, 60, 34, 44, 34, 92, 51, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115, 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92, 110, 37,115, 42, 37, 36, 37, 62, 34, 44, 34, 92, 52, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115, 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 37, 98, 92, 51, 92, 52, 41, 34, 44, 32,102,117,110, 99,116, 105,111,110, 32, 40, 99, 41, 10,116,105,110,115,101,114,116, 40, 67, 44, 99, 41, 10,114,101,116,117,114,110, 32, 34, 92, 110, 35, 60, 34, 46, 46,103,101,116,110, 40, 67, 41, 46, 46, 34, 62, 35, 34, 10,101,110,100, 41, 10,108,111, 99, 97,108, 32, 86, 32, 61, 32,123,125, 10,115,101,108,102, 46, 99,111, 100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 40, 37,115, 42, 37, 36, 91, 94, 37, 91, 37, 93, 93, 91, 94, 92,110, 93, 42, 41, 34, 44, 102,117,110, 99,116,105,111,110, 32, 40,118, 41, 10,116,105, 110,115,101,114,116, 40, 86, 44,118, 41, 10,114,101,116,117, 114,110, 32, 34, 92,110, 35, 34, 46, 46,103,101,116,110, 40, 86, 41, 46, 46, 34, 35, 34, 10,101,110,100, 41, 10,115,101, 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40, 115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 47, 47, 91, 94, 92,110, 93, 42, 41, 34, 44, 34, 34, 41, 10,115,101,108, 102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115, 101,108,102, 46, 99,111,100,101, 44, 34, 47, 37, 42, 34, 44, 34, 92, 49, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111, 100,101, 44, 34, 37, 42, 47, 34, 44, 34, 92, 50, 34, 41, 10, 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37, 98, 92, 49, 92, 50, 34, 44, 34, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108, 102, 46, 99,111,100,101, 44, 34, 92, 49, 34, 44, 34, 47, 37, 42, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92, 50, 34, 44, 34, 37, 42, 47, 34, 41, 10,115,101, 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40, 115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 42, 64, 37,115, 42, 34, 44, 34, 64, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108, 102, 46, 99,111,100,101, 44, 34, 37,115, 63,105,110,108,105, 110,101, 40, 37,115, 41, 34, 44, 34, 37, 49, 34, 41, 10,115, 101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 63, 101,120,116,101,114,110, 40, 37,115, 41, 34, 44, 34, 37, 49, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32, 103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 63,118,105,114,116,117, 97,108, 40, 37,115, 41, 34, 44, 34, 37, 49, 34, 41, 10,115,101,108,102, 46, 99,111, 100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34,112,117, 98,108,105, 99, 58, 34, 44, 34, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41,118,111,105,100, 37, 115, 42, 37, 42, 34, 44, 34, 37, 49, 95,117,115,101,114,100, 97,116, 97, 32, 34, 41, 10,115,101,108,102, 46, 99,111,100, 101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99, 111,100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41,118,111, 105,100, 37,115, 42, 37, 42, 34, 44, 34, 37, 49, 95,117,115, 101,114,100, 97,116, 97, 32, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108, 102, 46, 99,111,100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41, 99,104, 97,114, 37,115, 42, 37, 42, 34, 44, 34, 37, 49, 95, 99,115,116,114,105,110,103, 32, 34, 41, 10,115,101,108, 102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115, 101,108,102, 46, 99,111,100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41,108,117, 97, 95, 83,116, 97,116,101, 37,115, 42, 37, 42, 34, 44, 34, 37, 49, 95,108,115,116, 97,116,101, 32, 34, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32, 103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37, 35, 37, 91, 40, 37,100, 43, 41, 37, 93, 37, 35, 34, 44,102,117,110, 99,116,105,111,110, 32, 40,110, 41, 10,114, 101,116,117,114,110, 32, 76, 91,116,111,110,117,109, 98,101, 114, 40,110, 41, 93, 10,101,110,100, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101, 108,102, 46, 99,111,100,101, 44, 34, 37, 35, 37, 60, 40, 37, 100, 43, 41, 37, 62, 37, 35, 34, 44,102,117,110, 99,116,105, 111,110, 32, 40,110, 41, 10,114,101,116,117,114,110, 32, 67, 91,116,111,110,117,109, 98,101,114, 40,110, 41, 93, 10,101, 110,100, 41, 10,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37, 35, 40, 37,100, 43, 41, 37, 35, 34, 44,102,117, 110, 99,116,105,111,110, 32, 40,110, 41, 10,114,101,116,117, 114,110, 32, 86, 91,116,111,110,117,109, 98,101,114, 40,110, 41, 93, 10,101,110,100, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,101, 97,109, 98,108,101, 32, 40, 41, 10,111,117,116,112,117,116, 40, 39, 47, 42, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 42, 42, 32, 76,117, 97, 32, 98,105,110,100,105,110,103, 58, 32, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 39, 92,110, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 42, 47, 92,110, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,110, 99,108, 117,100,101, 32, 34,116,111,108,117, 97, 46,104, 34, 92,110, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105, 102,110,100,101,102, 32, 95, 95, 99,112,108,117,115,112,108, 117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,110, 99,108,117,100,101, 32, 60,115,116,100,108,105, 98, 46,104, 62, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110, 39, 41, 10,111, 117,116,112,117,116, 40, 39,101,120,116,101,114,110, 32, 34, 67, 34, 32,105,110,116, 32,116,111,108,117, 97, 95, 98,110, 100, 95,116, 97,107,101,111,119,110,101,114,115,104,105,112, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32, 76, 41, 59, 32, 47, 47, 32,102,114,111,109, 32,116,111,108,117, 97, 95,109, 97,112, 46, 99, 92,110, 39, 41, 10,111,117,116,112, 117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111, 117,116,112,117,116, 40, 39,105,110,116, 32,116,111,108,117, 97, 95, 98,110,100, 95,116, 97,107,101,111,119,110,101,114, 115,104,105,112, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32, 76, 41, 59, 32, 47, 42, 32,102,114,111,109, 32,116, 111,108,117, 97, 95,109, 97,112, 46, 99, 32, 42, 47, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100, 105,102, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,110, 99,108,117,100,101, 32, 60,115,116,114,105,110, 103, 46,104, 62, 92,110, 92,110, 39, 41, 10,105,102, 32,110, 111,116, 32,102,108, 97,103,115, 46,104, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 47, 42, 32, 69,120,112, 111,114,116,101,100, 32,102,117,110, 99,116,105,111,110, 32, 42, 47, 39, 41, 10,111,117,116,112,117,116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,105,110,116, 32,116,111,108, 117, 97, 95, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 95,111,112,101,110, 32, 40,108,117, 97, 95, 83, 116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 76, 85, 65, 76, 73, 66, 95, 65, 80, 73, 32,105,110,116, 32,108,117, 97,111, 112,101,110, 95, 39, 46, 46,115,101,108,102, 46,110, 97,109, 101, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101, 108,102, 91,105, 93, 58,112,114,101, 97,109, 98,108,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,105, 102, 32,115,101,108,102, 58,114,101,113,117,105,114,101, 99, 111,108,108,101, 99,116,105,111,110, 40, 95, 99,111,108,108, 101, 99,116, 41, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 47, 42, 32,102,117,110, 99,116,105,111,110, 32,116,111, 32,114,101,108,101, 97,115,101, 32, 99,111,108,108,101, 99, 116,101,100, 32,111, 98,106,101, 99,116, 32,118,105, 97, 32, 100,101,115,116,114,117, 99,116,111,114, 32, 42, 47, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110, 39, 41, 10,102,111,114, 32,105, 44,118, 32,105,110, 32,112, 97, 105,114,115, 40, 95, 99,111,108,108,101, 99,116, 41, 32,100, 111, 10,111,117,116,112,117,116, 40, 39, 92,110,115,116, 97, 116,105, 99, 32,105,110,116, 32, 39, 46, 46,118, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111, 108,117, 97, 95, 83, 41, 39, 41, 10,111,117,116,112,117,116, 40, 39,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 39, 46, 46,105, 46, 46, 39, 42, 32,115,101,108,102, 32, 61, 32, 40, 39, 46, 46,105, 46, 46, 39, 42, 41, 32,116,111,108, 117, 97, 95,116,111,117,115,101,114,116,121,112,101, 40,116, 111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 114,101,108,101, 97,115,101, 40,116,111,108,117, 97, 95, 83, 44,115,101,108,102, 41, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 32,100,101,108,101,116,101, 32,115,101,108,102, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,114,101, 116,117,114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39,125, 39, 41, 10,101,110,100, 10,111,117,116,112, 117,116, 40, 39, 35,101,110,100,105,102, 92,110, 92,110, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 47, 42, 32, 102,117,110, 99,116,105,111,110, 32,116,111, 32,114,101,103, 105,115,116,101,114, 32,116,121,112,101, 32, 42, 47, 39, 41, 10,111,117,116,112,117,116, 40, 39,115,116, 97,116,105, 99, 32,118,111,105,100, 32,116,111,108,117, 97, 95,114,101,103, 95,116,121,112,101,115, 32, 40,108,117, 97, 95, 83,116, 97, 116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 39, 41, 10, 111,117,116,112,117,116, 40, 39,123, 39, 41, 10,102,111,114, 101, 97, 99,104, 40, 95,117,115,101,114,116,121,112,101, 44, 102,117,110, 99,116,105,111,110, 40,110, 44,118, 41, 32,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,117, 115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 44,118, 44, 39, 34, 41, 59, 39, 41, 32,101,110, 100, 41, 10,111,117,116,112,117,116, 40, 39,125, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115, 115, 80, 97, 99,107, 97,103,101, 58,114,101,103,105,115,116, 101,114, 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32, 79,112, 101,110, 32,108,105, 98, 32,102,117,110, 99,116,105,111,110, 32, 42, 47, 34, 41, 10,111,117,116,112,117,116, 40, 39, 76, 85, 65, 76, 73, 66, 95, 65, 80, 73, 32,105,110,116, 32,108, 117, 97,111,112,101,110, 95, 39, 46, 46,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 39, 41, 10,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,111,117, 116,112,117,116, 40, 34, 32,116,111,108,117, 97, 95,111,112, 101,110, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10, 111,117,116,112,117,116, 40, 34, 32,116,111,108,117, 97, 95, 114,101,103, 95,116,121,112,101,115, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,116,111,108,117, 97, 95,109,111,100,117,108,101, 40,116, 111,108,117, 97, 95, 83, 44, 78, 85, 76, 76, 44, 34, 44,115, 101,108,102, 58,104, 97,115,118, 97,114, 40, 41, 44, 34, 41, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,116,111, 108,117, 97, 95, 98,101,103,105,110,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83, 44, 78, 85, 76, 76, 41, 59, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104, 105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 115,101,108,102, 91,105, 93, 58,114,101,103,105,115,116,101, 114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,111,117,116,112,117,116, 40, 34, 32,116,111,108,117, 97, 95,101,110,100,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,114,101,116,117,114,110, 32, 49, 59, 34, 41, 10,111, 117,116,112,117,116, 40, 34,125, 34, 41, 10,111,117,116,112, 117,116, 40, 34, 47, 42, 32, 79,112,101,110, 32,116,111,108, 117, 97, 32,102,117,110, 99,116,105,111,110, 32, 42, 47, 34, 41, 10,111,117,116,112,117,116, 40, 34, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,105,110,116, 32,116,111,108,117, 97, 95, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 95,111,112,101,110, 32, 40,108,117, 97, 95, 83,116, 97,116, 101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111, 117,116,112,117,116, 40, 34,123, 34, 41, 10,111,117,116,112, 117,116, 40, 34, 32,108,117, 97, 95,112,117,115,104, 99,102, 117,110, 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 32,108,117, 97,111,112,101,110, 95, 34, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 34, 41, 59, 34, 41, 10, 111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,117, 115,104,115,116,114,105,110,103, 40,116,111,108,117, 97, 95, 83, 44, 32, 34, 39, 46, 46,115,101,108,102, 46,110, 97,109, 101, 46, 46, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 34, 32,108,117, 97, 95, 99, 97,108,108, 40,116,111, 108,117, 97, 95, 83, 44, 32, 49, 44, 32, 48, 41, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,114,101,116,117,114, 110, 32, 49, 59, 34, 41, 10,111,117,116,112,117,116, 40, 34, 125, 34, 41, 10,112,111,112, 40, 41, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,104,101, 97,100,101,114, 32, 40, 41, 10,111,117,116,112,117,116, 40, 39, 47, 42, 92,110, 39, 41, 32,111,117,116,112,117,116, 40, 39, 42, 42, 32, 76,117, 97, 32, 98,105,110,100,105,110,103, 58, 32, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 39, 92,110, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 42, 42, 32, 71,101,110,101, 114, 97,116,101,100, 32, 97,117,116,111,109, 97,116,105, 99, 97,108,108,121, 32, 98,121, 32, 39, 46, 46, 84, 79, 76, 85, 65, 95, 86, 69, 82, 83, 73, 79, 78, 46, 46, 39, 32,111,110, 32, 39, 46, 46,100, 97,116,101, 40, 41, 46, 46, 39, 46, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 42, 47, 92, 110, 92,110, 39, 41, 10,105,102, 32,110,111,116, 32,102,108, 97,103,115, 46,104, 32,116,104,101,110, 10,111,117,116,112, 117,116, 40, 39, 47, 42, 32, 69,120,112,111,114,116,101,100, 32,102,117,110, 99,116,105,111,110, 32, 42, 47, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,105,110,116, 32,116,111,108,117, 97, 95, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 95,111, 112,101,110, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 76, 85, 65, 76, 73, 66, 95, 65, 80, 73, 32,105,110,116, 32,108,117, 97,111,112,101,110, 95, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108, 117, 97, 95, 83, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 95, 80, 97, 99,107, 97, 103,101, 32, 40,115,101,108,102, 41, 10,115,101,116,109,101, 116, 97,116, 97, 98,108,101, 40,115,101,108,102, 44, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 41, 10,114,101,116, 117,114,110, 32,115,101,108,102, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32,101,120,116,114, 97, 99,116, 95, 99,111,100,101, 40,102,110, 44,115, 41, 10,108,111, 99, 97, 108, 32, 99,111,100,101, 32, 61, 32, 39, 92,110, 36, 35,105, 110, 99,108,117,100,101, 32, 34, 39, 46, 46,102,110, 46, 46, 39, 34, 92,110, 39, 10,115, 61, 32, 34, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 92,110, 34, 10,108,111, 99, 97,108, 32, 95, 44,101, 44, 99, 44,116, 32, 61, 32,115,116, 114,102,105,110,100, 40,115, 44, 32, 34, 92,110, 40, 91, 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91, 79,111, 93, 91, 76, 108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 40, 91, 94, 37, 115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 34, 41, 10, 119,104,105,108,101, 32,101, 32,100,111, 10,116, 32, 61, 32, 115,116,114,108,111,119,101,114, 40,116, 41, 10,105,102, 32, 116, 32, 61, 61, 32, 34, 98,101,103,105,110, 34, 32,116,104, 101,110, 10, 95, 44,101, 44, 99, 32, 61, 32,115,116,114,102, 105,110,100, 40,115, 44, 34, 40, 46, 45, 41, 92,110, 91, 94, 92,110, 93, 42, 91, 84,116, 93, 91, 79,111, 93, 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 91, 69,101, 93, 91, 78,110, 93, 91, 68,100, 93, 91, 94, 92,110, 93, 42, 92,110, 34, 44,101, 41, 10,105,102, 32,110,111,116, 32,101, 32,116, 104,101,110, 10,116,111,108,117, 97, 95,101,114,114,111,114, 40, 34, 85,110, 98, 97,108, 97,110, 99,101,100, 32, 39,116, 111,108,117, 97, 95, 98,101,103,105,110, 39, 32,100,105,114, 101, 99,116,105,118,101, 32,105,110, 32,104,101, 97,100,101, 114, 32,102,105,108,101, 34, 41, 10,101,110,100, 10,101,110, 100, 10, 99,111,100,101, 32, 61, 32, 99,111,100,101, 32, 46, 46, 32, 99, 32, 46, 46, 32, 34, 92,110, 34, 10, 95, 44,101, 44, 99, 44,116, 32, 61, 32,115,116,114,102,105,110,100, 40, 115, 44, 32, 34, 92,110, 40, 91, 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91, 79,111, 93, 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 40, 91, 94, 37,115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 34, 44,101, 41, 10,101,110,100, 10, 114,101,116,117,114,110, 32, 99,111,100,101, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 80, 97, 99,107, 97, 103,101, 32, 40,110, 97,109,101, 44,102,110, 41, 10,108,111, 99, 97,108, 32,101,120,116, 32, 61, 32, 34,112,107,103, 34, 10,105,102, 32,102,110, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,115,116, 44, 32,109,115,103, 32, 61, 32,114,101, 97,100,102,114,111,109, 40,102,108, 97,103,115, 46,102, 41, 10,105,102, 32,110,111,116, 32,115,116, 32,116,104,101,110, 10,101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,103, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32, 95, 59, 32, 95, 44, 32, 95, 44, 32,101,120,116, 32, 61, 32,115,116,114, 102,105,110,100, 40,102,110, 44, 34, 46, 42, 37, 46, 40, 46, 42, 41, 36, 34, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32, 99,111,100,101, 32, 61, 32, 34, 92,110, 34, 32, 46, 46, 32,114,101, 97,100, 40, 39, 42, 97, 39, 41, 10,105,102, 32, 101,120,116, 32, 61, 61, 32, 39,104, 39, 32,111,114, 32,101, 120,116, 32, 61, 61, 32, 39,104,112,112, 39, 32,116,104,101, 110, 10, 99,111,100,101, 32, 61, 32,101,120,116,114, 97, 99, 116, 95, 99,111,100,101, 40,102,110, 44, 99,111,100,101, 41, 10,101,110,100, 10,105,102, 32,102,110, 32,116,104,101,110, 10,114,101, 97,100,102,114,111,109, 40, 41, 10,101,110,100, 10, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40, 99,111, 100,101, 44, 39, 37,115, 42, 37, 36,114,101,110, 97,109,105, 110,103, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 92,110, 39, 44, 32,102,117,110, 99,116,105,111,110, 32, 40,114, 41, 32, 97,112,112,101,110,100,114,101,110, 97,109,105,110,103, 40, 114, 41, 32,114,101,116,117,114,110, 32, 34, 92,110, 34, 32, 101,110,100, 41, 10,108,111, 99, 97,108, 32,110,115,117, 98, 115,116, 10,114,101,112,101, 97,116, 10, 99,111,100,101, 44, 110,115,117, 98,115,116, 32, 61, 32,103,115,117, 98, 40, 99, 111,100,101, 44, 39, 92,110, 37,115, 42, 37, 36, 40, 46, 41, 102,105,108,101, 37,115, 42, 34, 40, 46, 45, 41, 34, 37,115, 42, 92,110, 39, 44, 10,102,117,110, 99,116,105,111,110, 32, 40,107,105,110,100, 44,102,110, 41, 10,108,111, 99, 97,108, 32, 95, 44, 32, 95, 44, 32,101,120,116, 32, 61, 32,115,116, 114,102,105,110,100, 40,102,110, 44, 34, 46, 42, 37, 46, 40, 46, 42, 41, 36, 34, 41, 10,108,111, 99, 97,108, 32,102,112, 44,109,115,103, 32, 61, 32,111,112,101,110,102,105,108,101, 40,102,110, 44, 39,114, 39, 41, 10,105,102, 32,110,111,116, 32,102,112, 32,116,104,101,110, 10,101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,103, 46, 46, 39, 58, 32, 39, 46, 46,102,110, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32, 115, 32, 61, 32,114,101, 97,100, 40,102,112, 44, 39, 42, 97, 39, 41, 10, 99,108,111,115,101,102,105,108,101, 40,102,112, 41, 10,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39, 99, 39, 32,111,114, 32,107,105,110,100, 32, 61, 61, 32, 39,104, 39, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,101, 120,116,114, 97, 99,116, 95, 99,111,100,101, 40,102,110, 44, 115, 41, 10,101,108,115,101,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,112, 39, 32,116,104,101,110, 10,114,101,116, 117,114,110, 32, 34, 92,110, 92,110, 34, 32, 46, 46, 32,115, 10,101,108,115,101,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,108, 39, 32,116,104,101,110, 10,114,101,116,117,114, 110, 32, 34, 92,110, 36, 91, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 92,110, 36, 93, 92,110, 34, 10,101,108, 115,101, 10,101,114,114,111,114, 40, 39, 35, 73,110,118, 97, 108,105,100, 32,105,110, 99,108,117,100,101, 32,100,105,114, 101, 99,116,105,118,101, 32, 40,117,115,101, 32, 36, 99,102, 105,108,101, 44, 32, 36,112,102,105,108,101, 32,111,114, 32, 36,108,102,105,108,101, 41, 39, 41, 10,101,110,100, 10,101, 110,100, 41, 10,117,110,116,105,108, 32,110,115,117, 98,115, 116, 61, 61, 48, 10,108,111, 99, 97,108, 32,116, 32, 61, 32, 95, 80, 97, 99,107, 97,103,101, 40, 95, 67,111,110,116, 97, 105,110,101,114,123,110, 97,109,101, 61,110, 97,109,101, 44, 32, 99,111,100,101, 61, 99,111,100,101,125, 41, 10,112,117, 115,104, 40,116, 41, 10,116, 58,112,114,101,112,114,111, 99, 101,115,115, 40, 41, 10,116, 58,112, 97,114,115,101, 40,116, 46, 99,111,100,101, 41, 10,112,111,112, 40, 41, 10,114,101, 116,117,114,110, 32,116, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 77,111,100,117,108,101, 32, 61, 32, 123, 10, 99,108, 97,115,115,116,121,112,101, 32, 61, 32, 39, 109,111,100,117,108,101, 39, 10,125, 10, 99,108, 97,115,115, 77,111,100,117,108,101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 77,111,100,117,108,101, 10,115, 101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97, 115,115, 77,111,100,117,108,101, 44, 99,108, 97,115,115, 67, 111,110,116, 97,105,110,101,114, 41, 10,102,117,110, 99,116, 105,111,110, 32, 99,108, 97,115,115, 77,111,100,117,108,101, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10,112,117, 115,104, 40,115,101,108,102, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 39, 34, 44, 39, 44,115, 101,108,102, 58,104, 97,115,118, 97,114, 40, 41, 44, 39, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111, 108,117, 97, 95, 98,101,103,105,110,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 39, 34, 41, 59, 39, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101, 108,102, 91,105, 93, 58,114,101,103,105,115,116,101,114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101, 110,100,109,111,100,117,108,101, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,112,111,112, 40, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 77,111,100,117,108,101, 58,112,114,105,110,116, 32, 40,105, 100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 77,111,100,117, 108,101,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101, 110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 59, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119, 104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,115,101,108,102, 91,105, 93, 58,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114, 105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 77,111,100,117,108,101, 32, 40, 116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 77,111,100,117,108,101, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116,117, 114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 77,111,100,117,108,101, 32, 40,110, 44, 98, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32, 95, 77,111,100, 117,108,101, 40, 95, 67,111,110,116, 97,105,110,101,114,123, 110, 97,109,101, 61,110,125, 41, 10,112,117,115,104, 40,116, 41, 10,116, 58,112, 97,114,115,101, 40,115,116,114,115,117, 98, 40, 98, 44, 50, 44,115,116,114,108,101,110, 40, 98, 41, 45, 49, 41, 41, 10,112,111,112, 40, 41, 10,114,101,116,117, 114,110, 32,116, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 32, 61, 32,123, 10, 99,108, 97,115,115,116,121,112,101, 32, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101, 39, 44, 10, 110, 97,109,101, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 46, 95, 95, 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 78, 97, 109,101,115,112, 97, 99,101, 10,115,101,116,109,101,116, 97, 116, 97, 98,108,101, 40, 99,108, 97,115,115, 78, 97,109,101, 115,112, 97, 99,101, 44, 99,108, 97,115,115, 77,111,100,117, 108,101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 58,112,114, 105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115, 101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 78, 97,109,101,115,112, 97, 99,101,123, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115, 101,108,102, 91,105, 93, 32,100,111, 10,115,101,108,102, 91, 105, 93, 58,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114,105,110,116, 40,105,100, 101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 78, 97,109,101,115,112, 97, 99,101, 32, 40,116, 41, 10, 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116,117, 114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 78, 97,109,101,115,112, 97, 99,101, 32, 40,110, 44, 98, 41, 10,108,111, 99, 97,108, 32, 99, 32, 61, 32, 95, 78, 97,109,101,115,112, 97, 99,101, 40, 95, 67,111,110,116, 97,105,110,101,114,123,110, 97,109,101, 61,110,125, 41, 10, 112,117,115,104, 40, 99, 41, 10, 99, 58,112, 97,114,115,101, 40,115,116,114,115,117, 98, 40, 98, 44, 50, 44,115,116,114, 108,101,110, 40, 98, 41, 45, 49, 41, 41, 10,112,111,112, 40, 41, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 68,101,102,105,110,101, 32, 61, 32, 123, 10,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 68,101,102,105,110,101, 46, 95, 95,105, 110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 68,101,102, 105,110,101, 10,115,101,116,109,101,116, 97,116, 97, 98,108, 101, 40, 99,108, 97,115,115, 68,101,102,105,110,101, 44, 99, 108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101,102, 105,110,101, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 99,111,110,115,116, 97,110,116, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97, 109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101,102,105,110,101, 58,112,114,105,110,116, 32, 40,105, 100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 68,101,102,105, 110,101,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101, 110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 68,101, 102,105,110,101, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 68, 101,102,105,110,101, 41, 10,116, 58, 98,117,105,108,100,110, 97,109,101,115, 40, 41, 10,105,102, 32,116, 46,110, 97,109, 101, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,101,114, 114,111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,100, 101,102,105,110,101, 34, 41, 10,101,110,100, 10, 97,112,112, 101,110,100, 40,116, 41, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 68, 101,102,105,110,101, 32, 40,110, 41, 10,114,101,116,117,114, 110, 32, 95, 68,101,102,105,110,101,123, 10,110, 97,109,101, 32, 61, 32,110, 10,125, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101, 32, 61, 32,123, 10,125, 10, 99,108, 97,115,115, 69,110,117, 109,101,114, 97,116,101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116, 101, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101, 44, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10,102, 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 69,110, 117,109,101,114, 97,116,101, 58,114,101,103,105,115,116,101, 114, 32, 40, 41, 10,108,111, 99, 97,108, 32,110,115,112, 97, 99,101, 32, 61, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110, 101,114, 46, 99,117,114,114, 41, 10,108,111, 99, 97,108, 32, 105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 91, 105, 93, 32,100,111, 10,111,117,116,112,117,116, 40, 39, 32, 116,111,108,117, 97, 95, 99,111,110,115,116, 97,110,116, 40, 116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108, 102, 46,108,110, 97,109,101,115, 91,105, 93, 46, 46, 39, 34, 44, 39, 46, 46,110,115,112, 97, 99,101, 46, 46,115,101,108, 102, 91,105, 93, 46, 46, 39, 41, 59, 39, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 69,110,117, 109,101,114, 97,116,101, 58,112,114,105,110,116, 32, 40,105, 100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 69,110,117,109, 101,114, 97,116,101,123, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10, 108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 39, 34, 46, 46,115,101,108,102, 91,105, 93, 46, 46, 34, 39, 40, 34, 46, 46,115,101,108,102, 46,108,110, 97,109,101,115, 91,105, 93, 46, 46, 34, 41, 44, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 69, 110,117,109,101,114, 97,116,101, 32, 40,116, 41, 10,115,101, 116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101, 41, 10, 97, 112,112,101,110,100, 40,116, 41, 10, 97,112,112,101,110,100, 101,110,117,109, 40,116, 41, 10,114,101,116,117,114,110, 32, 116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 69,110,117,109,101,114, 97,116,101, 32, 40,110, 44, 98, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105, 116, 40,115,116,114,115,117, 98, 40, 98, 44, 50, 44, 45, 50, 41, 44, 39, 44, 39, 41, 10,108,111, 99, 97,108, 32,105, 32, 61, 32, 49, 10,108,111, 99, 97,108, 32,101, 32, 61, 32,123, 110, 61, 48,125, 10,119,104,105,108,101, 32,116, 91,105, 93, 32,100,111, 10,108,111, 99, 97,108, 32,116,116, 32, 61, 32, 115,112,108,105,116, 40,116, 91,105, 93, 44, 39, 61, 39, 41, 10,101, 46,110, 32, 61, 32,101, 46,110, 32, 43, 32, 49, 10, 101, 91,101, 46,110, 93, 32, 61, 32,116,116, 91, 49, 93, 10, 105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,105, 32, 61, 32, 49, 10,101, 46,108,110, 97,109,101,115, 32, 61, 32,123, 125, 10,119,104,105,108,101, 32,101, 91,105, 93, 32,100,111, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105, 116, 40,101, 91,105, 93, 44, 39, 64, 39, 41, 10,101, 91,105, 93, 32, 61, 32,116, 91, 49, 93, 10,105,102, 32,110,111,116, 32,116, 91, 50, 93, 32,116,104,101,110, 10,116, 91, 50, 93, 32, 61, 32, 97,112,112,108,121,114,101,110, 97,109,105,110, 103, 40,116, 91, 49, 93, 41, 10,101,110,100, 10,101, 46,108, 110, 97,109,101,115, 91,105, 93, 32, 61, 32,116, 91, 50, 93, 32,111,114, 32,116, 91, 49, 93, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101, 46,110, 97,109,101, 32, 61, 32, 110, 10,105,102, 32,110,126, 61, 34, 34, 32,116,104,101,110, 10, 84,121,112,101,100,101,102, 40, 34,105,110,116, 32, 34, 46, 46,110, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32, 95, 69,110,117,109,101,114, 97,116,101, 40,101, 41, 10, 101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105, 111,110, 32, 61, 32,123, 10,109,111,100, 32, 61, 32, 39, 39, 44, 10,116,121,112,101, 32, 61, 32, 39, 39, 44, 10,112,116, 114, 32, 61, 32, 39, 39, 44, 10,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10,100,105,109, 32, 61, 32, 39, 39, 44, 10,114, 101,116, 32, 61, 32, 39, 39, 44, 10,100,101,102, 32, 61, 32, 39, 39, 10,125, 10, 99,108, 97,115,115, 68,101, 99,108, 97, 114, 97,116,105,111,110, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116, 105,111,110, 10,115,101,116,109,101,116, 97,116, 97, 98,108, 101, 40, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116, 105,111,110, 44, 99,108, 97,115,115, 70,101, 97,116,117,114, 101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 32, 40, 41, 10, 105,102, 32,110,111,116, 32, 95,118, 97,114,110,117,109, 98, 101,114, 32,116,104,101,110, 32, 95,118, 97,114,110,117,109, 98,101,114, 32, 61, 32, 48, 32,101,110,100, 10, 95,118, 97, 114,110,117,109, 98,101,114, 32, 61, 32, 95,118, 97,114,110, 117,109, 98,101,114, 32, 43, 32, 49, 10,114,101,116,117,114, 110, 32, 34,116,111,108,117, 97, 95,118, 97,114, 95, 34, 46, 46, 95,118, 97,114,110,117,109, 98,101,114, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58, 99,104,101, 99,107,110, 97,109,101, 32, 40, 41, 10,105,102, 32,115,116, 114,115,117, 98, 40,115,101,108,102, 46,110, 97,109,101, 44, 49, 44, 49, 41, 32, 61, 61, 32, 39, 91, 39, 32, 97,110,100, 32,110,111,116, 32,102,105,110,100,116,121,112,101, 40,115, 101,108,102, 46,116,121,112,101, 41, 32,116,104,101,110, 10, 115,101,108,102, 46,110, 97,109,101, 32, 61, 32,115,101,108, 102, 46,116,121,112,101, 46, 46,115,101,108,102, 46,110, 97, 109,101, 10,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112, 108,105,116, 40,115,101,108,102, 46,109,111,100, 44, 39, 37, 115, 37,115, 42, 39, 41, 10,115,101,108,102, 46,116,121,112, 101, 32, 61, 32,109, 91,109, 46,110, 93, 10,115,101,108,102, 46,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109, 46,110, 45, 49, 41, 10,101,110,100, 10,108, 111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40, 115,101,108,102, 46,110, 97,109,101, 44, 39, 61, 39, 41, 10, 105,102, 32,116, 46,110, 61, 61, 50, 32,116,104,101,110, 10, 115,101,108,102, 46,110, 97,109,101, 32, 61, 32,116, 91, 49, 93, 10,115,101,108,102, 46,100,101,102, 32, 61, 32,116, 91, 116, 46,110, 93, 10,101,110,100, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,110, 97,109,101, 44, 34, 37, 91, 40, 46, 45, 41, 37, 93, 34, 41, 10,105,102, 32, 98, 32,116,104, 101,110, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 115,116,114,115,117, 98, 40,115,101,108,102, 46,110, 97,109, 101, 44, 49, 44, 98, 45, 49, 41, 10,115,101,108,102, 46,100, 105,109, 32, 61, 32,100, 10,101,110,100, 10,105,102, 32,115, 101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32, 97,110,100, 32,115,101, 108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39, 39, 32,116, 104,101,110, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 99,114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40, 41, 10,101,108,115,101,105,102, 32,115,101,108,102, 46, 107,105,110,100, 61, 61, 39,118, 97,114, 39, 32,116,104,101, 110, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 61, 61, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,110, 97, 109,101,126, 61, 39, 39, 32,116,104,101,110, 10,115,101,108, 102, 46,116,121,112,101, 32, 61, 32,115,101,108,102, 46,116, 121,112,101, 46, 46,115,101,108,102, 46,110, 97,109,101, 10, 115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 99,114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40, 41, 10,101, 108,115,101,105,102, 32,102,105,110,100,116,121,112,101, 40, 115,101,108,102, 46,110, 97,109,101, 41, 32,116,104,101,110, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 61, 61, 39, 39, 32,116,104,101,110, 32,115,101,108,102, 46,116,121, 112,101, 32, 61, 32,115,101,108,102, 46,110, 97,109,101, 10, 101,108,115,101, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 46, 46, 39, 32, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 32,101,110, 100, 10,115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 99, 114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40, 41, 10,101,110,100, 10,101,110,100, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99, 108, 97,114, 97,116,105,111,110, 58, 99,104,101, 99,107,116, 121,112,101, 32, 40, 41, 10,105,102, 32,105,115, 98, 97,115, 105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 32, 97, 110,100, 32,115,101,108,102, 46,112,116,114,126, 61, 39, 39, 32,116,104,101,110, 10,115,101,108,102, 46,114,101,116, 32, 61, 32,115,101,108,102, 46,112,116,114, 10,115,101,108,102, 46,112,116,114, 32, 61, 32,110,105,108, 10,101,110,100, 10, 105,102, 32,115,101,108,102, 46,100,105,109,126, 61, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,114,101,116,126, 61, 39, 39, 32,116,104,101,110, 10,101,114,114,111,114, 40, 39, 35,105,110,118, 97,108,105,100, 32,112, 97,114, 97,109,101, 116,101,114, 58, 32, 99, 97,110,110,111,116, 32,114,101,116, 117,114,110, 32, 97,110, 32, 97,114,114, 97,121, 32,111,102, 32,118, 97,108,117,101,115, 39, 41, 10,101,110,100, 10,105, 102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39, 95,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101, 110, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 32, 39, 118,111,105,100, 42, 39, 10,101,108,115,101,105,102, 32,115, 101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39, 95, 99, 115,116,114,105,110,103, 39, 32,116,104,101,110, 32,115,101, 108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,104, 97,114, 42, 39, 10,101,108,115,101,105,102, 32,115,101,108,102, 46, 116,121,112,101, 32, 61, 61, 32, 39, 95,108,115,116, 97,116, 101, 39, 32,116,104,101,110, 32,115,101,108,102, 46,116,121, 112,101, 32, 61, 32, 39,108,117, 97, 95, 83,116, 97,116,101, 42, 39, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97, 114, 97,116,105,111,110, 58,112,114,105,110,116, 32, 40,105, 100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 68,101, 99,108, 97,114, 97,116,105,111,110,123, 34, 41, 10,112,114,105,110, 116, 40,105,100,101,110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100, 101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,112,116,114, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100, 105,109, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100, 105,109, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100,101,102, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100,101,102, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101, 110,116, 46, 46, 34, 32,114,101,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,114,101,116, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,114,101,113, 117,105,114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41, 10,105,102, 32,115,101,108,102, 46,109,111,100, 32,126, 61, 32, 39, 99,111,110,115,116, 39, 32, 97,110,100, 10,115,101,108,102, 46,100,105,109, 32, 97,110,100, 32,115, 101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97, 110,100, 10,110,111,116, 32,105,115, 98, 97,115,105, 99, 40, 115,101,108,102, 46,116,121,112,101, 41, 32, 97,110,100, 10, 115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32, 116,104,101,110, 10,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,116,121, 112,101, 44, 34, 37,115, 42, 99,111,110,115,116, 37,115, 42, 34, 44, 34, 34, 41, 10,116, 91,116,121,112,101, 93, 32, 61, 32, 34,116,111,108,117, 97, 95, 99,111,108,108,101, 99,116, 95, 34, 32, 46, 46, 32,103,115,117, 98, 40,116,121,112,101, 44, 34, 58, 58, 34, 44, 34, 95, 34, 41, 10,114,101,116,117, 114,110, 32,116,114,117,101, 10,101,110,100, 10,114,101,116, 117,114,110, 32,102, 97,108,115,101, 10,101,110,100, 10,102, 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,100,101, 99,108,116, 121,112,101, 32, 40, 41, 10,115,101,108,102, 46,116,121,112, 101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115,101,108, 102, 46,116,121,112,101, 41, 10,105,102, 32,115,116,114,102, 105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 99, 111,110,115,116, 39, 41, 32,116,104,101,110, 10,115,101,108, 102, 46,116,121,112,101, 32, 61, 32, 39, 99,111,110,115,116, 32, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 10,115, 101,108,102, 46,109,111,100, 32, 61, 32,103,115,117, 98, 40, 115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115,116, 37,115, 42, 39, 44, 39, 39, 41, 10,101,110,100, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115, 115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,111,117, 116, 99,104,101, 99,107,116,121,112,101, 32, 40,110, 97,114, 103, 44,118, 97,114, 41, 10,108,111, 99, 97,108, 32,100,101, 102, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10,105,102, 32,115,101,108,102, 46,100,101,102,126, 61, 39, 39, 32,116,104,101,110, 10,100,101,102, 32, 61, 32, 49, 10, 101,108,115,101, 10,100,101,102, 32, 61, 32, 48, 10,101,110, 100, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,105,102, 32,118, 97, 114, 32, 97,110,100, 32,115,101,108,102, 46,116,121,112,101, 61, 61, 39, 99,104, 97,114, 39, 32,116,104,101,110, 10,114, 101,116,117,114,110, 32, 39,116,111,108,117, 97, 95,105,115, 115,116,114,105,110,103, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46, 39, 44, 39, 46, 46,100, 101,102, 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114, 114, 41, 39, 10,101,108,115,101, 10,114,101,116,117,114,110, 32, 39,116,111,108,117, 97, 95,105,115,116, 97, 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,114, 103, 46, 46, 39, 44, 48, 44, 38,116,111,108,117, 97, 95,101, 114,114, 41, 39, 10,101,110,100, 10,101,108,115,101,105,102, 32,116, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 39,116,111,108,117, 97, 95,105,115, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97, 114,103, 46, 46, 39, 44, 39, 46, 46,100,101,102, 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 39, 10,101, 108,115,101, 10,114,101,116,117,114,110, 32, 39,116,111,108, 117, 97, 95,105,115,117,115,101,114,116,121,112,101, 40,116, 111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46, 39, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121,112, 101, 46, 46, 39, 34, 44, 39, 46, 46,100,101,102, 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 39, 10,101, 110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105, 111,110, 58, 98,117,105,108,100,100,101, 99,108, 97,114, 97, 116,105,111,110, 32, 40,110, 97,114,103, 44, 32, 99,112,108, 117,115,112,108,117,115, 41, 10,108,111, 99, 97,108, 32, 97, 114,114, 97,121, 32, 61, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,116,111,110,117, 109, 98,101,114, 40,115,101,108,102, 46,100,105,109, 41, 61, 61,110,105,108, 10,108,111, 99, 97,108, 32,108,105,110,101, 32, 61, 32, 34, 34, 10,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39, 10,108,111, 99, 97,108, 32,109,111,100, 10,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,115, 101,108,102, 46,116,121,112,101, 10,105,102, 32,115,101,108, 102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101, 110, 10,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115, 101,108,102, 46,116,121,112,101, 44, 39, 99,111,110,115,116, 37,115, 42, 39, 44, 39, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32, 99,116,121,112,101, 32, 61, 32,116,121,112, 101, 10,105,102, 32, 99,116,121,112,101, 61, 61, 34,108,117, 97, 95, 79, 98,106,101, 99,116, 34, 32,111,114, 32, 99,116, 121,112,101, 61, 61, 34,108,117, 97, 95, 70,117,110, 99,116, 105,111,110, 34, 32,116,104,101,110, 10, 99,116,121,112,101, 32, 61, 32, 34,105,110,116, 34, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46,112,116,114,126, 61, 39, 39, 32,116, 104,101,110, 32,112,116,114, 32, 61, 32, 39, 42, 39, 32,101, 110,100, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97, 116,112, 97,114, 97,109, 40,108,105,110,101, 44, 34, 32, 34, 44,115,101,108,102, 46,109,111,100, 44, 99,116,121,112,101, 44,112,116,114, 41, 10,105,102, 32, 97,114,114, 97,121, 32, 116,104,101,110, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 42, 39, 41, 10,101,110,100, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110, 101, 44,115,101,108,102, 46,110, 97,109,101, 41, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,105,102, 32,116,111,110,117,109, 98, 101,114, 40,115,101,108,102, 46,100,105,109, 41,126, 61,110, 105,108, 32,116,104,101,110, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110, 101, 44, 39, 91, 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 93, 59, 39, 41, 10,101,108,115,101, 10,105,102, 32, 99, 112,108,117,115,112,108,117,115, 32,116,104,101,110, 10,108, 105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 32, 61, 32,110,101,119, 39, 44,116,121,112,101, 44,112,116,114, 44, 39, 91, 39, 46, 46,115,101,108,102, 46,100,105,109, 46, 46, 39, 93, 59, 39, 41, 10,101,108,115,101, 10,108,105,110,101, 32, 61, 32, 99, 111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 32, 61, 32, 40, 39, 44,116,121,112,101, 44,112,116, 114, 44, 39, 42, 41, 39, 44, 10, 39,109, 97,108,108,111, 99, 40, 40, 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 41, 42,115,105,122,101,111,102, 40, 39, 44,116,121,112,101, 44, 112,116,114, 44, 39, 41, 41, 59, 39, 41, 10,101,110,100, 10, 101,110,100, 10,101,108,115,101, 10,108,111, 99, 97,108, 32, 116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121,112, 101, 41, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97, 116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 32, 61, 32, 39, 41, 10,105,102, 32,116, 32, 61, 61, 32, 39,115,116, 97,116,101, 39, 32,116,104,101,110, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108, 105,110,101, 44, 32, 39,116,111,108,117, 97, 95, 83, 59, 39, 41, 10,101,108,115,101, 10,105,102, 32,110,111,116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,104, 101,110, 32,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97, 116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 42, 39, 41, 32,101,110,100, 10,108,111, 99, 97,108, 32, 99,116, 32, 61, 32,116,121,112,101, 10,105,102, 32,116, 32, 61, 61, 32, 39,118, 97,108,117,101, 39, 32,111,114, 32,116, 32, 61, 61, 32, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104,101, 110, 10, 99,116, 32, 61, 32, 39,105,110,116, 39, 10,101,110, 100, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116, 112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44, 99,116, 41, 10,105, 102, 32,110,111,116, 32,116, 32,116,104,101,110, 10,108,105, 110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97, 109, 40,108,105,110,101, 44, 39, 42, 39, 41, 10,101,110,100, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 41, 32, 39, 41, 10,105,102, 32,105,115,101,110,117,109, 40,116,121,112,101, 41, 32,116,104,101,110, 10,108,105,110,101, 32, 61, 32, 99, 111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 40,105,110,116, 41, 32, 39, 41, 10,101,110,100, 10, 108,111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10,105, 102, 32,115,101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32,100,101,102, 32, 61, 32,115,101, 108,102, 46,100,101,102, 32,101,110,100, 10,105,102, 32,116, 32,116,104,101,110, 10,105,102, 32,116, 61, 61, 39,102,117, 110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,105,102, 32, 115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 34,116, 111,108,117, 97, 95,105,110,100,101,120, 34, 32,116,104,101, 110, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116, 112, 97,114, 97,109, 40,108,105,110,101, 44, 39,116,111,108, 117, 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116,111,108, 117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 39, 44,100,101,102, 44, 39, 41, 45, 49, 41, 59, 39, 41, 10,101, 108,115,101, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39,116, 111,108,117, 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116, 111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101, 110,100, 10,101,108,115,101, 10,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110, 101, 44, 39,116,111,108,117, 97, 95,116,111,117,115,101,114, 116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 44, 110, 97,114,103, 44, 39, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,101,110, 100, 10,114,101,116,117,114,110, 32,108,105,110,101, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,100, 101, 99,108, 97,114,101, 32, 40,110, 97,114,103, 41, 10,105, 102, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,116,121,112,101, 126, 61, 39, 99,104, 97,114, 39, 32, 97,110,100, 32,116,111, 110,117,109, 98,101,114, 40,115,101,108,102, 46,100,105,109, 41, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116, 112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99, 112,108,117,115,112,108,117,115, 92,110, 39, 41, 10,111,117, 116,112,117,116, 40,115,101,108,102, 58, 98,117,105,108,100, 100,101, 99,108, 97,114, 97,116,105,111,110, 40,110, 97,114, 103, 44,116,114,117,101, 41, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40,115,101,108,102, 58, 98,117,105,108,100,100, 101, 99,108, 97,114, 97,116,105,111,110, 40,110, 97,114,103, 44,102, 97,108,115,101, 41, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101,108, 115,101, 10,111,117,116,112,117,116, 40,115,101,108,102, 58, 98,117,105,108,100,100,101, 99,108, 97,114, 97,116,105,111, 110, 40,110, 97,114,103, 44,102, 97,108,115,101, 41, 41, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116, 105,111,110, 58,103,101,116, 97,114,114, 97,121, 32, 40,110, 97,114,103, 41, 10,105,102, 32,115,101,108,102, 46,100,105, 109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110, 115,116, 32, 39, 44, 39, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,108,111, 99, 97, 108, 32,100,101,102, 59, 32,105,102, 32,115,101,108,102, 46, 100,101,102,126, 61, 39, 39, 32,116,104,101,110, 32,100,101, 102, 61, 49, 32,101,108,115,101, 32,100,101,102, 61, 48, 32, 101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105, 115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10,105,102, 32, 40,116, 41, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,105,102, 32, 40, 33,116,111,108,117, 97, 95, 105,115, 39, 46, 46,116, 46, 46, 39, 97,114,114, 97,121, 40, 116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 44, 39, 44,100,101,102, 44, 39, 44, 38,116,111,108,117, 97, 95, 101,114,114, 41, 41, 39, 41, 10,101,108,115,101, 10,111,117, 116,112,117,116, 40, 39, 32,105,102, 32, 40, 33,116,111,108, 117, 97, 95,105,115,117,115,101,114,116,121,112,101, 97,114, 114, 97,121, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 34, 39, 44,116,121,112,101, 44, 39, 34, 44, 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 44, 39, 44,100,101,102, 44, 39, 44, 38,116,111,108,117, 97, 95, 101,114,114, 41, 41, 39, 41, 10,101,110,100, 10,111,117,116, 112,117,116, 40, 39, 32,103,111,116,111, 32,116,111,108,117, 97, 95,108,101,114,114,111,114, 59, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,101,108,115,101, 92,110, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,110,116, 32, 105, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,102, 111,114, 40,105, 61, 48, 59, 32,105, 60, 39, 46, 46,115,101, 108,102, 46,100,105,109, 46, 46, 39, 59,105, 43, 43, 41, 39, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10,108,111, 99, 97, 108, 32,112,116,114, 32, 61, 32, 39, 39, 10,105,102, 32,115, 101,108,102, 46,112,116,114,126, 61, 39, 39, 32,116,104,101, 110, 32,112,116,114, 32, 61, 32, 39, 42, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44,115,101,108, 102, 46,110, 97,109,101, 46, 46, 39, 91,105, 93, 32, 61, 32, 39, 41, 10,105,102, 32,110,111,116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 32,111, 117,116,112,117,116, 40, 39, 42, 39, 41, 32,101,110,100, 10, 111,117,116,112,117,116, 40, 39, 40, 40, 39, 44,116,121,112, 101, 41, 10,105,102, 32,110,111,116, 32,116, 32,116,104,101, 110, 10,111,117,116,112,117,116, 40, 39, 42, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 41, 32, 39, 41, 10,108,111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10, 105,102, 32,115,101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32,100,101,102, 32, 61, 32,115, 101,108,102, 46,100,101,102, 32,101,110,100, 10,105,102, 32, 116, 32,116,104,101,110, 10,105,102, 32,116, 61, 61, 39,102, 117,110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,111,117, 116,112,117,116, 40, 39,116,111,108,117, 97, 95,116,111,102, 105,101,108,100, 39, 46, 46,116, 46, 46, 39, 40,116,111,108, 117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39,116, 111,108,117, 97, 95,116,111,102,105,101,108,100,117,115,101, 114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 39, 44,100, 101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,110,100, 10,111, 117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,125, 39, 41, 10,101,110,100, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,115, 101,116, 97,114,114, 97,121, 32, 40,110, 97,114,103, 41, 10, 105,102, 32,110,111,116, 32,115,116,114,102,105,110,100, 40, 115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110,115, 116, 39, 41, 32, 97,110,100, 32,115,101,108,102, 46,100,105, 109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110, 115,116, 32, 39, 44, 39, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,110,116, 32,105, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 32,102,111,114, 40,105, 61, 48, 59, 32,105, 60, 39, 46, 46,115,101,108,102, 46,100,105,109, 46, 46, 39, 59, 105, 43, 43, 41, 39, 41, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121, 112,101, 41, 10,105,102, 32,116, 32,116,104,101,110, 10,105, 102, 32,116, 61, 61, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,116, 111,108,117, 97, 95,112,117,115,104,102,105,101,108,100, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 44,115,101,108,102, 46,110, 97, 109,101, 44, 39, 91,105, 93, 41, 59, 39, 41, 10,101,108,115, 101, 10,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115, 112,108,117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95, 111, 98,106, 32, 61, 32,110,101,119, 39, 44,116,121,112,101, 44, 39, 40, 39, 44,115,101,108,102, 46,110, 97,109,101, 44, 39, 91,105, 93, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,102,105, 101,108,100,117,115,101,114,116,121,112,101, 40,116,111,108, 117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44,116,111,108,117, 97, 95, 99,108,111,110,101, 40, 116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,111, 98,106, 44, 39, 46, 46, 32, 40, 95, 99,111,108,108,101, 99, 116, 91,116,121,112,101, 93, 32,111,114, 32, 39, 78, 85, 76, 76, 39, 41, 32, 46, 46, 39, 41, 44, 34, 39, 44,116,121,112, 101, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108, 117, 97, 95,111, 98,106, 32, 61, 32,116,111,108,117, 97, 95, 99,111,112,121, 40,116,111,108,117, 97, 95, 83, 44, 40,118, 111,105,100, 42, 41, 38, 39, 44,115,101,108,102, 46,110, 97, 109,101, 44, 39, 91,105, 93, 44,115,105,122,101,111,102, 40, 39, 44,116,121,112,101, 44, 39, 41, 41, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112, 117,115,104,102,105,101,108,100,117,115,101,114,116,121,112, 101, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114, 103, 44, 39, 44,105, 43, 49, 44,116,111,108,117, 97, 95, 99, 108,111,110,101, 40,116,111,108,117, 97, 95, 83, 44,116,111, 108,117, 97, 95,111, 98,106, 44, 78, 85, 76, 76, 41, 44, 34, 39, 44,116,121,112,101, 44, 39, 34, 41, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32, 116,111,108,117, 97, 95,112,117,115,104,102,105,101,108,100, 117,115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 40,118,111,105,100, 42, 41, 39, 44,115,101,108,102, 46,110, 97,109,101, 44, 39, 91,105, 93, 44, 34, 39, 44,116,121,112, 101, 44, 39, 34, 41, 59, 39, 41, 10,101,110,100, 10,101,110, 100, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116, 105,111,110, 58,102,114,101,101, 97,114,114, 97,121, 32, 40, 41, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,116,111,110,117,109, 98, 101,114, 40,115,101,108,102, 46,100,105,109, 41, 61, 61,110, 105,108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115, 112,108,117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,100,101,108,101,116,101, 32, 91, 93, 39, 44,115, 101,108,102, 46,110, 97,109,101, 44, 39, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,102,114,101,101, 40, 39, 44,115,101,108,102, 46,110, 97,109,101, 44, 39, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110, 100,105,102, 92,110, 39, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,112, 97,115, 115,112, 97,114, 32, 40, 41, 10,108,111, 99, 97,108, 32,110, 97,109,101, 32, 61, 32,115,101,108,102, 46,110, 97,109,101, 10,105,102, 32,115,101,108,102, 46,112,116,114, 61, 61, 39, 38, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 42, 39, 46, 46,110, 97,109,101, 41, 10,101,108,115,101, 105,102, 32,115,101,108,102, 46,114,101,116, 61, 61, 39, 42, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 38, 39, 46, 46,110, 97,109,101, 41, 10,101,108,115,101, 10, 111,117,116,112,117,116, 40,110, 97,109,101, 41, 10,101,110, 100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111, 110, 58,114,101,116,118, 97,108,117,101, 32, 40, 41, 10,105, 102, 32,115,101,108,102, 46,114,101,116, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101, 108,102, 46,116,121,112,101, 41, 10,105,102, 32,116, 32,116, 104,101,110, 10,105,102, 32,116, 61, 61, 39,102,117,110, 99, 116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,105,102, 32,115,101, 108,102, 46,116,121,112,101, 61, 61, 34,116,111,108,117, 97, 95,105,110,100,101,120, 34, 32,116,104,101,110, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117, 115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,115, 101,108,102, 46,110, 97,109,101, 46, 46, 39, 43, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46, 116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,101,110,100, 10, 101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,116, 111,108,117, 97, 95,112,117,115,104,117,115,101,114,116,121, 112,101, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105, 100, 42, 41, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 44, 34, 39, 44,115,101,108,102, 46,116,121,112, 101, 44, 39, 34, 41, 59, 39, 41, 10,101,110,100, 10,114,101, 116,117,114,110, 32, 49, 10,101,110,100, 10,114,101,116,117, 114,110, 32, 48, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98, 108,101, 40,116, 44, 99,108, 97,115,115, 68,101, 99,108, 97, 114, 97,116,105,111,110, 41, 10,116, 58, 98,117,105,108,100, 110, 97,109,101,115, 40, 41, 10,116, 58, 99,104,101, 99,107, 110, 97,109,101, 40, 41, 10,116, 58, 99,104,101, 99,107,116, 121,112,101, 40, 41, 10,114,101,116,117,114,110, 32,116, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 32, 40,115, 44,107,105, 110,100, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 37,115, 42, 61, 37,115, 42, 34, 44, 34, 61, 34, 41, 10, 105,102, 32,107,105,110,100, 32, 61, 61, 32, 34,118, 97,114, 34, 32,116,104,101,110, 10,105,102, 32,115, 32, 61, 61, 32, 39, 39, 32,111,114, 32,115, 32, 61, 61, 32, 39,118,111,105, 100, 39, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110,123,116,121, 112,101, 32, 61, 32, 39,118,111,105,100, 39, 44, 32,107,105, 110,100, 32, 61, 32,107,105,110,100,125, 10,101,110,100, 10, 101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115, 112,108,105,116, 40,115, 44, 39, 37, 42, 37,115, 42, 38, 39, 41, 10,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116, 104,101,110, 10,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,102,117,110, 99, 39, 32,116,104,101,110, 10,101,114,114, 111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,102,117, 110, 99,116,105,111,110, 32,114,101,116,117,114,110, 32,116, 121,112,101, 58, 32, 34, 46, 46,115, 41, 10,101,110,100, 10, 108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10, 114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97, 116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 42, 39, 44, 10, 114,101,116, 32, 61, 32, 39, 38, 39, 44, 10,116,121,112,101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109, 46, 110, 45, 49, 41, 44, 10,107,105,110,100, 32, 61, 32,107,105, 110,100, 10,125, 10,101,110,100, 10,116, 32, 61, 32,115,112, 108,105,116, 40,115, 44, 39, 37, 42, 37,115, 42, 37, 42, 39, 41, 10,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116, 104,101,110, 10,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,102,117,110, 99, 39, 32,116,104,101,110, 10,101,114,114, 111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,102,117, 110, 99,116,105,111,110, 32,114,101,116,117,114,110, 32,116, 121,112,101, 58, 32, 34, 46, 46,115, 41, 10,101,110,100, 10, 108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10, 114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97, 116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 42, 39, 44, 10, 114,101,116, 32, 61, 32, 39, 42, 39, 44, 10,116,121,112,101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109, 46, 110, 45, 49, 41, 44, 10,107,105,110,100, 32, 61, 32,107,105, 110,100, 10,125, 10,101,110,100, 10,116, 32, 61, 32,115,112, 108,105,116, 40,115, 44, 39, 38, 39, 41, 10,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10,114,101, 116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105, 111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 38, 39, 44, 10,116,121, 112,101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10,109,111, 100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44, 109, 46,110, 45, 49, 41, 32, 44, 10,107,105,110,100, 32, 61, 32,107,105,110,100, 10,125, 10,101,110,100, 10,108,111, 99, 97,108, 32,115, 49, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 40, 37, 98, 37, 91, 37, 93, 41, 34, 44,102,117,110, 99, 116,105,111,110, 32, 40,110, 41, 32,114,101,116,117,114,110, 32,103,115,117, 98, 40,110, 44, 39, 37, 42, 39, 44, 39, 92, 49, 39, 41, 32,101,110,100, 41, 10,116, 32, 61, 32,115,112, 108,105,116, 40,115, 49, 44, 39, 37, 42, 39, 41, 10,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10, 116, 91, 50, 93, 32, 61, 32,103,115,117, 98, 40,116, 91, 50, 93, 44, 39, 92, 49, 39, 44, 39, 37, 42, 39, 41, 10,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10,114,101, 116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105, 111,110,123, 10,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 44, 10,112,116,114, 32, 61, 32, 39, 42, 39, 44, 10,116,121, 112,101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10,109,111, 100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44, 109, 46,110, 45, 49, 41, 32, 44, 10,107,105,110,100, 32, 61, 32,107,105,110,100, 10,125, 10,101,110,100, 10,105,102, 32, 107,105,110,100, 32, 61, 61, 32, 39,118, 97,114, 39, 32,116, 104,101,110, 10,116, 32, 61, 32,115,112,108,105,116, 40,115, 44, 39, 37,115, 37,115, 42, 39, 41, 10,108,111, 99, 97,108, 32,118, 10,105,102, 32,102,105,110,100,116,121,112,101, 40, 116, 91,116, 46,110, 93, 41, 32,116,104,101,110, 32,118, 32, 61, 32, 39, 39, 32,101,108,115,101, 32,118, 32, 61, 32,116, 91,116, 46,110, 93, 59, 32,116, 46,110, 32, 61, 32,116, 46, 110, 45, 49, 32,101,110,100, 10,114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,118, 44, 10,116,121,112,101, 32, 61, 32,116, 91,116, 46,110, 93, 44, 10,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,116, 44, 49, 44,116, 46,110, 45, 49, 41, 44, 10,107,105,110,100, 32, 61, 32,107,105,110,100, 10,125, 10,101,108,115,101, 10,116, 32, 61, 32,115,112,108, 105,116, 40,115, 44, 39, 37,115, 37,115, 42, 39, 41, 10,108, 111, 99, 97,108, 32,118, 32, 61, 32,116, 91,116, 46,110, 93, 10,108,111, 99, 97,108, 32,116,112, 44,109,100, 10,105,102, 32,116, 46,110, 62, 49, 32,116,104,101,110, 10,116,112, 32, 61, 32,116, 91,116, 46,110, 45, 49, 93, 10,109,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,116, 44, 49, 44,116, 46,110, 45, 50, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110,123, 10,110, 97,109,101, 32, 61, 32,118, 44, 10,116,121,112,101, 32, 61, 32,116,112, 44, 10,109,111,100, 32, 61, 32,109,100, 44, 10, 107,105,110,100, 32, 61, 32,107,105,110,100, 10,125, 10,101, 110,100, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 32, 61, 32,123, 10, 95,103,101,116, 32, 61, 32,123,125, 44, 10, 95,115,101,116, 32, 61, 32,123,125, 44, 10,125, 10, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 46, 95, 95,105, 110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 86, 97,114, 105, 97, 98,108,101, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 86, 97,114,105, 97, 98, 108,101, 44, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97, 116,105,111,110, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,112, 114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111, 115,101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 86, 97,114,105, 97, 98,108,101,123, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110, 116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112, 101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,112,116,114, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,105,102, 32,115,101,108,102, 46,100,105,109, 32, 116,104,101,110, 32,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,100,105,109, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,100,105,109, 46, 46, 34, 39, 44, 34, 41, 32,101,110,100, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,100,101,102, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,100,101,102, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,114,101,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,114,101,116, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58, 99,102,117,110, 99,110, 97,109,101, 32, 40, 112,114,101,102,105,120, 41, 10,108,111, 99, 97,108, 32,112, 97,114,101,110,116, 32, 61, 32, 34, 34, 10,108,111, 99, 97, 108, 32,117,110,115,105,103,110,101,100, 32, 61, 32, 34, 34, 10,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32, 34, 34, 10,108,111, 99, 97,108, 32,112, 32, 61, 32,115,101,108,102, 58,105,110,109,111,100,117,108,101, 40, 41, 32,111,114, 32, 115,101,108,102, 58,105,110,110, 97,109,101,115,112, 97, 99, 101, 40, 41, 32,111,114, 32,115,101,108,102, 58,105,110, 99, 108, 97,115,115, 40, 41, 10,105,102, 32,112, 32,116,104,101, 110, 10,112, 97,114,101,110,116, 32, 61, 32, 34, 95, 34, 32, 46, 46, 32,112, 10,101,110,100, 10,105,102, 32,115,116,114, 102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 34, 40,117,110,115,105,103,110,101,100, 41, 34, 41, 32,116,104, 101,110, 10,117,110,115,105,103,110,101,100, 32, 61, 32, 34, 95,117,110,115,105,103,110,101,100, 34, 10,101,110,100, 10, 105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 34, 42, 34, 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 34, 95,112,116,114, 34, 10,101,108,115,101,105,102, 32,115, 101,108,102, 46,112,116,114, 32, 61, 61, 32, 34, 38, 34, 32, 116,104,101,110, 32,112,116,114, 32, 61, 32, 34, 95,114,101, 102, 34, 10,101,110,100, 10,108,111, 99, 97,108, 32,110, 97, 109,101, 32, 61, 32,112,114,101,102,105,120, 32, 46, 46, 32, 112, 97,114,101,110,116, 32, 46, 46, 32,117,110,115,105,103, 110,101,100, 32, 46, 46, 32, 34, 95, 34, 32, 46, 46, 32,103, 115,117, 98, 40,115,101,108,102, 46,110, 97,109,101, 44, 34, 46, 42, 58, 58, 34, 44, 34, 34, 41, 32, 46, 46, 32,112,116, 114, 10,114,101,116,117,114,110, 32,110, 97,109,101, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 86, 97,114,105, 97, 98,108,101, 58,105,115,118, 97, 114,105, 97, 98,108,101, 32, 40, 41, 10,114,101,116,117,114, 110, 32,116,114,117,101, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,103,101,116,118, 97,108,117,101, 32, 40, 99, 108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116, 105, 99, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 10,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,114,101,116,117, 114,110, 32, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 10,101,108,115,101, 10,114,101, 116,117,114,110, 32,115,101,108,102, 46,110, 97,109,101, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,103,101,116,112,111,105,110,116,101,114,118, 97,108,117, 101, 32, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32, 115,116, 97,116,105, 99, 32,116,104,101,110, 10,114,101,116, 117,114,110, 32, 99,108, 97,115,115, 46, 46, 39, 58, 58,112, 39, 10,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 116,104,101,110, 10,114,101,116,117,114,110, 32, 39,115,101, 108,102, 45, 62,112, 39, 10,101,108,115,101, 10,114,101,116, 117,114,110, 32, 39,112, 39, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,115,117,112, 99,111,100, 101, 32, 40, 41, 10,108,111, 99, 97,108, 32, 99,108, 97,115, 115, 32, 61, 32,115,101,108,102, 58,105,110, 99,108, 97,115, 115, 40, 41, 10,105,102, 32, 99,108, 97,115,115, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,103, 101,116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115, 101,108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99, 108, 97,115,115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,103,101, 116, 95, 34, 46, 46, 99,108, 97,115,115, 41, 10,101,108,115, 101, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,103,101, 116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,101, 108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10, 115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,103,101,116, 34, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 34,115,116, 97,116, 105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,103, 101,116,110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,108,111, 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46, 109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97,116,105, 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97, 110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32, 116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44, 99,108, 97,115,115, 44, 39, 42, 39, 44, 39,115,101,108, 102, 32, 61, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39, 40, 39, 44, 99,108, 97,115,115, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95, 116,111,117,115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10,101,108,115, 101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,109, 111,100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99, 37, 115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100, 10, 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10, 111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 33,115,101,108,102, 41, 32,116,111,108,117, 97, 95, 101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 105,110,118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,105,110, 32, 97, 99, 99,101,115,115,105,110,103, 32, 118, 97,114,105, 97, 98,108,101, 32, 92, 39, 39, 46, 46,115, 101,108,102, 46,110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10,111,117,116,112,117, 116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101, 110,100, 10,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,105,102, 32,103, 115,117, 98, 40,116,121,112,101, 44, 39, 99,111,110,115,116, 32, 39, 44, 39, 39, 41, 61, 61, 39, 99,104, 97,114, 39, 32, 97,110,100, 32,115,101,108,102, 46,100,105,109,126, 61, 39, 39, 32,116,104,101,110, 10,116,121,112,101, 32, 61, 32, 39, 99,104, 97,114, 42, 39, 10,101,110,100, 10,108,111, 99, 97, 108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10,105,102, 32,116, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108, 117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40, 116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108, 117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 41, 59, 39, 41, 10,101,108,115,101, 10,116, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,111,114, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,117, 115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38, 39, 46, 46,115,101,108, 102, 58,103,101,116,118, 97,108,117,101, 40, 99,108, 97,115, 115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101,108,115,101, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 112,117,115,104,117,115,101,114,116,121,112,101, 40,116,111, 108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101, 110,100, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 49, 59, 39, 41, 10,111,117, 116,112,117,116, 40, 39,125, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 92,110, 39, 41, 10,105,102, 32,110,111,116, 32, 115,116,114,102,105,110,100, 40,115,101,108,102, 46,116,121, 112,101, 44, 39, 99,111,110,115,116, 39, 41, 32,116,104,101, 110, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,115,101,116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108, 102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,108, 97, 115,115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,115,101,108,102, 46, 99,115,101,116,110, 97,109, 101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,115,101,116, 95, 34, 46, 46, 99,108, 97,115,115, 41, 10,101,108,115,101, 10, 111,117,116,112,117,116, 40, 34, 47, 42, 32,115,101,116, 32, 102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,115,101, 108,102, 46, 99,115,101,116,110, 97,109,101, 32, 61, 32,115, 101,108,102, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34, 116,111,108,117, 97, 95,115,101,116, 34, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 34,115,116, 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,115,101,116, 110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116, 101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111, 117,116,112,117,116, 40, 34,123, 34, 41, 10,105,102, 32, 99, 108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112, 117,116, 40, 39, 32, 39, 44, 99,108, 97,115,115, 44, 39, 42, 39, 44, 39,115,101,108,102, 32, 61, 32, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 40, 39, 44, 99,108, 97,115,115, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39, 116,111,108,117, 97, 95,116,111,117,115,101,114,116,121,112, 101, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95, 69,114,114,111, 114, 32,116,111,108,117, 97, 95,101,114,114, 59, 39, 41, 10, 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10, 111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 33,115, 101,108,102, 41, 32,116,111,108,117, 97, 95,101,114,114,111, 114, 40,116,111,108,117, 97, 95, 83, 44, 34,105,110,118, 97, 108,105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,105,110, 32, 97, 99, 99,101,115,115,105,110,103, 32,118, 97,114,105, 97, 98,108,101, 32, 92, 39, 39, 46, 46,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10,101,108,115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95, 44, 95, 44,115, 101,108,102, 46,109,111,100, 32, 61, 32,115,116,114,102,105, 110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 94, 37, 115, 42,115,116, 97,116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 33, 39, 46, 46,115,101,108,102, 58,111,117,116, 99,104,101, 99,107,116,121,112,101, 40, 50, 44,116,114,117,101, 41, 46, 46, 39, 41, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101,114, 114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,118, 105,110,118, 97,108,105,100, 32,116,121,112,101, 32,105,110, 32,118, 97,114,105, 97, 98,108,101, 32, 97,115,115,105,103, 110,109,101,110,116, 46, 34, 44, 38,116,111,108,117, 97, 95, 101,114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,108,111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10,105,102, 32,115, 101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39, 32,116, 104,101,110, 32,100,101,102, 32, 61, 32,115,101,108,102, 46, 100,101,102, 32,101,110,100, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39, 99,104, 97,114, 39, 32, 97,110,100, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,115,116,114,110, 99,112,121, 40, 39, 41, 10, 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46, 115,101,108,102, 46,110, 97,109,101, 41, 10,101,108,115,101, 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10,101,108,115, 101, 10,111,117,116,112,117,116, 40,115,101,108,102, 46,110, 97,109,101, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 44,116,111,108,117, 97, 95,116,111,115,116,114,105, 110,103, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 39, 44, 100,101,102, 44, 39, 41, 44, 39, 44,115,101,108,102, 46,100, 105,109, 44, 39, 45, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39, 10,105,102, 32,115,101,108,102, 46,112,116,114,126, 61, 39, 39, 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 39, 42, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,111,117, 116,112,117,116, 40, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10,101, 108,115,101,105,102, 32, 99,108, 97,115,115, 32,116,104,101, 110, 10,111,117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10, 101,108,115,101, 10,111,117,116,112,117,116, 40,115,101,108, 102, 46,110, 97,109,101, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40, 115,101,108,102, 46,116,121,112,101, 41, 10,111,117,116,112, 117,116, 40, 39, 32, 61, 32, 39, 41, 10,105,102, 32,110,111, 116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 32,111,117,116,112,117,116, 40, 39, 42, 39, 41, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44,115,101, 108,102, 46,116,121,112,101, 41, 10,105,102, 32,110,111,116, 32,116, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 42, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 41, 32, 39, 41, 10,105,102, 32,116, 32,116,104,101, 110, 10,105,102, 32,105,115,101,110,117,109, 40,115,101,108, 102, 46,116,121,112,101, 41, 32,116,104,101,110, 10,111,117, 116,112,117,116, 40, 39, 40,105,110,116, 41, 32, 39, 41, 10, 101,110,100, 10,105,102, 32,116, 61, 61, 39,102,117,110, 99, 116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,111,117,116,112,117, 116, 40, 39,116,111,108,117, 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 39, 44, 100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95, 116,111,117,115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,111,117,116, 112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39,125, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110, 100, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,114, 101,103,105,115,116,101,114, 32, 40, 41, 10,108,111, 99, 97, 108, 32,112, 97,114,101,110,116, 32, 61, 32,115,101,108,102, 58,105,110,109,111,100,117,108,101, 40, 41, 32,111,114, 32, 115,101,108,102, 58,105,110,110, 97,109,101,115,112, 97, 99, 101, 40, 41, 32,111,114, 32,115,101,108,102, 58,105,110, 99, 108, 97,115,115, 40, 41, 10,105,102, 32,110,111,116, 32,112, 97,114,101,110,116, 32,116,104,101,110, 10,105,102, 32, 99, 108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 46, 95,119, 97,114,110,105,110,103, 61, 61,110,105,108, 32,116,104,101, 110, 10,119, 97,114,110,105,110,103, 40, 34, 77, 97,112,112, 105,110,103, 32,118, 97,114,105, 97, 98,108,101, 32,116,111, 32,103,108,111, 98, 97,108, 32,109, 97,121, 32,100,101,103, 114, 97,100,101, 32,112,101,114,102,111,114,109, 97,110, 99, 101, 34, 41, 10, 99,108, 97,115,115, 86, 97,114,105, 97, 98, 108,101, 46, 95,119, 97,114,110,105,110,103, 32, 61, 32, 49, 10,101,110,100, 10,101,110,100, 10,105,102, 32,115,101,108, 102, 46, 99,115,101,116,110, 97,109,101, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,118, 97,114,105, 97, 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97, 109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 39, 46, 46, 115,101,108,102, 46, 99,115,101,116,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95,118, 97,114,105, 97, 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 95, 86, 97,114,105, 97, 98,108,101, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 116, 44, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 41, 10, 97,112,112,101,110,100, 40,116, 41, 10,114,101,116, 117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116, 105,111,110, 32, 86, 97,114,105, 97, 98,108,101, 32, 40,115, 41, 10,114,101,116,117,114,110, 32, 95, 86, 97,114,105, 97, 98,108,101, 32, 40, 68,101, 99,108, 97,114, 97,116,105,111, 110, 40,115, 44, 39,118, 97,114, 39, 41, 41, 10,101,110,100, 32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 65,114,114, 97,121, 32, 61, 32,123, 10,125, 10, 99,108, 97,115,115, 65,114,114, 97,121, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 65, 114,114, 97,121, 10,115,101,116,109,101,116, 97,116, 97, 98, 108,101, 40, 99,108, 97,115,115, 65,114,114, 97,121, 44, 99, 108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115, 115, 65,114,114, 97,121, 58,112,114,105,110,116, 32, 40,105, 100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 65,114,114, 97, 121,123, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,112, 116,114, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,112, 116,114, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105, 100,101,110,116, 46, 46, 34, 32,100,101,102, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100,101,102, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100,105,109, 32, 61, 32, 39, 34, 46, 46,115, 101,108,102, 46,100,105,109, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 114,101,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 114,101,116, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110, 116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99, 108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99,116, 105,111,110, 32, 99,108, 97,115,115, 65,114,114, 97,121, 58, 105,115,118, 97,114,105, 97, 98,108,101, 32, 40, 41, 10,114, 101,116,117,114,110, 32,116,114,117,101, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 65, 114,114, 97,121, 58,103,101,116,118, 97,108,117,101, 32, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 10,105, 102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97, 116,105, 99, 32,116,104,101,110, 10,114,101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46,115, 101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,116,111,108, 117, 97, 95,105,110,100,101,120, 93, 39, 10,101,108,115,101, 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,114, 101,116,117,114,110, 32, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,116, 111,108,117, 97, 95,105,110,100,101,120, 93, 39, 10,101,108, 115,101, 10,114,101,116,117,114,110, 32,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105, 110,100,101,120, 93, 39, 10,101,110,100, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 65, 114,114, 97,121, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10,108,111, 99, 97,108, 32, 99,108, 97,115,115, 32, 61, 32, 115,101,108,102, 58,105,110, 99,108, 97,115,115, 40, 41, 10, 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 34, 47, 42, 32,103,101,116, 32,102, 117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46, 110, 97,109,101, 44, 34, 32,111,102, 32, 99,108, 97,115,115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,103,101,116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,101,110,100, 10,115,101,108,102, 46, 99,103, 101,116,110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99, 102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,103,101,116, 34, 41, 10,111,117,116,112,117,116, 40, 34, 115,116, 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108, 102, 46, 99,103,101,116,110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,111,117,116,112,117,116, 40, 34, 32,105,110,116, 32, 116,111,108,117, 97, 95,105,110,100,101,120, 59, 34, 41, 10, 108,111, 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108, 102, 46,109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97, 116,105, 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105, 108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46, 116,121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,117,115,104,115,116,114,105,110,103, 40,116,111,108, 117, 97, 95, 83, 44, 34, 46,115,101,108,102, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95, 114, 97,119,103,101,116, 40,116,111,108,117, 97, 95, 83, 44, 49, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 115,101,108,102, 32, 61, 32, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 40, 39, 44, 99,108, 97,115,115, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39,108,117, 97, 95,116,111,117,115,101,114,100, 97,116, 97, 40,116,111,108, 117, 97, 95, 83, 44, 45, 49, 41, 59, 39, 41, 10,101,108,115, 101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,109, 111,100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99, 37, 115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100, 10, 111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95,101, 114,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 105,102, 32, 40, 33,116,111,108,117, 97, 95,105,115,110,117, 109, 98,101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 41, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,118,105,110,118, 97,108,105,100, 32,116,121,112, 101, 32,105,110, 32, 97,114,114, 97,121, 32,105,110,100,101, 120,105,110,103, 46, 34, 44, 38,116,111,108,117, 97, 95,101, 114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101, 110,100,105,102, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,105,110,100,101,120, 32, 61, 32, 40,105,110,116, 41,116,111,108,117, 97, 95,116,111, 110,117,109, 98,101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 41, 45, 49, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 32,105,102, 32, 40,116,111,108, 117, 97, 95,105,110,100,101,120, 60, 48, 32,124,124, 32,116, 111,108,117, 97, 95,105,110,100,101,120, 62, 61, 39, 46, 46, 115,101,108,102, 46,100,105,109, 46, 46, 39, 41, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 97,114,114, 97,121, 32,105,110,100,101,120,105,110,103, 32, 111,117,116, 32,111,102, 32,114, 97,110,103,101, 46, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97, 115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10, 105,102, 32,116, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 41, 59, 39, 41, 10,101,108,115,101, 10,116, 32, 61, 32,115,101,108,102, 46, 116,121,112,101, 10,105,102, 32,115,101,108,102, 46,112,116, 114, 32, 61, 61, 32, 39, 38, 39, 32,111,114, 32,115,101,108, 102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101, 110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,117,115,101,114,116,121,112,101, 40, 116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108, 117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,117,115,101,114, 116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 40,118, 111,105,100, 42, 41, 39, 46, 46,115,101,108,102, 58,103,101, 116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,111, 117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 49, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10, 105,102, 32,110,111,116, 32,115,116,114,102,105,110,100, 40, 115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110,115, 116, 39, 41, 32,116,104,101,110, 10,105,102, 32, 99,108, 97, 115,115, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,115,101,116, 32,102,117,110, 99,116,105,111, 110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,108, 97,115,115, 32, 34, 44, 99,108, 97, 115,115, 44, 34, 32, 42, 47, 34, 41, 10,101,108,115,101, 10, 111,117,116,112,117,116, 40, 34, 47, 42, 32,115,101,116, 32, 102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,101,110, 100, 10,115,101,108,102, 46, 99,115,101,116,110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,110, 97, 109,101, 40, 34,116,111,108,117, 97, 95,115,101,116, 34, 41, 10,111,117,116,112,117,116, 40, 34,115,116, 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,115,101,116, 110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116, 101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10,111, 117,116,112,117,116, 40, 34,123, 34, 41, 10,111,117,116,112, 117,116, 40, 39, 32,105,110,116, 32,116,111,108,117, 97, 95, 105,110,100,101,120, 59, 39, 41, 10,108,111, 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116, 114,102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97,116,105, 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115, 116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44, 99,108, 97, 115,115, 44, 39, 42, 39, 44, 39,115,101,108,102, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112, 117,115,104,115,116,114,105,110,103, 40,116,111,108,117, 97, 95, 83, 44, 34, 46,115,101,108,102, 34, 41, 59, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,114, 97, 119,103,101,116, 40,116,111,108,117, 97, 95, 83, 44, 49, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,115,101, 108,102, 32, 61, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39, 40, 39, 44, 99,108, 97,115,115, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39,108,117, 97, 95,116, 111,117,115,101,114,100, 97,116, 97, 40,116,111,108,117, 97, 95, 83, 44, 45, 49, 41, 59, 39, 41, 10,101,108,115,101,105, 102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115, 116,114,102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99, 37,115, 37, 115, 42, 40, 46, 42, 41, 39, 41, 10,101,110,100, 10,111,117, 116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95,101,114,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 33,116,111,108,117, 97, 95,105,115,110,117,109, 98, 101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 41, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,118,105,110,118, 97,108,105,100, 32,116,121,112,101, 32, 105,110, 32, 97,114,114, 97,121, 32,105,110,100,101,120,105, 110,103, 46, 34, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100, 105,102, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,105,110,100,101,120, 32, 61, 32, 40,105,110,116, 41,116,111,108,117, 97, 95,116,111,110,117, 109, 98,101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 41, 45, 49, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,105,102, 32, 40,116,111,108,117, 97, 95,105,110,100,101,120, 60, 48, 32,124,124, 32,116,111,108, 117, 97, 95,105,110,100,101,120, 62, 61, 39, 46, 46,115,101, 108,102, 46,100,105,109, 46, 46, 39, 41, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101,114, 114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 97,114, 114, 97,121, 32,105,110,100,101,120,105,110,103, 32,111,117, 116, 32,111,102, 32,114, 97,110,103,101, 46, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,108,111, 99, 97, 108, 32,112,116,114, 32, 61, 32, 39, 39, 10,105,102, 32,115, 101,108,102, 46,112,116,114,126, 61, 39, 39, 32,116,104,101, 110, 32,112,116,114, 32, 61, 32, 39, 42, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116, 105, 99, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,100,101,120, 93, 39, 41, 10,101,108,115,101, 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,116, 111,108,117, 97, 95,105,110,100,101,120, 93, 39, 41, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95, 105,110,100,101,120, 93, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10,111,117,116, 112,117,116, 40, 39, 32, 61, 32, 39, 41, 10,105,102, 32,110, 111,116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 32,111,117,116,112,117,116, 40, 39, 42, 39, 41, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44,115, 101,108,102, 46,116,121,112,101, 41, 10,105,102, 32,110,111, 116, 32,116, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 42, 39, 41, 10,101,110,100, 10,111,117,116,112,117, 116, 40, 39, 41, 32, 39, 41, 10,108,111, 99, 97,108, 32,100, 101,102, 32, 61, 32, 48, 10,105,102, 32,115,101,108,102, 46, 100,101,102, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32, 100,101,102, 32, 61, 32,115,101,108,102, 46,100,101,102, 32, 101,110,100, 10,105,102, 32,116, 32,116,104,101,110, 10,105, 102, 32,105,115,101,110,117,109, 40,115,101,108,102, 46,116, 121,112,101, 41, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 40,105,110,116, 41, 39, 41, 10,101,110,100, 10, 105,102, 32,116, 61, 61, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,111,117,116,112,117,116, 40, 39,116, 111,108,117, 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116, 111,108,117, 97, 95, 83, 44, 51, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116, 112,117,116, 40, 39,116,111,108,117, 97, 95,116,111,117,115, 101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 51, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10, 101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,114,101, 116,117,114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117, 116, 40, 39,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 65,114,114, 97,121, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10, 105,102, 32,115,101,108,102, 46, 99,115,101,116,110, 97,109, 101, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 97,114,114, 97,121, 40,116,111, 108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46, 108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101, 108,102, 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 39, 46, 46,115,101,108,102, 46, 99,115,101,116,110, 97,109, 101, 46, 46, 39, 41, 59, 39, 41, 10,101,108,115,101, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 97, 114,114, 97,121, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 95, 65,114,114, 97,121, 32, 40,116, 41, 10,115, 101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99, 108, 97,115,115, 65,114,114, 97,121, 41, 10, 97,112,112,101, 110,100, 40,116, 41, 10,114,101,116,117,114,110, 32,116, 10, 101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 65,114, 114, 97,121, 32, 40,115, 41, 10,114,101,116,117,114,110, 32, 95, 65,114,114, 97,121, 32, 40, 68,101, 99,108, 97,114, 97, 116,105,111,110, 40,115, 44, 39,118, 97,114, 39, 41, 41, 10, 101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 32, 61, 32,123, 10,109,111,100, 32, 61, 32, 39, 39, 44, 10,116, 121,112,101, 32, 61, 32, 39, 39, 44, 10,112,116,114, 32, 61, 32, 39, 39, 44, 10,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10, 97,114,103,115, 32, 61, 32,123,110, 61, 48,125, 44, 10, 99,111,110,115,116, 32, 61, 32, 39, 39, 44, 10,125, 10, 99, 108, 97,115,115, 70,117,110, 99,116,105,111,110, 46, 95, 95, 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 70,117, 110, 99,116,105,111,110, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 70,117,110, 99,116, 105,111,110, 44, 99,108, 97,115,115, 70,101, 97,116,117,114, 101, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 70,117,110, 99,116,105,111,110, 58,100,101, 99,108, 116,121,112,101, 32, 40, 41, 10,115,101,108,102, 46,116,121, 112,101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115,101, 108,102, 46,116,121,112,101, 41, 10,105,102, 32,115,116,114, 102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115,116, 39, 41, 32,116,104,101,110, 10,115,101, 108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,111,110,115, 116, 32, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 10, 115,101,108,102, 46,109,111,100, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115, 116, 37,115, 42, 39, 44, 39, 39, 41, 10,101,110,100, 10,108, 111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32, 115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,100, 101, 99,108,116,121,112,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116, 105,111,110, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10, 108,111, 99, 97,108, 32,111,118,101,114,108,111, 97,100, 32, 61, 32,115,116,114,115,117, 98, 40,115,101,108,102, 46, 99, 110, 97,109,101, 44, 45, 50, 44, 45, 49, 41, 32, 45, 32, 49, 10,108,111, 99, 97,108, 32,110,114,101,116, 32, 61, 32, 48, 10,108,111, 99, 97,108, 32, 99,108, 97,115,115, 32, 61, 32, 115,101,108,102, 58,105,110, 99,108, 97,115,115, 40, 41, 10, 108,111, 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,108, 102, 46,109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97, 116,105, 99, 41, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,109,101,116,104,111,100, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,108, 97,115, 115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 34, 47, 42, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115, 101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 34,115,116, 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97, 116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10, 111,117,116,112,117,116, 40, 34,123, 34, 41, 10,105,102, 32, 115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39,116, 111,108,117, 97, 95,109,117,108,116,114,101,116, 39, 32,116, 104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,105,110, 116, 32,116,111,108,117, 97, 95,114,101,116, 59, 39, 41, 10, 101,110,100, 10,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108, 117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95, 101,114,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 92,110, 39, 41, 10,108,111, 99, 97,108, 32,110, 97,114,103, 10,105,102, 32, 99,108, 97,115,115, 32, 116,104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115, 101, 32,110, 97,114,103, 61, 49, 32,101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,102,117,110, 99, 32, 61, 32, 39,116,111,108,117, 97, 95,105,115,117,115,101,114,116,121,112,101, 39, 10,108, 111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,115,101,108, 102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 10,105, 102, 32,115,101,108,102, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,116,121,112,101, 32, 61, 32,115,101,108,102, 46, 99,111,110,115,116, 32, 46, 46, 32, 34, 32, 34, 32, 46, 46, 32,116,121,112,101, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39,110,101,119, 39, 32,111,114, 32,115,116, 97,116,105, 99, 126, 61,110,105,108, 32,116,104,101,110, 10,102,117,110, 99, 32, 61, 32, 39,116,111,108,117, 97, 95,105,115,117,115,101, 114,116, 97, 98,108,101, 39, 10,116,121,112,101, 32, 61, 32, 115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112, 101, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32, 33, 39, 46, 46,102,117,110, 99, 46, 46, 39, 40,116,111,108, 117, 97, 95, 83, 44, 49, 44, 34, 39, 46, 46,116,121,112,101, 46, 46, 39, 34, 44, 48, 44, 38,116,111,108,117, 97, 95,101, 114,114, 41, 32,124,124, 32, 92,110, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,118, 97,114, 97,114,103, 32, 61, 32,102, 97,108,115,101, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115, 101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116, 121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,108,111, 99, 97,108, 32, 98,116,121,112,101, 32, 61, 32, 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114, 103,115, 91,105, 93, 46,116,121,112,101, 41, 10,105,102, 32, 98,116,121,112,101, 32,126, 61, 32, 39,115,116, 97,116,101, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 33, 39, 46, 46,115,101,108,102, 46, 97,114,103,115, 91, 105, 93, 58,111,117,116, 99,104,101, 99,107,116,121,112,101, 40,110, 97,114,103, 44,102, 97,108,115,101, 41, 46, 46, 39, 32,124,124, 32, 92,110, 39, 41, 10,101,110,100, 10,105,102, 32, 98,116,121,112,101, 32,126, 61, 32, 39,115,116, 97,116, 101, 39, 32,116,104,101,110, 10,110, 97,114,103, 32, 61, 32, 110, 97,114,103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32, 105, 43, 49, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,116,104,101,110, 10,118, 97,114, 97,114,103, 32, 61, 32,116,114,117,101, 10,101,110, 100, 10,101,110,100, 10,105,102, 32,110,111,116, 32,118, 97, 114, 97,114,103, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32, 33,116,111,108,117, 97, 95,105,115,110,111, 111, 98,106, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46, 110, 97,114,103, 46, 46, 39, 44, 38,116,111,108,117, 97, 95, 101,114,114, 41, 92,110, 39, 41, 10,101,108,115,101, 10,111, 117,116,112,117,116, 40, 39, 32, 48, 92,110, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32, 41, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,103,111,116,111, 32, 116,111,108,117, 97, 95,108,101,114,114,111,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,101,108,115,101, 92, 110, 39, 41, 10,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,108,111, 99, 97,108, 32,110, 97,114,103, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115,101, 32,110, 97,114,103, 61, 49, 32, 101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110, 100, 32,115,101,108,102, 46,110, 97,109,101,126, 61, 39,110, 101,119, 39, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32, 39, 44,115,101,108,102, 46, 99,111,110,115, 116, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116, 121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 32, 61, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39, 40, 39, 44, 115,101,108,102, 46, 99,111,110,115,116, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39,116,111, 108,117, 97, 95,116,111,117,115,101,114,116,121,112,101, 40, 116,111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10,101,108,115,101,105,102, 32,115,116, 97,116,105, 99, 32, 116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102, 46,109, 111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101, 108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,116, 97, 116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10, 101,110,100, 10,105,102, 32,115,101,108,102, 46, 97,114,103, 115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32, 39,118, 111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 58,100,101, 99,108, 97,114,101, 40,110, 97,114,103, 41, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 41, 32,126, 61, 32, 34,115, 116, 97,116,101, 34, 32,116,104,101,110, 10,110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10, 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,101, 108,102, 46,110, 97,109,101,126, 61, 39,110,101,119, 39, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 35, 105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 32,105,102, 32, 40, 33,115,101,108,102, 41, 32, 116,111,108,117, 97, 95,101,114,114,111,114, 40,116,111,108, 117, 97, 95, 83, 44, 34,105,110,118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,105,110, 32,102,117,110, 99, 116,105,111,110, 32, 92, 39, 39, 46, 46,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10,111,117,116,112,117,116, 40, 39, 35, 101,110,100,105,102, 92,110, 39, 41, 10,101,110,100, 10,105, 102, 32, 99,108, 97,115,115, 32,116,104,101,110, 32,110, 97, 114,103, 61, 50, 32,101,108,115,101, 32,110, 97,114,103, 61, 49, 32,101,110,100, 10,105,102, 32,115,101,108,102, 46, 97, 114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32, 115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121, 112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10, 105,102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 41, 32, 126, 61, 32, 34,115,116, 97,116,101, 34, 32,116,104,101,110, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,103, 101,116, 97,114,114, 97,121, 40,110, 97,114,103, 41, 10,110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10,101,110, 100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101, 110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39,100,101, 108,101,116,101, 39, 32,116,104,101,110, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95,114,101,108,101, 97,115,101, 40,116,111,108,117, 97, 95, 83, 44,115,101,108, 102, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 100,101,108,101,116,101, 32,115,101,108,102, 59, 39, 41, 10, 101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 97,110, 100, 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39,111,112,101,114, 97,116,111,114, 38, 91, 93, 39, 32,116, 104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,115,101, 108,102, 45, 62,111,112,101,114, 97,116,111,114, 91, 93, 40, 39, 44,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46, 110, 97,109,101, 44, 39, 45, 49, 41, 32, 61, 32, 39, 44,115, 101,108,102, 46, 97,114,103,115, 91, 50, 93, 46,110, 97,109, 101, 44, 39, 59, 39, 41, 10,101,108,115,101, 10,111,117,116, 112,117,116, 40, 39, 32,123, 39, 41, 10,105,102, 32,115,101, 108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97, 110,100, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 99,116,121,112,101, 32, 61, 32,115,101,108, 102, 46,116,121,112,101, 10,105,102, 32, 99,116,121,112,101, 32, 61, 61, 32, 39,118, 97,108,117,101, 39, 32,111,114, 32, 99,116,121,112,101, 32, 61, 61, 32, 39,102,117,110, 99,116, 105,111,110, 39, 32,116,104,101,110, 10, 99,116,121,112,101, 32, 61, 32, 39,105,110,116, 39, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39, 116,111,108,117, 97, 95,109,117,108,116,114,101,116, 39, 32, 116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,116, 111,108,117, 97, 95,114,101,116, 32, 61, 32, 39, 41, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44, 115,101,108,102, 46,109,111,100, 44, 99,116,121,112,101, 44, 115,101,108,102, 46,112,116,114, 44, 39,116,111,108,117, 97, 95,114,101,116, 32, 61, 32, 39, 41, 10,101,110,100, 10,105, 102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 116,121,112,101, 41, 32,111,114, 32,115,101,108,102, 46,112, 116,114, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39, 40, 39, 44,115,101,108,102, 46, 109,111,100, 44, 99,116,121,112,101, 44,115,101,108,102, 46, 112,116,114, 44, 39, 41, 32, 39, 41, 10,101,110,100, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40, 39, 32, 39, 41, 10,101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97, 110,100, 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39, 110,101,119, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39,110,101,119, 39, 44,115,101,108,102, 46,116,121, 112,101, 44, 39, 40, 39, 41, 10,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 99, 108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 46,115,101,108, 102, 46,110, 97,109,101, 44, 39, 40, 39, 41, 10,101,108,115, 101,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10, 111,117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 44, 39, 40, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40,115, 101,108,102, 46,110, 97,109,101, 44, 39, 40, 39, 41, 10,101, 110,100, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104, 105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,112, 97,115,115,112, 97,114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32,115,101,108, 102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 32, 126, 61, 32, 34, 46, 46, 46, 34, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39, 44, 39, 41, 10,101,110,100, 10, 101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110, 100, 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39,111,112,101,114, 97,116,111,114, 91, 93, 39, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 39, 45, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 41, 59, 39, 41, 10,101,110,100, 10,105,102, 32,115,101, 108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97, 110,100, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32, 97,110,100, 32,115,101,108, 102, 46,116,121,112,101, 32,126, 61, 32, 39,116,111,108,117, 97, 95,109,117,108,116,114,101,116, 39, 32,116,104,101,110, 10,110,114,101,116, 32, 61, 32,110,114,101,116, 32, 43, 32, 49, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32, 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121, 112,101, 41, 10,105,102, 32,116, 32,116,104,101,110, 10,105, 102, 32,116, 61, 61, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,105,102, 32,115,101,108,102, 46,116,121, 112,101, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,105,110, 100,101,120, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,105,102, 32, 40,116,111,108,117, 97, 95,114, 101,116, 32, 60, 32, 48, 41, 32,108,117, 97, 95,112,117,115, 104,110,105,108, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,101,108,115,101, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41,116,111,108,117, 97, 95,114,101,116, 43, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41,116,111,108,117, 97, 95, 114,101,116, 41, 59, 39, 41, 10,101,110,100, 10,101,108,115, 101, 10,116, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112, 108,117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,111, 98,106, 32, 61, 32,110,101,119, 39, 44,116, 44, 39, 40,116, 111,108,117, 97, 95,114,101,116, 41, 59, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117, 115,104,117,115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95, 99,108,111,110,101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95, 111, 98,106, 44, 39, 46, 46, 32, 40, 95, 99,111,108,108,101, 99,116, 91,116, 93, 32,111,114, 32, 39, 78, 85, 76, 76, 39, 41, 32, 46, 46, 39, 41, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,108, 115,101, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,111, 98, 106, 32, 61, 32,116,111,108,117, 97, 95, 99,111,112,121, 40, 116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38,116,111,108,117, 97, 95,114,101,116, 44,115,105,122,101, 111,102, 40, 39, 44,116, 44, 39, 41, 41, 59, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112, 117,115,104,117,115,101,114,116,121,112,101, 40,116,111,108, 117, 97, 95, 83, 44,116,111,108,117, 97, 95, 99,108,111,110, 101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,111, 98,106, 44, 78, 85, 76, 76, 41, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,125, 39, 41, 10,101,108,115,101,105, 102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104,117,115,101, 114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44, 40, 118,111,105,100, 42, 41, 38,116,111,108,117, 97, 95,114,101, 116, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,116,111, 108,117, 97, 95,112,117,115,104,117,115,101,114,116,121,112, 101, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41,116,111,108,117, 97, 95,114,101,116, 44, 34, 39, 44, 116, 44, 39, 34, 41, 59, 39, 41, 10,105,102, 32,115,101,108, 102, 46,109,111,100, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,111,119,110, 39, 32,116,104,101,110, 10,111,117,116,112, 117,116, 40, 39, 32,108,117, 97, 95,112,117,115,104, 99,102, 117,110, 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 32,116,111,108,117, 97, 95, 98,110,100, 95,116, 97,107, 101,111,119,110,101,114,115,104,105,112, 41, 59, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,117, 115,104,118, 97,108,117,101, 40,116,111,108,117, 97, 95, 83, 44, 32, 45, 50, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95, 99, 97,108,108, 40,116,111,108, 117, 97, 95, 83, 44, 32, 49, 44, 32, 48, 41, 59, 39, 41, 10, 101,110,100, 10,101,110,100, 10,101,110,100, 10,101,110,100, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108, 101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 100,111, 10,110,114,101,116, 32, 61, 32,110,114,101,116, 32, 43, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58, 114,101,116,118, 97,108,117,101, 40, 41, 10,105, 32, 61, 32, 105, 43, 49, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 116,104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115, 101, 32,110, 97,114,103, 61, 49, 32,101,110,100, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116, 121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116, 104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119, 104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91, 105, 93, 32,100,111, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46, 116,121,112,101, 41, 32,126, 61, 32, 34,115,116, 97,116,101, 34, 32,116,104,101,110, 10,115,101,108,102, 46, 97,114,103, 115, 91,105, 93, 58,115,101,116, 97,114,114, 97,121, 40,110, 97,114,103, 41, 10,110, 97,114,103, 32, 61, 32,110, 97,114, 103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,105,102, 32,115,101,108, 102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101, 32, 126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10, 108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100, 111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58, 102,114,101,101, 97,114,114, 97,121, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,101,110, 100, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10, 105,102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 34,116,111,108,117, 97, 95,109,117,108,116,114,101,116, 34, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,110,114,101,116, 46, 46, 39, 32, 43, 32,116,111,108,117, 97, 95,114,101,116, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,110,114, 101,116, 46, 46, 39, 59, 39, 41, 10,101,110,100, 10,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116, 104,101,110, 10,111,117,116,112,117,116, 40, 39, 35,105,102, 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95,108,101,114,114,111,114, 58, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111, 108,117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,102,101,114,114,111,114, 32,105,110, 32, 102,117,110, 99,116,105,111,110, 32, 92, 39, 39, 46, 46,115, 101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 92, 39, 46, 34, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117, 114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101,108,115, 101, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95,108,101,114,114,111,114, 58, 92,110, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,115,116,114,115,117, 98, 40,115,101,108,102, 46, 99, 110, 97,109,101, 44, 49, 44, 45, 51, 41, 46, 46,102,111,114, 109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,111,118,101,114, 108,111, 97,100, 41, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,101,110,100, 10,111,117,116,112,117, 116, 40, 39,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111, 110, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,102, 117,110, 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70, 117,110, 99,116,105,111,110, 58,112,114,105,110,116, 32, 40, 105,100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114, 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 70,117,110, 99,116,105,111,110,123, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,112,116,114, 32, 61, 32, 39, 34, 46, 46,115,101, 108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,108,110, 97, 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108, 110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 99,111,110, 115,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 99, 111,110,115,116, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 99,110, 97, 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 99, 110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,108,110, 97, 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108, 110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 97,114,103, 115, 32, 61, 32,123, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 46, 97, 114,103,115, 91,105, 93, 32,100,111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,112,114,105,110,116, 40,105, 100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10, 105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,125, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70, 117,110, 99,116,105,111,110, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41, 10, 108,111, 99, 97,108, 32,114, 32, 61, 32,102, 97,108,115,101, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,110,111,116, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 32, 97,110,100, 32,115,101,108,102, 46,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108, 102, 46,116,121,112,101, 44, 34, 37,115, 42, 99,111,110,115, 116, 37,115, 42, 34, 44, 34, 34, 41, 10,116, 91,116,121,112, 101, 93, 32, 61, 32, 34,116,111,108,117, 97, 95, 99,111,108, 108,101, 99,116, 95, 34, 32, 46, 46, 32,103,115,117, 98, 40, 116,121,112,101, 44, 34, 58, 58, 34, 44, 34, 95, 34, 41, 10, 114, 32, 61, 32,116,114,117,101, 10,101,110,100, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115, 101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10, 114, 32, 61, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99, 116,105,111,110, 40,116, 41, 32,111,114, 32,114, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,114,101,116,117,114, 110, 32,114, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 58,111,118,101,114,108,111, 97,100, 32, 40, 41, 10,114,101, 116,117,114,110, 32,115,101,108,102, 46,112, 97,114,101,110, 116, 58,111,118,101,114,108,111, 97,100, 40,115,101,108,102, 46,108,110, 97,109,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 70,117,110, 99,116,105,111,110, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98, 108,101, 40,116, 44, 99,108, 97,115,115, 70,117,110, 99,116, 105,111,110, 41, 10,105,102, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 99,111,110,115,116, 39, 32, 97,110,100, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 39, 32, 116,104,101,110, 10,101,114,114,111,114, 40, 34, 35,105,110, 118, 97,108,105,100, 32, 39, 99,111,110,115,116, 39, 32,115, 112,101, 99,105,102,105, 99, 97,116,105,111,110, 34, 41, 10, 101,110,100, 10, 97,112,112,101,110,100, 40,116, 41, 10,105, 102, 32,116, 58,105,110, 99,108, 97,115,115, 40, 41, 32,116, 104,101,110, 10,105,102, 32,116, 46,110, 97,109,101, 32, 61, 61, 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 32,116,104,101,110, 10,116, 46,110, 97,109,101, 32, 61, 32, 39,110,101,119, 39, 10,116, 46,108,110, 97,109,101, 32, 61, 32, 39,110,101,119, 39, 10,105,102, 32,115,116,114,105,110, 103, 46,102,105,110,100, 40,116, 46,116,121,112,101, 44, 34, 116,111,108,117, 97, 95,111,119,110, 34, 41, 32,116,104,101, 110, 10,116, 46,109,111,100, 32, 61, 32, 34,116,111,108,117, 97, 95,111,119,110, 34, 10,101,110,100, 10,116, 46,116,121, 112,101, 32, 61, 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 10,116, 46,112,116,114, 32, 61, 32, 39, 42, 39, 10,101,108,115,101,105,102, 32,116, 46,110, 97,109,101, 32, 61, 61, 32, 39,126, 39, 46, 46,116, 46,112, 97,114,101,110, 116, 46,110, 97,109,101, 32,116,104,101,110, 10,116, 46,110, 97,109,101, 32, 61, 32, 39,100,101,108,101,116,101, 39, 10, 116, 46,108,110, 97,109,101, 32, 61, 32, 39,100,101,108,101, 116,101, 39, 10,116, 46,112, 97,114,101,110,116, 46, 95,100, 101,108,101,116,101, 32, 61, 32,116,114,117,101, 10,101,108, 115,101,105,102, 32,116, 46,116,121,112,101, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,108,101,110, 39, 32,116,104,101, 110, 10,116, 46,108,110, 97,109,101, 32, 61, 32, 34, 46,108, 101,110, 34, 10,101,110,100, 10,101,110,100, 10,116, 46, 99, 110, 97,109,101, 32, 61, 32,116, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 34, 41, 46, 46,116, 58,111,118,101,114,108,111, 97,100, 40,116, 41, 10,114,101, 116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 70,117,110, 99,116,105,111,110, 32, 40, 100, 44, 97, 44, 99, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,115,116,114,115,117, 98, 40, 97, 44, 50, 44, 45, 50, 41, 44, 39, 44, 39, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,119,104,105,108,101, 32, 116, 91,105, 93, 32,100,111, 10,108, 46,110, 32, 61, 32,108, 46,110, 43, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32, 68, 101, 99,108, 97,114, 97,116,105,111,110, 40,116, 91,105, 93, 44, 39,118, 97,114, 39, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,108,111, 99, 97,108, 32,102, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,100, 44, 39, 102,117,110, 99, 39, 41, 10,102, 46, 97,114,103,115, 32, 61, 32,108, 10,102, 46, 99,111,110,115,116, 32, 61, 32, 99, 10, 114,101,116,117,114,110, 32, 95, 70,117,110, 99,116,105,111, 110, 40,102, 41, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 79,112,101,114, 97,116,111,114, 32, 61, 32,123, 10,107,105,110,100, 32, 61, 32, 39, 39, 44, 10, 125, 10, 99,108, 97,115,115, 79,112,101,114, 97,116,111,114, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115, 115, 79,112,101,114, 97,116,111,114, 10,115,101,116,109,101, 116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 79,112, 101,114, 97,116,111,114, 44, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 41, 10, 95, 84, 77, 32, 61, 32,123, 91, 39, 43, 39, 93, 32, 61, 32, 39, 97,100,100, 39, 44, 10, 91, 39, 45, 39, 93, 32, 61, 32, 39,115,117, 98, 39, 44, 10, 91, 39, 42, 39, 93, 32, 61, 32, 39,109,117,108, 39, 44, 10, 91, 39, 47, 39, 93, 32, 61, 32, 39,100,105,118, 39, 44, 10, 91, 39, 60, 39, 93, 32, 61, 32, 39,108,116, 39, 44, 10, 91, 39, 60, 61, 39, 93, 32, 61, 32, 39,108,101, 39, 44, 10, 91, 39, 61, 61, 39, 93, 32, 61, 32, 39,101,113, 39, 44, 10, 91, 39, 91, 93, 39, 93, 32, 61, 32, 39,103,101,116,105, 39, 44, 10, 91, 39, 38, 91, 93, 39, 93, 32, 61, 32, 39,115,101,116,105, 39, 44, 10,125, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 79,112,101,114, 97,116,111,114, 58,112,114, 105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115, 101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 79,112,101,114, 97,116,111,114,123, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,107, 105,110,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 107,105,110,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105, 100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101, 110,116, 46, 46, 34, 32,112,116,114, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101, 108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 99,111,110,115,116, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46, 99,111,110,115,116, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 99,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46, 99,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108, 102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 97,114,103,115, 32, 61, 32,123, 34, 41, 10,108,111, 99, 97, 108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108, 102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 58,112,114,105,110, 116, 40,105,100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10, 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 125, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 79,112, 101,114, 97,116,111,114, 32, 40,116, 41, 10,115,101,116,109, 101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115, 115, 79,112,101,114, 97,116,111,114, 41, 10,105,102, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 99,111,110,115, 116, 39, 32, 97,110,100, 32,116, 46, 99,111,110,115,116, 32, 126, 61, 32, 39, 39, 32,116,104,101,110, 10,101,114,114,111, 114, 40, 34, 35,105,110,118, 97,108,105,100, 32, 39, 99,111, 110,115,116, 39, 32,115,112,101, 99,105,102,105, 99, 97,116, 105,111,110, 34, 41, 10,101,110,100, 10, 97,112,112,101,110, 100, 40,116, 41, 10,105,102, 32,110,111,116, 32,116, 58,105, 110, 99,108, 97,115,115, 40, 41, 32,116,104,101,110, 10,101, 114,114,111,114, 40, 34, 35,111,112,101,114, 97,116,111,114, 32, 99, 97,110, 32,111,110,108,121, 32, 98,101, 32,100,101, 102,105,110,101,100, 32, 97,115, 32, 99,108, 97,115,115, 32, 109,101,109, 98,101,114, 34, 41, 10,101,110,100, 10,116, 46, 110, 97,109,101, 32, 61, 32,116, 46,110, 97,109,101, 32, 46, 46, 32, 34, 95, 34, 32, 46, 46, 32, 95, 84, 77, 91,116, 46, 107,105,110,100, 93, 10,116, 46, 99,110, 97,109,101, 32, 61, 32,116, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116, 111,108,117, 97, 34, 41, 46, 46,116, 58,111,118,101,114,108, 111, 97,100, 40,116, 41, 10,116, 46,110, 97,109,101, 32, 61, 32, 34,111,112,101,114, 97,116,111,114, 34, 32, 46, 46, 32, 116, 46,107,105,110,100, 10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 79, 112,101,114, 97,116,111,114, 32, 40,100, 44,107, 44, 97, 44, 99, 41, 10,108,111, 99, 97,108, 32,114,101,102, 32, 61, 32, 39, 39, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112, 108,105,116, 40,115,116,114,115,117, 98, 40, 97, 44, 50, 44, 115,116,114,108,101,110, 40, 97, 41, 45, 49, 41, 44, 39, 44, 39, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,119, 104,105,108,101, 32,116, 91,105, 93, 32,100,111, 10,108, 46, 110, 32, 61, 32,108, 46,110, 43, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,116, 91,105, 93, 44, 39,118, 97,114, 39, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,105,102, 32,107, 32, 61, 61, 32, 39, 91, 93, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 95, 10, 95, 44, 32, 95, 44, 32,114,101,102, 32, 61, 32,115,116,114,102,105,110,100, 40,100, 44, 39, 40, 38, 41, 39, 41, 10,100, 32, 61, 32,103,115,117, 98, 40,100, 44, 39, 38, 39, 44, 39, 39, 41, 10,101,108,115,101,105,102, 32,107, 61, 61, 39, 38, 91, 93, 39, 32,116,104,101,110, 10, 108, 46,110, 32, 61, 32,108, 46,110, 43, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105, 111,110, 40,100, 44, 39,118, 97,114, 39, 41, 10,108, 91,108, 46,110, 93, 46,110, 97,109,101, 32, 61, 32, 39,116,111,108, 117, 97, 95,118, 97,108,117,101, 39, 10,101,110,100, 10,108, 111, 99, 97,108, 32,102, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,100, 44, 39,102,117,110, 99, 39, 41, 10,105,102, 32,107, 32, 61, 61, 32, 39, 91, 93, 39, 32, 97, 110,100, 32, 40,108, 91, 49, 93, 61, 61,110,105,108, 32,111, 114, 32,105,115, 98, 97,115,105, 99, 40,108, 91, 49, 93, 46, 116,121,112,101, 41,126, 61, 39,110,117,109, 98,101,114, 39, 41, 32,116,104,101,110, 10,101,114,114,111,114, 40, 39,111, 112,101,114, 97,116,111,114, 91, 93, 32, 99, 97,110, 32,111, 110,108,121, 32, 98,101, 32,100,101,102,105,110,101,100, 32, 102,111,114, 32,110,117,109,101,114,105, 99, 32,105,110,100, 101,120, 46, 39, 41, 10,101,110,100, 10,102, 46, 97,114,103, 115, 32, 61, 32,108, 10,102, 46, 99,111,110,115,116, 32, 61, 32, 99, 10,102, 46,107,105,110,100, 32, 61, 32,103,115,117, 98, 40,107, 44, 34, 37,115, 34, 44, 34, 34, 41, 10,105,102, 32,110,111,116, 32, 95, 84, 77, 91,102, 46,107,105,110,100, 93, 32,116,104,101,110, 10,101,114,114,111,114, 40, 34,116, 111,108,117, 97, 58, 32,110,111, 32,115,117,112,112,111,114, 116, 32,102,111,114, 32,111,112,101,114, 97,116,111,114, 34, 32, 46, 46, 32,102, 46,107,105,110,100, 41, 10,101,110,100, 10,102, 46,108,110, 97,109,101, 32, 61, 32, 34, 46, 34, 46, 46, 95, 84, 77, 91,102, 46,107,105,110,100, 93, 10,105,102, 32,102, 46,107,105,110,100, 32, 61, 61, 32, 39, 91, 93, 39, 32, 97,110,100, 32,114,101,102, 61, 61, 39, 38, 39, 32, 97, 110,100, 32,102, 46, 99,111,110,115,116,126, 61, 39, 99,111, 110,115,116, 39, 32,116,104,101,110, 10, 79,112,101,114, 97, 116,111,114, 40,100, 44, 39, 38, 39, 46, 46,107, 44, 97, 44, 99, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32, 95, 79,112,101,114, 97,116,111,114, 40,102, 41, 10,101,110,100, 32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 99,108, 97,115,115, 67,108, 97,115,115, 32, 61, 32,123, 10, 99,108, 97,115,115,116,121,112,101, 32, 61, 32, 39, 99, 108, 97,115,115, 39, 44, 10,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10, 98, 97,115,101, 32, 61, 32, 39, 39, 44, 10,116, 121,112,101, 32, 61, 32, 39, 39, 44, 10, 98,116,121,112,101, 32, 61, 32, 39, 39, 44, 10, 99,116,121,112,101, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 67,108, 97,115, 115, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97, 115,115, 67,108, 97,115,115, 10,115,101,116,109,101,116, 97, 116, 97, 98,108,101, 40, 99,108, 97,115,115, 67,108, 97,115, 115, 44, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101, 114, 41, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97, 115,115, 67,108, 97,115,115, 58,114,101,103,105,115,116,101, 114, 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,105,102, 32, 95, 99,111,108,108,101, 99,116, 91,115,101, 108,102, 46,116,121,112,101, 93, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 99, 99,108, 97,115,115, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121, 112,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46, 98,116,121,112,101, 46, 46, 39, 34, 44, 39, 46, 46, 95, 99,111,108,108,101, 99,116, 91,115,101,108,102, 46,116,121, 112,101, 93, 46, 46, 39, 41, 59, 39, 41, 10,111,117,116,112, 117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 99, 99,108, 97,115,115, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121,112, 101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46, 98,116,121,112,101, 46, 46, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110, 100,105,102, 92,110, 39, 41, 10,101,108,115,101, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 99, 99, 108, 97,115,115, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46, 98, 116,121,112,101, 46, 46, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95, 98,101,103,105,110,109,111,100, 117,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 41, 59, 39, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10, 119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100, 111, 10,115,101,108,102, 91,105, 93, 58,114,101,103,105,115, 116,101,114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108, 117, 97, 95,101,110,100,109,111,100,117,108,101, 40,116,111, 108,117, 97, 95, 83, 41, 59, 39, 41, 10,112,111,112, 40, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 108, 97,115,115, 67,108, 97,115,115, 58,114,101,113,117,105, 114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,108,111, 99, 97,108, 32,114, 32, 61, 32,102, 97,108,115,101, 10,108, 111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32, 115,101,108,102, 91,105, 93, 32,100,111, 10,114, 32, 61, 32, 115,101,108,102, 91,105, 93, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,110, 40,116, 41, 32,111, 114, 32,114, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111,112, 40, 41, 10,105,102, 32,115,101,108,102, 46, 95,100,101,108,101,116,101, 32,116,104,101,110, 10,116, 91, 115,101,108,102, 46,116,121,112,101, 93, 32, 61, 32, 34,116, 111,108,117, 97, 95, 99,111,108,108,101, 99,116, 95, 34, 32, 46, 46, 32,103,115,117, 98, 40,115,101,108,102, 46,116,121, 112,101, 44, 34, 58, 58, 34, 44, 34, 95, 34, 41, 10,114, 32, 61, 32,116,114,117,101, 10,101,110,100, 10,114,101,116,117, 114,110, 32,114, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 99,108, 97,115,115, 67,108, 97,115,115, 58,100, 101, 99,108,116,121,112,101, 32, 40, 41, 10,112,117,115,104, 40,115,101,108,102, 41, 10,115,101,108,102, 46,116,121,112, 101, 32, 61, 32,114,101,103,116,121,112,101, 40,115,101,108, 102, 46,110, 97,109,101, 41, 10,115,101,108,102, 46, 98,116, 121,112,101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115, 101,108,102, 46, 98, 97,115,101, 41, 10,115,101,108,102, 46, 99,116,121,112,101, 32, 61, 32, 39, 99,111,110,115,116, 32, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115, 101,108,102, 91,105, 93, 32,100,111, 10,115,101,108,102, 91, 105, 93, 58,100,101, 99,108,116,121,112,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,111,112, 40, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,108, 97,115,115, 58,112,114,105,110, 116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 67,108, 97,115,115,123, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100, 101,110,116, 46, 46, 34, 32, 98, 97,115,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 98, 97,115,101, 46, 46, 34, 39, 59, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110, 116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 98,116,121,112,101, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46, 98,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32, 99,116,121,112,101, 32, 61, 32, 39, 34, 46, 46, 115,101,108,102, 46, 99,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104, 105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 115,101,108,102, 91,105, 93, 58,112,114,105,110,116, 40,105, 100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10, 105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,112,114,105, 110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 95, 67,108, 97,115,115, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 67,108, 97,115,115, 41, 10,116, 58, 98,117,105,108,100,110, 97,109,101,115, 40, 41, 10, 97,112, 112,101,110,100, 40,116, 41, 10,114,101,116,117,114,110, 32, 116, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 67,108, 97,115,115, 32, 40,110, 44,112, 44, 98, 41, 10,108, 111, 99, 97,108, 32, 99, 32, 61, 32, 95, 67,108, 97,115,115, 40, 95, 67,111,110,116, 97,105,110,101,114,123,110, 97,109, 101, 61,110, 44, 32, 98, 97,115,101, 61,112,125, 41, 10,112, 117,115,104, 40, 99, 41, 10, 99, 58,112, 97,114,115,101, 40, 115,116,114,115,117, 98, 40, 98, 44, 50, 44,115,116,114,108, 101,110, 40, 98, 41, 45, 49, 41, 41, 10,112,111,112, 40, 41, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10, 83, 84, 82, 49, 32, 61, 32, 34, 92, 48, 48, 49, 34, 10, 83, 84, 82, 50, 32, 61, 32, 34, 92, 48, 48, 50, 34, 10, 83, 84, 82, 51, 32, 61, 32, 34, 92, 48, 48, 51, 34, 10, 83, 84, 82, 52, 32, 61, 32, 34, 92, 48, 48, 52, 34, 10, 82, 69, 77, 32, 61, 32, 34, 92, 48, 48, 53, 34, 10, 65, 78, 89, 32, 61, 32, 34, 40, 91, 92, 48, 48, 49, 45, 92, 48, 48, 53, 93, 41, 34, 10, 69, 83, 67, 49, 32, 61, 32, 34, 92, 48, 48, 54, 34, 10, 69, 83, 67, 50, 32, 61, 32, 34, 92, 48, 48, 55, 34, 10, 77, 65, 83, 75, 32, 61, 32,123, 10,123, 69, 83, 67, 49, 44, 32, 34, 92, 92, 39, 34, 44, 32, 34, 92, 92, 39, 34,125, 44, 10,123, 69, 83, 67, 50, 44, 32, 39, 92, 92, 34, 39, 44, 32, 39, 92, 92, 34, 39,125, 44, 10,123, 83, 84, 82, 49, 44, 32, 34, 39, 34, 44, 32, 34, 39, 34,125, 44, 10,123, 83, 84, 82, 50, 44, 32, 39, 34, 39, 44, 32, 39, 34, 39,125, 44, 10,123, 83, 84, 82, 51, 44, 32, 34, 37, 91, 37, 91, 34, 44, 32, 34, 91, 91, 34,125, 44, 10,123, 83, 84, 82, 52, 44, 32, 34, 37, 93, 37, 93, 34, 44, 32, 34, 93, 93, 34,125, 44, 10,123, 82, 69, 77, 32, 44, 32, 34, 37, 45, 37, 45, 34, 44, 32, 34, 45, 45, 34,125, 44, 10,125, 10,102,117,110, 99,116,105,111,110, 32,109, 97,115,107, 32, 40,115, 41, 10,102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,110, 40, 77, 65, 83, 75, 41, 32,100,111, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 77, 65, 83, 75, 91,105, 93, 91, 50, 93, 44, 77, 65, 83, 75, 91,105, 93, 91, 49, 93, 41, 10,101,110,100, 10,114,101,116, 117,114,110, 32,115, 10,101,110,100, 10,102,117,110, 99,116, 105,111,110, 32,117,110,109, 97,115,107, 32, 40,115, 41, 10, 102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,110, 40, 77, 65, 83, 75, 41, 32,100,111, 10,115, 32, 61, 32,103,115, 117, 98, 40,115, 44, 77, 65, 83, 75, 91,105, 93, 91, 49, 93, 44, 77, 65, 83, 75, 91,105, 93, 91, 51, 93, 41, 10,101,110, 100, 10,114,101,116,117,114,110, 32,115, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108,101, 97,110, 32, 40,115, 41, 10,108,111, 99, 97,108, 32, 99,111,100,101, 32, 61, 32, 34,114,101,116,117,114,110, 32,102,117,110, 99,116, 105,111,110, 32, 40, 41, 32, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 32,101,110,100, 34, 10,105,102, 32,110,111,116, 32,100,111,115,116,114,105,110,103, 40, 99,111,100,101, 41, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,110,105, 108, 10,101,110,100, 10,108,111, 99, 97,108, 32, 83, 32, 61, 32, 34, 34, 10,115, 32, 61, 32,109, 97,115,107, 40,115, 41, 10,119,104,105,108,101, 32, 49, 32,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100, 32, 61, 32,115,116,114,102, 105,110,100, 40,115, 44, 65, 78, 89, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 83, 32, 61, 32, 83, 46, 46,115,116, 114,115,117, 98, 40,115, 44, 49, 44, 98, 45, 49, 41, 10,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 43, 49, 41, 10,105,102, 32,100, 61, 61, 83, 84, 82, 49, 32,111,114, 32,100, 61, 61, 83, 84, 82, 50, 32,116,104,101,110, 10,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44,100, 41, 10, 83, 32, 61, 32, 83, 32, 46, 46,100, 46, 46,115,116,114, 115,117, 98, 40,115, 44, 49, 44,101, 41, 10,115, 32, 61, 32, 115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101, 108,115,101,105,102, 32,100, 61, 61, 83, 84, 82, 51, 32,116, 104,101,110, 10,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 83, 84, 82, 52, 41, 10, 83, 32, 61, 32, 83, 46, 46,100, 46, 46,115,116,114,115,117, 98, 40,115, 44, 49, 44, 101, 41, 10,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,108,115,101,105,102, 32,100, 61, 61, 82, 69, 77, 32,116,104,101,110, 10,115, 32, 61, 32,103, 115,117, 98, 40,115, 44, 34, 91, 94, 92,110, 93, 42, 40, 92, 110, 63, 41, 34, 44, 34, 37, 49, 34, 44, 49, 41, 10,101,110, 100, 10,101,108,115,101, 10, 83, 32, 61, 32, 83, 46, 46,115, 10, 98,114,101, 97,107, 10,101,110,100, 10,101,110,100, 10, 83, 32, 61, 32,103,115,117, 98, 40, 83, 44, 34, 91, 32, 92, 116, 93, 43, 34, 44, 34, 32, 34, 41, 10, 83, 32, 61, 32,103, 115,117, 98, 40, 83, 44, 34, 91, 32, 92,116, 93, 42, 92,110, 91, 32, 92,116, 93, 42, 34, 44, 34, 92,110, 34, 41, 10, 83, 32, 61, 32,103,115,117, 98, 40, 83, 44, 34, 92,110, 43, 34, 44, 34, 92,110, 34, 41, 10, 83, 32, 61, 32,117,110,109, 97, 115,107, 40, 83, 41, 10,114,101,116,117,114,110, 32, 83, 10, 101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10,102,117,110, 99,116,105,111,110, 32,100,111,105,116, 32, 40, 41, 10,105,102, 32,110,111,116, 32,102,108, 97,103,115, 46,110, 32,116,104,101,110, 10,105,102, 32,102,108, 97,103, 115, 46,102, 32,116,104,101,110, 10,102,108, 97,103,115, 46, 110, 32, 61, 32,103,115,117, 98, 40,102,108, 97,103,115, 46, 102, 44, 34, 37, 46, 46, 42, 34, 44, 34, 34, 41, 10,101,108, 115,101, 10,101,114,114,111,114, 40, 34, 35,110,111, 32,112, 97, 99,107, 97,103,101, 32,110, 97,109,101, 32,110,111,114, 32,105,110,112,117,116, 32,102,105,108,101, 32,112,114,111, 118,105,100,101,100, 34, 41, 10,101,110,100, 10,101,110,100, 10,108,111, 99, 97,108, 32,112, 32, 61, 32, 80, 97, 99,107, 97,103,101, 40,102,108, 97,103,115, 46,110, 44,102,108, 97, 103,115, 46,102, 41, 10,105,102, 32,102,108, 97,103,115, 46, 112, 32,116,104,101,110, 10,114,101,116,117,114,110, 10,101, 110,100, 10,105,102, 32,102,108, 97,103,115, 46,111, 32,116, 104,101,110, 10,108,111, 99, 97,108, 32,115,116, 44,109,115, 103, 32, 61, 32,119,114,105,116,101,116,111, 40,102,108, 97, 103,115, 46,111, 41, 10,105,102, 32,110,111,116, 32,115,116, 32,116,104,101,110, 10,101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,103, 41, 10,101,110,100, 10,101,110,100, 10, 112, 58,100,101, 99,108,116,121,112,101, 40, 41, 10,105,102, 32,102,108, 97,103,115, 46, 80, 32,116,104,101,110, 10,112, 58,112,114,105,110,116, 40, 41, 10,101,108,115,101, 10,112, 58,112,114,101, 97,109, 98,108,101, 40, 41, 10,112, 58,115, 117,112, 99,111,100,101, 40, 41, 10,112, 58,114,101,103,105, 115,116,101,114, 40, 41, 10,101,110,100, 10,105,102, 32,102, 108, 97,103,115, 46,111, 32,116,104,101,110, 10,119,114,105, 116,101,116,111, 40, 41, 10,101,110,100, 10,105,102, 32,110, 111,116, 32,102,108, 97,103,115, 46, 80, 32,116,104,101,110, 10,105,102, 32,102,108, 97,103,115, 46, 72, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32,115,116, 44,109,115,103, 32, 61, 32,119,114,105,116,101,116,111, 40,102,108, 97,103,115, 46, 72, 41, 10,105,102, 32,110,111,116, 32,115,116, 32,116, 104,101,110, 10,101,114,114,111,114, 40, 39, 35, 39, 46, 46, 109,115,103, 41, 10,101,110,100, 10,112, 58,104,101, 97,100, 101,114, 40, 41, 10,119,114,105,116,101,116,111, 40, 41, 10, 101,110,100, 10,101,110,100, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ { /* begin embedded lua code */ static unsigned char B[] = { 10,108,111, 99, 97,108, 32,101,114,114, 44,109,115,103, 32, 61, 32,112, 99, 97,108,108, 40,100,111,105,116, 41, 10,105, 102, 32,110,111,116, 32,101,114,114, 32,116,104,101,110, 10, 108,111, 99, 97,108, 32, 95, 44, 95, 44,108, 97, 98,101,108, 44,109,115,103, 32, 61, 32,115,116,114,102,105,110,100, 40, 109,115,103, 44, 34, 40, 46, 45, 58, 46, 45, 58, 37,115, 42, 41, 40, 46, 42, 41, 34, 41, 10,116,111,108,117, 97, 95,101, 114,114,111,114, 40,109,115,103, 44,108, 97, 98,101,108, 41, 10,101,110,100,32 }; if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK) lua_pcall(tolua_S,0,LUA_MULTRET,0); } /* end of embedded lua code */ tolua_endmodule(tolua_S); return 1; } /* Open tolua function */ TOLUA_API int tolua_tolua_open (lua_State* tolua_S) { lua_pushcfunction(tolua_S, luaopen_tolua); lua_pushstring(tolua_S, "tolua"); lua_call(tolua_S, 1, 0); return 1; } tolua-5.2.4/src/bin/regenerate_binding0000755000175000017500000000004612615764613016435 0ustar tobitobi../tolua5lua -o toluabind.c tolua.pkg tolua-5.2.4/src/bin/lua-5.1-0k/0000755000175000017500000000000014303161317014252 5ustar tobitobitolua-5.2.4/src/bin/lua-5.1-0k/._clean.lua0000755000175000017500000000043012615764613016270 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/._all.lua0000755000175000017500000000043012615764613015756 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/._compat.lua0000755000175000017500000000043012615764613016471 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/all.lua0000755000175000017500000000125412615764613015546 0ustar tobitobidofile(path.."compat.lua") dofile(path.."basic.lua") dofile(path.."feature.lua") dofile(path.."verbatim.lua") dofile(path.."code.lua") dofile(path.."typedef.lua") dofile(path.."container.lua") dofile(path.."package.lua") dofile(path.."module.lua") dofile(path.."namespace.lua") dofile(path.."define.lua") dofile(path.."enumerate.lua") dofile(path.."declaration.lua") dofile(path.."variable.lua") dofile(path.."array.lua") dofile(path.."function.lua") dofile(path.."operator.lua") dofile(path.."class.lua") dofile(path.."clean.lua") dofile(path.."doit.lua") local err,msg = pcall(doit) if not err then local _,_,label,msg = strfind(msg,"(.-:.-:%s*)(.*)") tolua_error(msg,label) end tolua-5.2.4/src/bin/lua-5.1-0k/enumerate.lua0000755000175000017500000000342712615764613016767 0ustar tobitobi-- tolua: enumerate class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: enumerate.lua,v 1.1 2009-07-09 13:44:42 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Enumerate class -- Represents enumeration -- The following fields are stored: -- {i} = list of constant names classEnumerate = { } classEnumerate.__index = classEnumerate setmetatable(classEnumerate,classFeature) -- register enumeration function classEnumerate:register () local nspace = getnamespace(classContainer.curr) local i=1 while self[i] do output(' tolua_constant(tolua_S,"'..self.lnames[i]..'",'..nspace..self[i]..');') i = i+1 end end -- Print method function classEnumerate:print (ident,close) print(ident.."Enumerate{") print(ident.." name = "..self.name) local i=1 while self[i] do print(ident.." '"..self[i].."'("..self.lnames[i].."),") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Enumerate (t) setmetatable(t,classEnumerate) append(t) appendenum(t) return t end -- Constructor -- Expects a string representing the enumerate body function Enumerate (n,b) local t = split(strsub(b,2,-2),',') -- eliminate braces local i = 1 local e = {n=0} while t[i] do local tt = split(t[i],'=') -- discard initial value e.n = e.n + 1 e[e.n] = tt[1] i = i+1 end -- set lua names i = 1 e.lnames = {} while e[i] do local t = split(e[i],'@') e[i] = t[1] if not t[2] then t[2] = applyrenaming(t[1]) end e.lnames[i] = t[2] or t[1] i = i+1 end e.name = n if n~="" then Typedef("int "..n) end return _Enumerate(e) end tolua-5.2.4/src/bin/lua-5.1-0k/._define.lua0000755000175000017500000000043012615764613016440 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/._declaration.lua0000755000175000017500000000043012615764613017473 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/._namespace.lua0000755000175000017500000000043012615764613017142 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/function.lua0000755000175000017500000002151612615764613016626 0ustar tobitobi-- tolua: function class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: function.lua,v 1.1 2009-07-09 13:44:46 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Function class -- Represents a function or a class method. -- The following fields are stored: -- mod = type modifiers -- type = type -- ptr = "*" or "&", if representing a pointer or a reference -- name = name -- lname = lua name -- args = list of argument declarations -- const = if it is a method receiving a const "this". classFunction = { mod = '', type = '', ptr = '', name = '', args = {n=0}, const = '', } classFunction.__index = classFunction setmetatable(classFunction,classFeature) -- declare tags function classFunction:decltype () self.type = typevar(self.type) if strfind(self.mod,'const') then self.type = 'const '..self.type self.mod = gsub(self.mod,'const%s*','') end local i=1 while self.args[i] do self.args[i]:decltype() i = i+1 end end -- Write binding function -- Outputs C/C++ binding function. function classFunction:supcode () local overload = strsub(self.cname,-2,-1) - 1 -- indicate overloaded func local nret = 0 -- number of returned values local class = self:inclass() local _,_,static = strfind(self.mod,'^%s*(static)') if class then output("/* method:",self.name," of class ",class," */") else output("/* function:",self.name," */") end output("static int",self.cname,"(lua_State* tolua_S)") output("{") -- check types if overload < 0 then output('#ifndef TOLUA_RELEASE\n') end output(' tolua_Error tolua_err;') output(' if (\n') -- check self local narg if class then narg=2 else narg=1 end if class then local func = 'tolua_isusertype' local type = self.parent.type if self.const ~= '' then type = self.const .. " " .. type end if self.name=='new' or static~=nil then func = 'tolua_isusertable' type = self.parent.type end output(' !'..func..'(tolua_S,1,"'..type..'",0,&tolua_err) ||\n') end -- check args if self.args[1].type ~= 'void' then local i=1 while self.args[i] do local btype = isbasic(self.args[i].type) if btype ~= 'state' then output(' !'..self.args[i]:outchecktype(narg,false)..' ||\n') end if btype ~= 'state' then narg = narg+1 end i = i+1 end end -- check end of list output(' !tolua_isnoobj(tolua_S,'..narg..',&tolua_err)\n )') output(' goto tolua_lerror;') output(' else\n') if overload < 0 then output('#endif\n') end output(' {') -- declare self, if the case local narg if class then narg=2 else narg=1 end if class and self.name~='new' and static==nil then output(' ',self.const,self.parent.type,'*','self = ') output('(',self.const,self.parent.type,'*) ') output('tolua_tousertype(tolua_S,1,0);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- declare parameters if self.args[1].type ~= 'void' then local i=1 while self.args[i] do self.args[i]:declare(narg) if isbasic(self.args[i].type) ~= "state" then narg = narg+1 end i = i+1 end end -- check self if class and self.name~='new' and static==nil then output('#ifndef TOLUA_RELEASE\n') output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in function \''..self.name..'\'",NULL);'); output('#endif\n') end -- get array element values if class then narg=2 else narg=1 end if self.args[1].type ~= 'void' then local i=1 while self.args[i] do self.args[i]:getarray(narg) narg = narg+1 i = i+1 end end -- call function if class and self.name=='delete' then output(' tolua_release(tolua_S,self);') output(' delete self;') elseif class and self.name == 'operator&[]' then output(' self->operator[](',self.args[1].name,'-1) = ',self.args[2].name,';') else output(' {') if self.type ~= '' and self.type ~= 'void' then local ctype = self.type if ctype == 'value' or ctype == 'function' then ctype = 'int' end output(' ',self.mod,ctype,self.ptr,'tolua_ret = ') if isbasic(self.type) or self.ptr ~= '' then output('(',self.mod,ctype,self.ptr,') ') end else output(' ') end if class and self.name=='new' then output('new',self.type,'(') elseif class and static then output(class..'::'..self.name,'(') elseif class then output('self->'..self.name,'(') else output(self.name,'(') end -- write parameters local i=1 while self.args[i] do self.args[i]:passpar() i = i+1 if self.args[i] then output(',') end end if class and self.name == 'operator[]' then output('-1);') else output(');') end -- return values if self.type ~= '' and self.type ~= 'void' then nret = nret + 1 local t,ct = isbasic(self.type) if t then if t=='function' then t='value' end output(' tolua_push'..t..'(tolua_S,(',ct,')tolua_ret);') else t = self.type if self.ptr == '' then output(' {') output('#ifdef __cplusplus\n') output(' void* tolua_obj = new',t,'(tolua_ret);') output(' tolua_pushusertype(tolua_S,tolua_clone(tolua_S,tolua_obj,'.. (_collect[t] or 'NULL') ..'),"',t,'");') output('#else\n') output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&tolua_ret,sizeof(',t,'));') output(' tolua_pushusertype(tolua_S,tolua_clone(tolua_S,tolua_obj,NULL),"',t,'");') output('#endif\n') output(' }') elseif self.ptr == '&' then output(' tolua_pushusertype(tolua_S,(void*)&tolua_ret,"',t,'");') else output(' tolua_pushusertype(tolua_S,(void*)tolua_ret,"',t,'");') end end end local i=1 while self.args[i] do nret = nret + self.args[i]:retvalue() i = i+1 end output(' }') -- set array element values if class then narg=2 else narg=1 end if self.args[1].type ~= 'void' then local i=1 while self.args[i] do self.args[i]:setarray(narg) narg = narg+1 i = i+1 end end -- free dynamically allocated array if self.args[1].type ~= 'void' then local i=1 while self.args[i] do self.args[i]:freearray() i = i+1 end end end output(' }') output(' return '..nret..';') -- call overloaded function or generate error if overload < 0 then output('#ifndef TOLUA_RELEASE\n') output('tolua_lerror:\n') output(' tolua_error(tolua_S,"#ferror in function \''..self.lname..'\'.",&tolua_err);') output(' return 0;') output('#endif\n') else output('tolua_lerror:\n') output(' return '..strsub(self.cname,1,-3)..format("%02d",overload)..'(tolua_S);') end output('}') output('\n') end -- register function function classFunction:register () output(' tolua_function(tolua_S,"'..self.lname..'",'..self.cname..');') end -- Print method function classFunction:print (ident,close) print(ident.."Function{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." lname = '"..self.lname.."',") print(ident.." const = '"..self.const.."',") print(ident.." cname = '"..self.cname.."',") print(ident.." lname = '"..self.lname.."',") print(ident.." args = {") local i=1 while self.args[i] do self.args[i]:print(ident.." ",",") i = i+1 end print(ident.." }") print(ident.."}"..close) end -- check if it returns a object by value function classFunction:requirecollection (t) local r = false if self.type ~= '' and not isbasic(self.type) and self.ptr=='' then local type = gsub(self.type,"%s*const%s*","") t[type] = "tolua_collect_" .. gsub(type,"::","_") r = true end local i=1 while self.args[i] do r = self.args[i]:requirecollection(t) or r i = i+1 end return r end -- determine lua function name overload function classFunction:overload () return self.parent:overload(self.lname) end -- Internal constructor function _Function (t) setmetatable(t,classFunction) if t.const ~= 'const' and t.const ~= '' then error("#invalid 'const' specification") end append(t) if t:inclass() then if t.name == t.parent.name then t.name = 'new' t.lname = 'new' t.type = t.parent.name t.ptr = '*' elseif t.name == '~'..t.parent.name then t.name = 'delete' t.lname = 'delete' t.parent._delete = true end end t.cname = t:cfuncname("tolua")..t:overload(t) return t end -- Constructor -- Expects three strings: one representing the function declaration, -- another representing the argument list, and the third representing -- the "const" or empty string. function Function (d,a,c) local t = split(strsub(a,2,-2),',') -- eliminate braces local i=1 local l = {n=0} while t[i] do l.n = l.n+1 l[l.n] = Declaration(t[i],'var') i = i+1 end local f = Declaration(d,'func') f.args = l f.const = c return _Function(f) end tolua-5.2.4/src/bin/lua-5.1-0k/define.lua0000755000175000017500000000233312615764613016227 0ustar tobitobi-- tolua: define class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: define.lua,v 1.1 2009-07-09 13:44:38 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Define class -- Represents a numeric const definition -- The following filds are stored: -- name = constant name classDefine = { name = '', } classDefine.__index = classDefine setmetatable(classDefine,classFeature) -- register define function classDefine:register () output(' tolua_constant(tolua_S,"'..self.lname..'",'..self.name..');') end -- Print method function classDefine:print (ident,close) print(ident.."Define{") print(ident.." name = '"..self.name.."',") print(ident.." lname = '"..self.lname.."',") print(ident.."}"..close) end -- Internal constructor function _Define (t) setmetatable(t,classDefine) t:buildnames() if t.name == '' then error("#invalid define") end append(t) return t end -- Constructor -- Expects a string representing the constant name function Define (n) return _Define{ name = n } end tolua-5.2.4/src/bin/lua-5.1-0k/._class.lua0000755000175000017500000000043012615764613016313 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/._code.lua0000755000175000017500000000043012615764613016120 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/doit.lua0000755000175000017500000000220012615764613015725 0ustar tobitobi-- Generate binding code -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- Last update: Apr 2003 -- $Id: doit.lua,v 1.1 2009-07-09 13:44:40 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. function doit () -- define package name, if not provided if not flags.n then if flags.f then flags.n = gsub(flags.f,"%..*","") else error("#no package name nor input file provided") end end -- proccess package local p = Package(flags.n,flags.f) if flags.p then return -- only parse end if flags.o then local st,msg = writeto(flags.o) if not st then error('#'..msg) end end p:decltype() if flags.P then p:print() else p:preamble() p:supcode() p:register() end if flags.o then writeto() end -- write header file if not flags.P then if flags.H then local st,msg = writeto(flags.H) if not st then error('#'..msg) end p:header() writeto() end end end tolua-5.2.4/src/bin/lua-5.1-0k/._function.lua0000755000175000017500000000043012615764613017033 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/namespace.lua0000755000175000017500000000232112615764613016726 0ustar tobitobi-- tolua: namespace class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 2003 -- $Id: namespace.lua,v 1.1 2009-07-09 13:44:50 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Namespace class -- Represents a namesapce definition. -- Stores the following fields: -- name = class name -- {i} = list of members classNamespace = { classtype = 'namespace', name = '', } classNamespace.__index = classNamespace setmetatable(classNamespace,classModule) -- Print method function classNamespace:print (ident,close) print(ident.."Namespace{") print(ident.." name = '"..self.name.."',") local i=1 while self[i] do self[i]:print(ident.." ",",") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Namespace (t) setmetatable(t,classNamespace) append(t) return t end -- Constructor -- Expects the name and the body of the namespace. function Namespace (n,b) local c = _Namespace(_Container{name=n}) push(c) c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces pop() end tolua-5.2.4/src/bin/lua-5.1-0k/container.lua0000755000175000017500000002625312615764613016766 0ustar tobitobi-- tolua: container abstract class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: container.lua,v 1.1 2009-07-09 13:44:35 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- table to store namespaced typedefs/enums in global scope global_typedefs = {} global_enums = {} -- Container class -- Represents a container of features to be bound -- to lua. classContainer = { curr = nil, } classContainer.__index = classContainer setmetatable(classContainer,classFeature) -- output tags function classContainer:decltype () push(self) local i=1 while self[i] do self[i]:decltype() i = i+1 end pop() end -- write support code function classContainer:supcode () push(self) local i=1 while self[i] do self[i]:supcode() i = i+1 end pop() end function classContainer:hasvar () local i=1 while self[i] do if self[i]:isvariable() then return 1 end i = i+1 end return 0 end -- Internal container constructor function _Container (self) setmetatable(self,classContainer) self.n = 0 self.typedefs = {tolua_n=0} self.usertypes = {} self.enums = {tolua_n=0} self.lnames = {} return self end -- push container function push (t) t.prox = classContainer.curr classContainer.curr = t end -- pop container function pop () --print("name",classContainer.curr.name) --foreach(classContainer.curr.usertypes,print) --print("______________") classContainer.curr = classContainer.curr.prox end -- get current namespace function getcurrnamespace () return getnamespace(classContainer.curr) end -- append to current container function append (t) return classContainer.curr:append(t) end -- append typedef to current container function appendtypedef (t) return classContainer.curr:appendtypedef(t) end -- append usertype to current container function appendusertype (t) return classContainer.curr:appendusertype(t) end -- append enum to current container function appendenum (t) return classContainer.curr:appendenum(t) end -- substitute typedef function applytypedef (type) return classContainer.curr:applytypedef(type) end -- check if is type function findtype (type) local t = classContainer.curr:findtype(type) return t end -- check if is typedef function istypedef (type) return classContainer.curr:istypedef(type) end -- get fulltype (with namespace) function fulltype (t) local curr = classContainer.curr while curr do if curr then if curr.typedefs and curr.typedefs[t] then return curr.typedefs[t] elseif curr.usertypes and curr.usertypes[t] then return curr.usertypes[t] end end curr = curr.prox end return t end -- checks if it requires collection function classContainer:requirecollection (t) push(self) local i=1 local r = false while self[i] do r = self[i]:requirecollection(t) or r i = i+1 end pop() return r end -- get namesapce function getnamespace (curr) local namespace = '' while curr do if curr and ( curr.classtype == 'class' or curr.classtype == 'namespace') then namespace = curr.name .. '::' .. namespace end curr = curr.prox end return namespace end -- get namespace (only namespace) function getonlynamespace () local curr = classContainer.curr local namespace = '' while curr do if curr.classtype == 'class' then return namespace elseif curr.classtype == 'namespace' then namespace = curr.name .. '::' .. namespace end curr = curr.prox end return namespace end -- check if is enum function isenum (type) return classContainer.curr:isenum(type) end -- append feature to container function classContainer:append (t) self.n = self.n + 1 self[self.n] = t t.parent = self end -- append typedef function classContainer:appendtypedef (t) local namespace = getnamespace(classContainer.curr) self.typedefs.tolua_n = self.typedefs.tolua_n + 1 self.typedefs[self.typedefs.tolua_n] = t self.typedefs[t.utype] = namespace .. t.utype global_typedefs[namespace..t.utype] = t end -- append usertype: return full type function classContainer:appendusertype (t) local container if t == self.name then container = self.prox else container = self end local ft = getnamespace(container) .. t container.usertypes[t] = ft _usertype[ft] = ft return ft end -- append enum function classContainer:appendenum (t) local namespace = getnamespace(classContainer.curr) self.enums.tolua_n = self.enums.tolua_n + 1 self.enums[self.enums.tolua_n] = t global_enums[namespace..t.name] = t end -- determine lua function name overload function classContainer:overload (lname) if not self.lnames[lname] then self.lnames[lname] = 0 else self.lnames[lname] = self.lnames[lname] + 1 end return format("%02d",self.lnames[lname]) end -- applies typedef: returns the 'the facto' modifier and type function classContainer:applytypedef (type) if global_typedefs[type] then local mod1, type1 = global_typedefs[type].mod, global_typedefs[type].type local mod2, type2 = applytypedef(type1) return mod2 .. ' ' .. mod1, type2 end local basetype = gsub(type,"^.*::","") local env = self while env do if env.typedefs then local i=1 while env.typedefs[i] do if env.typedefs[i].utype == basetype then local mod1,type1 = env.typedefs[i].mod,env.typedefs[i].type local mod2,type2 = applytypedef(type1) return mod2..' '..mod1,type2 end i = i+1 end end env = env.parent end return '',type end -- check if it is a typedef function classContainer:istypedef (type) local env = self while env do if env.typedefs then local i=1 while env.typedefs[i] do if env.typedefs[i].utype == type then return type end i = i+1 end end env = env.parent end return nil end -- check if is a registered type: return full type or nil function classContainer:findtype (t) local curr = self while curr do if curr.typedefs and curr.typedefs[t] then return curr.typedefs[t] elseif curr.usertypes and curr.usertypes[t] then return curr.usertypes[t] end curr = curr.prox end if _basic[t] then return t end return nil end function classContainer:isenum (type) if global_enums[type] then return true end local basetype = gsub(type,"^.*::","") local env = self while env do if env.enums then local i=1 while env.enums[i] do if env.enums[i].name == basetype then return true end i = i+1 end end env = env.parent end return false end -- parse chunk function classContainer:doparse (s) -- try Lua code do local b,e,code = strfind(s,"^%s*(%b\1\2)") if b then Code(strsub(code,2,-2)) return strsub(s,e+1) end end -- try C code do local b,e,code = strfind(s,"^%s*(%b\3\4)") if b then code = '{'..strsub(code,2,-2)..'\n}\n' Verbatim(code,'r') -- verbatim code for 'r'egister fragment return strsub(s,e+1) end end -- try verbatim do local b,e,line = strfind(s,"^%s*%$(.-\n)") if b then Verbatim(line) return strsub(s,e+1) end end -- try module do local b,e,name,body = strfind(s,"^%s*module%s%s*([_%w][_%w]*)%s*(%b{})%s*") if b then _curr_code = strsub(s,b,e) Module(name,body) return strsub(s,e+1) end end -- try namesapce do local b,e,name,body = strfind(s,"^%s*namespace%s%s*([_%w][_%w]*)%s*(%b{})%s*") if b then _curr_code = strsub(s,b,e) Namespace(name,body) return strsub(s,e+1) end end -- try define do local b,e,name = strfind(s,"^%s*#define%s%s*([^%s]*)[^\n]*\n%s*") if b then _curr_code = strsub(s,b,e) Define(name) return strsub(s,e+1) end end -- try enumerates do local b,e,name,body = strfind(s,"^%s*enum%s+(%S*)%s*(%b{})%s*;?%s*") if b then _curr_code = strsub(s,b,e) Enumerate(name,body) return strsub(s,e+1) end end do local b,e,body,name = strfind(s,"^%s*typedef%s+enum[^{]*(%b{})%s*([%w_][^%s]*)%s*;%s*") if b then _curr_code = strsub(s,b,e) Enumerate(name,body) return strsub(s,e+1) end end -- try operator do local b,e,decl,kind,arg,const = strfind(s,"^%s*([_%w][_%w%s%*&:]*operator)%s*([^%s][^%s]*)%s*(%b())%s*(c?o?n?s?t?)%s*;%s*") if not b then -- try inline b,e,decl,kind,arg,const = strfind(s,"^%s*([_%w][_%w%s%*&:]*operator)%s*([^%s][^%s]*)%s*(%b())%s*(c?o?n?s?t?)%s*%b{}%s*;?%s*") end if b then _curr_code = strsub(s,b,e) Operator(decl,kind,arg,const) return strsub(s,e+1) end end -- try function do local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:]*[_%w])%s*(%b())%s*(c?o?n?s?t?)%s*=?%s*0?%s*;%s*") if not b then -- try a single letter function name b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)%s*;%s*") end if b then _curr_code = strsub(s,b,e) Function(decl,arg,const) return strsub(s,e+1) end end -- try inline function do local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:]*[_%w])%s*(%b())%s*(c?o?n?s?t?).-%b{}%s*;?%s*") if not b then -- try a single letter function name b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?).-%b{}%s*;?%s*") end if b then _curr_code = strsub(s,b,e) Function(decl,arg,const) return strsub(s,e+1) end end -- try class do local b,e,name,base,body base = '' body = '' b,e,name = strfind(s,"^%s*class%s*([_%w][_%w@]*)%s*;") -- dummy class if not b then b,e,name = strfind(s,"^%s*struct%s*([_%w][_%w@]*)%s*;") -- dummy struct if not b then b,e,name,base,body = strfind(s,"^%s*class%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*") if not b then b,e,name,base,body = strfind(s,"^%s*struct%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*") if not b then b,e,name,base,body = strfind(s,"^%s*union%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*") if not b then base = '' b,e,body,name = strfind(s,"^%s*typedef%s%s*struct%s*[_%w]*%s*(%b{})%s*([_%w][_%w@]*)%s*;%s*") if not b then base = '' b,e,body,name = strfind(s,"^%s*typedef%s%s*union%s*[_%w]*%s*(%b{})%s*([_%w][_%w@]*)%s*;%s*") end end end end end end if b then if base ~= '' then local b,e b,e,base = strfind(base,".-([_%w][_%w]*)$") end _curr_code = strsub(s,b,e) Class(name,base,body) return strsub(s,e+1) end end -- try typedef do local b,e,types = strfind(s,"^%s*typedef%s%s*(.-)%s*;%s*") if b then _curr_code = strsub(s,b,e) Typedef(types) return strsub(s,e+1) end end -- try variable do local b,e,decl = strfind(s,"^%s*([_%w][_@%s%w%d%*&:]*[_%w%d])%s*;%s*") if b then _curr_code = strsub(s,b,e) Variable(decl) return strsub(s,e+1) end end -- try string do local b,e,decl = strfind(s,"^%s*([_%w]?[_%s%w%d]-char%s+[_@%w%d]*%s*%[%s*%S+%s*%])%s*;%s*") if b then _curr_code = strsub(s,b,e) Variable(decl) return strsub(s,e+1) end end -- try array do local b,e,decl = strfind(s,"^%s*([_%w][][_@%s%w%d%*&:]*[]_%w%d])%s*;%s*") if b then _curr_code = strsub(s,b,e) Array(decl) return strsub(s,e+1) end end -- no matching if gsub(s,"%s%s*","") ~= "" then _curr_code = s error("#parse error") else return "" end end function classContainer:parse (s) while s ~= '' do s = self:doparse(s) end end tolua-5.2.4/src/bin/lua-5.1-0k/._operator.lua0000755000175000017500000000043012615764613017041 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/._verbatim.lua0000755000175000017500000000043012615764613017017 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/verbatim.lua0000755000175000017500000000312112615764613016602 0ustar tobitobi-- tolua: verbatim class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: verbatim.lua,v 1.1 2009-07-09 13:44:57 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Verbatim class -- Represents a line translated directed to the binding file. -- The following filds are stored: -- line = line text classVerbatim = { line = '', cond = nil, -- condition: where to generate the code (s=suport, r=register) } classVerbatim.__index = classVerbatim setmetatable(classVerbatim,classFeature) -- preamble verbatim function classVerbatim:preamble () if self.cond == '' then write(self.line) end end -- support code function classVerbatim:supcode () if strfind(self.cond,'s') then write(self.line) write('\n') end end -- register code function classVerbatim:register () if strfind(self.cond,'r') then write(self.line) end end -- Print method function classVerbatim:print (ident,close) print(ident.."Verbatim{") print(ident.." line = '"..self.line.."',") print(ident.."}"..close) end -- Internal constructor function _Verbatim (t) setmetatable(t,classVerbatim) append(t) return t end -- Constructor -- Expects a string representing the text line function Verbatim (l,cond) if strsub(l,1,1) == '$' then cond = 'sr' -- generates in both suport and register fragments l = strsub(l,2) end return _Verbatim { line = l, cond = cond or '', } end tolua-5.2.4/src/bin/lua-5.1-0k/._doit.lua0000755000175000017500000000043012615764613016145 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/basic.lua0000755000175000017500000001062712615764613016063 0ustar tobitobi-- tolua: basic utility functions -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- Last update: Apr 2003 -- $Id: basic.lua,v 1.1 2009-07-09 13:44:28 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Basic C types and their corresponding Lua types -- All occurrences of "char*" will be replaced by "_cstring", -- and all occurrences of "void*" will be replaced by "_userdata" _basic = { ['void'] = '', ['char'] = 'number', ['tolua_byte'] = 'number', ['tolua_ubyte'] = 'number', ['int'] = 'number', ['short'] = 'number', ['long'] = 'number', ['unsigned'] = 'number', ['float'] = 'number', ['double'] = 'number', ['_cstring'] = 'string', ['_userdata'] = 'userdata', ['char*'] = 'string', ['void*'] = 'userdata', ['bool'] = 'boolean', ['lua_State*'] = 'state', ['_lstate'] = 'state', ['lua_Object'] = 'value', ['lua_Function'] = 'function', ['LUA_VALUE'] = 'value', -- for compatibility with tolua 4.0 } _basic_ctype = { number = "lua_Number", string = "const char*", userdata = "void*", boolean = "bool", value = "int", } -- List of user defined types -- Each type corresponds to a variable name that stores its tag value. _usertype = {} -- List of types that have to be collected _collect = {} -- List of auto renaming _renaming = {} function appendrenaming (s) local b,e,old,new = strfind(s,"%s*(.-)%s*@%s*(.-)%s*$") if not b then error("#Invalid renaming syntax; it should be of the form: pattern@pattern") end tinsert(_renaming,{old=old, new=new}) end function applyrenaming (s) for i=1,getn(_renaming) do local m,n = gsub(s,_renaming[i].old,_renaming[i].new) if n ~= 0 then return m end end return nil end -- Error handler function tolua_error (s,f) local out = _OUTPUT _OUTPUT = _STDERR if strsub(s,1,1) == '#' then write("\n** tolua: "..strsub(s,2)..".\n\n") if _curr_code then local _,_,s = strfind(_curr_code,"^%s*(.-\n)") -- extract first line if s==nil then s = _curr_code end s = gsub(s,"_userdata","void*") -- return with 'void*' s = gsub(s,"_cstring","char*") -- return with 'char*' s = gsub(s,"_lstate","lua_State*") -- return with 'lua_State*' write("Code being processed:\n"..s.."\n") end else print(debug.traceback("\n** tolua internal error: "..f..s..".\n\n")) return end _OUTPUT = out end function warning (msg) local out = _OUTPUT _OUTPUT = _STDERR write("\n** tolua warning: "..msg..".\n\n") _OUTPUT = out end -- register an user defined type: returns full type function regtype (t) local ft = findtype(t) if isbasic(t) then return t end if not ft then return appendusertype(t) end end -- return type name: returns full type function typevar(type) if type == '' or type == 'void' then return type else local ft = findtype(type) if ft then return ft end _usertype[type] = type return type end end -- check if basic type function isbasic (type) local t = gsub(type,'const ','') local m,t = applytypedef(t) local b = _basic[t] if b then return b,_basic_ctype[b] end return nil end -- split string using a token function split (s,t) local l = {n=0} local f = function (s) l.n = l.n + 1 l[l.n] = s end local p = "%s*(.-)%s*"..t.."%s*" s = gsub(s,"^%s+","") s = gsub(s,"%s+$","") s = gsub(s,p,f) l.n = l.n + 1 l[l.n] = gsub(s,"(%s%s*)$","") return l end -- concatenate strings of a table function concat (t,f,l) local s = '' local i=f while i<=l do s = s..t[i] i = i+1 if i <= l then s = s..' ' end end return s end -- concatenate all parameters, following output rules function concatparam (line, ...) local i=1 while i<=arg.n do if _cont and not strfind(_cont,'[%(,"]') and strfind(arg[i],"^[%a_~]") then line = line .. ' ' end line = line .. arg[i] if arg[i] ~= '' then _cont = strsub(arg[i],-1,-1) end i = i+1 end if strfind(arg[arg.n],"[%/%)%;%{%}]$") then _cont=nil line = line .. '\n' end return line end -- output line function output (...) local i=1 while i<=arg.n do if _cont and not strfind(_cont,'[%(,"]') and strfind(arg[i],"^[%a_~]") then write(' ') end write(arg[i]) if arg[i] ~= '' then _cont = strsub(arg[i],-1,-1) end i = i+1 end if strfind(arg[arg.n],"[%/%)%;%{%}]$") then _cont=nil write('\n') end end tolua-5.2.4/src/bin/lua-5.1-0k/operator.lua0000755000175000017500000000561212615764613016633 0ustar tobitobi-- tolua: operator class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: operator.lua,v 1.1 2009-07-09 13:44:51 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Operator class -- Represents an operator function or a class operator method. -- It stores the same fields as functions do plus: -- kind = set of character representing the operator (as it appers in C++ code) classOperator = { kind = '', } classOperator.__index = classOperator setmetatable(classOperator,classFunction) -- table to transform operator kind into the appropriate tag method name _TM = {['+'] = 'add', ['-'] = 'sub', ['*'] = 'mul', ['/'] = 'div', ['<'] = 'lt', ['<='] = 'le', ['=='] = 'eq', ['[]'] = 'geti', ['&[]'] = 'seti', } -- Print method function classOperator:print (ident,close) print(ident.."Operator{") print(ident.." kind = '"..self.kind.."',") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." const = '"..self.const.."',") print(ident.." cname = '"..self.cname.."',") print(ident.." lname = '"..self.lname.."',") print(ident.." args = {") local i=1 while self.args[i] do self.args[i]:print(ident.." ",",") i = i+1 end print(ident.." }") print(ident.."}"..close) end -- Internal constructor function _Operator (t) setmetatable(t,classOperator) if t.const ~= 'const' and t.const ~= '' then error("#invalid 'const' specification") end append(t) if not t:inclass() then error("#operator can only be defined as class member") end t.name = t.name .. "_" .. _TM[t.kind] t.cname = t:cfuncname("tolua")..t:overload(t) t.name = "operator" .. t.kind -- set appropriate calling name return t end -- Constructor function Operator (d,k,a,c) local ref = '' local t = split(strsub(a,2,strlen(a)-1),',') -- eliminate braces local i=1 local l = {n=0} while t[i] do l.n = l.n+1 l[l.n] = Declaration(t[i],'var') i = i+1 end if k == '[]' then local _ _, _, ref = strfind(d,'(&)') d = gsub(d,'&','') elseif k=='&[]' then l.n = l.n+1 l[l.n] = Declaration(d,'var') l[l.n].name = 'tolua_value' end local f = Declaration(d,'func') if k == '[]' and (l[1]==nil or isbasic(l[1].type)~='number') then error('operator[] can only be defined for numeric index.') end f.args = l f.const = c f.kind = gsub(k,"%s","") if not _TM[f.kind] then error("tolua: no support for operator" .. f.kind) end f.lname = ".".._TM[f.kind] if f.kind == '[]' and ref=='&' and f.const~='const' then Operator(d,'&'..k,a,c) -- create correspoding set operator end return _Operator(f) end tolua-5.2.4/src/bin/lua-5.1-0k/class.lua0000755000175000017500000000542312615764613016105 0ustar tobitobi-- tolua: class class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: class.lua,v 1.1 2009-07-09 13:44:29 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Class class -- Represents a class definition. -- Stores the following fields: -- name = class name -- base = class base, if any (only single inheritance is supported) -- {i} = list of members classClass = { classtype = 'class', name = '', base = '', type = '', btype = '', ctype = '', } classClass.__index = classClass setmetatable(classClass,classContainer) -- register class function classClass:register () push(self) if _collect[self.type] then output('#ifdef __cplusplus\n') output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",'.._collect[self.type]..');') output('#else\n') output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",NULL);') output('#endif\n') else output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",NULL);') end output(' tolua_beginmodule(tolua_S,"'..self.lname..'");') local i=1 while self[i] do self[i]:register() i = i+1 end output(' tolua_endmodule(tolua_S);') pop() end -- return collection requirement function classClass:requirecollection (t) push(self) local r = false local i=1 while self[i] do r = self[i]:requirecollection(t) or r i = i+1 end pop() -- only class that exports destructor can be appropriately collected if self._delete then t[self.type] = "tolua_collect_" .. gsub(self.type,"::","_") r = true end return r end -- output tags function classClass:decltype () push(self) self.type = regtype(self.name) self.btype = typevar(self.base) self.ctype = 'const '..self.type local i=1 while self[i] do self[i]:decltype() i = i+1 end pop() end -- Print method function classClass:print (ident,close) print(ident.."Class{") print(ident.." name = '"..self.name.."',") print(ident.." base = '"..self.base.."';") print(ident.." lname = '"..self.lname.."',") print(ident.." type = '"..self.type.."',") print(ident.." btype = '"..self.btype.."',") print(ident.." ctype = '"..self.ctype.."',") local i=1 while self[i] do self[i]:print(ident.." ",",") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Class (t) setmetatable(t,classClass) t:buildnames() append(t) return t end -- Constructor -- Expects the name, the base and the body of the class. function Class (n,p,b) local c = _Class(_Container{name=n, base=p}) push(c) c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces pop() end tolua-5.2.4/src/bin/lua-5.1-0k/variable.lua0000755000175000017500000001440412615764613016564 0ustar tobitobi-- tolua: variable class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: variable.lua,v 1.1 2009-07-09 13:44:55 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Variable class -- Represents a extern variable or a public member of a class. -- Stores all fields present in a declaration. classVariable = { _get = {}, -- mapped get functions _set = {}, -- mapped set functions } classVariable.__index = classVariable setmetatable(classVariable,classDeclaration) -- Print method function classVariable:print (ident,close) print(ident.."Variable{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") if self.dim then print(ident.." dim = '"..self.dim.."',") end print(ident.." def = '"..self.def.."',") print(ident.." ret = '"..self.ret.."',") print(ident.."}"..close) end -- Generates C function name function classVariable:cfuncname (prefix) local parent = "" local unsigned = "" local ptr = "" local p = self:inmodule() or self:innamespace() or self:inclass() if p then parent = "_" .. p end if strfind(self.mod,"(unsigned)") then unsigned = "_unsigned" end if self.ptr == "*" then ptr = "_ptr" elseif self.ptr == "&" then ptr = "_ref" end local name = prefix .. parent .. unsigned .. "_" .. gsub(self.name,".*::","") .. ptr return name end -- check if it is a variable function classVariable:isvariable () return true end -- get variable value function classVariable:getvalue (class,static) if class and static then return class..'::'..self.name elseif class then return 'self->'..self.name else return self.name end end -- get variable pointer value function classVariable:getpointervalue (class,static) if class and static then return class..'::p' elseif class then return 'self->p' else return 'p' end end -- Write binding functions function classVariable:supcode () local class = self:inclass() -- get function ------------------------------------------------ if class then output("/* get function:",self.name," of class ",class," */") self.cgetname = self:cfuncname("tolua_get_"..class) else output("/* get function:",self.name," */") end self.cgetname = self:cfuncname("tolua_get") output("static int",self.cgetname,"(lua_State* tolua_S)") output("{") -- declare self, if the case local _,_,static = strfind(self.mod,'^%s*(static)') if class and static==nil then output(' ',class,'*','self = ') output('(',class,'*) ') output('tolua_tousertype(tolua_S,1,0);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check self value if class and static==nil then output('#ifndef TOLUA_RELEASE\n') output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in accessing variable \''..self.name..'\'",NULL);'); output('#endif\n') end -- return value local t,ct = isbasic(self.type) if t then output(' tolua_push'..t..'(tolua_S,(',ct,')'..self:getvalue(class,static)..');') else t = self.type if self.ptr == '&' or self.ptr == '' then output(' tolua_pushusertype(tolua_S,(void*)&'..self:getvalue(class,static)..',"',t,'");') else output(' tolua_pushusertype(tolua_S,(void*)'..self:getvalue(class,static)..',"',t,'");') end end output(' return 1;') output('}') output('\n') -- set function ------------------------------------------------ if not strfind(self.type,'const') then if class then output("/* set function:",self.name," of class ",class," */") else output("/* set function:",self.name," */") end self.csetname = self:cfuncname("tolua_set") output("static int",self.csetname,"(lua_State* tolua_S)") output("{") -- declare self, if the case if class and static==nil then output(' ',class,'*','self = ') output('(',class,'*) ') output('tolua_tousertype(tolua_S,1,0);') -- check self value end -- check types output('#ifndef TOLUA_RELEASE\n') output(' tolua_Error tolua_err;') if class and static==nil then output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in accessing variable \''..self.name..'\'",NULL);'); elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check variable type output(' if (!'..self:outchecktype(2)..')') output(' tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);') output('#endif\n') -- assign value local def = 0 if self.def ~= '' then def = self.def end if self.type == 'char*' and self.dim ~= '' then -- is string output(' strncpy(') if class and static then output(class..'::'..self.name) elseif class then output('self->'..self.name) else output(self.name) end output(',tolua_tostring(tolua_S,2,',def,'),',self.dim,'-1);') else local ptr = '' if self.ptr~='' then ptr = '*' end output(' ') if class and static then output(class..'::'..self.name) elseif class then output('self->'..self.name) else output(self.name) end local t = isbasic(self.type) output(' = ') if not t and ptr=='' then output('*') end output('((',self.mod,self.type) if not t then output('*') end output(') ') if t then output('tolua_to'..t,'(tolua_S,2,',def,'));') else output('tolua_tousertype(tolua_S,2,',def,'));') end end output(' return 0;') output('}') output('\n') end end function classVariable:register () local parent = self:inmodule() or self:innamespace() or self:inclass() if not parent then if classVariable._warning==nil then warning("Mapping variable to global may degrade performance") classVariable._warning = 1 end end if self.csetname then output(' tolua_variable(tolua_S,"'..self.lname..'",'..self.cgetname..','..self.csetname..');') else output(' tolua_variable(tolua_S,"'..self.lname..'",'..self.cgetname..',NULL);') end end -- Internal constructor function _Variable (t) setmetatable(t,classVariable) append(t) return t end -- Constructor -- Expects a string representing the variable declaration. function Variable (s) return _Variable (Declaration(s,'var')) end tolua-5.2.4/src/bin/lua-5.1-0k/._basic.lua0000755000175000017500000000043012615764613016267 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/module.lua0000755000175000017500000000272212615764613016264 0ustar tobitobi-- tolua: module class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: module.lua,v 1.1 2009-07-09 13:44:48 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Module class -- Represents module. -- The following fields are stored: -- {i} = list of objects in the module. classModule = { classtype = 'module' } classModule.__index = classModule setmetatable(classModule,classContainer) -- register module function classModule:register () push(self) output(' tolua_module(tolua_S,"'..self.name..'",',self:hasvar(),');') output(' tolua_beginmodule(tolua_S,"'..self.name..'");') local i=1 while self[i] do self[i]:register() i = i+1 end output(' tolua_endmodule(tolua_S);') pop() end -- Print method function classModule:print (ident,close) print(ident.."Module{") print(ident.." name = '"..self.name.."';") local i=1 while self[i] do self[i]:print(ident.." ",",") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Module (t) setmetatable(t,classModule) append(t) return t end -- Constructor -- Expects two string representing the module name and body. function Module (n,b) local t = _Module(_Container{name=n}) push(t) t:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces pop() return t end tolua-5.2.4/src/bin/lua-5.1-0k/declaration.lua0000755000175000017500000002741612615764613017273 0ustar tobitobi-- tolua: declaration class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: declaration.lua,v 1.1 2009-07-09 13:44:37 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Declaration class -- Represents variable, function, or argument declaration. -- Stores the following fields: -- mod = type modifiers -- type = type -- ptr = "*" or "&", if representing a pointer or a reference -- name = name -- dim = dimension, if a vector -- def = default value, if any (only for arguments) -- ret = "*" or "&", if value is to be returned (only for arguments) classDeclaration = { mod = '', type = '', ptr = '', name = '', dim = '', ret = '', def = '' } classDeclaration.__index = classDeclaration setmetatable(classDeclaration,classFeature) -- Create an unique variable name function create_varname () if not _varnumber then _varnumber = 0 end _varnumber = _varnumber + 1 return "tolua_var_".._varnumber end -- Check declaration name -- It also identifies default values function classDeclaration:checkname () if strsub(self.name,1,1) == '[' and not findtype(self.type) then self.name = self.type..self.name local m = split(self.mod,'%s%s*') self.type = m[m.n] self.mod = concat(m,1,m.n-1) end local t = split(self.name,'=') if t.n==2 then self.name = t[1] self.def = t[t.n] end local b,e,d = strfind(self.name,"%[(.-)%]") if b then self.name = strsub(self.name,1,b-1) self.dim = d end if self.type ~= '' and self.type ~= 'void' and self.name == '' then self.name = create_varname() elseif self.kind=='var' then if self.type=='' and self.name~='' then self.type = self.type..self.name self.name = create_varname() elseif findtype(self.name) then if self.type=='' then self.type = self.name else self.type = self.type..' '..self.name end self.name = create_varname() end end -- adjust type of string -- if self.type == 'char' and self.dim ~= '' then -- self.type = 'char*' -- end end -- Check declaration type -- Substitutes typedef's. function classDeclaration:checktype () -- check if there is a pointer to basic type if isbasic(self.type) and self.ptr~='' then self.ret = self.ptr self.ptr = nil end -- check if there is array to be returned if self.dim~='' and self.ret~='' then error('#invalid parameter: cannot return an array of values') end -- restore 'void*' and 'string*' if self.type == '_userdata' then self.type = 'void*' elseif self.type == '_cstring' then self.type = 'char*' elseif self.type == '_lstate' then self.type = 'lua_State*' end -- -- -- if returning value, automatically set default value -- if self.ret ~= '' and self.def == '' then -- self.def = '0' -- end -- end -- Print method function classDeclaration:print (ident,close) print(ident.."Declaration{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." dim = '"..self.dim.."',") print(ident.." def = '"..self.def.."',") print(ident.." ret = '"..self.ret.."',") print(ident.."}"..close) end -- check if array of values are returned to Lua function classDeclaration:requirecollection (t) if self.mod ~= 'const' and self.dim and self.dim ~= '' and not isbasic(self.type) and self.ptr == '' then local type = gsub(self.type,"%s*const%s*","") t[type] = "tolua_collect_" .. gsub(type,"::","_") return true end return false end -- declare tag function classDeclaration:decltype () self.type = typevar(self.type) if strfind(self.mod,'const') then self.type = 'const '..self.type self.mod = gsub(self.mod,'const%s*','') end end -- output type checking function classDeclaration:outchecktype (narg,var) local def local t = isbasic(self.type) if self.def~='' then def = 1 else def = 0 end if self.dim ~= '' then if var and self.type=='char' then return 'tolua_isstring(tolua_S,'..narg..','..def..',&tolua_err)' else return 'tolua_istable(tolua_S,'..narg..',0,&tolua_err)' end elseif t then return 'tolua_is'..t..'(tolua_S,'..narg..','..def..',&tolua_err)' else return 'tolua_isusertype(tolua_S,'..narg..',"'..self.type..'",'..def..',&tolua_err)' end end function classDeclaration:builddeclaration (narg, cplusplus) local array = self.dim ~= '' and tonumber(self.dim)==nil local line = "" local ptr = '' local mod local type = self.type if self.dim ~= '' then type = gsub(self.type,'const%s*','') -- eliminates const modifier for arrays end local ctype = type if ctype=="lua_Object" or ctype=="lua_Function" then ctype = "int" end if self.ptr~='' then ptr = '*' end line = concatparam(line," ",self.mod,ctype,ptr) if array then line = concatparam(line,'*') end line = concatparam(line,self.name) if self.dim ~= '' then if tonumber(self.dim)~=nil then line = concatparam(line,'[',self.dim,'];') else if cplusplus then line = concatparam(line,' = new',type,ptr,'['..self.dim..'];') else line = concatparam(line,' = (',type,ptr,'*)', 'malloc((',self.dim,')*sizeof(',type,ptr,'));') end end else local t = isbasic(type) line = concatparam(line,' = ') if t == 'state' then line = concatparam(line, 'tolua_S;') else if not t and ptr=='' then line = concatparam(line,'*') end local ct = type if t == 'value' or t == 'function' then ct = 'int' end line = concatparam(line,'((',self.mod,ct) if not t then line = concatparam(line,'*') end line = concatparam(line,') ') if isenum(type) then --if not t and isenum(type) then line = concatparam(line,'(int) ') end local def = 0 if self.def ~= '' then def = self.def end if t then if t=='function' then t='value' end line = concatparam(line,'tolua_to'..t,'(tolua_S,',narg,',',def,'));') else line = concatparam(line,'tolua_tousertype(tolua_S,',narg,',',def,'));') end end end return line end -- Declare variable function classDeclaration:declare (narg) if self.dim ~= '' and self.type~='char' and tonumber(self.dim)==nil then output('#ifdef __cplusplus\n') output(self:builddeclaration(narg,true)) output('#else\n') output(self:builddeclaration(narg,false)) output('#endif\n') else output(self:builddeclaration(narg,false)) end end -- Get parameter value function classDeclaration:getarray (narg) if self.dim ~= '' then local type = gsub(self.type,'const ','') output(' {') output('#ifndef TOLUA_RELEASE\n') local def; if self.def~='' then def=1 else def=0 end local t = isbasic(type) if (t) then output(' if (!tolua_is'..t..'array(tolua_S,',narg,',',self.dim,',',def,',&tolua_err))') else output(' if (!tolua_isusertypearray(tolua_S,',narg,',"',type,'",',self.dim,',',def,',&tolua_err))') end output(' goto tolua_lerror;') output(' else\n') output('#endif\n') output(' {') output(' int i;') output(' for(i=0; i<'..self.dim..';i++)') local t = isbasic(type) local ptr = '' if self.ptr~='' then ptr = '*' end output(' ',self.name..'[i] = ') if not t and ptr=='' then output('*') end output('((',type) if not t then output('*') end output(') ') local def = 0 if self.def ~= '' then def = self.def end if t then if t=='function' then t='value' end output('tolua_tofield'..t..'(tolua_S,',narg,',i+1,',def,'));') else output('tolua_tofieldusertype(tolua_S,',narg,',i+1,',def,'));') end output(' }') output(' }') end end -- Get parameter value function classDeclaration:setarray (narg) if not strfind(self.type,'const') and self.dim ~= '' then local type = gsub(self.type,'const ','') output(' {') output(' int i;') output(' for(i=0; i<'..self.dim..';i++)') local t,ct = isbasic(type) if t then if t=='function' then t='value' end output(' tolua_pushfield'..t..'(tolua_S,',narg,',i+1,(',ct,')',self.name,'[i]);') else if self.ptr == '' then output(' {') output('#ifdef __cplusplus\n') output(' void* tolua_obj = new',type,'(',self.name,'[i]);') output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,tolua_clone(tolua_S,tolua_obj,'.. (_collect[type] or 'NULL') ..'),"',type,'");') output('#else\n') output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&',self.name,'[i],sizeof(',type,'));') output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,tolua_clone(tolua_S,tolua_obj,NULL),"',type,'");') output('#endif\n') output(' }') else output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,(void*)',self.name,'[i],"',type,'");') end end output(' }') end end -- Free dynamically allocated array function classDeclaration:freearray () if self.dim ~= '' and tonumber(self.dim)==nil then output('#ifdef __cplusplus\n') output(' delete []',self.name,';') output('#else\n') output(' free(',self.name,');') output('#endif\n') end end -- Pass parameter function classDeclaration:passpar () if self.ptr=='&' then output('*'..self.name) elseif self.ret=='*' then output('&'..self.name) else output(self.name) end end -- Return parameter value function classDeclaration:retvalue () if self.ret ~= '' then local t,ct = isbasic(self.type) if t then if t=='function' then t='value' end output(' tolua_push'..t..'(tolua_S,(',ct,')'..self.name..');') else output(' tolua_pushusertype(tolua_S,(void*)'..self.name..',"',self.type,'");') end return 1 end return 0 end -- Internal constructor function _Declaration (t) setmetatable(t,classDeclaration) t:buildnames() t:checkname() t:checktype() return t end -- Constructor -- Expects the string declaration. -- The kind of declaration can be "var" or "func". function Declaration (s,kind) -- eliminate spaces if default value is provided s = gsub(s,"%s*=%s*","=") if kind == "var" then -- check the form: void if s == '' or s == 'void' then return _Declaration{type = 'void', kind = kind} end end -- check the form: mod type*& name local t = split(s,'%*%s*&') if t.n == 2 then if kind == 'func' then error("#invalid function return type: "..s) end local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '*', ret = '&', type = m[m.n], mod = concat(m,1,m.n-1), kind = kind } end -- check the form: mod type** name t = split(s,'%*%s*%*') if t.n == 2 then if kind == 'func' then error("#invalid function return type: "..s) end local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '*', ret = '*', type = m[m.n], mod = concat(m,1,m.n-1), kind = kind } end -- check the form: mod type& name t = split(s,'&') if t.n == 2 then local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '&', type = m[m.n], mod = concat(m,1,m.n-1) , kind = kind } end -- check the form: mod type* name local s1 = gsub(s,"(%b\[\])",function (n) return gsub(n,'%*','\1') end) t = split(s1,'%*') if t.n == 2 then t[2] = gsub(t[2],'\1','%*') -- restore * in dimension expression local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '*', type = m[m.n], mod = concat(m,1,m.n-1) , kind = kind } end if kind == 'var' then -- check the form: mod type name t = split(s,'%s%s*') local v if findtype(t[t.n]) then v = '' else v = t[t.n]; t.n = t.n-1 end return _Declaration{ name = v, type = t[t.n], mod = concat(t,1,t.n-1), kind = kind } else -- kind == "func" -- check the form: mod type name t = split(s,'%s%s*') local v = t[t.n] -- last word is the function name local tp,md if t.n>1 then tp = t[t.n-1] md = concat(t,1,t.n-2) end return _Declaration{ name = v, type = tp, mod = md, kind = kind } end end tolua-5.2.4/src/bin/lua-5.1-0k/._array.lua0000755000175000017500000000043012615764613016324 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/._typedef.lua0000755000175000017500000000043012615764613016646 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/._package.lua0000755000175000017500000000043012615764613016601 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/._module.lua0000755000175000017500000000043012615764613016473 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/compat.lua0000755000175000017500000000777712615764613016301 0ustar tobitobi------------------------------------------------------------------- -- Real globals -- _ALERT -- _ERRORMESSAGE -- _VERSION -- _G -- assert -- error -- metatable -- next -- print -- require -- tonumber -- tostring -- type -- unpack ------------------------------------------------------------------- -- collectgarbage -- gcinfo -- globals -- call -> protect(f, err) -- loadfile -- loadstring -- rawget -- rawset -- getargs = Main.getargs ?? rawtype = type function do_ (f, err) if not f then print(err); return end local a,b = pcall(f) if not a then print(b); return nil else return b or true end end function dostring(s) return do_(loadstring(s)) end -- function dofile(s) return do_(loadfile(s)) end ------------------------------------------------------------------- -- Table library local tab = table foreach = tab.foreach foreachi = tab.foreachi getn = tab.getn tinsert = tab.insert tremove = tab.remove sort = tab.sort ------------------------------------------------------------------- -- Debug library local dbg = debug getinfo = dbg.getinfo getlocal = dbg.getlocal setcallhook = function () error"`setcallhook' is deprecated" end setlinehook = function () error"`setlinehook' is deprecated" end setlocal = dbg.setlocal ------------------------------------------------------------------- -- math library local math = math abs = math.abs acos = function (x) return math.deg(math.acos(x)) end asin = function (x) return math.deg(math.asin(x)) end atan = function (x) return math.deg(math.atan(x)) end atan2 = function (x,y) return math.deg(math.atan2(x,y)) end ceil = math.ceil cos = function (x) return math.cos(math.rad(x)) end deg = math.deg exp = math.exp floor = math.floor frexp = math.frexp ldexp = math.ldexp log = math.log log10 = math.log10 max = math.max min = math.min mod = math.mod PI = math.pi --??? pow = math.pow rad = math.rad random = math.random randomseed = math.randomseed sin = function (x) return math.sin(math.rad(x)) end sqrt = math.sqrt tan = function (x) return math.tan(math.rad(x)) end ------------------------------------------------------------------- -- string library local str = string strbyte = str.byte strchar = str.char strfind = str.find format = str.format gsub = str.gsub strlen = str.len strlower = str.lower strrep = str.rep strsub = str.sub strupper = str.upper ------------------------------------------------------------------- -- os library clock = os.clock date = os.date difftime = os.difftime execute = os.execute --? exit = os.exit getenv = os.getenv remove = os.remove rename = os.rename setlocale = os.setlocale time = os.time tmpname = os.tmpname ------------------------------------------------------------------- -- compatibility only getglobal = function (n) return _G[n] end setglobal = function (n,v) _G[n] = v end ------------------------------------------------------------------- local io, tab = io, table -- IO library (files) _STDIN = io.stdin _STDERR = io.stderr _STDOUT = io.stdout _INPUT = io.stdin _OUTPUT = io.stdout seek = io.stdin.seek -- sick ;-) tmpfile = io.tmpfile closefile = io.close openfile = io.open function flush (f) if f then f:flush() else _OUTPUT:flush() end end function readfrom (name) if name == nil then local f, err, cod = io.close(_INPUT) _INPUT = io.stdin return f, err, cod else local f, err, cod = io.open(name, "r") _INPUT = f or _INPUT return f, err, cod end end function writeto (name) if name == nil then local f, err, cod = io.close(_OUTPUT) _OUTPUT = io.stdout return f, err, cod else local f, err, cod = io.open(name, "w") _OUTPUT = f or _OUTPUT return f, err, cod end end function appendto (name) local f, err, cod = io.open(name, "a") _OUTPUT = f or _OUTPUT return f, err, cod end function read (...) local f = _INPUT if rawtype(arg[1]) == 'userdata' then f = tab.remove(arg, 1) end return f:read(unpack(arg)) end function write (...) local f = _OUTPUT if rawtype(arg[1]) == 'userdata' then f = tab.remove(arg, 1) end return f:write(unpack(arg)) end tolua-5.2.4/src/bin/lua-5.1-0k/code.lua0000755000175000017500000000340112615764613015704 0ustar tobitobi-- tolua: code class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1999 -- $Id: code.lua,v 1.1 2009-07-09 13:44:32 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Code class -- Represents Lua code to be compiled and included -- in the initialization function. -- The following fields are stored: -- text = text code classCode = { text = '', } classCode.__index = classCode setmetatable(classCode,classFeature) -- register code function classCode:register () -- clean Lua code local s = clean(self.text) if not s then error("parser error in embedded code") end -- convert to C output('\n { /* begin embedded lua code */\n') output(' static unsigned char B[] = {\n ') local t={n=0} local b = gsub(s,'(.)',function (c) local e = '' t.n=t.n+1 if t.n==15 then t.n=0 e='\n ' end return format('%3u,%s',strbyte(c),e) end ) output(b..strbyte(" ")) output('\n };\n') output(' luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") ||\n') output(' lua_pcall(tolua_S,0,LUA_MULTRET,0);') output(' } /* end of embedded lua code */\n\n') end -- Print method function classCode:print (ident,close) print(ident.."Code{") print(ident.." text = [["..self.text.."]],") print(ident.."}"..close) end -- Internal constructor function _Code (t) setmetatable(t,classCode) append(t) return t end -- Constructor -- Expects a string representing the code text function Code (l) return _Code { text = l } end tolua-5.2.4/src/bin/lua-5.1-0k/._container.lua0000755000175000017500000000043012615764613017170 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/._enumerate.lua0000755000175000017500000000043012615764613017173 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/package.lua0000755000175000017500000002106612615764613016374 0ustar tobitobi-- tolua: package class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: package.lua,v 1.1 2009-07-09 13:44:53 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Package class -- Represents the whole package being bound. -- The following fields are stored: -- {i} = list of objects in the package. classPackage = { classtype = 'package' } classPackage.__index = classPackage setmetatable(classPackage,classContainer) -- Print method function classPackage:print () print("Package: "..self.name) local i=1 while self[i] do self[i]:print("","") i = i+1 end end function classPackage:preprocess () -- avoid preprocessing embedded Lua code local L = {} self.code = gsub(self.code,"\n%s*%$%[","\1") -- deal with embedded C code self.code = gsub(self.code,"\n%s*%$%]","\2") self.code = gsub(self.code,"(%b\1\2)", function (c) tinsert(L,c) return "\n#["..getn(L).."]#" end) -- avoid preprocessing embedded C code local C = {} self.code = gsub(self.code,"\n%s*%$%<","\3") -- deal with embedded C code self.code = gsub(self.code,"\n%s*%$%>","\4") self.code = gsub(self.code,"(%b\3\4)", function (c) tinsert(C,c) return "\n#<"..getn(C)..">#" end) -- avoid preprocessing verbatim lines local V = {} self.code = gsub(self.code,"\n(%s*%$[^%[%]][^\n]*)",function (v) tinsert(V,v) return "\n#"..getn(V).."#" end) -- perform global substitution self.code = gsub(self.code,"(//[^\n]*)","") -- eliminate C++ comments self.code = gsub(self.code,"/%*","\1") self.code = gsub(self.code,"%*/","\2") self.code = gsub(self.code,"%b\1\2","") self.code = gsub(self.code,"\1","/%*") self.code = gsub(self.code,"\2","%*/") self.code = gsub(self.code,"%s*@%s*","@") -- eliminate spaces beside @ self.code = gsub(self.code,"%s?inline(%s)","%1") -- eliminate 'inline' keyword self.code = gsub(self.code,"%s?extern(%s)","%1") -- eliminate 'extern' keyword self.code = gsub(self.code,"%s?virtual(%s)","%1") -- eliminate 'virtual' keyword self.code = gsub(self.code,"public:","") -- eliminate 'public:' keyword self.code = gsub(self.code,"([^%w_])void%s*%*","%1_userdata ") -- substitute 'void*' self.code = gsub(self.code,"([^%w_])void%s*%*","%1_userdata ") -- substitute 'void*' self.code = gsub(self.code,"([^%w_])char%s*%*","%1_cstring ") -- substitute 'char*' self.code = gsub(self.code,"([^%w_])lua_State%s*%*","%1_lstate ") -- substitute 'lua_State*' -- restore embedded code self.code = gsub(self.code,"%#%[(%d+)%]%#",function (n) return L[tonumber(n)] end) -- restore embedded code self.code = gsub(self.code,"%#%<(%d+)%>%#",function (n) return C[tonumber(n)] end) -- restore verbatim lines self.code = gsub(self.code,"%#(%d+)%#",function (n) return V[tonumber(n)] end) end -- translate verbatim function classPackage:preamble () output('/*\n') output('** Lua binding: '..self.name..'\n') output('** Generated automatically by '..TOLUA_VERSION..' on '..date()..'.\n') output('*/\n\n') output('#ifndef __cplusplus\n') output('#include "stdlib.h"\n') output('#endif\n') output('#include "string.h"\n\n') output('#include "tolua.h"\n\n') if not flags.h then output('/* Exported function */') output('TOLUA_API int tolua_'..self.name..'_open (lua_State* tolua_S);') output('LUALIB_API int luaopen_'..self.name..' (lua_State* tolua_S);') output('\n') end local i=1 while self[i] do self[i]:preamble() i = i+1 end if self:requirecollection(_collect) then output('\n') output('/* function to release collected object via destructor */') output('#ifdef __cplusplus\n') for i,v in pairs(_collect) do output('\nstatic int '..v..' (lua_State* tolua_S)') output('{') output(' '..i..'* self = ('..i..'*) tolua_tousertype(tolua_S,1,0);') output(' tolua_release(tolua_S,self);') output(' delete self;') output(' return 0;') output('}') end output('#endif\n\n') end output('\n') output('/* function to register type */') output('static void tolua_reg_types (lua_State* tolua_S)') output('{') foreach(_usertype,function(n,v) output(' tolua_usertype(tolua_S,"',v,'");') end) output('}') output('\n') end -- register package -- write package open function function classPackage:register () push(self) output("/* Open lib function */") output('LUALIB_API int luaopen_'..self.name..' (lua_State* tolua_S)') output("{") output(" tolua_open(tolua_S);") output(" tolua_reg_types(tolua_S);") output(" tolua_module(tolua_S,NULL,",self:hasvar(),");") output(" tolua_beginmodule(tolua_S,NULL);") local i=1 while self[i] do self[i]:register() i = i+1 end output(" tolua_endmodule(tolua_S);") output(" return 1;") output("}") output("/* Open tolua function */") output("TOLUA_API int tolua_"..self.name.."_open (lua_State* tolua_S)") output("{") output(" lua_pushcfunction(tolua_S, luaopen_"..self.name..");") output(' lua_pushstring(tolua_S, "'..self.name..'");') output(" lua_call(tolua_S, 1, 0);") output(" return 1;") output("}") pop() end -- write header file function classPackage:header () output('/*\n') output('** Lua binding: '..self.name..'\n') output('** Generated automatically by '..TOLUA_VERSION..' on '..date()..'.\n') output('*/\n\n') if not flags.h then output('/* Exported function */') output('TOLUA_API int tolua_'..self.name..'_open (lua_State* tolua_S);') output('LUALIB_API int luaopen_'..self.name..' (lua_State* tolua_S);') output('\n') end end -- Internal constructor function _Package (self) setmetatable(self,classPackage) return self end -- Parse C header file with tolua directives -- *** Thanks to Ariel Manzur for fixing bugs in nested directives *** function extract_code(fn,s) local code = '\n$#include "'..fn..'"\n' s= "\n" .. s .. "\n" -- add blank lines as sentinels local _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n") while e do t = strlower(t) if t == "begin" then _,e,c = strfind(s,"(.-)\n[^\n]*[Tt][Oo][Ll][Uu][Aa]_[Ee][Nn][Dd][^\n]*\n",e) if not e then tolua_error("Unbalanced 'tolua_begin' directive in header file") end end code = code .. c .. "\n" _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n",e) end return code end -- Constructor -- Expects the package name, the file extension, and the file text. function Package (name,fn) local ext = "pkg" -- open input file, if any if fn then local st, msg = readfrom(flags.f) if not st then error('#'..msg) end local _; _, _, ext = strfind(fn,".*%.(.*)$") end local code = "\n" .. read('*a') if ext == 'h' or ext == 'hpp' then code = extract_code(fn,code) end -- close file if fn then readfrom() end -- deal with renaming directive code = gsub(code,'%s*%$renaming%s*(.-)%s*\n', function (r) appendrenaming(r) return "\n" end) -- deal with include directive local nsubst repeat code,nsubst = gsub(code,'\n%s*%$(.)file%s*"(.-)"%s*\n', function (kind,fn) local _, _, ext = strfind(fn,".*%.(.*)$") local fp,msg = openfile(fn,'r') if not fp then error('#'..msg..': '..fn) end local s = read(fp,'*a') closefile(fp) if kind == 'c' or kind == 'h' then return extract_code(fn,s) elseif kind == 'p' then return "\n\n" .. s elseif kind == 'l' then return "\n$[\n" .. s .. "\n$]\n" else error('#Invalid include directive (use $cfile, $pfile or $lfile)') end end) until nsubst==0 local t = _Package(_Container{name=name, code=code}) push(t) t:preprocess() t:parse(t.code) pop() return t end tolua-5.2.4/src/bin/lua-5.1-0k/array.lua0000755000175000017500000001324712615764613016121 0ustar tobitobi-- tolua: array class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1999 -- $Id: array.lua,v 1.1 2009-07-09 13:44:25 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Array class -- Represents a extern array variable or a public member of a class. -- Stores all fields present in a declaration. classArray = { } classArray.__index = classArray setmetatable(classArray,classDeclaration) -- Print method function classArray:print (ident,close) print(ident.."Array{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." def = '"..self.def.."',") print(ident.." dim = '"..self.dim.."',") print(ident.." ret = '"..self.ret.."',") print(ident.."}"..close) end -- check if it is a variable function classArray:isvariable () return true end -- get variable value function classArray:getvalue (class,static) if class and static then return class..'::'..self.name..'[tolua_index]' elseif class then return 'self->'..self.name..'[tolua_index]' else return self.name..'[tolua_index]' end end -- Write binding functions function classArray:supcode () local class = self:inclass() -- get function ------------------------------------------------ if class then output("/* get function:",self.name," of class ",class," */") else output("/* get function:",self.name," */") end self.cgetname = self:cfuncname("tolua_get") output("static int",self.cgetname,"(lua_State* tolua_S)") output("{") output(" int tolua_index;") -- declare self, if the case local _,_,static = strfind(self.mod,'^%s*(static)') if class and static==nil then output(' ',self.parent.type,'*','self;') output(' lua_pushstring(tolua_S,".self");') output(' lua_rawget(tolua_S,1);') output(' self = ') output('(',class,'*) ') output('lua_touserdata(tolua_S,-1);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check index output('#ifndef TOLUA_RELEASE\n') output(' {') output(' tolua_Error tolua_err;') output(' if (!tolua_isnumber(tolua_S,2,0,&tolua_err))') output(' tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);') output(' }') output('#endif\n') output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;') output('#ifndef TOLUA_RELEASE\n') output(' if (tolua_index<0 || tolua_index>='..self.dim..')') output(' tolua_error(tolua_S,"array indexing out of range.",NULL);') output('#endif\n') -- return value local t,ct = isbasic(self.type) if t then output(' tolua_push'..t..'(tolua_S,(',ct,')'..self:getvalue(class,static)..');') else t = self.type if self.ptr == '&' or self.ptr == '' then output(' tolua_pushusertype(tolua_S,(void*)&'..self:getvalue(class,static)..',"',t,'");') else output(' tolua_pushusertype(tolua_S,(void*)'..self:getvalue(class,static)..',"',t,'");') end end output(' return 1;') output('}') output('\n') -- set function ------------------------------------------------ if not strfind(self.type,'const') then if class then output("/* set function:",self.name," of class ",class," */") else output("/* set function:",self.name," */") end self.csetname = self:cfuncname("tolua_set") output("static int",self.csetname,"(lua_State* tolua_S)") output("{") -- declare index output(' int tolua_index;') -- declare self, if the case local _,_,static = strfind(self.mod,'^%s*(static)') if class and static==nil then output(' ',class,'*','self;') output(' lua_pushstring(tolua_S,".self");') output(' lua_rawget(tolua_S,1);') output(' self = ') output('(',class,'*) ') output('lua_touserdata(tolua_S,-1);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check index output('#ifndef TOLUA_RELEASE\n') output(' {') output(' tolua_Error tolua_err;') output(' if (!tolua_isnumber(tolua_S,2,0,&tolua_err))') output(' tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);') output(' }') output('#endif\n') output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;') output('#ifndef TOLUA_RELEASE\n') output(' if (tolua_index<0 || tolua_index>='..self.dim..')') output(' tolua_error(tolua_S,"array indexing out of range.",NULL);') output('#endif\n') -- assign value local ptr = '' if self.ptr~='' then ptr = '*' end output(' ') if class and static then output(class..'::'..self.name..'[tolua_index]') elseif class then output('self->'..self.name..'[tolua_index]') else output(self.name..'[tolua_index]') end local t = isbasic(self.type) output(' = ') if not t and ptr=='' then output('*') end output('((',self.mod,self.type) if not t then output('*') end output(') ') local def = 0 if self.def ~= '' then def = self.def end if t then if t=='function' then t='value' end output('tolua_to'..t,'(tolua_S,3,',def,'));') else output('tolua_tousertype(tolua_S,3,',def,'));') end output(' return 0;') output('}') output('\n') end end function classArray:register () if self.csetname then output(' tolua_array(tolua_S,"'..self.lname..'",'..self.cgetname..','..self.csetname..');') else output(' tolua_array(tolua_S,"'..self.lname..'",'..self.cgetname..',NULL);') end end -- Internal constructor function _Array (t) setmetatable(t,classArray) append(t) return t end -- Constructor -- Expects a string representing the variable declaration. function Array (s) return _Array (Declaration(s,'var')) end tolua-5.2.4/src/bin/lua-5.1-0k/._variable.lua0000755000175000017500000000043012615764613016773 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/clean.lua0000755000175000017500000000242312615764613016057 0ustar tobitobi-- mark up comments and strings STR1 = "\001" STR2 = "\002" STR3 = "\003" STR4 = "\004" REM = "\005" ANY = "([\001-\005])" ESC1 = "\006" ESC2 = "\007" MASK = { -- the substitution order is important {ESC1, "\\'"}, {ESC2, '\\"'}, {STR1, "'"}, {STR2, '"'}, {STR3, "%[%["}, {STR4, "%]%]"}, {REM , "%-%-"}, } function mask (s) for i = 1,getn(MASK) do s = gsub(s,MASK[i][2],MASK[i][1]) end return s end function unmask (s) for i = 1,getn(MASK) do s = gsub(s,MASK[i][1],MASK[i][2]) end return s end function clean (s) -- check for compilation error local code = "return function () " .. s .. " end" if not dostring(code) then return nil end local S = "" -- saved string s = mask(s) -- remove blanks and comments while 1 do local b,e,d = strfind(s,ANY) if b then S = S..strsub(s,1,b-1) s = strsub(s,b+1) if d==STR1 or d==STR2 then e = strfind(s,d) S = S ..d..strsub(s,1,e) s = strsub(s,e+1) elseif d==STR3 then e = strfind(s,STR4) S = S..d..strsub(s,1,e) s = strsub(s,e+1) elseif d==REM then s = gsub(s,"[^\n]*(\n?)","%1",1) end else S = S..s break end end -- eliminate unecessary spaces S = gsub(S,"[ \t]+"," ") S = gsub(S,"[ \t]*\n[ \t]*","\n") S = gsub(S,"\n+","\n") S = unmask(S) return S end tolua-5.2.4/src/bin/lua-5.1-0k/._feature.lua0000755000175000017500000000043012615764613016641 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.1-0k/feature.lua0000755000175000017500000000412612615764613016432 0ustar tobitobi-- tolua: abstract feature class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: feature.lua,v 1.1 2009-07-09 13:44:43 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Feature class -- Represents the base class of all mapped feature. classFeature = { } classFeature.__index = classFeature -- write support code function classFeature:supcode () end -- output tag function classFeature:decltype () end -- register feature function classFeature:register () end -- translate verbatim function classFeature:preamble () end -- check if it is a variable function classFeature:isvariable () return false end -- checi if it requires collection function classFeature:requirecollection (t) return false end -- build names function classFeature:buildnames () if self.name and self.name~='' then local n = split(self.name,'@') self.name = n[1] if not n[2] then n[2] = applyrenaming(n[1]) end self.lname = n[2] or gsub(n[1],"%[.-%]","") end self.name = getonlynamespace() .. self.name end -- check if feature is inside a container definition -- it returns the container class name or nil. function classFeature:incontainer (which) if self.parent then local parent = self.parent while parent do if parent.classtype == which then return parent.name end parent = parent.parent end end return nil end function classFeature:inclass () return self:incontainer('class') end function classFeature:inmodule () return self:incontainer('module') end function classFeature:innamespace () return self:incontainer('namespace') end -- return C binding function name based on name -- the client specifies a prefix function classFeature:cfuncname (n) if self.parent then n = self.parent:cfuncname(n) end if self.lname and strsub(self.lname,1,1)~="." -- operator are named as ".add" then return n..'_'..self.lname else return n..'_'..self.name end end tolua-5.2.4/src/bin/lua-5.1-0k/typedef.lua0000755000175000017500000000306012615764613016433 0ustar tobitobi-- tolua: typedef class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: typedef.lua,v 1.1 2009-07-09 13:44:54 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Typedef class -- Represents a type synonym. -- The 'de facto' type replaces the typedef before the -- remaining code is parsed. -- The following fields are stored: -- utype = typedef name -- type = 'the facto' type -- mod = modifiers to the 'de facto' type classTypedef = { utype = '', mod = '', type = '' } classTypedef.__index = classTypedef -- Print method function classTypedef:print (ident,close) print(ident.."Typedef{") print(ident.." utype = '"..self.utype.."',") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.."}"..close) end -- Return it's not a variable function classTypedef:isvariable () return false end -- Internal constructor function _Typedef (t) setmetatable(t,classTypedef) appendtypedef(t) return t end -- Constructor -- Expects one string representing the type definition. function Typedef (s) if strfind(s,'[%*&]') then tolua_error("#invalid typedef: pointers (and references) are not supported") end local t = split(gsub(s,"%s%s*"," ")," ") if not isbasic(t[t.n]) then return _Typedef { utype = t[t.n], type = t[t.n-1], mod = concat(t,1,t.n-2), } else return nil end end tolua-5.2.4/src/bin/._lua-5.00000755000175000017500000000046712615764613014127 0ustar tobitobiMac OS X  27ATTR7˜Ÿ˜Ÿcom.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited,file_inherit,directory_inherit:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/0000755000175000017500000000000014303161317013741 5ustar tobitobitolua-5.2.4/src/bin/lua-5.0/._clean.lua0000755000175000017500000000043012615764613015757 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/._all.lua0000755000175000017500000000043012615764613015445 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/._compat.lua0000755000175000017500000000043012615764613016160 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/all.lua0000755000175000017500000000125412615764613015235 0ustar tobitobidofile(path.."compat.lua") dofile(path.."basic.lua") dofile(path.."feature.lua") dofile(path.."verbatim.lua") dofile(path.."code.lua") dofile(path.."typedef.lua") dofile(path.."container.lua") dofile(path.."package.lua") dofile(path.."module.lua") dofile(path.."namespace.lua") dofile(path.."define.lua") dofile(path.."enumerate.lua") dofile(path.."declaration.lua") dofile(path.."variable.lua") dofile(path.."array.lua") dofile(path.."function.lua") dofile(path.."operator.lua") dofile(path.."class.lua") dofile(path.."clean.lua") dofile(path.."doit.lua") local err,msg = pcall(doit) if not err then local _,_,label,msg = strfind(msg,"(.-:.-:%s*)(.*)") tolua_error(msg,label) end tolua-5.2.4/src/bin/lua-5.0/enumerate.lua0000755000175000017500000000342712615764613016456 0ustar tobitobi-- tolua: enumerate class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: enumerate.lua,v 1.1 2009-07-09 13:44:01 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Enumerate class -- Represents enumeration -- The following fields are stored: -- {i} = list of constant names classEnumerate = { } classEnumerate.__index = classEnumerate setmetatable(classEnumerate,classFeature) -- register enumeration function classEnumerate:register () local nspace = getnamespace(classContainer.curr) local i=1 while self[i] do output(' tolua_constant(tolua_S,"'..self.lnames[i]..'",'..nspace..self[i]..');') i = i+1 end end -- Print method function classEnumerate:print (ident,close) print(ident.."Enumerate{") print(ident.." name = "..self.name) local i=1 while self[i] do print(ident.." '"..self[i].."'("..self.lnames[i].."),") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Enumerate (t) setmetatable(t,classEnumerate) append(t) appendenum(t) return t end -- Constructor -- Expects a string representing the enumerate body function Enumerate (n,b) local t = split(strsub(b,2,-2),',') -- eliminate braces local i = 1 local e = {n=0} while t[i] do local tt = split(t[i],'=') -- discard initial value e.n = e.n + 1 e[e.n] = tt[1] i = i+1 end -- set lua names i = 1 e.lnames = {} while e[i] do local t = split(e[i],'@') e[i] = t[1] if not t[2] then t[2] = applyrenaming(t[1]) end e.lnames[i] = t[2] or t[1] i = i+1 end e.name = n if n~="" then Typedef("int "..n) end return _Enumerate(e) end tolua-5.2.4/src/bin/lua-5.0/._define.lua0000755000175000017500000000043012615764613016127 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/._declaration.lua0000755000175000017500000000043012615764613017162 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/._namespace.lua0000755000175000017500000000043012615764613016631 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/function.lua0000755000175000017500000002153112615764613016312 0ustar tobitobi-- tolua: function class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: function.lua,v 1.1 2009-07-09 13:44:04 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Function class -- Represents a function or a class method. -- The following fields are stored: -- mod = type modifiers -- type = type -- ptr = "*" or "&", if representing a pointer or a reference -- name = name -- lname = lua name -- args = list of argument declarations -- const = if it is a method receiving a const "this". classFunction = { mod = '', type = '', ptr = '', name = '', args = {n=0}, const = '', } classFunction.__index = classFunction setmetatable(classFunction,classFeature) -- declare tags function classFunction:decltype () self.type = typevar(self.type) if strfind(self.mod,'const') then self.type = 'const '..self.type self.mod = gsub(self.mod,'const%s*','') end local i=1 while self.args[i] do self.args[i]:decltype() i = i+1 end end -- Write binding function -- Outputs C/C++ binding function. function classFunction:supcode () local overload = strsub(self.cname,-2,-1) - 1 -- indicate overloaded func local nret = 0 -- number of returned values local class = self:inclass() local _,_,static = strfind(self.mod,'^%s*(static)') if class then output("/* method:",self.name," of class ",class," */") else output("/* function:",self.name," */") end output("static int",self.cname,"(lua_State* tolua_S)") output("{") -- check types if overload < 0 then output('#ifndef TOLUA_RELEASE\n') end output(' tolua_Error tolua_err;') output(' if (\n') -- check self local narg if class then narg=2 else narg=1 end if class then local func = 'tolua_isusertype' local type = self.parent.type if self.const ~= '' then type = self.const .. " " .. type end if self.name=='new' or static~=nil then func = 'tolua_isusertable' type = self.parent.type end output(' !'..func..'(tolua_S,1,"'..type..'",0,&tolua_err) ||\n') end -- check args if self.args[1].type ~= 'void' then local i=1 while self.args[i] do local btype = isbasic(self.args[i].type) if btype ~= 'state' then output(' !'..self.args[i]:outchecktype(narg,false)..' ||\n') end if btype ~= 'state' then narg = narg+1 end i = i+1 end end -- check end of list output(' !tolua_isnoobj(tolua_S,'..narg..',&tolua_err)\n )') output(' goto tolua_lerror;') output(' else\n') if overload < 0 then output('#endif\n') end output(' {') -- declare self, if the case local narg if class then narg=2 else narg=1 end if class and self.name~='new' and static==nil then output(' ',self.const,self.parent.type,'*','self = ') output('(',self.const,self.parent.type,'*) ') output('tolua_tousertype(tolua_S,1,0);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- declare parameters if self.args[1].type ~= 'void' then local i=1 while self.args[i] do self.args[i]:declare(narg) if isbasic(self.args[i].type) ~= "state" then narg = narg+1 end i = i+1 end end -- check self if class and self.name~='new' and static==nil then output('#ifndef TOLUA_RELEASE\n') output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in function \''..self.name..'\'",NULL);'); output('#endif\n') end -- get array element values if class then narg=2 else narg=1 end if self.args[1].type ~= 'void' then local i=1 while self.args[i] do self.args[i]:getarray(narg) narg = narg+1 i = i+1 end end -- call function if class and self.name=='delete' then output(' tolua_release(tolua_S,self);') output(' delete self;') elseif class and self.name == 'operator&[]' then output(' self->operator[](',self.args[1].name,'-1) = ',self.args[2].name,';') else output(' {') if self.type ~= '' and self.type ~= 'void' then local ctype = self.type if ctype == 'value' or ctype == 'function' then ctype = 'int' end output(' ',self.mod,ctype,self.ptr,'tolua_ret = ') if isbasic(self.type) or self.ptr ~= '' then output('(',self.mod,ctype,self.ptr,') ') end else output(' ') end if class and self.name=='new' then output('new',self.type,'(') elseif class and static then output(class..'::'..self.name,'(') elseif class then output('self->'..self.name,'(') else output(self.name,'(') end -- write parameters local i=1 while self.args[i] do self.args[i]:passpar() i = i+1 if self.args[i] then output(',') end end if class and self.name == 'operator[]' then output('-1);') else output(');') end -- return values if self.type ~= '' and self.type ~= 'void' then nret = nret + 1 local t,ct = isbasic(self.type) if t then if t=='function' then t='value' end output(' tolua_push'..t..'(tolua_S,(',ct,')tolua_ret);') else t = self.type if self.ptr == '' then output(' {') output('#ifdef __cplusplus\n') output(' void* tolua_obj = new',t,'(tolua_ret);') output(' tolua_pushusertype(tolua_S,tolua_clone(tolua_S,tolua_obj,'.. (_collect[t] or 'NULL') ..'),"',t,'");') output('#else\n') output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&tolua_ret,sizeof(',t,'));') output(' tolua_pushusertype(tolua_S,tolua_clone(tolua_S,tolua_obj,NULL),"',t,'");') output('#endif\n') output(' }') elseif self.ptr == '&' then output(' tolua_pushusertype(tolua_S,(void*)&tolua_ret,"',t,'");') else output(' tolua_pushusertype(tolua_S,(void*)tolua_ret,"',t,'");') end end end local i=1 while self.args[i] do nret = nret + self.args[i]:retvalue() i = i+1 end output(' }') -- set array element values if class then narg=2 else narg=1 end if self.args[1].type ~= 'void' then local i=1 while self.args[i] do self.args[i]:setarray(narg) narg = narg+1 i = i+1 end end -- free dynamically allocated array if self.args[1].type ~= 'void' then local i=1 while self.args[i] do self.args[i]:freearray() i = i+1 end end end output(' }') output(' return '..nret..';') -- call overloaded function or generate error if overload < 0 then output('#ifndef TOLUA_RELEASE\n') output('tolua_lerror:\n') output(' tolua_error(tolua_S,"#ferror in function \''..self.lname..'\'.",&tolua_err);') output(' return 0;') output('#endif\n') else output('tolua_lerror:\n') output(' return '..strsub(self.cname,1,-3)..format("%02d",overload)..'(tolua_S);') end output('}') output('\n') end -- register function function classFunction:register () output(' tolua_function(tolua_S,"'..self.lname..'",'..self.cname..');') end -- Print method function classFunction:print (ident,close) print(ident.."Function{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." lname = '"..self.lname.."',") print(ident.." const = '"..self.const.."',") print(ident.." cname = '"..self.cname.."',") print(ident.." lname = '"..self.lname.."',") print(ident.." args = {") local i=1 while self.args[i] do self.args[i]:print(ident.." ",",") i = i+1 end print(ident.." }") print(ident.."}"..close) end -- check if it returns a object by value function classFunction:requirecollection (t) local r = false if self.type ~= '' and not isbasic(self.type) and self.ptr=='' then local type = gsub(self.type,"%s*const%s*","") t[type] = "tolua_collect_" .. gsub(type,"::","_") r = true end local i=1 while self.args[i] do r = self.args[i]:requirecollection(t) or r i = i+1 end return r end -- determine lua function name overload function classFunction:overload () return self.parent:overload(self.lname) end -- Internal constructor function _Function (t) setmetatable(t,classFunction) if t.const ~= 'const' and t.const ~= '' then error("#invalid 'const' specification") end append(t) if t:inclass() then if t.name == t.parent.name then t.name = 'new' t.lname = 'new' t.type = t.parent.name t.ptr = '*' elseif t.name == '~'..t.parent.name then t.name = 'delete' t.lname = 'delete' t.parent._delete = true end end t.cname = t:cfuncname("tolua")..t:overload(t) return t end -- Constructor -- Expects three strings: one representing the function declaration, -- another representing the argument list, and the third representing -- the "const" or empty string. function Function (d,a,c) local t = split(strsub(a,2,-2),',') -- eliminate braces local i=1 local l = {n=0} while t[i] do l.n = l.n+1 l[l.n] = Declaration(t[i],'var') i = i+1 end local f = Declaration(d,'func') f.args = l f.const = c return _Function(f) end tolua-5.2.4/src/bin/lua-5.0/define.lua0000755000175000017500000000233312615764613015716 0ustar tobitobi-- tolua: define class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: define.lua,v 1.1 2009-07-09 13:43:57 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Define class -- Represents a numeric const definition -- The following filds are stored: -- name = constant name classDefine = { name = '', } classDefine.__index = classDefine setmetatable(classDefine,classFeature) -- register define function classDefine:register () output(' tolua_constant(tolua_S,"'..self.lname..'",'..self.name..');') end -- Print method function classDefine:print (ident,close) print(ident.."Define{") print(ident.." name = '"..self.name.."',") print(ident.." lname = '"..self.lname.."',") print(ident.."}"..close) end -- Internal constructor function _Define (t) setmetatable(t,classDefine) t:buildnames() if t.name == '' then error("#invalid define") end append(t) return t end -- Constructor -- Expects a string representing the constant name function Define (n) return _Define{ name = n } end tolua-5.2.4/src/bin/lua-5.0/._class.lua0000755000175000017500000000043012615764613016002 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/._code.lua0000755000175000017500000000043012615764613015607 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/doit.lua0000755000175000017500000000220012615764613015414 0ustar tobitobi-- Generate binding code -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- Last update: Apr 2003 -- $Id: doit.lua,v 1.1 2009-07-09 13:43:59 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. function doit () -- define package name, if not provided if not flags.n then if flags.f then flags.n = gsub(flags.f,"%..*","") else error("#no package name nor input file provided") end end -- proccess package local p = Package(flags.n,flags.f) if flags.p then return -- only parse end if flags.o then local st,msg = writeto(flags.o) if not st then error('#'..msg) end end p:decltype() if flags.P then p:print() else p:preamble() p:supcode() p:register() end if flags.o then writeto() end -- write header file if not flags.P then if flags.H then local st,msg = writeto(flags.H) if not st then error('#'..msg) end p:header() writeto() end end end tolua-5.2.4/src/bin/lua-5.0/._function.lua0000755000175000017500000000043012615764613016522 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/namespace.lua0000755000175000017500000000232112615764613016415 0ustar tobitobi-- tolua: namespace class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 2003 -- $Id: namespace.lua,v 1.1 2009-07-09 13:44:08 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Namespace class -- Represents a namesapce definition. -- Stores the following fields: -- name = class name -- {i} = list of members classNamespace = { classtype = 'namespace', name = '', } classNamespace.__index = classNamespace setmetatable(classNamespace,classModule) -- Print method function classNamespace:print (ident,close) print(ident.."Namespace{") print(ident.." name = '"..self.name.."',") local i=1 while self[i] do self[i]:print(ident.." ",",") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Namespace (t) setmetatable(t,classNamespace) append(t) return t end -- Constructor -- Expects the name and the body of the namespace. function Namespace (n,b) local c = _Namespace(_Container{name=n}) push(c) c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces pop() end tolua-5.2.4/src/bin/lua-5.0/container.lua0000755000175000017500000002626012615764613016453 0ustar tobitobi-- tolua: container abstract class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: container.lua,v 1.1 2009-07-09 13:43:51 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- table to store namespaced typedefs/enums in global scope global_typedefs = {} global_enums = {} -- Container class -- Represents a container of features to be bound -- to lua. classContainer = { curr = nil, } classContainer.__index = classContainer setmetatable(classContainer,classFeature) -- output tags function classContainer:decltype () push(self) local i=1 while self[i] do self[i]:decltype() i = i+1 end pop() end -- write support code function classContainer:supcode () push(self) local i=1 while self[i] do self[i]:supcode() i = i+1 end pop() end function classContainer:hasvar () local i=1 while self[i] do if self[i]:isvariable() then return 1 end i = i+1 end return 0 end -- Internal container constructor function _Container (self) setmetatable(self,classContainer) self.n = 0 self.typedefs = {tolua_n=0} self.usertypes = {} self.enums = {tolua_n=0} self.lnames = {} return self end -- push container function push (t) t.prox = classContainer.curr classContainer.curr = t end -- pop container function pop () --print("name",classContainer.curr.name) --foreach(classContainer.curr.usertypes,print) --print("______________") classContainer.curr = classContainer.curr.prox end -- get current namespace function getcurrnamespace () return getnamespace(classContainer.curr) end -- append to current container function append (t) return classContainer.curr:append(t) end -- append typedef to current container function appendtypedef (t) return classContainer.curr:appendtypedef(t) end -- append usertype to current container function appendusertype (t) return classContainer.curr:appendusertype(t) end -- append enum to current container function appendenum (t) return classContainer.curr:appendenum(t) end -- substitute typedef function applytypedef (type) return classContainer.curr:applytypedef(type) end -- check if is type function findtype (type) local t = classContainer.curr:findtype(type) return t end -- check if is typedef function istypedef (type) return classContainer.curr:istypedef(type) end -- get fulltype (with namespace) function fulltype (t) local curr = classContainer.curr while curr do if curr then if curr.typedefs and curr.typedefs[t] then return curr.typedefs[t] elseif curr.usertypes and curr.usertypes[t] then return curr.usertypes[t] end end curr = curr.prox end return t end -- checks if it requires collection function classContainer:requirecollection (t) push(self) local i=1 local r = false while self[i] do r = self[i]:requirecollection(t) or r i = i+1 end pop() return r end -- get namesapce function getnamespace (curr) local namespace = '' while curr do if curr and ( curr.classtype == 'class' or curr.classtype == 'namespace') then namespace = curr.name .. '::' .. namespace end curr = curr.prox end return namespace end -- get namespace (only namespace) function getonlynamespace () local curr = classContainer.curr local namespace = '' while curr do if curr.classtype == 'class' then return namespace elseif curr.classtype == 'namespace' then namespace = curr.name .. '::' .. namespace end curr = curr.prox end return namespace end -- check if is enum function isenum (type) return classContainer.curr:isenum(type) end -- append feature to container function classContainer:append (t) self.n = self.n + 1 self[self.n] = t t.parent = self end -- append typedef function classContainer:appendtypedef (t) local namespace = getnamespace(classContainer.curr) self.typedefs.tolua_n = self.typedefs.tolua_n + 1 self.typedefs[self.typedefs.tolua_n] = t self.typedefs[t.utype] = namespace .. t.utype global_typedefs[namespace..t.utype] = t end -- append usertype: return full type function classContainer:appendusertype (t) local container if t == self.name then container = self.prox else container = self end local ft = getnamespace(container) .. t container.usertypes[t] = ft _usertype[ft] = ft return ft end -- append enum function classContainer:appendenum (t) local namespace = getnamespace(classContainer.curr) self.enums.tolua_n = self.enums.tolua_n + 1 self.enums[self.enums.tolua_n] = t global_enums[namespace..t.name] = t end -- determine lua function name overload function classContainer:overload (lname) if not self.lnames[lname] then self.lnames[lname] = 0 else self.lnames[lname] = self.lnames[lname] + 1 end return format("%02d",self.lnames[lname]) end -- applies typedef: returns the 'the facto' modifier and type function classContainer:applytypedef (type) if global_typedefs[type] then local mod1, type1 = global_typedefs[type].mod, global_typedefs[type].type local mod2, type2 = applytypedef(type1) return mod2 .. ' ' .. mod1, type2 end local basetype = gsub(type,"^.*::","") local env = self while env do if env.typedefs then local i=1 while env.typedefs[i] do if env.typedefs[i].utype == basetype then local mod1,type1 = env.typedefs[i].mod,env.typedefs[i].type local mod2,type2 = applytypedef(type1) return mod2..' '..mod1,type2 end i = i+1 end end env = env.parent end return '',type end -- check if it is a typedef function classContainer:istypedef (type) local env = self while env do if env.typedefs then local i=1 while env.typedefs[i] do if env.typedefs[i].utype == type then return type end i = i+1 end end env = env.parent end return nil end -- check if is a registered type: return full type or nil function classContainer:findtype (t) local curr = self while curr do if curr.typedefs and curr.typedefs[t] then return curr.typedefs[t] elseif curr.usertypes and curr.usertypes[t] then return curr.usertypes[t] end curr = curr.prox end if _basic[t] then return t end return nil end function classContainer:isenum (type) if global_enums[type] then return true end local basetype = gsub(type,"^.*::","") local env = self while env do if env.enums then local i=1 while env.enums[i] do if env.enums[i].name == basetype then return true end i = i+1 end end env = env.parent end return false end -- parse chunk function classContainer:doparse (s) -- try Lua code do local b,e,code = strfind(s,"^%s*(%b\1\2)") if b then Code(strsub(code,2,-2)) return strsub(s,e+1) end end -- try C code do local b,e,code = strfind(s,"^%s*(%b\3\4)") if b then code = '{'..strsub(code,2,-2)..'\n}\n' Verbatim(code,'r') -- verbatim code for 'r'egister fragment return strsub(s,e+1) end end -- try verbatim do local b,e,line = strfind(s,"^%s*%$(.-\n)") if b then Verbatim(line) return strsub(s,e+1) end end -- try module do local b,e,name,body = strfind(s,"^%s*module%s%s*([_%w][_%w]*)%s*(%b{})%s*") if b then _curr_code = strsub(s,b,e) Module(name,body) return strsub(s,e+1) end end -- try namesapce do local b,e,name,body = strfind(s,"^%s*namespace%s%s*([_%w][_%w]*)%s*(%b{})%s*") if b then _curr_code = strsub(s,b,e) Namespace(name,body) return strsub(s,e+1) end end -- try define do local b,e,name = strfind(s,"^%s*#define%s%s*([^%s]*)[^\n]*\n%s*") if b then _curr_code = strsub(s,b,e) Define(name) return strsub(s,e+1) end end -- try enumerates do local b,e,name,body = strfind(s,"^%s*enum%s+(%S*)%s*(%b{})%s*;?%s*") if b then _curr_code = strsub(s,b,e) Enumerate(name,body) return strsub(s,e+1) end end do local b,e,body,name = strfind(s,"^%s*typedef%s+enum[^{]*(%b{})%s*([%w_][^%s]*)%s*;%s*") if b then _curr_code = strsub(s,b,e) Enumerate(name,body) return strsub(s,e+1) end end -- try operator do local b,e,decl,kind,arg,const = strfind(s,"^%s*([_%w][_%w%s%*&:]*operator)%s*([^%s][^%s]*)%s*(%b())%s*(c?o?n?s?t?)%s*;%s*") if not b then -- try inline b,e,decl,kind,arg,const = strfind(s,"^%s*([_%w][_%w%s%*&:]*operator)%s*([^%s][^%s]*)%s*(%b())%s*(c?o?n?s?t?)%s*%b{}%s*;?%s*") end if b then _curr_code = strsub(s,b,e) Operator(decl,kind,arg,const) return strsub(s,e+1) end end -- try function do local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:]*[_%w])%s*(%b())%s*(c?o?n?s?t?)%s*=?%s*0?%s*;%s*") if not b then -- try a single letter function name b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)%s*;%s*") end if b then _curr_code = strsub(s,b,e) Function(decl,arg,const) return strsub(s,e+1) end end -- try inline function do local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:]*[_%w])%s*(%b())%s*(c?o?n?s?t?).-%b{}%s*;?%s*") if not b then -- try a single letter function name b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?).-%b{}%s*;?%s*") end if b then _curr_code = strsub(s,b,e) Function(decl,arg,const) return strsub(s,e+1) end end -- try class do local b,e,name,base,body base = '' body = '' b,e,name = strfind(s,"^%s*class%s*([_%w][_%w@]*)%s*;") -- dummy class if not b then b,e,name = strfind(s,"^%s*struct%s*([_%w][_%w@]*)%s*;") -- dummy struct if not b then b,e,name,base,body = strfind(s,"^%s*class%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*") if not b then b,e,name,base,body = strfind(s,"^%s*struct%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*") if not b then b,e,name,base,body = strfind(s,"^%s*union%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*") if not b then base = '' b,e,body,name = strfind(s,"^%s*typedef%s%s*struct%s*[_%w]*%s*(%b{})%s*([_%w][_%w@]*)%s*;%s*") if not b then base = '' b,e,body,name = strfind(s,"^%s*typedef%s%s*union%s*[_%w]*%s*(%b{})%s*([_%w][_%w@]*)%s*;%s*") end end end end end end if b then if base ~= '' then local b,e b,e,base = strfind(base,".-([_%w][_%w]*)$") end _curr_code = strsub(s,b,e) Class(name,base,body) return strsub(s,e+1) end end -- try typedef do local b,e,types = strfind(s,"^%s*typedef%s%s*(.-)%s*;%s*") if b then _curr_code = strsub(s,b,e) Typedef(types) return strsub(s,e+1) end end -- try variable do local b,e,decl = strfind(s,"^%s*([_%w][_@%s%w%d%*&:]*[_%w%d])%s*;%s*") if b then _curr_code = strsub(s,b,e) Variable(decl) return strsub(s,e+1) end end -- try string do local b,e,decl = strfind(s,"^%s*([_%w]?[_%s%w%d]-char%s+[_@%w%d]*%s*%[%s*%S+%s*%])%s*;%s*") if b then _curr_code = strsub(s,b,e) Variable(decl) return strsub(s,e+1) end end -- try array do local b,e,decl = strfind(s,"^%s*([_%w][][_@%s%w%d%*&:]*[]_%w%d])%s*;%s*") if b then _curr_code = strsub(s,b,e) Array(decl) return strsub(s,e+1) end end -- no matching if gsub(s,"%s%s*","") ~= "" then _curr_code = s error("#parse error") else return "" end end function classContainer:parse (s) while s ~= '' do s = self:doparse(s) end end tolua-5.2.4/src/bin/lua-5.0/._operator.lua0000755000175000017500000000043012615764613016530 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/._verbatim.lua0000755000175000017500000000043012615764613016506 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/verbatim.lua0000755000175000017500000000312112615764613016271 0ustar tobitobi-- tolua: verbatim class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: verbatim.lua,v 1.1 2009-07-09 13:44:20 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Verbatim class -- Represents a line translated directed to the binding file. -- The following filds are stored: -- line = line text classVerbatim = { line = '', cond = nil, -- condition: where to generate the code (s=suport, r=register) } classVerbatim.__index = classVerbatim setmetatable(classVerbatim,classFeature) -- preamble verbatim function classVerbatim:preamble () if self.cond == '' then write(self.line) end end -- support code function classVerbatim:supcode () if strfind(self.cond,'s') then write(self.line) write('\n') end end -- register code function classVerbatim:register () if strfind(self.cond,'r') then write(self.line) end end -- Print method function classVerbatim:print (ident,close) print(ident.."Verbatim{") print(ident.." line = '"..self.line.."',") print(ident.."}"..close) end -- Internal constructor function _Verbatim (t) setmetatable(t,classVerbatim) append(t) return t end -- Constructor -- Expects a string representing the text line function Verbatim (l,cond) if strsub(l,1,1) == '$' then cond = 'sr' -- generates in both suport and register fragments l = strsub(l,2) end return _Verbatim { line = l, cond = cond or '', } end tolua-5.2.4/src/bin/lua-5.0/._doit.lua0000755000175000017500000000043012615764613015634 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/basic.lua0000755000175000017500000001062712615764613015552 0ustar tobitobi-- tolua: basic utility functions -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- Last update: Apr 2003 -- $Id: basic.lua,v 1.1 2009-07-09 13:43:50 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Basic C types and their corresponding Lua types -- All occurrences of "char*" will be replaced by "_cstring", -- and all occurrences of "void*" will be replaced by "_userdata" _basic = { ['void'] = '', ['char'] = 'number', ['tolua_byte'] = 'number', ['tolua_ubyte'] = 'number', ['int'] = 'number', ['short'] = 'number', ['long'] = 'number', ['unsigned'] = 'number', ['float'] = 'number', ['double'] = 'number', ['_cstring'] = 'string', ['_userdata'] = 'userdata', ['char*'] = 'string', ['void*'] = 'userdata', ['bool'] = 'boolean', ['lua_State*'] = 'state', ['_lstate'] = 'state', ['lua_Object'] = 'value', ['lua_Function'] = 'function', ['LUA_VALUE'] = 'value', -- for compatibility with tolua 4.0 } _basic_ctype = { number = "lua_Number", string = "const char*", userdata = "void*", boolean = "bool", value = "int", } -- List of user defined types -- Each type corresponds to a variable name that stores its tag value. _usertype = {} -- List of types that have to be collected _collect = {} -- List of auto renaming _renaming = {} function appendrenaming (s) local b,e,old,new = strfind(s,"%s*(.-)%s*@%s*(.-)%s*$") if not b then error("#Invalid renaming syntax; it should be of the form: pattern@pattern") end tinsert(_renaming,{old=old, new=new}) end function applyrenaming (s) for i=1,getn(_renaming) do local m,n = gsub(s,_renaming[i].old,_renaming[i].new) if n ~= 0 then return m end end return nil end -- Error handler function tolua_error (s,f) local out = _OUTPUT _OUTPUT = _STDERR if strsub(s,1,1) == '#' then write("\n** tolua: "..strsub(s,2)..".\n\n") if _curr_code then local _,_,s = strfind(_curr_code,"^%s*(.-\n)") -- extract first line if s==nil then s = _curr_code end s = gsub(s,"_userdata","void*") -- return with 'void*' s = gsub(s,"_cstring","char*") -- return with 'char*' s = gsub(s,"_lstate","lua_State*") -- return with 'lua_State*' write("Code being processed:\n"..s.."\n") end else print(debug.traceback("\n** tolua internal error: "..f..s..".\n\n")) return end _OUTPUT = out end function warning (msg) local out = _OUTPUT _OUTPUT = _STDERR write("\n** tolua warning: "..msg..".\n\n") _OUTPUT = out end -- register an user defined type: returns full type function regtype (t) local ft = findtype(t) if isbasic(t) then return t end if not ft then return appendusertype(t) end end -- return type name: returns full type function typevar(type) if type == '' or type == 'void' then return type else local ft = findtype(type) if ft then return ft end _usertype[type] = type return type end end -- check if basic type function isbasic (type) local t = gsub(type,'const ','') local m,t = applytypedef(t) local b = _basic[t] if b then return b,_basic_ctype[b] end return nil end -- split string using a token function split (s,t) local l = {n=0} local f = function (s) l.n = l.n + 1 l[l.n] = s end local p = "%s*(.-)%s*"..t.."%s*" s = gsub(s,"^%s+","") s = gsub(s,"%s+$","") s = gsub(s,p,f) l.n = l.n + 1 l[l.n] = gsub(s,"(%s%s*)$","") return l end -- concatenate strings of a table function concat (t,f,l) local s = '' local i=f while i<=l do s = s..t[i] i = i+1 if i <= l then s = s..' ' end end return s end -- concatenate all parameters, following output rules function concatparam (line, ...) local i=1 while i<=arg.n do if _cont and not strfind(_cont,'[%(,"]') and strfind(arg[i],"^[%a_~]") then line = line .. ' ' end line = line .. arg[i] if arg[i] ~= '' then _cont = strsub(arg[i],-1,-1) end i = i+1 end if strfind(arg[arg.n],"[%/%)%;%{%}]$") then _cont=nil line = line .. '\n' end return line end -- output line function output (...) local i=1 while i<=arg.n do if _cont and not strfind(_cont,'[%(,"]') and strfind(arg[i],"^[%a_~]") then write(' ') end write(arg[i]) if arg[i] ~= '' then _cont = strsub(arg[i],-1,-1) end i = i+1 end if strfind(arg[arg.n],"[%/%)%;%{%}]$") then _cont=nil write('\n') end end tolua-5.2.4/src/bin/lua-5.0/operator.lua0000755000175000017500000000561212615764613016322 0ustar tobitobi-- tolua: operator class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: operator.lua,v 1.1 2009-07-09 13:44:09 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Operator class -- Represents an operator function or a class operator method. -- It stores the same fields as functions do plus: -- kind = set of character representing the operator (as it appers in C++ code) classOperator = { kind = '', } classOperator.__index = classOperator setmetatable(classOperator,classFunction) -- table to transform operator kind into the appropriate tag method name _TM = {['+'] = 'add', ['-'] = 'sub', ['*'] = 'mul', ['/'] = 'div', ['<'] = 'lt', ['<='] = 'le', ['=='] = 'eq', ['[]'] = 'geti', ['&[]'] = 'seti', } -- Print method function classOperator:print (ident,close) print(ident.."Operator{") print(ident.." kind = '"..self.kind.."',") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." const = '"..self.const.."',") print(ident.." cname = '"..self.cname.."',") print(ident.." lname = '"..self.lname.."',") print(ident.." args = {") local i=1 while self.args[i] do self.args[i]:print(ident.." ",",") i = i+1 end print(ident.." }") print(ident.."}"..close) end -- Internal constructor function _Operator (t) setmetatable(t,classOperator) if t.const ~= 'const' and t.const ~= '' then error("#invalid 'const' specification") end append(t) if not t:inclass() then error("#operator can only be defined as class member") end t.name = t.name .. "_" .. _TM[t.kind] t.cname = t:cfuncname("tolua")..t:overload(t) t.name = "operator" .. t.kind -- set appropriate calling name return t end -- Constructor function Operator (d,k,a,c) local ref = '' local t = split(strsub(a,2,strlen(a)-1),',') -- eliminate braces local i=1 local l = {n=0} while t[i] do l.n = l.n+1 l[l.n] = Declaration(t[i],'var') i = i+1 end if k == '[]' then local _ _, _, ref = strfind(d,'(&)') d = gsub(d,'&','') elseif k=='&[]' then l.n = l.n+1 l[l.n] = Declaration(d,'var') l[l.n].name = 'tolua_value' end local f = Declaration(d,'func') if k == '[]' and (l[1]==nil or isbasic(l[1].type)~='number') then error('operator[] can only be defined for numeric index.') end f.args = l f.const = c f.kind = gsub(k,"%s","") if not _TM[f.kind] then error("tolua: no support for operator" .. f.kind) end f.lname = ".".._TM[f.kind] if f.kind == '[]' and ref=='&' and f.const~='const' then Operator(d,'&'..k,a,c) -- create correspoding set operator end return _Operator(f) end tolua-5.2.4/src/bin/lua-5.0/class.lua0000755000175000017500000000542412615764613015575 0ustar tobitobi-- tolua: class class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: class.lua,v 1.1 2009-07-09 13:43:50 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Class class -- Represents a class definition. -- Stores the following fields: -- name = class name -- base = class base, if any (only single inheritance is supported) -- {i} = list of members classClass = { classtype = 'class', name = '', base = '', type = '', btype = '', ctype = '', } classClass.__index = classClass setmetatable(classClass,classContainer) -- register class function classClass:register () push(self) if _collect[self.type] then output('#ifdef __cplusplus\n') output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",'.._collect[self.type]..');') output('#else\n') output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",NULL);') output('#endif\n') else output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",NULL);') end output(' tolua_beginmodule(tolua_S,"'..self.lname..'");') local i=1 while self[i] do self[i]:register() i = i+1 end output(' tolua_endmodule(tolua_S);') pop() end -- return collection requirement function classClass:requirecollection (t) push(self) local r = false local i=1 while self[i] do r = self[i]:requirecollection(t) or r i = i+1 end pop() -- only class that exports destructor can be appropriately collected if self._delete then t[self.type] = "tolua_collect_" .. gsub(self.type,"::","_") r = true end return r end -- output tags function classClass:decltype () push(self) self.type = regtype(self.name) self.btype = typevar(self.base) self.ctype = 'const '..self.type local i=1 while self[i] do self[i]:decltype() i = i+1 end pop() end -- Print method function classClass:print (ident,close) print(ident.."Class{") print(ident.." name = '"..self.name.."',") print(ident.." base = '"..self.base.."';") print(ident.." lname = '"..self.lname.."',") print(ident.." type = '"..self.type.."',") print(ident.." btype = '"..self.btype.."',") print(ident.." ctype = '"..self.ctype.."',") local i=1 while self[i] do self[i]:print(ident.." ",",") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Class (t) setmetatable(t,classClass) t:buildnames() append(t) return t end -- Constructor -- Expects the name, the base and the body of the class. function Class (n,p,b) local c = _Class(_Container{name=n, base=p}) push(c) c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces pop() end tolua-5.2.4/src/bin/lua-5.0/variable.lua0000755000175000017500000001501212615764613016247 0ustar tobitobi-- tolua: variable class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: variable.lua,v 1.1 2009-07-09 13:44:18 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Variable class -- Represents a extern variable or a public member of a class. -- Stores all fields present in a declaration. classVariable = { _get = {}, -- mapped get functions _set = {}, -- mapped set functions } classVariable.__index = classVariable setmetatable(classVariable,classDeclaration) -- Print method function classVariable:print (ident,close) print(ident.."Variable{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") if self.dim then print(ident.." dim = '"..self.dim.."',") end print(ident.." def = '"..self.def.."',") print(ident.." ret = '"..self.ret.."',") print(ident.."}"..close) end -- Generates C function name function classVariable:cfuncname (prefix) local parent = "" local unsigned = "" local ptr = "" local p = self:inmodule() or self:innamespace() or self:inclass() if p then parent = "_" .. p end if strfind(self.mod,"(unsigned)") then unsigned = "_unsigned" end if self.ptr == "*" then ptr = "_ptr" elseif self.ptr == "&" then ptr = "_ref" end local name = prefix .. parent .. unsigned .. "_" .. gsub(self.name,".*::","") .. ptr return name end -- check if it is a variable function classVariable:isvariable () return true end -- get variable value function classVariable:getvalue (class,static) if class and static then return class..'::'..self.name elseif class then return 'self->'..self.name else return self.name end end -- get variable pointer value function classVariable:getpointervalue (class,static) if class and static then return class..'::p' elseif class then return 'self->p' else return 'p' end end -- Write binding functions function classVariable:supcode () local class = self:inclass() -- get function ------------------------------------------------ if class then output("/* get function:",self.name," of class ",class," */") self.cgetname = self:cfuncname("tolua_get_"..class) else output("/* get function:",self.name," */") self.cgetname = self:cfuncname("tolua_get") end output("static int",self.cgetname,"(lua_State* tolua_S)") output("{") -- declare self, if the case local _,_,static = strfind(self.mod,'^%s*(static)') if class and static==nil then output(' ',class,'*','self = ') output('(',class,'*) ') output('tolua_tousertype(tolua_S,1,0);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check self value if class and static==nil then output('#ifndef TOLUA_RELEASE\n') output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in accessing variable \''..self.name..'\'",NULL);'); output('#endif\n') end -- return value local type = self.type if gsub(type,'const ','')=='char' and self.dim~='' then type = 'char*' end local t,ct = isbasic(type) if t then output(' tolua_push'..t..'(tolua_S,(',ct,')'..self:getvalue(class,static)..');') else t = self.type if self.ptr == '&' or self.ptr == '' then output(' tolua_pushusertype(tolua_S,(void*)&'..self:getvalue(class,static)..',"',t,'");') else output(' tolua_pushusertype(tolua_S,(void*)'..self:getvalue(class,static)..',"',t,'");') end end output(' return 1;') output('}') output('\n') -- set function ------------------------------------------------ if not strfind(self.type,'const') then if class then output("/* set function:",self.name," of class ",class," */") self.csetname = self:cfuncname("tolua_set_"..class) else output("/* set function:",self.name," */") self.csetname = self:cfuncname("tolua_set") end output("static int",self.csetname,"(lua_State* tolua_S)") output("{") -- declare self, if the case if class and static==nil then output(' ',class,'*','self = ') output('(',class,'*) ') output('tolua_tousertype(tolua_S,1,0);') -- check self value end -- check types output('#ifndef TOLUA_RELEASE\n') output(' tolua_Error tolua_err;') if class and static==nil then output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in accessing variable \''..self.name..'\'",NULL);'); elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check variable type output(' if (!'..self:outchecktype(2,true)..')') output(' tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);') output('#endif\n') -- assign value local def = 0 if self.def ~= '' then def = self.def end if self.type == 'char' and self.dim ~= '' then -- is string output(' strncpy(') if class and static then output(class..'::'..self.name) elseif class then output('self->'..self.name) else output(self.name) end output(',tolua_tostring(tolua_S,2,',def,'),',self.dim,'-1);') else local ptr = '' if self.ptr~='' then ptr = '*' end output(' ') if class and static then output(class..'::'..self.name) elseif class then output('self->'..self.name) else output(self.name) end local t = isbasic(self.type) output(' = ') if not t and ptr=='' then output('*') end output('((',self.mod,self.type) if not t then output('*') end output(') ') if t then if isenum(self.type) then output('(int) ') end if t=='function' then t='value' end output('tolua_to'..t,'(tolua_S,2,',def,'));') else output('tolua_tousertype(tolua_S,2,',def,'));') end end output(' return 0;') output('}') output('\n') end end function classVariable:register () local parent = self:inmodule() or self:innamespace() or self:inclass() if not parent then if classVariable._warning==nil then warning("Mapping variable to global may degrade performance") classVariable._warning = 1 end end if self.csetname then output(' tolua_variable(tolua_S,"'..self.lname..'",'..self.cgetname..','..self.csetname..');') else output(' tolua_variable(tolua_S,"'..self.lname..'",'..self.cgetname..',NULL);') end end -- Internal constructor function _Variable (t) setmetatable(t,classVariable) append(t) return t end -- Constructor -- Expects a string representing the variable declaration. function Variable (s) return _Variable (Declaration(s,'var')) end tolua-5.2.4/src/bin/lua-5.0/._basic.lua0000755000175000017500000000043012615764613015756 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/module.lua0000755000175000017500000000272212615764613015753 0ustar tobitobi-- tolua: module class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: module.lua,v 1.1 2009-07-09 13:44:06 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Module class -- Represents module. -- The following fields are stored: -- {i} = list of objects in the module. classModule = { classtype = 'module' } classModule.__index = classModule setmetatable(classModule,classContainer) -- register module function classModule:register () push(self) output(' tolua_module(tolua_S,"'..self.name..'",',self:hasvar(),');') output(' tolua_beginmodule(tolua_S,"'..self.name..'");') local i=1 while self[i] do self[i]:register() i = i+1 end output(' tolua_endmodule(tolua_S);') pop() end -- Print method function classModule:print (ident,close) print(ident.."Module{") print(ident.." name = '"..self.name.."';") local i=1 while self[i] do self[i]:print(ident.." ",",") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Module (t) setmetatable(t,classModule) append(t) return t end -- Constructor -- Expects two string representing the module name and body. function Module (n,b) local t = _Module(_Container{name=n}) push(t) t:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces pop() return t end tolua-5.2.4/src/bin/lua-5.0/declaration.lua0000755000175000017500000002743012615764613016756 0ustar tobitobi-- tolua: declaration class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: declaration.lua,v 1.1 2009-07-09 13:43:54 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Declaration class -- Represents variable, function, or argument declaration. -- Stores the following fields: -- mod = type modifiers -- type = type -- ptr = "*" or "&", if representing a pointer or a reference -- name = name -- dim = dimension, if a vector -- def = default value, if any (only for arguments) -- ret = "*" or "&", if value is to be returned (only for arguments) classDeclaration = { mod = '', type = '', ptr = '', name = '', dim = '', ret = '', def = '' } classDeclaration.__index = classDeclaration setmetatable(classDeclaration,classFeature) -- Create an unique variable name function create_varname () if not _varnumber then _varnumber = 0 end _varnumber = _varnumber + 1 return "tolua_var_".._varnumber end -- Check declaration name -- It also identifies default values function classDeclaration:checkname () if strsub(self.name,1,1) == '[' and not findtype(self.type) then self.name = self.type..self.name local m = split(self.mod,'%s%s*') self.type = m[m.n] self.mod = concat(m,1,m.n-1) end local t = split(self.name,'=') if t.n==2 then self.name = t[1] self.def = t[t.n] end local b,e,d = strfind(self.name,"%[(.-)%]") if b then self.name = strsub(self.name,1,b-1) self.dim = d end if self.type ~= '' and self.type ~= 'void' and self.name == '' then self.name = create_varname() elseif self.kind=='var' then if self.type=='' and self.name~='' then self.type = self.type..self.name self.name = create_varname() elseif findtype(self.name) then if self.type=='' then self.type = self.name else self.type = self.type..' '..self.name end self.name = create_varname() end end -- adjust type of string -- if self.type == 'char' and self.dim ~= '' then -- self.type = 'char*' -- end end -- Check declaration type -- Substitutes typedef's. function classDeclaration:checktype () -- check if there is a pointer to basic type if isbasic(self.type) and self.ptr~='' then self.ret = self.ptr self.ptr = nil end -- check if there is array to be returned if self.dim~='' and self.ret~='' then error('#invalid parameter: cannot return an array of values') end -- restore 'void*' and 'string*' if self.type == '_userdata' then self.type = 'void*' elseif self.type == '_cstring' then self.type = 'char*' elseif self.type == '_lstate' then self.type = 'lua_State*' end -- -- -- if returning value, automatically set default value -- if self.ret ~= '' and self.def == '' then -- self.def = '0' -- end -- end -- Print method function classDeclaration:print (ident,close) print(ident.."Declaration{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." dim = '"..self.dim.."',") print(ident.." def = '"..self.def.."',") print(ident.." ret = '"..self.ret.."',") print(ident.."}"..close) end -- check if array of values are returned to Lua function classDeclaration:requirecollection (t) if self.mod ~= 'const' and self.dim and self.dim ~= '' and not isbasic(self.type) and self.ptr == '' then local type = gsub(self.type,"%s*const%s*","") t[type] = "tolua_collect_" .. gsub(type,"::","_") return true end return false end -- declare tag function classDeclaration:decltype () self.type = typevar(self.type) if strfind(self.mod,'const') then self.type = 'const '..self.type self.mod = gsub(self.mod,'const%s*','') end end -- output type checking function classDeclaration:outchecktype (narg,var) local def local t = isbasic(self.type) if self.def~='' then def = 1 else def = 0 end if self.dim ~= '' then if var and self.type=='char' then return 'tolua_isstring(tolua_S,'..narg..','..def..',&tolua_err)' else return 'tolua_istable(tolua_S,'..narg..',0,&tolua_err)' end elseif t then return 'tolua_is'..t..'(tolua_S,'..narg..','..def..',&tolua_err)' else return 'tolua_isusertype(tolua_S,'..narg..',"'..self.type..'",'..def..',&tolua_err)' end end function classDeclaration:builddeclaration (narg, cplusplus) local array = self.dim ~= '' and tonumber(self.dim)==nil local line = "" local ptr = '' local mod local type = self.type if self.dim ~= '' then type = gsub(self.type,'const%s*','') -- eliminates const modifier for arrays end local ctype = type if ctype=="lua_Object" or ctype=="lua_Function" then ctype = "int" end if self.ptr~='' then ptr = '*' end line = concatparam(line," ",self.mod,ctype,ptr) if array then line = concatparam(line,'*') end line = concatparam(line,self.name) if self.dim~='' then if tonumber(self.dim)~=nil then line = concatparam(line,'[',self.dim,'];') else if cplusplus then line = concatparam(line,' = new',type,ptr,'['..self.dim..'];') else line = concatparam(line,' = (',type,ptr,'*)', 'malloc((',self.dim,')*sizeof(',type,ptr,'));') end end else local t = isbasic(type) line = concatparam(line,' = ') if t == 'state' then line = concatparam(line, 'tolua_S;') else if not t and ptr=='' then line = concatparam(line,'*') end local ct = type if t == 'value' or t == 'function' then ct = 'int' end line = concatparam(line,'((',self.mod,ct) if not t then line = concatparam(line,'*') end line = concatparam(line,') ') if isenum(type) then --if not t and isenum(type) then line = concatparam(line,'(int) ') end local def = 0 if self.def ~= '' then def = self.def end if t then if t=='function' then t='value' end line = concatparam(line,'tolua_to'..t,'(tolua_S,',narg,',',def,'));') else line = concatparam(line,'tolua_tousertype(tolua_S,',narg,',',def,'));') end end end return line end -- Declare variable function classDeclaration:declare (narg) if self.dim ~= '' and self.type~='char' and tonumber(self.dim)==nil then output('#ifdef __cplusplus\n') output(self:builddeclaration(narg,true)) output('#else\n') output(self:builddeclaration(narg,false)) output('#endif\n') else output(self:builddeclaration(narg,false)) end end -- Get parameter value function classDeclaration:getarray (narg) if self.dim ~= '' then local type = gsub(self.type,'const ','') output(' {') output('#ifndef TOLUA_RELEASE\n') local def; if self.def~='' then def=1 else def=0 end local t = isbasic(type) if (t) then output(' if (!tolua_is'..t..'array(tolua_S,',narg,',',self.dim,',',def,',&tolua_err))') else output(' if (!tolua_isusertypearray(tolua_S,',narg,',"',type,'",',self.dim,',',def,',&tolua_err))') end output(' goto tolua_lerror;') output(' else\n') output('#endif\n') output(' {') output(' int i;') output(' for(i=0; i<'..self.dim..';i++)') local t = isbasic(type) local ptr = '' if self.ptr~='' then ptr = '*' end output(' ',self.name..'[i] = ') if not t and ptr=='' then output('*') end output('((',type) if not t then output('*') end output(') ') local def = 0 if self.def ~= '' then def = self.def end if t then if t=='function' then t='value' end output('tolua_tofield'..t..'(tolua_S,',narg,',i+1,',def,'));') else output('tolua_tofieldusertype(tolua_S,',narg,',i+1,',def,'));') end output(' }') output(' }') end end -- Get parameter value function classDeclaration:setarray (narg) if not strfind(self.type,'const') and self.dim ~= '' then local type = gsub(self.type,'const ','') output(' {') output(' int i;') output(' for(i=0; i<'..self.dim..';i++)') local t,ct = isbasic(type) if t then if t=='function' then t='value' end output(' tolua_pushfield'..t..'(tolua_S,',narg,',i+1,(',ct,')',self.name,'[i]);') else if self.ptr == '' then output(' {') output('#ifdef __cplusplus\n') output(' void* tolua_obj = new',type,'(',self.name,'[i]);') output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,tolua_clone(tolua_S,tolua_obj,'.. (_collect[type] or 'NULL') ..'),"',type,'");') output('#else\n') output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&',self.name,'[i],sizeof(',type,'));') output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,tolua_clone(tolua_S,tolua_obj,NULL),"',type,'");') output('#endif\n') output(' }') else output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,(void*)',self.name,'[i],"',type,'");') end end output(' }') end end -- Free dynamically allocated array function classDeclaration:freearray () if self.dim ~= '' and tonumber(self.dim)==nil then output('#ifdef __cplusplus\n') output(' delete []',self.name,';') output('#else\n') output(' free(',self.name,');') output('#endif\n') end end -- Pass parameter function classDeclaration:passpar () if self.ptr=='&' then output('*'..self.name) elseif self.ret=='*' then output('&'..self.name) else output(self.name) end end -- Return parameter value function classDeclaration:retvalue () if self.ret ~= '' then local t,ct = isbasic(self.type) if t then if t=='function' then t='value' end output(' tolua_push'..t..'(tolua_S,(',ct,')'..self.name..');') else output(' tolua_pushusertype(tolua_S,(void*)'..self.name..',"',self.type,'");') end return 1 end return 0 end -- Internal constructor function _Declaration (t) setmetatable(t,classDeclaration) t:buildnames() t:checkname() t:checktype() return t end -- Constructor -- Expects the string declaration. -- The kind of declaration can be "var" or "func". function Declaration (s,kind) -- eliminate spaces if default value is provided s = gsub(s,"%s*=%s*","=") if kind == "var" then -- check the form: void if s == '' or s == 'void' then return _Declaration{type = 'void', kind = kind} end end -- check the form: mod type*& name local t = split(s,'%*%s*&') if t.n == 2 then if kind == 'func' then error("#invalid function return type: "..s) end local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '*', ret = '&', type = m[m.n], mod = concat(m,1,m.n-1), kind = kind } end -- check the form: mod type** name t = split(s,'%*%s*%*') if t.n == 2 then if kind == 'func' then error("#invalid function return type: "..s) end local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '*', ret = '*', type = m[m.n], mod = concat(m,1,m.n-1), kind = kind } end -- check the form: mod type& name t = split(s,'&') if t.n == 2 then local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '&', type = m[m.n], mod = concat(m,1,m.n-1) , kind = kind } end -- check the form: mod type* name local s1 = gsub(s,"(%b\[\])",function (n) return gsub(n,'%*','\1') end) t = split(s1,'%*') if t.n == 2 then t[2] = gsub(t[2],'\1','%*') -- restore * in dimension expression local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '*', type = m[m.n], mod = concat(m,1,m.n-1) , kind = kind } end if kind == 'var' then -- check the form: mod type name t = split(s,'%s%s*') local v if findtype(t[t.n]) then v = '' else v = t[t.n]; t.n = t.n-1 end return _Declaration{ name = v, type = t[t.n], mod = concat(t,1,t.n-1), kind = kind } else -- kind == "func" -- check the form: mod type name t = split(s,'%s%s*') local v = t[t.n] -- last word is the function name local tp,md if t.n>1 then tp = t[t.n-1] md = concat(t,1,t.n-2) end return _Declaration{ name = v, type = tp, mod = md, kind = kind } end end tolua-5.2.4/src/bin/lua-5.0/._array.lua0000755000175000017500000000043012615764613016013 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/._typedef.lua0000755000175000017500000000043012615764613016335 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/._package.lua0000755000175000017500000000043012615764613016270 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/._module.lua0000755000175000017500000000043012615764613016162 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/compat.lua0000755000175000017500000000777712615764613015770 0ustar tobitobi------------------------------------------------------------------- -- Real globals -- _ALERT -- _ERRORMESSAGE -- _VERSION -- _G -- assert -- error -- metatable -- next -- print -- require -- tonumber -- tostring -- type -- unpack ------------------------------------------------------------------- -- collectgarbage -- gcinfo -- globals -- call -> protect(f, err) -- loadfile -- loadstring -- rawget -- rawset -- getargs = Main.getargs ?? rawtype = type function do_ (f, err) if not f then print(err); return end local a,b = pcall(f) if not a then print(b); return nil else return b or true end end function dostring(s) return do_(loadstring(s)) end -- function dofile(s) return do_(loadfile(s)) end ------------------------------------------------------------------- -- Table library local tab = table foreach = tab.foreach foreachi = tab.foreachi getn = tab.getn tinsert = tab.insert tremove = tab.remove sort = tab.sort ------------------------------------------------------------------- -- Debug library local dbg = debug getinfo = dbg.getinfo getlocal = dbg.getlocal setcallhook = function () error"`setcallhook' is deprecated" end setlinehook = function () error"`setlinehook' is deprecated" end setlocal = dbg.setlocal ------------------------------------------------------------------- -- math library local math = math abs = math.abs acos = function (x) return math.deg(math.acos(x)) end asin = function (x) return math.deg(math.asin(x)) end atan = function (x) return math.deg(math.atan(x)) end atan2 = function (x,y) return math.deg(math.atan2(x,y)) end ceil = math.ceil cos = function (x) return math.cos(math.rad(x)) end deg = math.deg exp = math.exp floor = math.floor frexp = math.frexp ldexp = math.ldexp log = math.log log10 = math.log10 max = math.max min = math.min mod = math.mod PI = math.pi --??? pow = math.pow rad = math.rad random = math.random randomseed = math.randomseed sin = function (x) return math.sin(math.rad(x)) end sqrt = math.sqrt tan = function (x) return math.tan(math.rad(x)) end ------------------------------------------------------------------- -- string library local str = string strbyte = str.byte strchar = str.char strfind = str.find format = str.format gsub = str.gsub strlen = str.len strlower = str.lower strrep = str.rep strsub = str.sub strupper = str.upper ------------------------------------------------------------------- -- os library clock = os.clock date = os.date difftime = os.difftime execute = os.execute --? exit = os.exit getenv = os.getenv remove = os.remove rename = os.rename setlocale = os.setlocale time = os.time tmpname = os.tmpname ------------------------------------------------------------------- -- compatibility only getglobal = function (n) return _G[n] end setglobal = function (n,v) _G[n] = v end ------------------------------------------------------------------- local io, tab = io, table -- IO library (files) _STDIN = io.stdin _STDERR = io.stderr _STDOUT = io.stdout _INPUT = io.stdin _OUTPUT = io.stdout seek = io.stdin.seek -- sick ;-) tmpfile = io.tmpfile closefile = io.close openfile = io.open function flush (f) if f then f:flush() else _OUTPUT:flush() end end function readfrom (name) if name == nil then local f, err, cod = io.close(_INPUT) _INPUT = io.stdin return f, err, cod else local f, err, cod = io.open(name, "r") _INPUT = f or _INPUT return f, err, cod end end function writeto (name) if name == nil then local f, err, cod = io.close(_OUTPUT) _OUTPUT = io.stdout return f, err, cod else local f, err, cod = io.open(name, "w") _OUTPUT = f or _OUTPUT return f, err, cod end end function appendto (name) local f, err, cod = io.open(name, "a") _OUTPUT = f or _OUTPUT return f, err, cod end function read (...) local f = _INPUT if rawtype(arg[1]) == 'userdata' then f = tab.remove(arg, 1) end return f:read(unpack(arg)) end function write (...) local f = _OUTPUT if rawtype(arg[1]) == 'userdata' then f = tab.remove(arg, 1) end return f:write(unpack(arg)) end tolua-5.2.4/src/bin/lua-5.0/code.lua0000755000175000017500000000331112615764613015373 0ustar tobitobi-- tolua: code class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1999 -- $Id: code.lua,v 1.1 2009-07-09 13:43:50 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Code class -- Represents Lua code to be compiled and included -- in the initialization function. -- The following fields are stored: -- text = text code classCode = { text = '', } classCode.__index = classCode setmetatable(classCode,classFeature) -- register code function classCode:register () -- clean Lua code local s = clean(self.text) if not s then error("parser error in embedded code") end -- convert to C output('\n { /* begin embedded lua code */\n') output(' static unsigned char B[] = {\n ') local t={n=0} local b = gsub(s,'(.)',function (c) local e = '' t.n=t.n+1 if t.n==15 then t.n=0 e='\n ' end return format('%3u,%s',strbyte(c),e) end ) output(b..strbyte(" ")) output('\n };\n') output(' lua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code");') output(' } /* end of embedded lua code */\n\n') end -- Print method function classCode:print (ident,close) print(ident.."Code{") print(ident.." text = [["..self.text.."]],") print(ident.."}"..close) end -- Internal constructor function _Code (t) setmetatable(t,classCode) append(t) return t end -- Constructor -- Expects a string representing the code text function Code (l) return _Code { text = l } end tolua-5.2.4/src/bin/lua-5.0/._container.lua0000755000175000017500000000043012615764613016657 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/._enumerate.lua0000755000175000017500000000043012615764613016662 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/package.lua0000755000175000017500000002013212615764613016054 0ustar tobitobi-- tolua: package class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: package.lua,v 1.1 2009-07-09 13:44:11 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Package class -- Represents the whole package being bound. -- The following fields are stored: -- {i} = list of objects in the package. classPackage = { classtype = 'package' } classPackage.__index = classPackage setmetatable(classPackage,classContainer) -- Print method function classPackage:print () print("Package: "..self.name) local i=1 while self[i] do self[i]:print("","") i = i+1 end end function classPackage:preprocess () -- avoid preprocessing embedded Lua code local L = {} self.code = gsub(self.code,"\n%s*%$%[","\1") -- deal with embedded C code self.code = gsub(self.code,"\n%s*%$%]","\2") self.code = gsub(self.code,"(%b\1\2)", function (c) tinsert(L,c) return "\n#["..getn(L).."]#" end) -- avoid preprocessing embedded C code local C = {} self.code = gsub(self.code,"\n%s*%$%<","\3") -- deal with embedded C code self.code = gsub(self.code,"\n%s*%$%>","\4") self.code = gsub(self.code,"(%b\3\4)", function (c) tinsert(C,c) return "\n#<"..getn(C)..">#" end) -- avoid preprocessing verbatim lines local V = {} self.code = gsub(self.code,"\n(%s*%$[^%[%]][^\n]*)",function (v) tinsert(V,v) return "\n#"..getn(V).."#" end) -- perform global substitution self.code = gsub(self.code,"(//[^\n]*)","") -- eliminate C++ comments self.code = gsub(self.code,"/%*","\1") self.code = gsub(self.code,"%*/","\2") self.code = gsub(self.code,"%b\1\2","") self.code = gsub(self.code,"\1","/%*") self.code = gsub(self.code,"\2","%*/") self.code = gsub(self.code,"%s*@%s*","@") -- eliminate spaces beside @ self.code = gsub(self.code,"%s?inline(%s)","%1") -- eliminate 'inline' keyword self.code = gsub(self.code,"%s?extern(%s)","%1") -- eliminate 'extern' keyword self.code = gsub(self.code,"%s?virtual(%s)","%1") -- eliminate 'virtual' keyword self.code = gsub(self.code,"public:","") -- eliminate 'public:' keyword self.code = gsub(self.code,"([^%w_])void%s*%*","%1_userdata ") -- substitute 'void*' self.code = gsub(self.code,"([^%w_])void%s*%*","%1_userdata ") -- substitute 'void*' self.code = gsub(self.code,"([^%w_])char%s*%*","%1_cstring ") -- substitute 'char*' self.code = gsub(self.code,"([^%w_])lua_State%s*%*","%1_lstate ") -- substitute 'lua_State*' -- restore embedded code self.code = gsub(self.code,"%#%[(%d+)%]%#",function (n) return L[tonumber(n)] end) -- restore embedded code self.code = gsub(self.code,"%#%<(%d+)%>%#",function (n) return C[tonumber(n)] end) -- restore verbatim lines self.code = gsub(self.code,"%#(%d+)%#",function (n) return V[tonumber(n)] end) end -- translate verbatim function classPackage:preamble () output('/*\n') output('** Lua binding: '..self.name..'\n') output('** Generated automatically by '..TOLUA_VERSION..' on '..date()..'.\n') output('*/\n\n') output('#ifndef __cplusplus\n') output('#include "stdlib.h"\n') output('#endif\n') output('#include "string.h"\n\n') output('#include "tolua.h"\n\n') if not flags.h then output('/* Exported function */') output('TOLUA_API int tolua_'..self.name..'_open (lua_State* tolua_S);') output('\n') end local i=1 while self[i] do self[i]:preamble() i = i+1 end if self:requirecollection(_collect) then output('\n') output('/* function to release collected object via destructor */') output('#ifdef __cplusplus\n') for i,v in pairs(_collect) do output('\nstatic int '..v..' (lua_State* tolua_S)') output('{') output(' '..i..'* self = ('..i..'*) tolua_tousertype(tolua_S,1,0);') output(' tolua_release(tolua_S,self);') output(' delete self;') output(' return 0;') output('}') end output('#endif\n\n') end output('\n') output('/* function to register type */') output('static void tolua_reg_types (lua_State* tolua_S)') output('{') foreach(_usertype,function(n,v) output(' tolua_usertype(tolua_S,"',v,'");') end) output('}') output('\n') end -- register package -- write package open function function classPackage:register () push(self) output("/* Open function */") output("TOLUA_API int tolua_"..self.name.."_open (lua_State* tolua_S)") output("{") output(" tolua_open(tolua_S);") output(" tolua_reg_types(tolua_S);") output(" tolua_module(tolua_S,NULL,",self:hasvar(),");") output(" tolua_beginmodule(tolua_S,NULL);") local i=1 while self[i] do self[i]:register() i = i+1 end output(" tolua_endmodule(tolua_S);") output(" return 1;") output("}") pop() end -- write header file function classPackage:header () output('/*\n') output('** Lua binding: '..self.name..'\n') output('** Generated automatically by '..TOLUA_VERSION..' on '..date()..'.\n') output('*/\n\n') if not flags.h then output('/* Exported function */') output('TOLUA_API int tolua_'..self.name..'_open (lua_State* tolua_S);') output('\n') end end -- Internal constructor function _Package (self) setmetatable(self,classPackage) return self end -- Parse C header file with tolua directives -- *** Thanks to Ariel Manzur for fixing bugs in nested directives *** function extract_code(fn,s) local code = '\n$#include "'..fn..'"\n' s= "\n" .. s .. "\n" -- add blank lines as sentinels local _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n") while e do t = strlower(t) if t == "begin" then _,e,c = strfind(s,"(.-)\n[^\n]*[Tt][Oo][Ll][Uu][Aa]_[Ee][Nn][Dd][^\n]*\n",e) if not e then tolua_error("Unbalanced 'tolua_begin' directive in header file") end end code = code .. c .. "\n" _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n",e) end return code end -- Constructor -- Expects the package name, the file extension, and the file text. function Package (name,fn) local ext = "pkg" -- open input file, if any if fn then local st, msg = readfrom(flags.f) if not st then error('#'..msg) end local _; _, _, ext = strfind(fn,".*%.(.*)$") end local code = "\n" .. read('*a') if ext == 'h' or ext == 'hpp' then code = extract_code(fn,code) end -- close file if fn then readfrom() end -- deal with renaming directive code = gsub(code,'%s*%$renaming%s*(.-)%s*\n', function (r) appendrenaming(r) return "\n" end) -- deal with include directive local nsubst repeat code,nsubst = gsub(code,'\n%s*%$(.)file%s*"(.-)"%s*\n', function (kind,fn) local _, _, ext = strfind(fn,".*%.(.*)$") local fp,msg = openfile(fn,'r') if not fp then error('#'..msg..': '..fn) end local s = read(fp,'*a') closefile(fp) if kind == 'c' or kind == 'h' then return extract_code(fn,s) elseif kind == 'p' then return "\n\n" .. s elseif kind == 'l' then return "\n$[\n" .. s .. "\n$]\n" else error('#Invalid include directive (use $cfile, $pfile or $lfile)') end end) until nsubst==0 local t = _Package(_Container{name=name, code=code}) push(t) t:preprocess() t:parse(t.code) pop() return t end tolua-5.2.4/src/bin/lua-5.0/array.lua0000755000175000017500000001324712615764613015610 0ustar tobitobi-- tolua: array class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1999 -- $Id: array.lua,v 1.1 2009-07-09 13:43:49 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Array class -- Represents a extern array variable or a public member of a class. -- Stores all fields present in a declaration. classArray = { } classArray.__index = classArray setmetatable(classArray,classDeclaration) -- Print method function classArray:print (ident,close) print(ident.."Array{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." def = '"..self.def.."',") print(ident.." dim = '"..self.dim.."',") print(ident.." ret = '"..self.ret.."',") print(ident.."}"..close) end -- check if it is a variable function classArray:isvariable () return true end -- get variable value function classArray:getvalue (class,static) if class and static then return class..'::'..self.name..'[tolua_index]' elseif class then return 'self->'..self.name..'[tolua_index]' else return self.name..'[tolua_index]' end end -- Write binding functions function classArray:supcode () local class = self:inclass() -- get function ------------------------------------------------ if class then output("/* get function:",self.name," of class ",class," */") else output("/* get function:",self.name," */") end self.cgetname = self:cfuncname("tolua_get") output("static int",self.cgetname,"(lua_State* tolua_S)") output("{") output(" int tolua_index;") -- declare self, if the case local _,_,static = strfind(self.mod,'^%s*(static)') if class and static==nil then output(' ',self.parent.type,'*','self;') output(' lua_pushstring(tolua_S,".self");') output(' lua_rawget(tolua_S,1);') output(' self = ') output('(',class,'*) ') output('lua_touserdata(tolua_S,-1);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check index output('#ifndef TOLUA_RELEASE\n') output(' {') output(' tolua_Error tolua_err;') output(' if (!tolua_isnumber(tolua_S,2,0,&tolua_err))') output(' tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);') output(' }') output('#endif\n') output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;') output('#ifndef TOLUA_RELEASE\n') output(' if (tolua_index<0 || tolua_index>='..self.dim..')') output(' tolua_error(tolua_S,"array indexing out of range.",NULL);') output('#endif\n') -- return value local t,ct = isbasic(self.type) if t then output(' tolua_push'..t..'(tolua_S,(',ct,')'..self:getvalue(class,static)..');') else t = self.type if self.ptr == '&' or self.ptr == '' then output(' tolua_pushusertype(tolua_S,(void*)&'..self:getvalue(class,static)..',"',t,'");') else output(' tolua_pushusertype(tolua_S,(void*)'..self:getvalue(class,static)..',"',t,'");') end end output(' return 1;') output('}') output('\n') -- set function ------------------------------------------------ if not strfind(self.type,'const') then if class then output("/* set function:",self.name," of class ",class," */") else output("/* set function:",self.name," */") end self.csetname = self:cfuncname("tolua_set") output("static int",self.csetname,"(lua_State* tolua_S)") output("{") -- declare index output(' int tolua_index;') -- declare self, if the case local _,_,static = strfind(self.mod,'^%s*(static)') if class and static==nil then output(' ',class,'*','self;') output(' lua_pushstring(tolua_S,".self");') output(' lua_rawget(tolua_S,1);') output(' self = ') output('(',class,'*) ') output('lua_touserdata(tolua_S,-1);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check index output('#ifndef TOLUA_RELEASE\n') output(' {') output(' tolua_Error tolua_err;') output(' if (!tolua_isnumber(tolua_S,2,0,&tolua_err))') output(' tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);') output(' }') output('#endif\n') output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;') output('#ifndef TOLUA_RELEASE\n') output(' if (tolua_index<0 || tolua_index>='..self.dim..')') output(' tolua_error(tolua_S,"array indexing out of range.",NULL);') output('#endif\n') -- assign value local ptr = '' if self.ptr~='' then ptr = '*' end output(' ') if class and static then output(class..'::'..self.name..'[tolua_index]') elseif class then output('self->'..self.name..'[tolua_index]') else output(self.name..'[tolua_index]') end local t = isbasic(self.type) output(' = ') if not t and ptr=='' then output('*') end output('((',self.mod,self.type) if not t then output('*') end output(') ') local def = 0 if self.def ~= '' then def = self.def end if t then if t=='function' then t='value' end output('tolua_to'..t,'(tolua_S,3,',def,'));') else output('tolua_tousertype(tolua_S,3,',def,'));') end output(' return 0;') output('}') output('\n') end end function classArray:register () if self.csetname then output(' tolua_array(tolua_S,"'..self.lname..'",'..self.cgetname..','..self.csetname..');') else output(' tolua_array(tolua_S,"'..self.lname..'",'..self.cgetname..',NULL);') end end -- Internal constructor function _Array (t) setmetatable(t,classArray) append(t) return t end -- Constructor -- Expects a string representing the variable declaration. function Array (s) return _Array (Declaration(s,'var')) end tolua-5.2.4/src/bin/lua-5.0/._variable.lua0000755000175000017500000000043012615764613016462 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/clean.lua0000755000175000017500000000242312615764613015546 0ustar tobitobi-- mark up comments and strings STR1 = "\001" STR2 = "\002" STR3 = "\003" STR4 = "\004" REM = "\005" ANY = "([\001-\005])" ESC1 = "\006" ESC2 = "\007" MASK = { -- the substitution order is important {ESC1, "\\'"}, {ESC2, '\\"'}, {STR1, "'"}, {STR2, '"'}, {STR3, "%[%["}, {STR4, "%]%]"}, {REM , "%-%-"}, } function mask (s) for i = 1,getn(MASK) do s = gsub(s,MASK[i][2],MASK[i][1]) end return s end function unmask (s) for i = 1,getn(MASK) do s = gsub(s,MASK[i][1],MASK[i][2]) end return s end function clean (s) -- check for compilation error local code = "return function () " .. s .. " end" if not dostring(code) then return nil end local S = "" -- saved string s = mask(s) -- remove blanks and comments while 1 do local b,e,d = strfind(s,ANY) if b then S = S..strsub(s,1,b-1) s = strsub(s,b+1) if d==STR1 or d==STR2 then e = strfind(s,d) S = S ..d..strsub(s,1,e) s = strsub(s,e+1) elseif d==STR3 then e = strfind(s,STR4) S = S..d..strsub(s,1,e) s = strsub(s,e+1) elseif d==REM then s = gsub(s,"[^\n]*(\n?)","%1",1) end else S = S..s break end end -- eliminate unecessary spaces S = gsub(S,"[ \t]+"," ") S = gsub(S,"[ \t]*\n[ \t]*","\n") S = gsub(S,"\n+","\n") S = unmask(S) return S end tolua-5.2.4/src/bin/lua-5.0/._feature.lua0000755000175000017500000000043012615764613016330 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua-5.0/feature.lua0000755000175000017500000000412612615764613016121 0ustar tobitobi-- tolua: abstract feature class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: feature.lua,v 1.1 2009-07-09 13:44:02 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Feature class -- Represents the base class of all mapped feature. classFeature = { } classFeature.__index = classFeature -- write support code function classFeature:supcode () end -- output tag function classFeature:decltype () end -- register feature function classFeature:register () end -- translate verbatim function classFeature:preamble () end -- check if it is a variable function classFeature:isvariable () return false end -- checi if it requires collection function classFeature:requirecollection (t) return false end -- build names function classFeature:buildnames () if self.name and self.name~='' then local n = split(self.name,'@') self.name = n[1] if not n[2] then n[2] = applyrenaming(n[1]) end self.lname = n[2] or gsub(n[1],"%[.-%]","") end self.name = getonlynamespace() .. self.name end -- check if feature is inside a container definition -- it returns the container class name or nil. function classFeature:incontainer (which) if self.parent then local parent = self.parent while parent do if parent.classtype == which then return parent.name end parent = parent.parent end end return nil end function classFeature:inclass () return self:incontainer('class') end function classFeature:inmodule () return self:incontainer('module') end function classFeature:innamespace () return self:incontainer('namespace') end -- return C binding function name based on name -- the client specifies a prefix function classFeature:cfuncname (n) if self.parent then n = self.parent:cfuncname(n) end if self.lname and strsub(self.lname,1,1)~="." -- operator are named as ".add" then return n..'_'..self.lname else return n..'_'..self.name end end tolua-5.2.4/src/bin/lua-5.0/typedef.lua0000755000175000017500000000306512615764613016127 0ustar tobitobi-- tolua: typedef class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: typedef.lua,v 1.1 2009-07-09 13:44:14 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Typedef class -- Represents a type synonym. -- The 'de facto' type replaces the typedef before the -- remaining code is parsed. -- The following fields are stored: -- utype = typedef name -- type = 'the facto' type -- mod = modifiers to the 'de facto' type classTypedef = { utype = '', mod = '', type = '' } classTypedef.__index = classTypedef -- Print method function classTypedef:print (ident,close) print(ident.."Typedef{") print(ident.." utype = '"..self.utype.."',") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.."}"..close) end -- Return it's not a variable function classTypedef:isvariable () return false end -- Internal constructor function _Typedef (t) setmetatable(t,classTypedef) appendtypedef(t) return t end -- Constructor -- Expects one string representing the type definition. function Typedef (s) if strfind(s,'[%*&]') then tolua_error("#invalid typedef: pointers (and references) are not supported") end local t = split(gsub(s,"%s%s*"," ")," ") if not isbasic(t[t.n]) then return _Typedef { utype = t[t.n], type = t[t.n-1], mod = concat(t,1,t.n-2), } else return nil end end tolua-5.2.4/src/bin/tolua.c0000755000175000017500000000555612615764613014202 0ustar tobitobi/* tolua ** Support code for Lua bindings. ** Written by Waldemar Celes ** TeCGraf/PUC-Rio ** Aug 2003 ** $Id: tolua.c,v 1.4 2009/11/24 16:45:12 fabraham Exp $ */ /* This code is free software; you can redistribute it and/or modify it. ** The software provided hereunder is on an "as is" basis, and ** the author has no obligation to provide maintenance, support, updates, ** enhancements, or modifications. */ #include "tolua.h" #include "lua.h" #include "lualib.h" #include "lauxlib.h" #include #include #include static void help (void) { fprintf(stderr,"\n" "usage: tolua [options] input_file\n" "\n" "Command line options are:\n" " -v : print version information.\n" " -o file : set output file; default is stdout.\n" " -H file : create include file.\n" " -n name : set package name; default is input file root name.\n" " -p : parse only.\n" " -P : parse and print structure information (for debug).\n" " -h : print this message.\n" "Should the input file be omitted, stdin is assumed;\n" "in that case, the package name must be explicitly set.\n\n" ); } static void version (void) { fprintf(stderr, "%s (written by W. Celes)\n",TOLUA_VERSION); } static void setfield (lua_State* L, int table, char* f, char* v) { lua_pushstring(L,f); lua_pushstring(L,v); lua_settable(L,table); } static void error (char* o) { fprintf(stderr,"tolua: unknown option '%s'\n",o); help(); exit(1); } int main (int argc, char* argv[]) { lua_State* L = luaL_newstate(); luaL_openlibs(L); lua_pushstring(L,TOLUA_VERSION); lua_setglobal(L,"TOLUA_VERSION"); if (argc==1) { help(); return 0; } else { int i, t; lua_newtable(L); lua_pushvalue(L,-1); lua_setglobal(L,"flags"); t = lua_gettop(L); for (i=1; ioperator[](',self.args[1].name,'-1) = ',self.args[2].name,';') else output(' {') if self.type ~= '' and self.type ~= 'void' then local ctype = self.type if ctype == 'value' or ctype == 'function' then ctype = 'int' end if self.type == 'tolua_multret' then output(' tolua_ret = ') else output(' ',self.mod,ctype,self.ptr,'tolua_ret = ') end if isbasic(self.type) or self.ptr ~= '' then output('(',self.mod,ctype,self.ptr,') ') end else output(' ') end if class and self.name=='new' then output('new',self.type,'(') elseif class and static then output(class..'::'..self.name,'(') elseif class then output('self->'..self.name,'(') else output(self.name,'(') end -- write parameters local i=1 while self.args[i] and self.args[i].type ~= "..." do self.args[i]:passpar() i = i+1 if self.args[i] and self.args[i].type ~= "..." then output(',') end end if class and self.name == 'operator[]' then output('-1);') else output(');') end -- return values if self.type ~= '' and self.type ~= 'void' and self.type ~= 'tolua_multret' then nret = nret + 1 local t,ct = isbasic(self.type) if t then if t=='function' then t='value' end if self.type == 'tolua_index' then output(' if (tolua_ret < 0) lua_pushnil(tolua_S);') output(' else tolua_push'..t..'(tolua_S,(',ct,')tolua_ret+1);') else output(' tolua_push'..t..'(tolua_S,(',ct,')tolua_ret);') end else t = self.type if self.ptr == '' then output(' {') output('#ifdef __cplusplus\n') output(' void* tolua_obj = new',t,'(tolua_ret);') output(' tolua_pushusertype(tolua_S,tolua_clone(tolua_S,tolua_obj,'.. (_collect[t] or 'NULL') ..'),"',t,'");') output('#else\n') output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&tolua_ret,sizeof(',t,'));') output(' tolua_pushusertype(tolua_S,tolua_clone(tolua_S,tolua_obj,NULL),"',t,'");') output('#endif\n') output(' }') elseif self.ptr == '&' then output(' tolua_pushusertype(tolua_S,(void*)&tolua_ret,"',t,'");') else output(' tolua_pushusertype(tolua_S,(void*)tolua_ret,"',t,'");') if self.mod == 'tolua_own' then output(' lua_pushcfunction(tolua_S, tolua_bnd_takeownership);') output(' lua_pushvalue(tolua_S, -2);') output(' lua_call(tolua_S, 1, 0);') end end end end local i=1 while self.args[i] do nret = nret + self.args[i]:retvalue() i = i+1 end output(' }') -- set array element values if class then narg=2 else narg=1 end if self.args[1].type ~= 'void' then local i=1 while self.args[i] do if isbasic(self.args[i].type) ~= "state" then self.args[i]:setarray(narg) narg = narg+1 end i = i+1 end end -- free dynamically allocated array if self.args[1].type ~= 'void' then local i=1 while self.args[i] do self.args[i]:freearray() i = i+1 end end end output(' }') if self.type == "tolua_multret" then output(' return '..nret..' + tolua_ret;') else output(' return '..nret..';') end -- call overloaded function or generate error if overload < 0 then output('#ifndef TOLUA_RELEASE\n') output('tolua_lerror:\n') output(' tolua_error(tolua_S,"#ferror in function \''..self.lname..'\'.",&tolua_err);') output(' return 0;') output('#endif\n') else output('tolua_lerror:\n') output(' return '..strsub(self.cname,1,-3)..format("%02d",overload)..'(tolua_S);') end output('}') output('\n') end -- register function function classFunction:register () output(' tolua_function(tolua_S,"'..self.lname..'",'..self.cname..');') end -- Print method function classFunction:print (ident,close) print(ident.."Function{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." lname = '"..self.lname.."',") print(ident.." const = '"..self.const.."',") print(ident.." cname = '"..self.cname.."',") print(ident.." lname = '"..self.lname.."',") print(ident.." args = {") local i=1 while self.args[i] do self.args[i]:print(ident.." ",",") i = i+1 end print(ident.." }") print(ident.."}"..close) end -- check if it returns a object by value function classFunction:requirecollection (t) local r = false if self.type ~= '' and not isbasic(self.type) and self.ptr=='' then local type = gsub(self.type,"%s*const%s*","") t[type] = "tolua_collect_" .. gsub(type,"::","_") r = true end local i=1 while self.args[i] do r = self.args[i]:requirecollection(t) or r i = i+1 end return r end -- determine lua function name overload function classFunction:overload () return self.parent:overload(self.lname) end -- Internal constructor function _Function (t) setmetatable(t,classFunction) if t.const ~= 'const' and t.const ~= '' then error("#invalid 'const' specification") end append(t) if t:inclass() then if t.name == t.parent.name then t.name = 'new' t.lname = 'new' if string.find(t.type,"tolua_own") then t.mod = "tolua_own" end t.type = t.parent.name t.ptr = '*' elseif t.name == '~'..t.parent.name then t.name = 'delete' t.lname = 'delete' t.parent._delete = true elseif t.type == 'tolua_len' then t.lname = ".len" end end t.cname = t:cfuncname("tolua")..t:overload(t) return t end -- Constructor -- Expects three strings: one representing the function declaration, -- another representing the argument list, and the third representing -- the "const" or empty string. function Function (d,a,c) local t = split(strsub(a,2,-2),',') -- eliminate braces local i=1 local l = {n=0} while t[i] do l.n = l.n+1 l[l.n] = Declaration(t[i],'var') i = i+1 end local f = Declaration(d,'func') f.args = l f.const = c return _Function(f) end tolua-5.2.4/src/bin/lua/define.lua0000755000175000017500000000233312615764613015416 0ustar tobitobi-- tolua: define class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: define.lua,v 1.3 2009/11/24 16:45:13 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Define class -- Represents a numeric const definition -- The following filds are stored: -- name = constant name classDefine = { name = '', } classDefine.__index = classDefine setmetatable(classDefine,classFeature) -- register define function classDefine:register () output(' tolua_constant(tolua_S,"'..self.lname..'",'..self.name..');') end -- Print method function classDefine:print (ident,close) print(ident.."Define{") print(ident.." name = '"..self.name.."',") print(ident.." lname = '"..self.lname.."',") print(ident.."}"..close) end -- Internal constructor function _Define (t) setmetatable(t,classDefine) t:buildnames() if t.name == '' then error("#invalid define") end append(t) return t end -- Constructor -- Expects a string representing the constant name function Define (n) return _Define{ name = n } end tolua-5.2.4/src/bin/lua/._class.lua0000755000175000017500000000043012615764613015502 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/._code.lua0000755000175000017500000000043012615764613015307 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/doit.lua0000755000175000017500000000220012615764613015114 0ustar tobitobi-- Generate binding code -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- Last update: Apr 2003 -- $Id: doit.lua,v 1.3 2009/11/24 16:45:13 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. function doit () -- define package name, if not provided if not flags.n then if flags.f then flags.n = gsub(flags.f,"%..*","") else error("#no package name nor input file provided") end end -- proccess package local p = Package(flags.n,flags.f) if flags.p then return -- only parse end if flags.o then local st,msg = writeto(flags.o) if not st then error('#'..msg) end end p:decltype() if flags.P then p:print() else p:preamble() p:supcode() p:register() end if flags.o then writeto() end -- write header file if not flags.P then if flags.H then local st,msg = writeto(flags.H) if not st then error('#'..msg) end p:header() writeto() end end end tolua-5.2.4/src/bin/lua/._function.lua0000755000175000017500000000043012615764613016222 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/namespace.lua0000755000175000017500000000232112615764613016115 0ustar tobitobi-- tolua: namespace class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 2003 -- $Id: namespace.lua,v 1.3 2009/11/24 16:45:14 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Namespace class -- Represents a namesapce definition. -- Stores the following fields: -- name = class name -- {i} = list of members classNamespace = { classtype = 'namespace', name = '', } classNamespace.__index = classNamespace setmetatable(classNamespace,classModule) -- Print method function classNamespace:print (ident,close) print(ident.."Namespace{") print(ident.." name = '"..self.name.."',") local i=1 while self[i] do self[i]:print(ident.." ",",") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Namespace (t) setmetatable(t,classNamespace) append(t) return t end -- Constructor -- Expects the name and the body of the namespace. function Namespace (n,b) local c = _Namespace(_Container{name=n}) push(c) c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces pop() end tolua-5.2.4/src/bin/lua/container.lua0000755000175000017500000002625312615764613016155 0ustar tobitobi-- tolua: container abstract class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: container.lua,v 1.3 2009/11/24 16:45:13 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- table to store namespaced typedefs/enums in global scope global_typedefs = {} global_enums = {} -- Container class -- Represents a container of features to be bound -- to lua. classContainer = { curr = nil, } classContainer.__index = classContainer setmetatable(classContainer,classFeature) -- output tags function classContainer:decltype () push(self) local i=1 while self[i] do self[i]:decltype() i = i+1 end pop() end -- write support code function classContainer:supcode () push(self) local i=1 while self[i] do self[i]:supcode() i = i+1 end pop() end function classContainer:hasvar () local i=1 while self[i] do if self[i]:isvariable() then return 1 end i = i+1 end return 0 end -- Internal container constructor function _Container (self) setmetatable(self,classContainer) self.n = 0 self.typedefs = {tolua_n=0} self.usertypes = {} self.enums = {tolua_n=0} self.lnames = {} return self end -- push container function push (t) t.prox = classContainer.curr classContainer.curr = t end -- pop container function pop () --print("name",classContainer.curr.name) --foreach(classContainer.curr.usertypes,print) --print("______________") classContainer.curr = classContainer.curr.prox end -- get current namespace function getcurrnamespace () return getnamespace(classContainer.curr) end -- append to current container function append (t) return classContainer.curr:append(t) end -- append typedef to current container function appendtypedef (t) return classContainer.curr:appendtypedef(t) end -- append usertype to current container function appendusertype (t) return classContainer.curr:appendusertype(t) end -- append enum to current container function appendenum (t) return classContainer.curr:appendenum(t) end -- substitute typedef function applytypedef (type) return classContainer.curr:applytypedef(type) end -- check if is type function findtype (type) local t = classContainer.curr:findtype(type) return t end -- check if is typedef function istypedef (type) return classContainer.curr:istypedef(type) end -- get fulltype (with namespace) function fulltype (t) local curr = classContainer.curr while curr do if curr then if curr.typedefs and curr.typedefs[t] then return curr.typedefs[t] elseif curr.usertypes and curr.usertypes[t] then return curr.usertypes[t] end end curr = curr.prox end return t end -- checks if it requires collection function classContainer:requirecollection (t) push(self) local i=1 local r = false while self[i] do r = self[i]:requirecollection(t) or r i = i+1 end pop() return r end -- get namesapce function getnamespace (curr) local namespace = '' while curr do if curr and ( curr.classtype == 'class' or curr.classtype == 'namespace') then namespace = curr.name .. '::' .. namespace end curr = curr.prox end return namespace end -- get namespace (only namespace) function getonlynamespace () local curr = classContainer.curr local namespace = '' while curr do if curr.classtype == 'class' then return namespace elseif curr.classtype == 'namespace' then namespace = curr.name .. '::' .. namespace end curr = curr.prox end return namespace end -- check if is enum function isenum (type) return classContainer.curr:isenum(type) end -- append feature to container function classContainer:append (t) self.n = self.n + 1 self[self.n] = t t.parent = self end -- append typedef function classContainer:appendtypedef (t) local namespace = getnamespace(classContainer.curr) self.typedefs.tolua_n = self.typedefs.tolua_n + 1 self.typedefs[self.typedefs.tolua_n] = t self.typedefs[t.utype] = namespace .. t.utype global_typedefs[namespace..t.utype] = t end -- append usertype: return full type function classContainer:appendusertype (t) local container if t == self.name then container = self.prox else container = self end local ft = getnamespace(container) .. t container.usertypes[t] = ft _usertype[ft] = ft return ft end -- append enum function classContainer:appendenum (t) local namespace = getnamespace(classContainer.curr) self.enums.tolua_n = self.enums.tolua_n + 1 self.enums[self.enums.tolua_n] = t global_enums[namespace..t.name] = t end -- determine lua function name overload function classContainer:overload (lname) if not self.lnames[lname] then self.lnames[lname] = 0 else self.lnames[lname] = self.lnames[lname] + 1 end return format("%02d",self.lnames[lname]) end -- applies typedef: returns the 'the facto' modifier and type function classContainer:applytypedef (type) if global_typedefs[type] then local mod1, type1 = global_typedefs[type].mod, global_typedefs[type].type local mod2, type2 = applytypedef(type1) return mod2 .. ' ' .. mod1, type2 end local basetype = gsub(type,"^.*::","") local env = self while env do if env.typedefs then local i=1 while env.typedefs[i] do if env.typedefs[i].utype == basetype then local mod1,type1 = env.typedefs[i].mod,env.typedefs[i].type local mod2,type2 = applytypedef(type1) return mod2..' '..mod1,type2 end i = i+1 end end env = env.parent end return '',type end -- check if it is a typedef function classContainer:istypedef (type) local env = self while env do if env.typedefs then local i=1 while env.typedefs[i] do if env.typedefs[i].utype == type then return type end i = i+1 end end env = env.parent end return nil end -- check if is a registered type: return full type or nil function classContainer:findtype (t) local curr = self while curr do if curr.typedefs and curr.typedefs[t] then return curr.typedefs[t] elseif curr.usertypes and curr.usertypes[t] then return curr.usertypes[t] end curr = curr.prox end if _basic[t] then return t end return nil end function classContainer:isenum (type) if global_enums[type] then return true end local basetype = gsub(type,"^.*::","") local env = self while env do if env.enums then local i=1 while env.enums[i] do if env.enums[i].name == basetype then return true end i = i+1 end end env = env.parent end return false end -- parse chunk function classContainer:doparse (s) -- try Lua code do local b,e,code = strfind(s,"^%s*(%b\1\2)") if b then Code(strsub(code,2,-2)) return strsub(s,e+1) end end -- try C code do local b,e,code = strfind(s,"^%s*(%b\3\4)") if b then code = '{'..strsub(code,2,-2)..'\n}\n' Verbatim(code,'r') -- verbatim code for 'r'egister fragment return strsub(s,e+1) end end -- try verbatim do local b,e,line = strfind(s,"^%s*%$(.-\n)") if b then Verbatim(line) return strsub(s,e+1) end end -- try module do local b,e,name,body = strfind(s,"^%s*module%s%s*([_%w][_%w]*)%s*(%b{})%s*") if b then _curr_code = strsub(s,b,e) Module(name,body) return strsub(s,e+1) end end -- try namesapce do local b,e,name,body = strfind(s,"^%s*namespace%s%s*([_%w][_%w]*)%s*(%b{})%s*") if b then _curr_code = strsub(s,b,e) Namespace(name,body) return strsub(s,e+1) end end -- try define do local b,e,name = strfind(s,"^%s*#define%s%s*([^%s]*)[^\n]*\n%s*") if b then _curr_code = strsub(s,b,e) Define(name) return strsub(s,e+1) end end -- try enumerates do local b,e,name,body = strfind(s,"^%s*enum%s+(%S*)%s*(%b{})%s*;?%s*") if b then _curr_code = strsub(s,b,e) Enumerate(name,body) return strsub(s,e+1) end end do local b,e,body,name = strfind(s,"^%s*typedef%s+enum[^{]*(%b{})%s*([%w_][^%s]*)%s*;%s*") if b then _curr_code = strsub(s,b,e) Enumerate(name,body) return strsub(s,e+1) end end -- try operator do local b,e,decl,kind,arg,const = strfind(s,"^%s*([_%w][_%w%s%*&:]*operator)%s*([^%s][^%s]*)%s*(%b())%s*(c?o?n?s?t?)%s*;%s*") if not b then -- try inline b,e,decl,kind,arg,const = strfind(s,"^%s*([_%w][_%w%s%*&:]*operator)%s*([^%s][^%s]*)%s*(%b())%s*(c?o?n?s?t?)%s*%b{}%s*;?%s*") end if b then _curr_code = strsub(s,b,e) Operator(decl,kind,arg,const) return strsub(s,e+1) end end -- try function do local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:]*[_%w])%s*(%b())%s*(c?o?n?s?t?)%s*=?%s*0?%s*;%s*") if not b then -- try a single letter function name b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)%s*;%s*") end if b then _curr_code = strsub(s,b,e) Function(decl,arg,const) return strsub(s,e+1) end end -- try inline function do local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:]*[_%w])%s*(%b())%s*(c?o?n?s?t?).-%b{}%s*;?%s*") if not b then -- try a single letter function name b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?).-%b{}%s*;?%s*") end if b then _curr_code = strsub(s,b,e) Function(decl,arg,const) return strsub(s,e+1) end end -- try class do local b,e,name,base,body base = '' body = '' b,e,name = strfind(s,"^%s*class%s*([_%w][_%w@]*)%s*;") -- dummy class if not b then b,e,name = strfind(s,"^%s*struct%s*([_%w][_%w@]*)%s*;") -- dummy struct if not b then b,e,name,base,body = strfind(s,"^%s*class%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*") if not b then b,e,name,base,body = strfind(s,"^%s*struct%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*") if not b then b,e,name,base,body = strfind(s,"^%s*union%s*([_%w][_%w@]*)%s*(.-)%s*(%b{})%s*;%s*") if not b then base = '' b,e,body,name = strfind(s,"^%s*typedef%s%s*struct%s*[_%w]*%s*(%b{})%s*([_%w][_%w@]*)%s*;%s*") if not b then base = '' b,e,body,name = strfind(s,"^%s*typedef%s%s*union%s*[_%w]*%s*(%b{})%s*([_%w][_%w@]*)%s*;%s*") end end end end end end if b then if base ~= '' then local b,e b,e,base = strfind(base,".-([_%w][_%w]*)$") end _curr_code = strsub(s,b,e) Class(name,base,body) return strsub(s,e+1) end end -- try typedef do local b,e,types = strfind(s,"^%s*typedef%s%s*(.-)%s*;%s*") if b then _curr_code = strsub(s,b,e) Typedef(types) return strsub(s,e+1) end end -- try variable do local b,e,decl = strfind(s,"^%s*([_%w][_@%s%w%d%*&:]*[_%w%d])%s*;%s*") if b then _curr_code = strsub(s,b,e) Variable(decl) return strsub(s,e+1) end end -- try string do local b,e,decl = strfind(s,"^%s*([_%w]?[_%s%w%d]-char%s+[_@%w%d]*%s*%[%s*%S+%s*%])%s*;%s*") if b then _curr_code = strsub(s,b,e) Variable(decl) return strsub(s,e+1) end end -- try array do local b,e,decl = strfind(s,"^%s*([_%w][][_@%s%w%d%*&:]*[]_%w%d])%s*;%s*") if b then _curr_code = strsub(s,b,e) Array(decl) return strsub(s,e+1) end end -- no matching if gsub(s,"%s%s*","") ~= "" then _curr_code = s error("#parse error") else return "" end end function classContainer:parse (s) while s ~= '' do s = self:doparse(s) end end tolua-5.2.4/src/bin/lua/._operator.lua0000755000175000017500000000043012615764613016230 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/._verbatim.lua0000755000175000017500000000043012615764613016206 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/verbatim.lua0000755000175000017500000000312112615764613015771 0ustar tobitobi-- tolua: verbatim class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: verbatim.lua,v 1.3 2009/11/24 16:45:15 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Verbatim class -- Represents a line translated directed to the binding file. -- The following filds are stored: -- line = line text classVerbatim = { line = '', cond = nil, -- condition: where to generate the code (s=suport, r=register) } classVerbatim.__index = classVerbatim setmetatable(classVerbatim,classFeature) -- preamble verbatim function classVerbatim:preamble () if self.cond == '' then write(self.line) end end -- support code function classVerbatim:supcode () if strfind(self.cond,'s') then write(self.line) write('\n') end end -- register code function classVerbatim:register () if strfind(self.cond,'r') then write(self.line) end end -- Print method function classVerbatim:print (ident,close) print(ident.."Verbatim{") print(ident.." line = '"..self.line.."',") print(ident.."}"..close) end -- Internal constructor function _Verbatim (t) setmetatable(t,classVerbatim) append(t) return t end -- Constructor -- Expects a string representing the text line function Verbatim (l,cond) if strsub(l,1,1) == '$' then cond = 'sr' -- generates in both suport and register fragments l = strsub(l,2) end return _Verbatim { line = l, cond = cond or '', } end tolua-5.2.4/src/bin/lua/._doit.lua0000755000175000017500000000043012615764613015334 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/basic.lua0000755000175000017500000001105512615764613015246 0ustar tobitobi-- tolua: basic utility functions -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- Last update: Apr 2003 -- $Id: basic.lua,v 1.4 2009/11/24 16:45:13 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Basic C types and their corresponding Lua types -- All occurrences of "char*" will be replaced by "_cstring", -- and all occurrences of "void*" will be replaced by "_userdata" _basic = { ['void'] = '', ['char'] = 'number', ['tolua_index'] = 'number', ['tolua_len'] = 'number', ['tolua_byte'] = 'number', ['tolua_ubyte'] = 'number', ['tolua_multret'] = 'number', ['int'] = 'number', ['short'] = 'number', ['long'] = 'number', ['unsigned'] = 'number', ['float'] = 'number', ['double'] = 'number', ['_cstring'] = 'string', ['_userdata'] = 'userdata', ['char*'] = 'string', ['void*'] = 'userdata', ['bool'] = 'boolean', ['lua_State*'] = 'state', ['_lstate'] = 'state', ['lua_Object'] = 'value', ['lua_Function'] = 'function', ['LUA_VALUE'] = 'value', -- for compatibility with tolua 4.0 } _basic_ctype = { number = "lua_Number", string = "const char*", userdata = "void*", boolean = "bool", value = "int", } -- List of user defined types -- Each type corresponds to a variable name that stores its tag value. _usertype = {} -- List of types that have to be collected _collect = {} -- List of auto renaming _renaming = {} function appendrenaming (s) local b,e,old,new = strfind(s,"%s*(.-)%s*@%s*(.-)%s*$") if not b then error("#Invalid renaming syntax; it should be of the form: pattern@pattern") end tinsert(_renaming,{old=old, new=new}) end function applyrenaming (s) for i=1,getn(_renaming) do local m,n = gsub(s,_renaming[i].old,_renaming[i].new) if n ~= 0 then return m end end return nil end -- Error handler function tolua_error (s,f) local out = _OUTPUT _OUTPUT = _STDERR if strsub(s,1,1) == '#' then write("\n** tolua: "..strsub(s,2)..".\n\n") if _curr_code then local _,_,s = strfind(_curr_code,"^%s*(.-\n)") -- extract first line if s==nil then s = _curr_code end s = gsub(s,"_userdata","void*") -- return with 'void*' s = gsub(s,"_cstring","char*") -- return with 'char*' s = gsub(s,"_lstate","lua_State*") -- return with 'lua_State*' write("Code being processed:\n"..s.."\n") end else print(debug.traceback("\n** tolua internal error: "..f..s..".\n\n")) return end _OUTPUT = out end function warning (msg) local out = _OUTPUT _OUTPUT = _STDERR write("\n** tolua warning: "..msg..".\n\n") _OUTPUT = out end -- register an user defined type: returns full type function regtype (t) local ft = findtype(t) if isbasic(t) then return t end if not ft then return appendusertype(t) end end -- return type name: returns full type function typevar(type) if type == '' or type == 'void' or type == "..." then return type else local ft = findtype(type) if ft then return ft end _usertype[type] = type return type end end -- check if basic type function isbasic (type) local t = gsub(type,'const ','') local m,t = applytypedef(t) local b = _basic[t] if b then return b,_basic_ctype[b] end return nil end -- split string using a token function split (s,t) local l = {n=0} local f = function (s) l.n = l.n + 1 l[l.n] = s return "" end local p = "%s*(.-)%s*"..t.."%s*" s = gsub(s,"^%s+","") s = gsub(s,"%s+$","") s = gsub(s,p,f) l.n = l.n + 1 l[l.n] = gsub(s,"(%s%s*)$","") return l end -- concatenate strings of a table function concat (t,f,l) local s = '' local i=f while i<=l do s = s..t[i] i = i+1 if i <= l then s = s..' ' end end return s end -- concatenate all parameters, following output rules function concatparam (line, ...) local arg = {...} local i=1 while i<=#arg do if _cont and not strfind(_cont,'[%(,"]') and strfind(arg[i],"^[%a_~]") then line = line .. ' ' end line = line .. arg[i] if arg[i] ~= '' then _cont = strsub(arg[i],-1,-1) end i = i+1 end if strfind(arg[#arg],"[%/%)%;%{%}]$") then _cont=nil line = line .. '\n' end return line end -- output line function output (...) local arg = {...} local i=1 while i<=#arg do if _cont and not strfind(_cont,'[%(,"]') and strfind(arg[i],"^[%a_~]") then write(' ') end write(arg[i]) if arg[i] ~= '' then _cont = strsub(arg[i],-1,-1) end i = i+1 end if strfind(arg[#arg],"[%/%)%;%{%}]$") then _cont=nil write('\n') end end tolua-5.2.4/src/bin/lua/operator.lua0000755000175000017500000000561212615764613016022 0ustar tobitobi-- tolua: operator class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: operator.lua,v 1.3 2009/11/24 16:45:14 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Operator class -- Represents an operator function or a class operator method. -- It stores the same fields as functions do plus: -- kind = set of character representing the operator (as it appers in C++ code) classOperator = { kind = '', } classOperator.__index = classOperator setmetatable(classOperator,classFunction) -- table to transform operator kind into the appropriate tag method name _TM = {['+'] = 'add', ['-'] = 'sub', ['*'] = 'mul', ['/'] = 'div', ['<'] = 'lt', ['<='] = 'le', ['=='] = 'eq', ['[]'] = 'geti', ['&[]'] = 'seti', } -- Print method function classOperator:print (ident,close) print(ident.."Operator{") print(ident.." kind = '"..self.kind.."',") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." const = '"..self.const.."',") print(ident.." cname = '"..self.cname.."',") print(ident.." lname = '"..self.lname.."',") print(ident.." args = {") local i=1 while self.args[i] do self.args[i]:print(ident.." ",",") i = i+1 end print(ident.." }") print(ident.."}"..close) end -- Internal constructor function _Operator (t) setmetatable(t,classOperator) if t.const ~= 'const' and t.const ~= '' then error("#invalid 'const' specification") end append(t) if not t:inclass() then error("#operator can only be defined as class member") end t.name = t.name .. "_" .. _TM[t.kind] t.cname = t:cfuncname("tolua")..t:overload(t) t.name = "operator" .. t.kind -- set appropriate calling name return t end -- Constructor function Operator (d,k,a,c) local ref = '' local t = split(strsub(a,2,strlen(a)-1),',') -- eliminate braces local i=1 local l = {n=0} while t[i] do l.n = l.n+1 l[l.n] = Declaration(t[i],'var') i = i+1 end if k == '[]' then local _ _, _, ref = strfind(d,'(&)') d = gsub(d,'&','') elseif k=='&[]' then l.n = l.n+1 l[l.n] = Declaration(d,'var') l[l.n].name = 'tolua_value' end local f = Declaration(d,'func') if k == '[]' and (l[1]==nil or isbasic(l[1].type)~='number') then error('operator[] can only be defined for numeric index.') end f.args = l f.const = c f.kind = gsub(k,"%s","") if not _TM[f.kind] then error("tolua: no support for operator" .. f.kind) end f.lname = ".".._TM[f.kind] if f.kind == '[]' and ref=='&' and f.const~='const' then Operator(d,'&'..k,a,c) -- create correspoding set operator end return _Operator(f) end tolua-5.2.4/src/bin/lua/class.lua0000755000175000017500000000542412615764613015275 0ustar tobitobi-- tolua: class class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: class.lua,v 1.3 2009/11/24 16:45:13 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Class class -- Represents a class definition. -- Stores the following fields: -- name = class name -- base = class base, if any (only single inheritance is supported) -- {i} = list of members classClass = { classtype = 'class', name = '', base = '', type = '', btype = '', ctype = '', } classClass.__index = classClass setmetatable(classClass,classContainer) -- register class function classClass:register () push(self) if _collect[self.type] then output('#ifdef __cplusplus\n') output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",'.._collect[self.type]..');') output('#else\n') output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",NULL);') output('#endif\n') else output(' tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",NULL);') end output(' tolua_beginmodule(tolua_S,"'..self.lname..'");') local i=1 while self[i] do self[i]:register() i = i+1 end output(' tolua_endmodule(tolua_S);') pop() end -- return collection requirement function classClass:requirecollection (t) push(self) local r = false local i=1 while self[i] do r = self[i]:requirecollection(t) or r i = i+1 end pop() -- only class that exports destructor can be appropriately collected if self._delete then t[self.type] = "tolua_collect_" .. gsub(self.type,"::","_") r = true end return r end -- output tags function classClass:decltype () push(self) self.type = regtype(self.name) self.btype = typevar(self.base) self.ctype = 'const '..self.type local i=1 while self[i] do self[i]:decltype() i = i+1 end pop() end -- Print method function classClass:print (ident,close) print(ident.."Class{") print(ident.." name = '"..self.name.."',") print(ident.." base = '"..self.base.."';") print(ident.." lname = '"..self.lname.."',") print(ident.." type = '"..self.type.."',") print(ident.." btype = '"..self.btype.."',") print(ident.." ctype = '"..self.ctype.."',") local i=1 while self[i] do self[i]:print(ident.." ",",") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Class (t) setmetatable(t,classClass) t:buildnames() append(t) return t end -- Constructor -- Expects the name, the base and the body of the class. function Class (n,p,b) local c = _Class(_Container{name=n, base=p}) push(c) c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces pop() end tolua-5.2.4/src/bin/lua/variable.lua0000755000175000017500000001501312615764613015750 0ustar tobitobi-- tolua: variable class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: variable.lua,v 1.3 2009/11/24 16:45:15 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Variable class -- Represents a extern variable or a public member of a class. -- Stores all fields present in a declaration. classVariable = { _get = {}, -- mapped get functions _set = {}, -- mapped set functions } classVariable.__index = classVariable setmetatable(classVariable,classDeclaration) -- Print method function classVariable:print (ident,close) print(ident.."Variable{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") if self.dim then print(ident.." dim = '"..self.dim.."',") end print(ident.." def = '"..self.def.."',") print(ident.." ret = '"..self.ret.."',") print(ident.."}"..close) end -- Generates C function name function classVariable:cfuncname (prefix) local parent = "" local unsigned = "" local ptr = "" local p = self:inmodule() or self:innamespace() or self:inclass() if p then parent = "_" .. p end if strfind(self.mod,"(unsigned)") then unsigned = "_unsigned" end if self.ptr == "*" then ptr = "_ptr" elseif self.ptr == "&" then ptr = "_ref" end local name = prefix .. parent .. unsigned .. "_" .. gsub(self.name,".*::","") .. ptr return name end -- check if it is a variable function classVariable:isvariable () return true end -- get variable value function classVariable:getvalue (class,static) if class and static then return class..'::'..self.name elseif class then return 'self->'..self.name else return self.name end end -- get variable pointer value function classVariable:getpointervalue (class,static) if class and static then return class..'::p' elseif class then return 'self->p' else return 'p' end end -- Write binding functions function classVariable:supcode () local class = self:inclass() -- get function ------------------------------------------------ if class then output("/* get function:",self.name," of class ",class," */") self.cgetname = self:cfuncname("tolua_get_"..class) else output("/* get function:",self.name," */") self.cgetname = self:cfuncname("tolua_get") end output("static int",self.cgetname,"(lua_State* tolua_S)") output("{") -- declare self, if the case local _,_,static = strfind(self.mod,'^%s*(static)') if class and static==nil then output(' ',class,'*','self = ') output('(',class,'*) ') output('tolua_tousertype(tolua_S,1,0);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check self value if class and static==nil then output('#ifndef TOLUA_RELEASE\n') output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in accessing variable \''..self.name..'\'",NULL);'); output('#endif\n') end -- return value local type = self.type if gsub(type,'const ','')=='char' and self.dim~='' then type = 'char*' end local t,ct = isbasic(type) if t then output(' tolua_push'..t..'(tolua_S,(',ct,')'..self:getvalue(class,static)..');') else t = self.type if self.ptr == '&' or self.ptr == '' then output(' tolua_pushusertype(tolua_S,(void*)&'..self:getvalue(class,static)..',"',t,'");') else output(' tolua_pushusertype(tolua_S,(void*)'..self:getvalue(class,static)..',"',t,'");') end end output(' return 1;') output('}') output('\n') -- set function ------------------------------------------------ if not strfind(self.type,'const') then if class then output("/* set function:",self.name," of class ",class," */") self.csetname = self:cfuncname("tolua_set_"..class) else output("/* set function:",self.name," */") self.csetname = self:cfuncname("tolua_set") end output("static int",self.csetname,"(lua_State* tolua_S)") output("{") -- declare self, if the case if class and static==nil then output(' ',class,'*','self = ') output('(',class,'*) ') output('tolua_tousertype(tolua_S,1,0);') -- check self value end -- check types output('#ifndef TOLUA_RELEASE\n') output(' tolua_Error tolua_err;') if class and static==nil then output(' if (!self) tolua_error(tolua_S,"invalid \'self\' in accessing variable \''..self.name..'\'",NULL);'); elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check variable type output(' if (!'..self:outchecktype(2,true)..')') output(' tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);') output('#endif\n') -- assign value local def = 0 if self.def ~= '' then def = self.def end if self.type == 'char' and self.dim ~= '' then -- is string output(' strncpy(') if class and static then output(class..'::'..self.name) elseif class then output('self->'..self.name) else output(self.name) end output(',tolua_tostring(tolua_S,2,',def,'),',self.dim,'-1);') else local ptr = '' if self.ptr~='' then ptr = '*' end output(' ') if class and static then output(class..'::'..self.name) elseif class then output('self->'..self.name) else output(self.name) end local t = isbasic(self.type) output(' = ') if not t and ptr=='' then output('*') end output('((',self.mod,self.type) if not t then output('*') end output(') ') if t then if isenum(self.type) then output('(int) ') end if t=='function' then t='value' end output('tolua_to'..t,'(tolua_S,2,',def,'));') else output('tolua_tousertype(tolua_S,2,',def,'));') end end output(' return 0;') output('}') output('\n') end end function classVariable:register () local parent = self:inmodule() or self:innamespace() or self:inclass() if not parent then if classVariable._warning==nil then warning("Mapping variable to global may degrade performance") classVariable._warning = 1 end end if self.csetname then output(' tolua_variable(tolua_S,"'..self.lname..'",'..self.cgetname..','..self.csetname..');') else output(' tolua_variable(tolua_S,"'..self.lname..'",'..self.cgetname..',NULL);') end end -- Internal constructor function _Variable (t) setmetatable(t,classVariable) append(t) return t end -- Constructor -- Expects a string representing the variable declaration. function Variable (s) return _Variable (Declaration(s,'var')) end tolua-5.2.4/src/bin/lua/._basic.lua0000755000175000017500000000043012615764613015456 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/module.lua0000755000175000017500000000272212615764613015453 0ustar tobitobi-- tolua: module class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: module.lua,v 1.3 2009/11/24 16:45:14 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Module class -- Represents module. -- The following fields are stored: -- {i} = list of objects in the module. classModule = { classtype = 'module' } classModule.__index = classModule setmetatable(classModule,classContainer) -- register module function classModule:register () push(self) output(' tolua_module(tolua_S,"'..self.name..'",',self:hasvar(),');') output(' tolua_beginmodule(tolua_S,"'..self.name..'");') local i=1 while self[i] do self[i]:register() i = i+1 end output(' tolua_endmodule(tolua_S);') pop() end -- Print method function classModule:print (ident,close) print(ident.."Module{") print(ident.." name = '"..self.name.."';") local i=1 while self[i] do self[i]:print(ident.." ",",") i = i+1 end print(ident.."}"..close) end -- Internal constructor function _Module (t) setmetatable(t,classModule) append(t) return t end -- Constructor -- Expects two string representing the module name and body. function Module (n,b) local t = _Module(_Container{name=n}) push(t) t:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces pop() return t end tolua-5.2.4/src/bin/lua/declaration.lua0000755000175000017500000003005712615764613016455 0ustar tobitobi-- tolua: declaration class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: declaration.lua,v 1.5 2011/01/13 13:43:46 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Declaration class -- Represents variable, function, or argument declaration. -- Stores the following fields: -- mod = type modifiers -- type = type -- ptr = "*" or "&", if representing a pointer or a reference -- name = name -- dim = dimension, if a vector -- def = default value, if any (only for arguments) -- ret = "*" or "&", if value is to be returned (only for arguments) classDeclaration = { mod = '', type = '', ptr = '', name = '', dim = '', ret = '', def = '' } classDeclaration.__index = classDeclaration setmetatable(classDeclaration,classFeature) -- Create an unique variable name function create_varname () if not _varnumber then _varnumber = 0 end _varnumber = _varnumber + 1 return "tolua_var_".._varnumber end -- Check declaration name -- It also identifies default values function classDeclaration:checkname () if strsub(self.name,1,1) == '[' and not findtype(self.type) then self.name = self.type..self.name local m = split(self.mod,'%s%s*') self.type = m[m.n] self.mod = concat(m,1,m.n-1) end local t = split(self.name,'=') if t.n==2 then self.name = t[1] self.def = t[t.n] end local b,e,d = strfind(self.name,"%[(.-)%]") if b then self.name = strsub(self.name,1,b-1) self.dim = d end if self.type ~= '' and self.type ~= 'void' and self.name == '' then self.name = create_varname() elseif self.kind=='var' then if self.type=='' and self.name~='' then self.type = self.type..self.name self.name = create_varname() elseif findtype(self.name) then if self.type=='' then self.type = self.name else self.type = self.type..' '..self.name end self.name = create_varname() end end -- adjust type of string -- if self.type == 'char' and self.dim ~= '' then -- self.type = 'char*' -- end end -- Check declaration type -- Substitutes typedef's. function classDeclaration:checktype () -- check if there is a pointer to basic type if isbasic(self.type) and self.ptr~='' then self.ret = self.ptr self.ptr = nil end -- check if there is array to be returned if self.dim~='' and self.ret~='' then error('#invalid parameter: cannot return an array of values') end -- restore 'void*' and 'string*' if self.type == '_userdata' then self.type = 'void*' elseif self.type == '_cstring' then self.type = 'char*' elseif self.type == '_lstate' then self.type = 'lua_State*' end -- -- -- if returning value, automatically set default value -- if self.ret ~= '' and self.def == '' then -- self.def = '0' -- end -- end -- Print method function classDeclaration:print (ident,close) print(ident.."Declaration{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." dim = '"..self.dim.."',") print(ident.." def = '"..self.def.."',") print(ident.." ret = '"..self.ret.."',") print(ident.."}"..close) end -- check if array of values are returned to Lua function classDeclaration:requirecollection (t) if self.mod ~= 'const' and self.dim and self.dim ~= '' and not isbasic(self.type) and self.ptr == '' then local type = gsub(self.type,"%s*const%s*","") t[type] = "tolua_collect_" .. gsub(type,"::","_") return true end return false end -- declare tag function classDeclaration:decltype () self.type = typevar(self.type) if strfind(self.mod,'const') then self.type = 'const '..self.type self.mod = gsub(self.mod,'const%s*','') end end -- output type checking function classDeclaration:outchecktype (narg,var) local def local t = isbasic(self.type) if self.def~='' then def = 1 else def = 0 end if self.dim ~= '' then if var and self.type=='char' then return 'tolua_isstring(tolua_S,'..narg..','..def..',&tolua_err)' else return 'tolua_istable(tolua_S,'..narg..',0,&tolua_err)' end elseif t then return 'tolua_is'..t..'(tolua_S,'..narg..','..def..',&tolua_err)' else return 'tolua_isusertype(tolua_S,'..narg..',"'..self.type..'",'..def..',&tolua_err)' end end function classDeclaration:builddeclaration (narg, cplusplus) local array = self.dim ~= '' and tonumber(self.dim)==nil local line = "" local ptr = '' local mod local type = self.type if self.dim ~= '' then type = gsub(self.type,'const%s*','') -- eliminates const modifier for arrays end local ctype = type if ctype=="lua_Object" or ctype=="lua_Function" then ctype = "int" end if self.ptr~='' then ptr = '*' end line = concatparam(line," ",self.mod,ctype,ptr) if array then line = concatparam(line,'*') end line = concatparam(line,self.name) if self.dim ~= '' then if tonumber(self.dim)~=nil then line = concatparam(line,'[',self.dim,'];') else if cplusplus then line = concatparam(line,' = new',type,ptr,'['..self.dim..'];') else line = concatparam(line,' = (',type,ptr,'*)', 'malloc((',self.dim,')*sizeof(',type,ptr,'));') end end else local t = isbasic(type) line = concatparam(line,' = ') if t == 'state' then line = concatparam(line, 'tolua_S;') else if not t and ptr=='' then line = concatparam(line,'*') end local ct = type if t == 'value' or t == 'function' then ct = 'int' end line = concatparam(line,'((',self.mod,ct) if not t then line = concatparam(line,'*') end line = concatparam(line,') ') if isenum(type) then --if not t and isenum(type) then line = concatparam(line,'(int) ') end local def = 0 if self.def ~= '' then def = self.def end if t then if t=='function' then t='value' end if self.type == "tolua_index" then line = concatparam(line,'tolua_to'..t,'(tolua_S,',narg,',',def,')-1);') else line = concatparam(line,'tolua_to'..t,'(tolua_S,',narg,',',def,'));') end else line = concatparam(line,'tolua_tousertype(tolua_S,',narg,',',def,'));') end end end return line end -- Declare variable function classDeclaration:declare (narg) if self.dim ~= '' and self.type~='char' and tonumber(self.dim)==nil then output('#ifdef __cplusplus\n') output(self:builddeclaration(narg,true)) output('#else\n') output(self:builddeclaration(narg,false)) output('#endif\n') else output(self:builddeclaration(narg,false)) end end -- Get parameter value function classDeclaration:getarray (narg) if self.dim ~= '' then local type = gsub(self.type,'const ','') output(' {') output('#ifndef TOLUA_RELEASE\n') local def; if self.def~='' then def=1 else def=0 end local t = isbasic(type) if (t) then output(' if (!tolua_is'..t..'array(tolua_S,',narg,',',self.dim,',',def,',&tolua_err))') else output(' if (!tolua_isusertypearray(tolua_S,',narg,',"',type,'",',self.dim,',',def,',&tolua_err))') end output(' goto tolua_lerror;') output(' else\n') output('#endif\n') output(' {') output(' int i;') output(' for(i=0; i<'..self.dim..';i++)') local t = isbasic(type) local ptr = '' if self.ptr~='' then ptr = '*' end output(' ',self.name..'[i] = ') if not t and ptr=='' then output('*') end output('((',type) if not t then output('*') end output(') ') local def = 0 if self.def ~= '' then def = self.def end if t then if t=='function' then t='value' end output('tolua_tofield'..t..'(tolua_S,',narg,',i+1,',def,'));') else output('tolua_tofieldusertype(tolua_S,',narg,',i+1,',def,'));') end output(' }') output(' }') end end -- Get parameter value function classDeclaration:setarray (narg) if not strfind(self.type,'const') and self.dim ~= '' then local type = gsub(self.type,'const ','') output(' {') output(' int i;') output(' for(i=0; i<'..self.dim..';i++)') local t,ct = isbasic(type) if t then if t=='function' then t='value' end output(' tolua_pushfield'..t..'(tolua_S,',narg,',i+1,(',ct,')',self.name,'[i]);') else if self.ptr == '' then output(' {') output('#ifdef __cplusplus\n') output(' void* tolua_obj = new',type,'(',self.name,'[i]);') output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,tolua_clone(tolua_S,tolua_obj,'.. (_collect[type] or 'NULL') ..'),"',type,'");') output('#else\n') output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&',self.name,'[i],sizeof(',type,'));') output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,tolua_clone(tolua_S,tolua_obj,NULL),"',type,'");') output('#endif\n') output(' }') else output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,(void*)',self.name,'[i],"',type,'");') end end output(' }') end end -- Free dynamically allocated array function classDeclaration:freearray () if self.dim ~= '' and tonumber(self.dim)==nil then output('#ifdef __cplusplus\n') output(' delete []',self.name,';') output('#else\n') output(' free(',self.name,');') output('#endif\n') end end -- Pass parameter function classDeclaration:passpar () local name = self.name if self.ptr=='&' then output('*'..name) elseif self.ret=='*' then output('&'..name) else output(name) end end -- Return parameter value function classDeclaration:retvalue () if self.ret ~= '' then local t,ct = isbasic(self.type) if t then if t=='function' then t='value' end if self.type=="tolua_index" then output(' tolua_push'..t..'(tolua_S,(',ct,')'..self.name..'+1);') else output(' tolua_push'..t..'(tolua_S,(',ct,')'..self.name..');') end else output(' tolua_pushusertype(tolua_S,(void*)'..self.name..',"',self.type,'");') end return 1 end return 0 end -- Internal constructor function _Declaration (t) setmetatable(t,classDeclaration) t:buildnames() t:checkname() t:checktype() return t end -- Constructor -- Expects the string declaration. -- The kind of declaration can be "var" or "func". function Declaration (s,kind) -- eliminate spaces if default value is provided s = gsub(s,"%s*=%s*","=") if kind == "var" then -- check the form: void if s == '' or s == 'void' then return _Declaration{type = 'void', kind = kind} end end -- check the form: mod type*& name local t = split(s,'%*%s*&') if t.n == 2 then if kind == 'func' then error("#invalid function return type: "..s) end local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '*', ret = '&', type = m[m.n], mod = concat(m,1,m.n-1), kind = kind } end -- check the form: mod type** name t = split(s,'%*%s*%*') if t.n == 2 then if kind == 'func' then error("#invalid function return type: "..s) end local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '*', ret = '*', type = m[m.n], mod = concat(m,1,m.n-1), kind = kind } end -- check the form: mod type& name t = split(s,'&') if t.n == 2 then local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '&', type = m[m.n], mod = concat(m,1,m.n-1) , kind = kind } end -- check the form: mod type* name local s1 = gsub(s,"(%b%[%])",function (n) return gsub(n,'%*','\1') end) t = split(s1,'%*') if t.n == 2 then t[2] = gsub(t[2],'\1','%*') -- restore * in dimension expression local m = split(t[1],'%s%s*') return _Declaration{ name = t[2], ptr = '*', type = m[m.n], mod = concat(m,1,m.n-1) , kind = kind } end if kind == 'var' then -- check the form: mod type name t = split(s,'%s%s*') local v if findtype(t[t.n]) then v = '' else v = t[t.n]; t.n = t.n-1 end return _Declaration{ name = v, type = t[t.n], mod = concat(t,1,t.n-1), kind = kind } else -- kind == "func" -- check the form: mod type name t = split(s,'%s%s*') local v = t[t.n] -- last word is the function name local tp,md if t.n>1 then tp = t[t.n-1] md = concat(t,1,t.n-2) end return _Declaration{ name = v, type = tp, mod = md, kind = kind } end end tolua-5.2.4/src/bin/lua/._array.lua0000755000175000017500000000043012615764613015513 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/._typedef.lua0000755000175000017500000000043012615764613016035 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/._package.lua0000755000175000017500000000043012615764613015770 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/._module.lua0000755000175000017500000000043012615764613015662 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/compat.lua0000755000175000017500000001011212615764613015441 0ustar tobitobi------------------------------------------------------------------- -- Real globals -- _ALERT -- _ERRORMESSAGE -- _VERSION -- _G -- assert -- error -- metatable -- next -- print -- require -- tonumber -- tostring -- type ------------------------------------------------------------------- -- collectgarbage -- gcinfo -- globals -- call -> protect(f, err) -- rawget -- rawset -- getargs = Main.getargs ?? rawtype = type function do_ (f, err) if not f then print(err); return end local a,b = pcall(f) if not a then print(b); return nil else return b or true end end function dostring(s) return do_(load(s)) end ------------------------------------------------------------------- -- Table library local tab = table foreach = function(t,f) for k,v in pairs(t) do f(k,v) end end foreachi = function(t,f) for i,v in ipairs(t) do f(i,v) end end getn = function(t) return #t end tinsert = tab.insert tremove = tab.remove sort = tab.sort ------------------------------------------------------------------- -- Debug library local dbg = debug getinfo = dbg.getinfo getlocal = dbg.getlocal setcallhook = function () error"`setcallhook' is deprecated" end setlinehook = function () error"`setlinehook' is deprecated" end setlocal = dbg.setlocal ------------------------------------------------------------------- -- math library local math = math abs = math.abs acos = function (x) return math.deg(math.acos(x)) end asin = function (x) return math.deg(math.asin(x)) end atan = function (x) return math.deg(math.atan(x)) end atan2 = function (x,y) return math.deg(math.atan2(x,y)) end ceil = math.ceil cos = function (x) return math.cos(math.rad(x)) end deg = math.deg exp = math.exp floor = math.floor frexp = math.frexp ldexp = math.ldexp log = math.log log10 = math.log10 max = math.max min = math.min mod = math.mod PI = math.pi --??? pow = math.pow rad = math.rad random = math.random randomseed = math.randomseed sin = function (x) return math.sin(math.rad(x)) end sqrt = math.sqrt tan = function (x) return math.tan(math.rad(x)) end ------------------------------------------------------------------- -- string library local str = string strbyte = str.byte strchar = str.char strfind = str.find format = str.format gsub = str.gsub strlen = str.len strlower = str.lower strrep = str.rep strsub = str.sub strupper = str.upper ------------------------------------------------------------------- -- os library clock = os.clock date = os.date difftime = os.difftime execute = os.execute --? exit = os.exit getenv = os.getenv remove = os.remove rename = os.rename setlocale = os.setlocale time = os.time tmpname = os.tmpname ------------------------------------------------------------------- -- compatibility only getglobal = function (n) return _G[n] end setglobal = function (n,v) _G[n] = v end ------------------------------------------------------------------- local io, tab = io, table -- IO library (files) _STDIN = io.stdin _STDERR = io.stderr _STDOUT = io.stdout _INPUT = io.stdin _OUTPUT = io.stdout seek = io.stdin.seek -- sick ;-) tmpfile = io.tmpfile closefile = io.close openfile = io.open function flush (f) if f then f:flush() else _OUTPUT:flush() end end function readfrom (name) if name == nil then local f, err, cod = io.close(_INPUT) _INPUT = io.stdin return f, err, cod else local f, err, cod = io.open(name, "r") _INPUT = f or _INPUT return f, err, cod end end function writeto (name) if name == nil then local f, err, cod = io.close(_OUTPUT) _OUTPUT = io.stdout return f, err, cod else local f, err, cod = io.open(name, "w") _OUTPUT = f or _OUTPUT return f, err, cod end end function appendto (name) local f, err, cod = io.open(name, "a") _OUTPUT = f or _OUTPUT return f, err, cod end function read (...) local f = _INPUT local arg = {...} if rawtype(arg[1]) == 'userdata' then f = tab.remove(arg, 1) end return f:read(table.unpack(arg)) end function write (...) local f = _OUTPUT local arg = {...} if rawtype(arg[1]) == 'userdata' then f = tab.remove(arg, 1) end return f:write(table.unpack(arg)) end tolua-5.2.4/src/bin/lua/code.lua0000755000175000017500000000341712615764613015102 0ustar tobitobi-- tolua: code class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1999 -- $Id: code.lua,v 1.5 2009/11/24 16:45:13 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Code class -- Represents Lua code to be compiled and included -- in the initialization function. -- The following fields are stored: -- text = text code classCode = { text = '', } classCode.__index = classCode setmetatable(classCode,classFeature) -- register code function classCode:register () -- clean Lua code local s = clean(self.text) if not s then error("parser error in embedded code") end -- convert to C output('\n { /* begin embedded lua code */\n') output(' static unsigned char B[] = {\n ') local t={n=0} local b = gsub(s,'(.)',function (c) local e = '' t.n=t.n+1 if t.n==15 then t.n=0 e='\n ' end return format('%3u,%s',strbyte(c),e) end ) output(b..strbyte(" ")) output('\n };\n') output(' if (luaL_loadbuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code") == LUA_OK)\n') output(' lua_pcall(tolua_S,0,LUA_MULTRET,0);') output(' } /* end of embedded lua code */\n\n') end -- Print method function classCode:print (ident,close) print(ident.."Code{") print(ident.." text = [["..self.text.."]],") print(ident.."}"..close) end -- Internal constructor function _Code (t) setmetatable(t,classCode) append(t) return t end -- Constructor -- Expects a string representing the code text function Code (l) return _Code { text = l } end tolua-5.2.4/src/bin/lua/._container.lua0000755000175000017500000000043012615764613016357 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/._enumerate.lua0000755000175000017500000000043012615764613016362 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/package.lua0000755000175000017500000002154512615764613015565 0ustar tobitobi-- tolua: package class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: package.lua,v 1.4 2009/11/24 16:45:15 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Package class -- Represents the whole package being bound. -- The following fields are stored: -- {i} = list of objects in the package. classPackage = { classtype = 'package' } classPackage.__index = classPackage setmetatable(classPackage,classContainer) -- Print method function classPackage:print () print("Package: "..self.name) local i=1 while self[i] do self[i]:print("","") i = i+1 end end function classPackage:preprocess () -- avoid preprocessing embedded Lua code local L = {} self.code = gsub(self.code,"\n%s*%$%[","\1") -- deal with embedded C code self.code = gsub(self.code,"\n%s*%$%]","\2") self.code = gsub(self.code,"(%b\1\2)", function (c) tinsert(L,c) return "\n#["..getn(L).."]#" end) -- avoid preprocessing embedded C code local C = {} self.code = gsub(self.code,"\n%s*%$%<","\3") -- deal with embedded C code self.code = gsub(self.code,"\n%s*%$%>","\4") self.code = gsub(self.code,"(%b\3\4)", function (c) tinsert(C,c) return "\n#<"..getn(C)..">#" end) -- avoid preprocessing verbatim lines local V = {} self.code = gsub(self.code,"\n(%s*%$[^%[%]][^\n]*)",function (v) tinsert(V,v) return "\n#"..getn(V).."#" end) -- perform global substitution self.code = gsub(self.code,"(//[^\n]*)","") -- eliminate C++ comments self.code = gsub(self.code,"/%*","\1") self.code = gsub(self.code,"%*/","\2") self.code = gsub(self.code,"%b\1\2","") self.code = gsub(self.code,"\1","/%*") self.code = gsub(self.code,"\2","%*/") self.code = gsub(self.code,"%s*@%s*","@") -- eliminate spaces beside @ self.code = gsub(self.code,"%s?inline(%s)","%1") -- eliminate 'inline' keyword self.code = gsub(self.code,"%s?extern(%s)","%1") -- eliminate 'extern' keyword self.code = gsub(self.code,"%s?virtual(%s)","%1") -- eliminate 'virtual' keyword self.code = gsub(self.code,"public:","") -- eliminate 'public:' keyword self.code = gsub(self.code,"([^%w_])void%s*%*","%1_userdata ") -- substitute 'void*' self.code = gsub(self.code,"([^%w_])void%s*%*","%1_userdata ") -- substitute 'void*' self.code = gsub(self.code,"([^%w_])char%s*%*","%1_cstring ") -- substitute 'char*' self.code = gsub(self.code,"([^%w_])lua_State%s*%*","%1_lstate ") -- substitute 'lua_State*' -- restore embedded code self.code = gsub(self.code,"%#%[(%d+)%]%#",function (n) return L[tonumber(n)] end) -- restore embedded code self.code = gsub(self.code,"%#%<(%d+)%>%#",function (n) return C[tonumber(n)] end) -- restore verbatim lines self.code = gsub(self.code,"%#(%d+)%#",function (n) return V[tonumber(n)] end) end -- translate verbatim function classPackage:preamble () output('/*\n') output('** Lua binding: '..self.name..'\n') -- fred: removido porque gera trabalho na hora de fazer diffs -- output('** Generated automatically by '..TOLUA_VERSION..' on '..date()..'.\n') output('*/\n\n') output('#include "tolua.h"\n\n') output('#ifndef __cplusplus\n') output('#include \n') output('#endif\n') output('#ifdef __cplusplus\n') output('extern "C" int tolua_bnd_takeownership (lua_State* L); // from tolua_map.c\n') output('#else\n') output('int tolua_bnd_takeownership (lua_State* L); /* from tolua_map.c */\n') output('#endif\n') output('#include \n\n') if not flags.h then output('/* Exported function */') output('TOLUA_API int tolua_'..self.name..'_open (lua_State* tolua_S);') output('LUALIB_API int luaopen_'..self.name..' (lua_State* tolua_S);') output('\n') end local i=1 while self[i] do self[i]:preamble() i = i+1 end if self:requirecollection(_collect) then output('\n') output('/* function to release collected object via destructor */') output('#ifdef __cplusplus\n') for i,v in pairs(_collect) do output('\nstatic int '..v..' (lua_State* tolua_S)') output('{') output(' '..i..'* self = ('..i..'*) tolua_tousertype(tolua_S,1,0);') output(' tolua_release(tolua_S,self);') output(' delete self;') output(' return 0;') output('}') end output('#endif\n\n') end output('\n') output('/* function to register type */') output('static void tolua_reg_types (lua_State* tolua_S)') output('{') foreach(_usertype,function(n,v) output(' tolua_usertype(tolua_S,"',v,'");') end) output('}') output('\n') end -- register package -- write package open function function classPackage:register () push(self) output("/* Open lib function */") output('LUALIB_API int luaopen_'..self.name..' (lua_State* tolua_S)') output("{") output(" tolua_open(tolua_S);") output(" tolua_reg_types(tolua_S);") output(" tolua_module(tolua_S,NULL,",self:hasvar(),");") output(" tolua_beginmodule(tolua_S,NULL);") local i=1 while self[i] do self[i]:register() i = i+1 end output(" tolua_endmodule(tolua_S);") output(" return 1;") output("}") output("/* Open tolua function */") output("TOLUA_API int tolua_"..self.name.."_open (lua_State* tolua_S)") output("{") output(" lua_pushcfunction(tolua_S, luaopen_"..self.name..");") output(' lua_pushstring(tolua_S, "'..self.name..'");') output(" lua_call(tolua_S, 1, 0);") output(" return 1;") output("}") pop() end -- write header file function classPackage:header () output('/*\n') output('** Lua binding: '..self.name..'\n') output('** Generated automatically by '..TOLUA_VERSION..' on '..date()..'.\n') output('*/\n\n') if not flags.h then output('/* Exported function */') output('TOLUA_API int tolua_'..self.name..'_open (lua_State* tolua_S);') output('LUALIB_API int luaopen_'..self.name..' (lua_State* tolua_S);') output('\n') end end -- Internal constructor function _Package (self) setmetatable(self,classPackage) return self end -- Parse C header file with tolua directives -- *** Thanks to Ariel Manzur for fixing bugs in nested directives *** function extract_code(fn,s) local code = '\n$#include "'..fn..'"\n' s= "\n" .. s .. "\n" -- add blank lines as sentinels local _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n") while e do t = strlower(t) if t == "begin" then _,e,c = strfind(s,"(.-)\n[^\n]*[Tt][Oo][Ll][Uu][Aa]_[Ee][Nn][Dd][^\n]*\n",e) if not e then tolua_error("Unbalanced 'tolua_begin' directive in header file") end end code = code .. c .. "\n" _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n",e) end return code end -- Constructor -- Expects the package name, the file extension, and the file text. function Package (name,fn) local ext = "pkg" -- open input file, if any if fn then local st, msg = readfrom(flags.f) if not st then error('#'..msg) end local _; _, _, ext = strfind(fn,".*%.(.*)$") end local code = "\n" .. read('*a') if ext == 'h' or ext == 'hpp' then code = extract_code(fn,code) end -- close file if fn then readfrom() end -- deal with renaming directive code = gsub(code,'%s*%$renaming%s*(.-)%s*\n', function (r) appendrenaming(r) return "\n" end) -- deal with include directive local nsubst repeat code,nsubst = gsub(code,'\n%s*%$(.)file%s*"(.-)"%s*\n', function (kind,fn) local _, _, ext = strfind(fn,".*%.(.*)$") local fp,msg = openfile(fn,'r') if not fp then error('#'..msg..': '..fn) end local s = read(fp,'*a') closefile(fp) if kind == 'c' or kind == 'h' then return extract_code(fn,s) elseif kind == 'p' then return "\n\n" .. s elseif kind == 'l' then return "\n$[\n" .. s .. "\n$]\n" else error('#Invalid include directive (use $cfile, $pfile or $lfile)') end end) until nsubst==0 local t = _Package(_Container{name=name, code=code}) push(t) t:preprocess() t:parse(t.code) pop() return t end tolua-5.2.4/src/bin/lua/array.lua0000755000175000017500000001334012615764613015302 0ustar tobitobi-- tolua: array class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1999 -- $Id: array.lua,v 1.4 2011/01/13 13:43:45 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Array class -- Represents a extern array variable or a public member of a class. -- Stores all fields present in a declaration. classArray = { } classArray.__index = classArray setmetatable(classArray,classDeclaration) -- Print method function classArray:print (ident,close) print(ident.."Array{") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.." ptr = '"..self.ptr.."',") print(ident.." name = '"..self.name.."',") print(ident.." def = '"..self.def.."',") print(ident.." dim = '"..self.dim.."',") print(ident.." ret = '"..self.ret.."',") print(ident.."}"..close) end -- check if it is a variable function classArray:isvariable () return true end -- get variable value function classArray:getvalue (class,static) if class and static then return class..'::'..self.name..'[tolua_index]' elseif class then return 'self->'..self.name..'[tolua_index]' else return self.name..'[tolua_index]' end end -- Write binding functions function classArray:supcode () local class = self:inclass() -- get function ------------------------------------------------ if class then output("/* get function:",self.name," of class ",class," */") else output("/* get function:",self.name," */") end self.cgetname = self:cfuncname("tolua_get") output("static int",self.cgetname,"(lua_State* tolua_S)") output("{") output(" int tolua_index;") -- declare self, if the case local _,_,static = strfind(self.mod,'^%s*(static)') if class and static==nil then output(' ',self.parent.type,'*','self;') output(' lua_pushstring(tolua_S,".self");') output(' lua_rawget(tolua_S,1);') output(' self = ') output('(',class,'*) ') output('lua_touserdata(tolua_S,-1);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check index output('#ifndef TOLUA_RELEASE\n') output(' {') output(' tolua_Error tolua_err;') output(' if (!tolua_isnumber(tolua_S,2,0,&tolua_err))') output(' tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);') output(' }') output('#endif\n') output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;') output('#ifndef TOLUA_RELEASE\n') output(' if (tolua_index<0 || tolua_index>='..self.dim..')') output(' tolua_error(tolua_S,"array indexing out of range.",NULL);') output('#endif\n') -- return value local t,ct = isbasic(self.type) if t then output(' tolua_push'..t..'(tolua_S,(',ct,')'..self:getvalue(class,static)..');') else t = self.type if self.ptr == '&' or self.ptr == '' then output(' tolua_pushusertype(tolua_S,(void*)&'..self:getvalue(class,static)..',"',t,'");') else output(' tolua_pushusertype(tolua_S,(void*)'..self:getvalue(class,static)..',"',t,'");') end end output(' return 1;') output('}') output('\n') -- set function ------------------------------------------------ if not strfind(self.type,'const') then if class then output("/* set function:",self.name," of class ",class," */") else output("/* set function:",self.name," */") end self.csetname = self:cfuncname("tolua_set") output("static int",self.csetname,"(lua_State* tolua_S)") output("{") -- declare index output(' int tolua_index;') -- declare self, if the case local _,_,static = strfind(self.mod,'^%s*(static)') if class and static==nil then output(' ',class,'*','self;') output(' lua_pushstring(tolua_S,".self");') output(' lua_rawget(tolua_S,1);') output(' self = ') output('(',class,'*) ') output('lua_touserdata(tolua_S,-1);') elseif static then _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)') end -- check index output('#ifndef TOLUA_RELEASE\n') output(' {') output(' tolua_Error tolua_err;') output(' if (!tolua_isnumber(tolua_S,2,0,&tolua_err))') output(' tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);') output(' }') output('#endif\n') output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;') output('#ifndef TOLUA_RELEASE\n') output(' if (tolua_index<0 || tolua_index>='..self.dim..')') output(' tolua_error(tolua_S,"array indexing out of range.",NULL);') output('#endif\n') -- assign value local ptr = '' if self.ptr~='' then ptr = '*' end output(' ') if class and static then output(class..'::'..self.name..'[tolua_index]') elseif class then output('self->'..self.name..'[tolua_index]') else output(self.name..'[tolua_index]') end local t = isbasic(self.type) output(' = ') if not t and ptr=='' then output('*') end output('((',self.mod,self.type) if not t then output('*') end output(') ') local def = 0 if self.def ~= '' then def = self.def end if t then if isenum(self.type) then output('(int)') end if t=='function' then t='value' end output('tolua_to'..t,'(tolua_S,3,',def,'));') else output('tolua_tousertype(tolua_S,3,',def,'));') end output(' return 0;') output('}') output('\n') end end function classArray:register () if self.csetname then output(' tolua_array(tolua_S,"'..self.lname..'",'..self.cgetname..','..self.csetname..');') else output(' tolua_array(tolua_S,"'..self.lname..'",'..self.cgetname..',NULL);') end end -- Internal constructor function _Array (t) setmetatable(t,classArray) append(t) return t end -- Constructor -- Expects a string representing the variable declaration. function Array (s) return _Array (Declaration(s,'var')) end tolua-5.2.4/src/bin/lua/._variable.lua0000755000175000017500000000043012615764613016162 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/clean.lua0000755000175000017500000000247512615764613015255 0ustar tobitobi-- mark up comments and strings STR1 = "\001" STR2 = "\002" STR3 = "\003" STR4 = "\004" REM = "\005" ANY = "([\001-\005])" ESC1 = "\006" ESC2 = "\007" MASK = { -- the substitution order is important {ESC1, "\\'", "\\'"}, {ESC2, '\\"', '\\"'}, {STR1, "'", "'"}, {STR2, '"', '"'}, {STR3, "%[%[", "[["}, {STR4, "%]%]", "]]"}, {REM , "%-%-", "--"}, } function mask (s) for i = 1,getn(MASK) do s = gsub(s,MASK[i][2],MASK[i][1]) end return s end function unmask (s) for i = 1,getn(MASK) do s = gsub(s,MASK[i][1],MASK[i][3]) end return s end function clean (s) -- check for compilation error local code = "return function () " .. s .. " end" if not dostring(code) then return nil end local S = "" -- saved string s = mask(s) -- remove blanks and comments while 1 do local b,e,d = strfind(s,ANY) if b then S = S..strsub(s,1,b-1) s = strsub(s,b+1) if d==STR1 or d==STR2 then e = strfind(s,d) S = S ..d..strsub(s,1,e) s = strsub(s,e+1) elseif d==STR3 then e = strfind(s,STR4) S = S..d..strsub(s,1,e) s = strsub(s,e+1) elseif d==REM then s = gsub(s,"[^\n]*(\n?)","%1",1) end else S = S..s break end end -- eliminate unecessary spaces S = gsub(S,"[ \t]+"," ") S = gsub(S,"[ \t]*\n[ \t]*","\n") S = gsub(S,"\n+","\n") S = unmask(S) return S end tolua-5.2.4/src/bin/lua/._feature.lua0000755000175000017500000000043012615764613016030 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/lua/feature.lua0000755000175000017500000000412612615764613015621 0ustar tobitobi-- tolua: abstract feature class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: feature.lua,v 1.3 2009/11/24 16:45:14 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Feature class -- Represents the base class of all mapped feature. classFeature = { } classFeature.__index = classFeature -- write support code function classFeature:supcode () end -- output tag function classFeature:decltype () end -- register feature function classFeature:register () end -- translate verbatim function classFeature:preamble () end -- check if it is a variable function classFeature:isvariable () return false end -- checi if it requires collection function classFeature:requirecollection (t) return false end -- build names function classFeature:buildnames () if self.name and self.name~='' then local n = split(self.name,'@') self.name = n[1] if not n[2] then n[2] = applyrenaming(n[1]) end self.lname = n[2] or gsub(n[1],"%[.-%]","") end self.name = getonlynamespace() .. self.name end -- check if feature is inside a container definition -- it returns the container class name or nil. function classFeature:incontainer (which) if self.parent then local parent = self.parent while parent do if parent.classtype == which then return parent.name end parent = parent.parent end end return nil end function classFeature:inclass () return self:incontainer('class') end function classFeature:inmodule () return self:incontainer('module') end function classFeature:innamespace () return self:incontainer('namespace') end -- return C binding function name based on name -- the client specifies a prefix function classFeature:cfuncname (n) if self.parent then n = self.parent:cfuncname(n) end if self.lname and strsub(self.lname,1,1)~="." -- operator are named as ".add" then return n..'_'..self.lname else return n..'_'..self.name end end tolua-5.2.4/src/bin/lua/typedef.lua0000755000175000017500000000306012615764613015622 0ustar tobitobi-- tolua: typedef class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: typedef.lua,v 1.3 2009/11/24 16:45:15 fabraham Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Typedef class -- Represents a type synonym. -- The 'de facto' type replaces the typedef before the -- remaining code is parsed. -- The following fields are stored: -- utype = typedef name -- type = 'the facto' type -- mod = modifiers to the 'de facto' type classTypedef = { utype = '', mod = '', type = '' } classTypedef.__index = classTypedef -- Print method function classTypedef:print (ident,close) print(ident.."Typedef{") print(ident.." utype = '"..self.utype.."',") print(ident.." mod = '"..self.mod.."',") print(ident.." type = '"..self.type.."',") print(ident.."}"..close) end -- Return it's not a variable function classTypedef:isvariable () return false end -- Internal constructor function _Typedef (t) setmetatable(t,classTypedef) appendtypedef(t) return t end -- Constructor -- Expects one string representing the type definition. function Typedef (s) if strfind(s,'[%*&]') then tolua_error("#invalid typedef: pointers (and references) are not supported") end local t = split(gsub(s,"%s%s*"," ")," ") if not isbasic(t[t.n]) then return _Typedef { utype = t[t.n], type = t[t.n-1], mod = concat(t,1,t.n-2), } else return nil end end tolua-5.2.4/src/bin/._tolua_bind52_linux30_64.c0000755000175000017500000000043012615764613017437 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/._lua-5.1-0k0000755000175000017500000000046712615764613014440 0ustar tobitobiMac OS X  27ATTR7˜Ÿ˜Ÿcom.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited,file_inherit,directory_inherit:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/._regenerate_binding0000755000175000017500000000043012615764613016647 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/bin/tolua.pkg0000755000175000017500000000116612615764613014532 0ustar tobitobi$lfile "lua/compat.lua" $lfile "lua/basic.lua" $lfile "lua/feature.lua" $lfile "lua/verbatim.lua" $lfile "lua/code.lua" $lfile "lua/typedef.lua" $lfile "lua/container.lua" $lfile "lua/package.lua" $lfile "lua/module.lua" $lfile "lua/namespace.lua" $lfile "lua/define.lua" $lfile "lua/enumerate.lua" $lfile "lua/declaration.lua" $lfile "lua/variable.lua" $lfile "lua/array.lua" $lfile "lua/function.lua" $lfile "lua/operator.lua" $lfile "lua/class.lua" $lfile "lua/clean.lua" $lfile "lua/doit.lua" $[ local err,msg = pcall(doit) if not err then local _,_,label,msg = strfind(msg,"(.-:.-:%s*)(.*)") tolua_error(msg,label) end $] tolua-5.2.4/src/tests/0000755000175000017500000000000012615764613013266 5ustar tobitobitolua-5.2.4/src/tests/tconstant.lua0000755000175000017500000000034012615764613016006 0ustar tobitobidofile("myassert.lua") assert(FIRST==M.FIRST) assert(FIRST==A.FIRST) assert(SECOND==M.SECOND) assert(SECOND==A.SECOND) assert(ONE==M.ONE) assert(ONE==A.ONE) assert(TWO==M.TWO) assert(TWO==A.TWO) print("Constant test OK") tolua-5.2.4/src/tests/tdirective.lua0000755000175000017500000000014112615764613016132 0ustar tobitobidofile("myassert.lua") assert(a==3) assert(A==4) assert(func()==5) print("Directive test OK") tolua-5.2.4/src/tests/._tclass.h0000755000175000017500000000043012615764613015145 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tvariable.pkg0000755000175000017500000000043012615764613016157 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tpeer.h0000755000175000017500000000043012615764613014773 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tclass.cpp0000755000175000017500000000043012615764613015500 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tenum.pkg0000755000175000017500000000043012615764613015336 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tvararg.cpp0000755000175000017500000000043012615764613015655 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tmodule.c0000755000175000017500000000045512615764613015112 0ustar tobitobi#include "lualib.h" #include "lauxlib.h" #include "tmodule.h" int a = 1; int b = 2; int c = 3; int d = 4; int main () { int tolua_tmodule_open (lua_State*); lua_State* L = luaL_newstate(); luaL_openlibs(L); tolua_tmodule_open(L); luaL_dofile(L,"tmodule.lua"); lua_close(L); return 0; } tolua-5.2.4/src/tests/tenum.lua0000755000175000017500000000020712615764613015123 0ustar tobitobidofile("myassert.lua") local a = FIRST local b = SECOND assert(checkenum(a)==TRUE) assert(checkenum(b)==FALSE) print("Enum test OK")tolua-5.2.4/src/tests/._tinheritance.pkg0000755000175000017500000000043012615764613016663 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._Makefile0000755000175000017500000000043012615764613015143 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tnamespace.pkg0000755000175000017500000000043012615764613016326 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tfunction.lua0000755000175000017500000000043012615764613016217 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tarray.pkg0000755000175000017500000000043012615764613015510 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tenum.pkg0000755000175000017500000000017612615764613015130 0ustar tobitobi$#include "tenum.h" enum Order { FIRST, SECOND }; typedef enum { FALSE, TRUE } Status; Status checkenum (Order o); tolua-5.2.4/src/tests/tdirectivepkg.pkg0000755000175000017500000000001712615764613016636 0ustar tobitobiextern int a; tolua-5.2.4/src/tests/tpeer.h0000755000175000017500000000050112615764613014555 0ustar tobitobi#include "tolua.h" class Point { double m_x, m_y; public: Point (double x, double y) : m_x(x), m_y(y) { } double X () const { return m_x; } double Y () const { return m_y; } int gets (lua_State* L) const { tolua_pushnumber(L,m_x); tolua_pushnumber(L,m_y); return 2; } }; tolua-5.2.4/src/tests/._tfunction.cpp0000755000175000017500000000043012615764613016220 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tarray.h0000755000175000017500000000043012615764613015156 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tdirectivelua.lua0000755000175000017500000000006712615764613016643 0ustar tobitobidofile("myassert.lua") function func () return 5 end tolua-5.2.4/src/tests/._tpeer.cpp0000755000175000017500000000043012615764613015326 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tmodule.lua0000755000175000017500000000055212615764613015447 0ustar tobitobidofile("myassert.lua") -- test valid access assert(A.a==1) assert(A.B.b==2) assert(A.B.C.c==3) -- test invalid access assert(A.B.a==nil) -- no inheritance assert(A.B.C.a==nil) assert(A.b==nil) -- no access the inner module assert(A.c==nil) assert(A.B.c==nil) -- test variables appended to existing modules assert(A.d==4) print("Module test OK") tolua-5.2.4/src/tests/Makefile0000755000175000017500000000511012615764613014726 0ustar tobitobi# makefile for tolua executable TOLUA=../.. TOLUAEXE = tolua include $(TOLUA)/config LIBS = -ltolua -llua EXE = tmodule tnamespace tclass tpeer tinheritance tconstant tvariable tfunction tarray tdirective tenum tvararg all: $(EXE) ./tmodule; ./tnamespace; ./tclass; ./tpeer; ./tinheritance; ./tconstant; ./tvariable; ./tfunction; ./tarray; ./tdirective; ./tfunction; ./tenum; ./tvararg tarray: tarray.o tarraybind.o $(CC) $(CFLAGS) -o $@ tarray.o tarraybind.o $(TLIB) $(LIB) $(LIBS) tarraybind.c: tarray.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tvariable: tvariable.o tvariablebind.o $(CC) $(CFLAGS) -o $@ tvariable.o tvariablebind.o $(TLIB) $(LIB) $(LIBS) tvariablebind.c: tvariable.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tmodule: tmodule.o tmodulebind.o $(CC) $(CFLAGS) -o $@ tmodule.o tmodulebind.o $(TLIB) $(LIB) $(LIBS) tmodulebind.c: tmodule.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tnamespace: tnamespace.o tnamespacebind.o $(CCPP) $(CFLAGS) -o $@ tnamespace.o tnamespacebind.o $(TLIB) $(LIB) $(LIBS) tnamespacebind.cpp: tnamespace.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tdirective: tdirectivebind.o $(CC) $(CFLAGS) -o $@ tdirectivebind.o $(TLIB) $(LIB) $(LIBS) tdirectivebind.c: tdirective.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tfunction: tfunction.o tfunctionbind.o $(CCPP) $(CPPFLAGS) -o $@ tfunction.o tfunctionbind.o $(TLIB) $(LIB) $(LIBS) tfunctionbind.cpp: tfunction.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tconstant: tconstant.o tconstantbind.o $(CCPP) $(CPPFLAGS) -o $@ tconstant.o tconstantbind.o $(TLIB) $(LIB) $(LIBS) tconstantbind.cpp: tconstant.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tclass: tclass.o tclassbind.o $(CCPP) $(CPPFLAGS) -o $@ tclass.o tclassbind.o $(TLIB) $(LIB) $(LIBS) tclassbind.cpp: tclass.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tpeer: tpeer.o tpeerbind.o $(CCPP) $(CPPFLAGS) -o $@ tpeer.o tpeerbind.o $(TLIB) $(LIB) $(LIBS) tpeerbind.cpp: tpeer.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tinheritance: tinheritance.o tinheritancebind.o $(CCPP) $(CPPFLAGS) -o $@ tinheritance.o tinheritancebind.o $(TLIB) $(LIB) $(LIBS) tinheritancebind.cpp: tinheritance.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tenum: tenum.o tenumbind.o $(CC) $(CPPFLAGS) -o $@ tenum.o tenumbind.o $(TLIB) $(LIB) $(LIBS) tenumbind.c: tenum.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< tvararg: tvararg.o tvarargbind.o $(CCPP) $(CPPFLAGS) -o $@ tvararg.o tvarargbind.o $(TLIB) $(LIB) $(LIBS) tvarargbind.cpp: tvararg.pkg $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< .cpp.o: $(CCPP) -c $(CPPFLAGS) -o $@ $< .pkg.cpp: $(TOLUA)/bin/$(TOLUAEXE) -o $@ $< clean: rm -f t*bind.* rm -f *.o klean: rm -f $(EXE) tolua-5.2.4/src/tests/tnamespace.pkg0000755000175000017500000000015512615764613016115 0ustar tobitobi $#include "tnamespace.h" namespace A { int a; namespace B { int b; namespace C { int c; } } } tolua-5.2.4/src/tests/tpeer.pkg0000755000175000017500000000023212615764613015110 0ustar tobitobi$#include "tpeer.h" class Point { Point (double x, double y); double X () const; double Y () const; tolua_multret gets (lua_State* L) const; }; tolua-5.2.4/src/tests/._tdirectivelua.lua0000755000175000017500000000043012615764613017052 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tvariable.c0000755000175000017500000000142212615764613015405 0ustar tobitobi#include "lualib.h" #include "lauxlib.h" #include "tvariable.h" int i = 1; float f = 2.0f;; double d = 3.0; char* s = "Hello world"; void* v = (void*)1; char n[64] = "Hi there"; A a = {11,12.0f,13.0,"Hello world from class",(void*)1,"Hi there from class"}; B* b; U u; int mi = 21; float mf = 22.0f; double md = 23.0; char* ms = "Hello world in module"; void* mv = NULL; char mn[64] = "Hi there in module"; A ma = {31,32.0f,33.0,"Hello world from class in module", NULL,"Hi there from class in module"}; B* mb; int main (void) { int tolua_tvariable_open (lua_State*); lua_State* L = luaL_newstate(); B bb = {a,NULL}; B bbb = {ma,&bb}; b = &bb; mb = &bbb; luaL_openlibs(L); tolua_tvariable_open(L); luaL_dofile(L,"tvariable.lua"); lua_close(L); return 0; } tolua-5.2.4/src/tests/._tvararg.lua0000755000175000017500000000043012615764613015654 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._myassert.lua0000755000175000017500000000043012615764613016055 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tenum.h0000755000175000017500000000043012615764613015004 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tclass.lua0000755000175000017500000000246712615764613015276 0ustar tobitobidofile("myassert.lua") -- type convertion tests assert(tolua.type(A.last) == 'Tst_A') -- first time the object is mapped assert(tolua.type(B.last) == 'Tst_B') -- type convertion to specialized type assert(tolua.type(A.last) == 'Tst_B') -- no convertion: obj already mapped as B local a = A:new() assert(tolua.type(A.last) == 'Tst_A') -- no type convertion: same type local b = B:new() assert(tolua.type(A.last) == 'Tst_B') -- no convertion: obj already mapped as B local c = luaC:new(0) assert(tolua.type(A.last) == 'Tst_C') -- no convertion: obj already mapped as C assert(tolua.type(luaC.last) == 'Tst_C') local aa = A.AA:new() local bb = A.BB:new() local xx = create_aa() -- casting test local base = bb:Base(); local derived = tolua.cast(base,"Tst_A::Tst_BB"); assert(derived:classname()=="Tst_BB") -- method calling tests assert(a:a() == 'A') assert(b:a() == 'A') assert(b:b() == 'B') assert(c:a() == 'A') assert(c:b() == 'B') assert(c:c() == 'C') assert(aa:aa() == 'AA') assert(bb:aa() == bb:Base():aa()) assert(xx:aa() == 'AA') assert(is_aa(bb) == true) -- test ownershipping handling -- should delete objects: 6 7 8 9 10 (it may vary!) remark = [[ local set = {} for i=1,10 do local c = luaC:new(i) tolua.takeownership(c) set[i] = c end for i=1,5 do tolua.releaseownership(set[i]) end --]] print("Class test OK") tolua-5.2.4/src/tests/._tinheritance.cpp0000755000175000017500000000043012615764613016664 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tconstant.cpp0000755000175000017500000000043012615764613016224 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tpeer.lua0000755000175000017500000000043012615764613015325 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tvararg.cpp0000755000175000017500000000110212615764613015435 0ustar tobitobiextern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" } #include "tvararg.h" #include #include int B::n = 0; static void check (void) { assert(B::n == 0); } int main () { int tolua_tvararg_open (lua_State*); atexit(check); lua_State* L = luaL_newstate(); luaL_openlibs(L); tolua_tvararg_open(L); lua_pushstring(L, "tolua_ubox"); lua_rawget(L, LUA_REGISTRYINDEX); lua_setglobal(L, "ubox"); if (luaL_dofile(L,"tvararg.lua")) { printf("Error: %s\n",lua_tostring(L,-1)); } lua_close(L); return 0; } tolua-5.2.4/src/tests/tconstant.pkg0000755000175000017500000000044112615764613016010 0ustar tobitobi$#include "tconstant.h" #define FIRST 1 #define SECOND 2 enum { ONE = 1, TWO = 2 }; module M { #define M_FIRST@FIRST 1 #define M_SECOND@SECOND 2 enum { M_ONE@ONE = 1, M_TWO@TWO = 2 }; } class A { public: #define FIRST 1 #define SECOND 2 enum { ONE = 1, TWO = 2 }; }; tolua-5.2.4/src/tests/tvariable.pkg0000755000175000017500000000073012615764613015745 0ustar tobitobi$#include "tvariable.h" struct A { int i; float f; double d; char* s; void* v; char n[64]; }; struct B { A a; B* b; }; union U { int i; float f; }; extern int i; extern float f; extern double d; extern const char* s; extern void* v; extern char n[64]; extern A a; extern B* b; extern U u; module M { extern int mi; extern float mf; extern double md; extern const char* ms; extern void* mv; extern const char mn[64]; extern A a; extern A ma; extern B* mb; } tolua-5.2.4/src/tests/._tvararg.h0000755000175000017500000000043012615764613015322 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tvariable.lua0000755000175000017500000000043012615764613016157 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tpeer.lua0000755000175000017500000000072212615764613015114 0ustar tobitobilocal mt = { __index = function (self,key) if key == 1 then return self._obj:X() elseif key == 2 then return self._obj:Y() elseif key == "Sum" then return function (self) return self:X() + self:Y() end else return nil end end } local p = Point:new(2,3) local t = tolua.getpeertable(p) t._obj = p setmetatable(t,mt) assert(p[1]+p[2] == p:Sum()) local x, y = p:gets() assert(x==p[1] and y==p[2]) print("Peer test OK") tolua-5.2.4/src/tests/._tvararg.pkg0000755000175000017500000000043012615764613015654 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tclass.lua0000755000175000017500000000043012615764613015477 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tpeer.cpp0000755000175000017500000000052712615764613015120 0ustar tobitobi extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" } #include "tpeer.h" int main () { int tolua_tpeer_open (lua_State*); lua_State* L = luaL_newstate(); luaL_openlibs(L); tolua_tpeer_open(L); if (luaL_dofile(L,"tpeer.lua")) { printf("Error: %s\n",lua_tostring(L,-1)); } lua_close(L); return 0; } tolua-5.2.4/src/tests/tconstant.cpp0000755000175000017500000000043312615764613016012 0ustar tobitobiextern "C" { #include "lualib.h" #include "lauxlib.h" } #include "tconstant.h" int main (void) { int tolua_tconstant_open (lua_State*); lua_State* L = luaL_newstate(); luaL_openlibs(L); tolua_tconstant_open(L); luaL_dofile(L,"tconstant.lua"); lua_close(L); return 0; } tolua-5.2.4/src/tests/._tnamespace.cpp0000755000175000017500000000043012615764613016327 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tinheritance.pkg0000755000175000017500000000075012615764613016453 0ustar tobitobi$#include "tinheritance.h" class A { public: A () {} virtual ~A() {} virtual const char* aname () { return "A"; } virtual const char* name () { return "A"; } }; class B : public A { public: B () {} virtual ~B() {} virtual const char* name () { return "B"; } }; class C : public B { public: C () {} virtual ~C() {} virtual const char* name () { return "C"; } }; class D : public C { public: D () {} virtual ~D() {} virtual const char* name () { return "D"; } }; tolua-5.2.4/src/tests/tfunction.pkg0000755000175000017500000000326012615764613016006 0ustar tobitobi$#include "tfunction.h" typedef enum { FIRST = 1, SECOND = 2 } Order; class Point { enum Error { SUCCESS = 0, ERROR = 1 }; Point (float x=0, float y=0); virtual ~Point (); void set (float x, float y); void set (float v[2]=0); void setpointer (Point* p); void setref (Point& p); void setvalue (Point p); void setconst (const Point* p); void get (float* x=0, float* y=0) const; void get (float v[2]=0) const; Point* getpointer (); Point& getref (); Point getvalue (); const Point* getconst () const; Point operator+ (const Point& p) const; Point operator- (const Point& p) const; Point operator* (const Point& p) const; Point operator/ (float n) const; bool operator< (const Point& p) const; bool operator<= (const Point& p) const; bool operator== (const Point& p) const; tolua_len size () const; float operator[] (int i) const; float& operator[] (int i); static Error echo (Error e); }; module alg { Point add (const Point& p1, const Point& p2); Point sub (const Point& p1, const Point& p2); Point mult (const Point& p1, const Point& p2); Point div (const Point& p1, float n); } void getpoint (const Point* p, float* x=0, float* y=0); void setpoint (Point* p, float x=0, float y=0); inline Point average (int n, Point v[n]); inline Point averagepointer (int n, Point* v[n]); inline void copyvector (int n, const Point v[n], Point u[n]=(u+i)); inline Order invert (Order o); $cfile "tfunction.h" /* class ColorPoint : public Point { ColorPoint (float px, float py, float cr=0.0f, float cg=0.0f, float cb=0.0f); virtual ~ColorPoint (); virtual void getcolor (float* red, float *green, float *blue) const; static const Point* MakeRed (float x, float y); }; */ tolua-5.2.4/src/tests/tfunction.h0000755000175000017500000000605512615764613015461 0ustar tobitobi#ifndef tfunction_h #define tfunction_h #include typedef enum { FIRST = 1, SECOND = 2 } Order; class Point { float m_x; float m_y; public: enum Error { SUCCESS = 0, ERROR = 1 }; Point (float x=0, float y=0) : m_x(x), m_y(y) { } virtual ~Point () { } void set (float x, float y) { m_x = x, m_y = y; } void set (float v[2]=0) { m_x = v[0], m_y=v[1]; } void setpointer (Point* p) { *this = *p; } void setref (Point& p) { *this = p; } void setvalue (Point p) { *this = p; } void setconst (const Point* p) { *this = *p; } void get (float* x, float* y) const { *x = m_x, *y = m_y; } void get (float v[2]) const { v[0] = m_x, v[1] = m_y; } Point* getpointer () { return this; } Point& getref () { return *this; } Point getvalue () { return *this; } const Point* getconst () const { return this; } Point operator+ (const Point& p) const { return Point(m_x+p.m_x,m_y+p.m_y); } Point operator- (const Point& p) const { return Point(m_x-p.m_x,m_y-p.m_y); } Point operator* (const Point& p) const { return Point(m_x*p.m_x,m_y*p.m_y); } Point operator/ (float n) const { return Point(m_x/n,m_y/n); } bool operator< (const Point& p) const { if (m_x < p.m_x) return true; else if (m_x > p.m_x) return false; else return m_y < p.m_y; } bool operator<= (const Point& p) const { return operator<(p) || operator==(p); } bool operator== (const Point& p) const { return m_x==p.m_x && m_y==p.m_y; } int size () const { return 2; } float operator[] (int i) const { return (i==0) ? m_x : m_y; } float& operator[] (int i) { return (i==0) ? m_x : m_y; } static Error echo (Error e) { return e; } }; inline Point add (const Point& p1, const Point& p2) { return p1+p2; } inline Point sub (const Point& p1, const Point& p2) { return p1-p2; } inline Point mult (const Point& p1, const Point& p2) { return p1*p2; } inline Point div (const Point& p1, float n) { return p1/n; } inline void getpoint (const Point* p, float* x, float* y) { p->get(x,y); } inline void setpoint (Point* p, float x=0, float y=0) { p->set(x,y); } inline Point average (int n, Point v[]) { Point p(0,0); for (int i=0; iq) assert(t>=q) local p = Point:new(1,2) assert(p[1]==1 and p[2]==2) p[1]=3; p[2] = p[2]+2 local x, y = p:get() assert(x==3 and y==4) assert(#p==2) local n = 3 local v = {Point:new(0,1), Point:new(2,3), Point:new(4,5)} local m = average(n,v) local c = averagepointer(n,v) local t = {} copyvector(n,v,t) local l = Point:new() for i=1,n do assert(v[i]==t[i]) l[1] = l[1] + v[i][1] l[2] = l[2] + v[i][2] end l = l/n assert(m==l) assert(c==l) assert(Point.SUCCESS==Point:echo(Point.SUCCESS)) assert(Point.ERROR==Point:echo(Point.ERROR)) assert(FIRST==invert(SECOND)) assert(SECOND==invert(FIRST)) print("Function test OK") tolua-5.2.4/src/tests/._tdirective.pkg0000755000175000017500000000043012615764613016350 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tdirectivepkg.pkg0000755000175000017500000000043012615764613017052 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tnamespace.h0000755000175000017500000000043012615764613015774 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tfunction.pkg0000755000175000017500000000043012615764613016217 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tenum.c0000755000175000017500000000043012615764613014777 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tpeer.pkg0000755000175000017500000000043012615764613015325 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._t.pkg0000755000175000017500000000043012615764613014451 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tconstant.pkg0000755000175000017500000000043012615764613016223 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tnamespace.lua0000755000175000017500000000045612615764613016121 0ustar tobitobidofile("myassert.lua") -- test valid access assert(A.a==1) assert(A.B.b==2) assert(A.B.C.c==3) -- test invalid access assert(A.B.a==nil) -- no inheritance assert(A.B.C.a==nil) assert(A.b==nil) -- no access the inner module assert(A.c==nil) assert(A.B.c==nil) print("Namespace test OK") tolua-5.2.4/src/tests/._tarray.c0000755000175000017500000000043012615764613015151 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tconstant.h0000755000175000017500000000043012615764613015671 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tmodule.pkg0000755000175000017500000000043012615764613015657 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tconstant.lua0000755000175000017500000000043012615764613016223 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tinheritance.h0000755000175000017500000000043012615764613016331 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tclass.cpp0000755000175000017500000000076712615764613015300 0ustar tobitobiextern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" } #include "tclass.h" #include Tst_A* Tst_A::last; Tst_B* Tst_B::last; Tst_C* Tst_C::last; int main () { Tst_B* b = new Tst_B; // instance used in Lua code int tolua_tclass_open (lua_State*); lua_State* L = luaL_newstate(); luaL_openlibs(L); tolua_tclass_open(L); if (luaL_dofile(L,"tclass.lua")) { printf("Error: %s\n",lua_tostring(L,-1)); } lua_close(L); delete b; return 0; } tolua-5.2.4/src/tests/tclass.pkg0000755000175000017500000000135012615764613015264 0ustar tobitobi$#include "tclass.h" $renaming ^Tst_ @ class Tst_Dummy; class Tst_A { static Tst_A* last; Tst_A (); virtual const char* a (); class Tst_AA { Tst_AA () {} ~Tst_AA () {} const char* aa () { return "AA"; } }; class Tst_BB : public Tst_AA { Tst_BB () {} ~Tst_BB () {} Tst_AA* Base () { return this; } const char* classname () const { return "Tst_BB"; } }; }; class Tst_B : public Tst_A { static Tst_B* last; Tst_B (); virtual const char* b (); }; class Tst_C@luaC : public Tst_B { static Tst_C* last; Tst_C (int n); ~Tst_C (); virtual const char* c (); }; class D // private destructor { D () {} }; Tst_A::Tst_AA* Tst_create_aa (); bool Tst_is_aa (Tst_A::Tst_AA* obj); tolua-5.2.4/src/tests/tarray.lua0000755000175000017500000000112112615764613015271 0ustar tobitobidofile("myassert.lua") for i=1,10 do assert(a[i]==i) end for i=2,10 do assert(p[i-1].y==p[i].x) end for i=1,10 do assert(M.a[i]==i) end for i=2,10 do assert(M.p[i-1].y==M.p[i].x) end for i=1,10 do assert(pp[i].x==M.p[i].x and p[i].y == M.pp[i].y) end for i=1,10 do assert(array.a[i] == parray.a[i]) assert(array.p[i].x == parray.pp[i].x and array.p[i].y == parray.pp[i].y) end for i=1,10 do array.a[i] = a[10-i+1] M.a[i] = 10-i+1 assert(array.a[i]==M.a[i]) end for i=2,10 do array.p[i] = array.pp[1] assert(array.p[i].x==0 and array.p[i].y==1) end print("Array test OK") tolua-5.2.4/src/tests/tclass.h0000755000175000017500000000203712615764613014735 0ustar tobitobi#include class Tst_Dummy { }; class Tst_A { public: static Tst_A* last; Tst_A () {last = this;} virtual ~Tst_A() {} virtual const char* a () { return "A"; } class Tst_AA { public: Tst_AA () {} virtual ~Tst_AA () { } const char* aa () { return "AA"; } }; class Tst_BB : public Tst_AA { public: Tst_BB () {} virtual ~Tst_BB () {} Tst_AA* Base () { return this; } const char* classname () const { return "Tst_BB"; } }; }; class Tst_B : public Tst_A { public: static Tst_B* last; Tst_B () {last = this;} virtual ~Tst_B () { } virtual const char* b () { return "B"; } }; class Tst_C : public Tst_B { int i; public: static Tst_C* last; Tst_C (int n) : i(n) {last = this;} virtual ~Tst_C () { printf("deleting C: %d\n",i); } virtual const char* c () { return "C"; } }; inline Tst_A::Tst_AA* Tst_create_aa () { return new Tst_A::Tst_AA(); } inline bool Tst_is_aa (Tst_A::Tst_AA* obj) { return true; } class D // private destructor { ~D () {} public: D () {} }; tolua-5.2.4/src/tests/tvararg.pkg0000755000175000017500000000035512615764613015445 0ustar tobitobi$#include "tvararg.h" struct B { static int n; B(); ~B(); }; class A { A(); double get (int i) ; tolua_index bounce (tolua_index i, tolua_index *j, tolua_index* k=0); double add (lua_State* L); tolua_own B* GetB (); }; tolua-5.2.4/src/tests/tfunction.cpp0000755000175000017500000000043312615764613016006 0ustar tobitobiextern "C" { #include "lualib.h" #include "lauxlib.h" } #include "tfunction.h" int main (void) { int tolua_tfunction_open (lua_State*); lua_State* L = luaL_newstate(); luaL_openlibs(L); tolua_tfunction_open(L); luaL_dofile(L,"tfunction.lua"); lua_close(L); return 0; } tolua-5.2.4/src/tests/myassert.lua0000755000175000017500000000020112615764613015634 0ustar tobitobifunction assert (status,msg) if not status then print("ERROR: " .. (msg or "assertion failed")) error() end end tolua-5.2.4/src/tests/tinheritance.lua0000755000175000017500000000043712615764613016455 0ustar tobitobidofile("myassert.lua") -- type convertion tests local a = A:new() local b = B:new() local c = C:new() local d = D:new() assert(b:name()=="B") assert(b:aname()=="A") assert(c:name()=="C") assert(c:aname()=="A") assert(d:name()=="D") assert(d:aname()=="A") print("Inheritance test OK") tolua-5.2.4/src/tests/._tarray.lua0000755000175000017500000000043012615764613015510 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tinheritance.h0000755000175000017500000000074012615764613016120 0ustar tobitobi#include class A { public: A () {} virtual ~A() {} virtual const char* aname () { return "A"; } virtual const char* name () { return "A"; } }; class B : public A { public: B () {} virtual ~B() {} virtual const char* name () { return "B"; } }; class C : public B { public: C () {} virtual ~C() {} virtual const char* name () { return "C"; } }; class D : public C { public: D () {} virtual ~D() {} virtual const char* name () { return "D"; } }; tolua-5.2.4/src/tests/tvararg.h0000755000175000017500000000073612615764613015116 0ustar tobitobi#include struct B { static int n; B() {++n; } ~B() {--n; } }; class A { double v[3]; public: A() { v[0]=1.0; v[1]=2.0; v[2]=3.0;} double get (int i) { return v[i]; } int bounce (int i, int* j, int* k) { *k = i; return i; } double add (lua_State* L) { double a = 0.0; int n=2; while (lua_isnumber(L, n)) { a += lua_tonumber(L, n); ++n; } return a; } B* GetB () { return new B(); } }; tolua-5.2.4/src/tests/._tinheritance.lua0000755000175000017500000000043012615764613016663 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tmodule.h0000755000175000017500000000043012615764613015325 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tarray.h0000755000175000017500000000051112615764613014741 0ustar tobitobi typedef struct Point Point; struct Point { float x; float y; }; extern int a[10]; extern Point p[10]; extern Point* pp[10]; extern int ma[10]; extern Point mp[10]; extern Point* mpp[10]; typedef struct Array Array; struct Array { int a[10]; Point p[10]; Point* pp[10]; }; extern Array array; extern Array* parray; tolua-5.2.4/src/tests/._tdirective.lua0000755000175000017500000000043012615764613016350 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tenum.c0000755000175000017500000000052112615764613014563 0ustar tobitobi#include "lualib.h" #include "lauxlib.h" #include "tenum.h" Status checkenum (Order o) { if (o == FIRST) return TRUE; else return FALSE; } int main (void) { int tolua_tenum_open (lua_State*); lua_State* L = luaL_newstate(); luaL_openlibs(L); tolua_tenum_open(L); luaL_dofile(L,"tenum.lua"); lua_close(L); return 0; } tolua-5.2.4/src/tests/tdirective.pkg0000755000175000017500000000050112615764613016132 0ustar tobitobi$#include "lualib.h" $#include "lauxlib.h" $int a; $extern int a; $int main (void) ${ $ lua_State* L = luaL_newstate(); $ luaopen_base(L); $ tolua_tdirective_open(L); $ luaL_dofile(L,"tdirective.lua"); $ lua_close(L); $ return 0; $} $pfile "tdirectivepkg.pkg" $< a = 3; $> $[ A = 4 $] $lfile "tdirectivelua.lua" tolua-5.2.4/src/tests/tarray.c0000755000175000017500000000117712615764613014745 0ustar tobitobi#include "lualib.h" #include "lauxlib.h" #include "tarray.h" int a[10] = {1,2,3,4,5,6,7,8,9,10}; Point p[10] = {{0,1},{1,2},{2,3},{3,4},{4,5},{5,6},{6,7},{7,8},{8,9},{9,10}}; Point* pp[10]; int ma[10]; Point mp[10]; Point* mpp[10]; Array array; Array* parray = &array; int main (void) { int tolua_tarray_open (lua_State*); lua_State* L = luaL_newstate(); int i; for (i=0; i<10; ++i) { pp[i] = &p[i]; ma[i] = a[i]; mp[i] = p[i]; mpp[i] = pp[i]; array.a[i] = a[i]; array.p[i] = p[i]; array.pp[i] = pp[i]; } luaL_openlibs(L); tolua_tarray_open(L); luaL_dofile(L,"tarray.lua"); lua_close(L); return 0; } tolua-5.2.4/src/tests/._tvariable.c0000755000175000017500000000043012615764613015620 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tvariable.h0000755000175000017500000000072012615764613015412 0ustar tobitobitypedef struct A A; typedef struct B B; typedef union U U; struct A { int i; float f; double d; char* s; void* v; char n[64]; }; union U { int i; float f; }; struct B { A a; B* b; }; extern int i; extern float f; extern double d; extern char* s; extern void* v; extern char n[64]; extern A a; extern B* b; extern U u; extern int mi; extern float mf; extern double md; extern char* ms; extern void* mv; extern char mn[64]; extern A ma; extern B* mb; tolua-5.2.4/src/tests/tenum.h0000755000175000017500000000022612615764613014572 0ustar tobitobi#ifndef tenum_h #define tenum_h typedef enum { FIRST, SECOND } Order; typedef enum { FALSE, TRUE } Status; Status checkenum (Order o); #endiftolua-5.2.4/src/tests/._tclass.pkg0000755000175000017500000000043012615764613015477 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tvariable.lua0000755000175000017500000000275212615764613015753 0ustar tobitobidofile("myassert.lua") assert(i==1) assert(f==2) assert(d==3) assert(s=="Hello world") assert(n=="Hi there") n = "Hello" assert(n=="Hello") assert(a.i==11) assert(a.f==12) assert(a.d==13) assert(a.s=="Hello world from class") assert(a.n=="Hi there from class") a.n = "Hello from class" assert(a.n=="Hello from class") assert(v==a.v) u.i = 2 assert(u.i==2) u.f = 2 assert(u.f==2) assert(u.i~=2) assert(M.mi==21) assert(M.mf==22) assert(M.md==23) assert(M.ms=="Hello world in module") assert(M.mn=="Hi there in module") M.mn = "Hello in module" assert(M.mn=="Hello in module") assert(M.mv==nil) assert(M.ma.i==31) assert(M.ma.f==32) assert(M.ma.d==33) assert(M.ma.s=="Hello world from class in module") assert(M.ma.n=="Hi there from class in module") M.ma.n = "Hello from class in module" assert(M.ma.n=="Hello from class in module") assert(M.ma.v==nil) assert(a.i==b.a.i) assert(a.f==b.a.f) assert(a.d==b.a.d) assert(a.s==b.a.s) assert(a.v==b.a.v) assert(b.b==nil) assert(M.ma.i==M.mb.a.i) assert(M.ma.f==M.mb.a.f) assert(M.ma.d==M.mb.a.d) assert(M.ma.s==M.mb.a.s) assert(M.ma.v==M.mb.a.v) assert(a.i==M.mb.b.a.i) assert(a.f==M.mb.b.a.f) assert(a.d==M.mb.b.a.d) assert(a.s==M.mb.b.a.s) assert(a.v==M.mb.b.a.v) assert(M.mb.b.b==nil) assert(s~=rawget(_G,"s")) -- because s represents a C variable s = "Hello" assert(s==rawget(_G,"s")) -- because s is mapped as const f = 25.0 assert(f~=rawget(_G,"f")) -- because f represents a C variable b.a.i = 5 assert(b.a.i==M.mb.b.a.i) print("Variable test OK") tolua-5.2.4/src/tests/t.pkg0000755000175000017500000000003112615764613014231 0ustar tobitobi$typedef T* M; M* f (); tolua-5.2.4/src/tests/._tnamespace.lua0000755000175000017500000000043012615764613016326 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tnamespace.h0000755000175000017500000000017012615764613015560 0ustar tobitobinamespace A { enum {FIRST=1}; extern int a; namespace B { extern int b; namespace C { extern int c; } } } tolua-5.2.4/src/tests/tinheritance.cpp0000755000175000017500000000043212615764613016451 0ustar tobitobiextern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" } int main () { int tolua_tinheritance_open (lua_State*); lua_State* L = luaL_newstate(); luaL_openlibs(L); tolua_tinheritance_open(L); luaL_dofile(L,"tinheritance.lua"); lua_close(L); return 0; } tolua-5.2.4/src/tests/._tmodule.lua0000755000175000017500000000043012615764613015657 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tmodule.h0000755000175000017500000000011512615764613015110 0ustar tobitobi#include extern int a; extern int b; extern int c; extern int d; tolua-5.2.4/src/tests/._tfunction.h0000755000175000017500000000043012615764613015665 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/._tmodule.c0000755000175000017500000000043012615764613015320 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tconstant.h0000755000175000017500000000034512615764613015461 0ustar tobitobi#define FIRST 1 #define SECOND 2 enum { ONE = 1, TWO = 2 }; #define M_FIRST 1 #define M_SECOND 2 enum { M_ONE = 1, M_TWO = 2 }; class A { public: #define FIRST 1 #define SECOND 2 enum { ONE = 1, TWO = 2 }; }; tolua-5.2.4/src/tests/tarray.pkg0000755000175000017500000000050612615764613015277 0ustar tobitobi$#include "tarray.h" struct Point { float x; float y; }; extern int a[10]; extern const Point p[10]; extern Point* pp[10]; module M { extern int ma[10]@a; extern const Point mp[10]@p; extern Point* mpp[10]@pp; } struct Array { int a[10]; Point p[10]; Point* pp[10]; }; extern Array array; extern Array* parray; tolua-5.2.4/src/tests/._tvariable.h0000755000175000017500000000043012615764613015625 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/tests/tvararg.lua0000755000175000017500000000035212615764613015442 0ustar tobitobilocal a = A:new() local b = a:GetB() local t = {} for i = 1, 100 do t[i] = a:GetB() local a, b, c = a:bounce(i,i) assert(a==i and b==i and c==i) end t = nil b = nil collectgarbage("collect") assert(B.n == 0) print("VarArg OK") tolua-5.2.4/src/tests/tnamespace.cpp0000755000175000017500000000051712615764613016120 0ustar tobitobiextern "C" { #include "lualib.h" #include "lauxlib.h" } #include "tnamespace.h" int A::a = 1; int A::B::b = 2; int A::B::C::c = 3; int main () { int tolua_tnamespace_open (lua_State*); lua_State* L = luaL_newstate(); luaL_openlibs(L); tolua_tnamespace_open(L); luaL_dofile(L,"tnamespace.lua"); lua_close(L); return 0; } tolua-5.2.4/src/tests/tmodule.pkg0000755000175000017500000000022212615764613015441 0ustar tobitobi $#include "tmodule.h" module A { extern int a; module B { extern int b; module C { extern int c; } } } module A { extern int d; } tolua-5.2.4/src/lib/0000755000175000017500000000000014303161317012656 5ustar tobitobitolua-5.2.4/src/lib/tolua_to.c0000755000175000017500000000561512615764613014676 0ustar tobitobi/* tolua: funcitons to convert to C types ** Support code for Lua bindings. ** Written by Waldemar Celes ** TeCGraf/PUC-Rio ** Apr 2003 ** $Id: tolua_to.c,v 1.5 2009/11/24 16:45:15 fabraham Exp $ */ /* This code is free software; you can redistribute it and/or modify it. ** The software provided hereunder is on an "as is" basis, and ** the author has no obligation to provide maintenance, support, updates, ** enhancements, or modifications. */ #include "tolua.h" #include #include TOLUA_API double tolua_tonumber (lua_State* L, int narg, double def) { return lua_gettop(L) #include /* Push and returns the corresponding object typename */ TOLUA_API const char* tolua_typename (lua_State* L, int lo) { int tag = lua_type(L,lo); if (tag == LUA_TNONE) lua_pushstring(L,"[no object]"); else if (tag != LUA_TUSERDATA && tag != LUA_TTABLE) lua_pushstring(L,lua_typename(L,tag)); else if (tag == LUA_TUSERDATA) { if (!lua_getmetatable(L,lo)) { lua_pushstring(L,lua_typename(L,tag)); } else { lua_rawget(L,LUA_REGISTRYINDEX); if (!lua_isstring(L,-1)) { lua_pop(L,1); lua_pushstring(L,"[undefined]"); } } } else /* is table */ { lua_pushvalue(L,lo); lua_rawget(L,LUA_REGISTRYINDEX); if (!lua_isstring(L,-1)) { lua_pop(L,1); lua_pushstring(L,"table"); } else { lua_pushstring(L,"class "); lua_insert(L,-2); lua_concat(L,2); } } return lua_tostring(L,-1); } TOLUA_API void tolua_error (lua_State* L, const char* msg, tolua_Error* err) { if (msg[0] == '#') { const char* expected = err->type; const char* provided = tolua_typename(L,err->index); if (msg[1]=='f') { int narg = err->index; if (err->array) luaL_error(L,"%s\n argument #%d is array of '%s'; array of '%s' expected.\n", msg+2,narg,provided,expected); else luaL_error(L,"%s\n argument #%d is '%s'; '%s' expected.\n", msg+2,narg,provided,expected); } else if (msg[1]=='v') { if (err->array) luaL_error(L,"%s\n value is array of '%s'; array of '%s' expected.\n", msg+2,provided,expected); else luaL_error(L,"%s\n value is '%s'; '%s' expected.\n", msg+2,provided,expected); } } else luaL_error(L,msg); } /* the equivalent of lua_is* for usertable */ static int lua_isusertable (lua_State* L, int lo, const char* type) { int r = 0; if (lo < 0) lo = lua_gettop(L)+lo+1; lua_pushvalue(L,lo); lua_rawget(L,LUA_REGISTRYINDEX); /* get registry[t] */ if (lua_isstring(L,-1)) { r = strcmp(lua_tostring(L,-1),type)==0; if (!r) { /* try const */ lua_pushstring(L,"const "); lua_insert(L,-2); lua_concat(L,2); r = lua_isstring(L,-1) && strcmp(lua_tostring(L,-1),type)==0; } } lua_pop(L, 1); return r; } /* the equivalent of lua_is* for usertype */ static int lua_isusertype (lua_State* L, int lo, const char* type) { if (lua_isuserdata(L,lo)) { /* check if it is of the same type */ int r; const char *tn; if (lua_getmetatable(L,lo)) /* if metatable? */ { lua_rawget(L,LUA_REGISTRYINDEX); /* get registry[mt] */ tn = lua_tostring(L,-1); r = tn && (strcmp(tn,type) == 0); lua_pop(L, 1); if (r) return 1; else { /* check if it is a specialized class */ lua_pushstring(L,"tolua_super"); lua_rawget(L,LUA_REGISTRYINDEX); /* get super */ lua_getmetatable(L,lo); lua_rawget(L,-2); /* get super[mt] */ if (lua_istable(L,-1)) { int b; lua_pushstring(L,type); lua_rawget(L,-2); /* get super[mt][type] */ b = lua_toboolean(L,-1); lua_pop(L,3); if (b) return 1; } } } } return 0; } TOLUA_API int tolua_isnoobj (lua_State* L, int lo, tolua_Error* err) { if (lua_gettop(L)index = lo; err->array = 0; err->type = NULL; return 0; } TOLUA_API int tolua_isvalue (lua_State* L, int lo, int def, tolua_Error* err) { if (def || abs(lo)<=lua_gettop(L)) /* any valid index */ return 1; err->index = lo; err->array = 0; err->type = "value"; return 0; } TOLUA_API int tolua_isboolean (lua_State* L, int lo, int def, tolua_Error* err) { if (def && lua_gettop(L)index = lo; err->array = 0; err->type = "boolean"; return 0; } TOLUA_API int tolua_isnumber (lua_State* L, int lo, int def, tolua_Error* err) { if (def && lua_gettop(L)index = lo; err->array = 0; err->type = "number"; return 0; } TOLUA_API int tolua_isstring (lua_State* L, int lo, int def, tolua_Error* err) { if (def && lua_gettop(L)index = lo; err->array = 0; err->type = "string"; return 0; } TOLUA_API int tolua_istable (lua_State* L, int lo, int def, tolua_Error* err) { if (def && lua_gettop(L)index = lo; err->array = 0; err->type = "table"; return 0; } TOLUA_API int tolua_isusertable (lua_State* L, int lo, const char* type, int def, tolua_Error* err) { if (def && lua_gettop(L)index = lo; err->array = 0; err->type = type; return 0; } TOLUA_API int tolua_isfunction (lua_State* L, int lo, int def, tolua_Error* err) { if (def && lua_gettop(L)index = lo; err->array = 0; err->type = "function"; return 0; } TOLUA_API int tolua_isuserdata (lua_State* L, int lo, int def, tolua_Error* err) { if (def && lua_gettop(L)index = lo; err->array = 0; err->type = "userdata"; return 0; } TOLUA_API int tolua_isusertype (lua_State* L, int lo, const char* type, int def, tolua_Error* err) { if (def && lua_gettop(L)index = lo; err->array = 0; err->type = type; return 0; } TOLUA_API int tolua_isvaluearray (lua_State* L, int lo, int dim, int def, tolua_Error* err) { if (!tolua_istable(L,lo,def,err)) return 0; else return 1; } TOLUA_API int tolua_isbooleanarray (lua_State* L, int lo, int dim, int def, tolua_Error* err) { if (!tolua_istable(L,lo,def,err)) return 0; else { int i; for (i=1; i<=dim; ++i) { lua_pushnumber(L,i); lua_gettable(L,lo); if (!(lua_isnil(L,-1) || lua_isboolean(L,-1)) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = "boolean"; return 0; } lua_pop(L,1); } } return 1; } TOLUA_API int tolua_isnumberarray (lua_State* L, int lo, int dim, int def, tolua_Error* err) { if (!tolua_istable(L,lo,def,err)) return 0; else { int i; for (i=1; i<=dim; ++i) { lua_pushnumber(L,i); lua_gettable(L,lo); if (!lua_isnumber(L,-1) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = "number"; return 0; } lua_pop(L,1); } } return 1; } TOLUA_API int tolua_isstringarray (lua_State* L, int lo, int dim, int def, tolua_Error* err) { if (!tolua_istable(L,lo,def,err)) return 0; else { int i; for (i=1; i<=dim; ++i) { lua_pushnumber(L,i); lua_gettable(L,lo); if (!(lua_isnil(L,-1) || lua_isstring(L,-1)) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = "string"; return 0; } lua_pop(L,1); } } return 1; } TOLUA_API int tolua_istablearray (lua_State* L, int lo, int dim, int def, tolua_Error* err) { if (!tolua_istable(L,lo,def,err)) return 0; else { int i; for (i=1; i<=dim; ++i) { lua_pushnumber(L,i); lua_gettable(L,lo); if (! lua_istable(L,-1) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = "table"; return 0; } lua_pop(L,1); } } return 1; } TOLUA_API int tolua_isuserdataarray (lua_State* L, int lo, int dim, int def, tolua_Error* err) { if (!tolua_istable(L,lo,def,err)) return 0; else { int i; for (i=1; i<=dim; ++i) { lua_pushnumber(L,i); lua_gettable(L,lo); if (!(lua_isnil(L,-1) || lua_isuserdata(L,-1)) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = "userdata"; return 0; } lua_pop(L,1); } } return 1; } TOLUA_API int tolua_isusertypearray (lua_State* L, int lo, const char* type, int dim, int def, tolua_Error* err) { if (!tolua_istable(L,lo,def,err)) return 0; else { int i; for (i=1; i<=dim; ++i) { lua_pushnumber(L,i); lua_gettable(L,lo); if (!(lua_isnil(L,-1) || lua_isuserdata(L,-1)) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->type = type; err->array = 1; return 0; } lua_pop(L,1); } } return 1; } #if 0 int tolua_isbooleanfield (lua_State* L, int lo, int i, int def, tolua_Error* err) { lua_pushnumber(L,i); lua_gettable(L,lo); if (!(lua_isnil(L,-1) || lua_isboolean(L,-1)) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = "boolean"; return 0; } lua_pop(L,1); return 1; } int tolua_isnumberfield (lua_State* L, int lo, int i, int def, tolua_Error* err) { lua_pushnumber(L,i); lua_gettable(L,lo); if (!lua_isnumber(L,-1) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = "number"; return 0; } lua_pop(L,1); return 1; } int tolua_isstringfield (lua_State* L, int lo, int i, int def, tolua_Error* err) { lua_pushnumber(L,i); lua_gettable(L,lo); if (!(lua_isnil(L,-1) || lua_isstring(L,-1)) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = "string"; return 0; } lua_pop(L,1); return 1; } int tolua_istablefield (lua_State* L, int lo, int i, int def, tolua_Error* err) { lua_pushnumber(L,i+1); lua_gettable(L,lo); if (! lua_istable(L,-1) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = "table"; return 0; } lua_pop(L,1); } int tolua_isusertablefield (lua_State* L, int lo, const char* type, int i, int def, tolua_Error* err) { lua_pushnumber(L,i); lua_gettable(L,lo); if (! lua_isusertable(L,-1,type) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = type; return 0; } lua_pop(L,1); return 1; } int tolua_isuserdatafield (lua_State* L, int lo, int i, int def, tolua_Error* err) { lua_pushnumber(L,i); lua_gettable(L,lo); if (!(lua_isnil(L,-1) || lua_isuserdata(L,-1)) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->array = 1; err->type = "userdata"; return 0; } lua_pop(L,1); return 1; } int tolua_isusertypefield (lua_State* L, int lo, const char* type, int i, int def, tolua_Error* err) { lua_pushnumber(L,i); lua_gettable(L,lo); if (!(lua_isnil(L,-1) || lua_isusertype(L,-1,type)) && !(def && lua_isnil(L,-1)) ) { err->index = lo; err->type = type; err->array = 1; return 0; } lua_pop(L,1); return 1; } #endif tolua-5.2.4/src/lib/Makefile0000755000175000017500000000042412615764613014335 0ustar tobitobi# makefile for tolua library TOLUA=../.. include $(TOLUA)/config OBJS= \ tolua_event.o \ tolua_is.o \ tolua_map.o \ tolua_push.o \ tolua_to.o T= $(TOLUA)/lib/libtolua.a all: $T $T: $(OBJS) $(AR) $@ $(OBJS) $(RANLIB) $@ clean: rm -f $(OBJS) klean: rm -f $T tolua-5.2.4/src/lib/tolua_event.c0000755000175000017500000003071512615764613015374 0ustar tobitobi/* tolua: event functions ** Support code for Lua bindings. ** Written by Waldemar Celes ** TeCGraf/PUC-Rio ** Apr 2003 ** $Id: tolua_event.c,v 1.7 2011/01/13 13:43:46 fabraham Exp $ */ /* This code is free software; you can redistribute it and/or modify it. ** The software provided hereunder is on an "as is" basis, and ** the author has no obligation to provide maintenance, support, updates, ** enhancements, or modifications. */ #include #include #include #include "tolua.h" /* Store at peer * It stores, creating the corresponding table if needed, * the pair key/value in the corresponding peer table */ static void storeatpeer (lua_State* L, int index) { /* stack: key value (to be stored) */ lua_pushstring(L,"tolua_peer"); lua_rawget(L,LUA_REGISTRYINDEX); /* stack: k v peer */ lua_pushvalue(L, index); lua_rawget(L,-2); /* stack: k v peer peer[u] */ if (!lua_istable(L,-1)) { lua_pop(L,1); /* stack: k v peer */ lua_newtable(L); /* stack: k v peer table */ lua_pushvalue(L,index); lua_pushvalue(L,-2); /* stack: k v peer table u table */ lua_settable(L,-4); /* stack: k v peer peer[u]=table */ } lua_insert(L,-4); /* put table before k */ lua_pop(L,1); /* pop peer */ lua_rawset(L,-3); /* store at table */ lua_pop(L,1); /* pop peer[u] */ } /* Module index function */ static int module_index_event (lua_State* L) { lua_pushstring(L,".get"); lua_rawget(L,-3); if (lua_istable(L,-1)) { lua_pushvalue(L,2); /* key */ lua_rawget(L,-2); if (lua_iscfunction(L,-1)) { lua_call(L,0,1); return 1; } else if (lua_istable(L,-1)) return 1; } /* call old index meta event */ if (lua_getmetatable(L,1)) { lua_pushstring(L,"__index"); lua_rawget(L,-2); lua_pushvalue(L,1); lua_pushvalue(L,2); if (lua_isfunction(L,-1)) { lua_call(L,2,1); return 1; } else if (lua_istable(L,-1)) { lua_gettable(L,-3); return 1; } } lua_pushnil(L); return 1; } /* Module newindex function */ static int module_newindex_event (lua_State* L) { lua_pushstring(L,".set"); lua_rawget(L,-4); if (lua_istable(L,-1)) { lua_pushvalue(L,2); /* key */ lua_rawget(L,-2); if (lua_iscfunction(L,-1)) { lua_pushvalue(L,1); /* only to be compatible with non-static vars */ lua_pushvalue(L,3); /* value */ lua_call(L,2,0); return 0; } } /* call old newindex meta event */ if (lua_getmetatable(L,1) && lua_getmetatable(L,-1)) { lua_pushstring(L,"__newindex"); lua_rawget(L,-2); if (lua_isfunction(L,-1)) { lua_pushvalue(L,1); lua_pushvalue(L,2); lua_pushvalue(L,3); lua_call(L,3,0); } } lua_settop(L,3); lua_rawset(L,-3); return 0; } /* Class index function * If the object is a userdata (ie, an object), it searches the field in * the alternative table stored in the corresponding "peer" table. */ static int class_index_event (lua_State* L) { int t = lua_type(L,1); if (t == LUA_TUSERDATA) { /* Access alternative table */ lua_pushstring(L,"tolua_peer"); lua_rawget(L,LUA_REGISTRYINDEX); /* stack: obj key peer */ lua_pushvalue(L,1); lua_rawget(L,-2); /* stack: obj key peer peer[u] */ if (lua_istable(L,-1)) { lua_pushvalue(L,2); /* key */ lua_gettable(L,-2); /* stack: obj key peer peer[u] value */ if (!lua_isnil(L,-1)) return 1; } lua_settop(L,2); /* stack: obj key */ /* Try metatables */ lua_pushvalue(L,1); /* stack: obj key obj */ while (lua_getmetatable(L,-1)) { /* stack: obj key obj mt */ lua_remove(L,-2); /* stack: obj key mt */ if (lua_isnumber(L,2)) /* check if key is a numeric value */ { /* try operator[] */ lua_pushstring(L,".geti"); lua_rawget(L,-2); /* stack: obj key mt func */ if (lua_isfunction(L,-1)) { lua_pushvalue(L,1); lua_pushvalue(L,2); lua_call(L,2,1); return 1; } } else { lua_pushvalue(L,2); /* stack: obj key mt key */ lua_rawget(L,-2); /* stack: obj key mt value */ if (!lua_isnil(L,-1)) return 1; else lua_pop(L,1); /* try C/C++ variable */ lua_pushstring(L,".get"); lua_rawget(L,-2); /* stack: obj key mt tget */ if (lua_istable(L,-1)) { lua_pushvalue(L,2); lua_rawget(L,-2); /* stack: obj key mt value */ if (lua_iscfunction(L,-1)) { lua_pushvalue(L,1); lua_pushvalue(L,2); lua_call(L,2,1); return 1; } else if (lua_istable(L,-1)) { /* deal with array: create table to be returned and cache it in peer */ void* u = *((void**)lua_touserdata(L,1)); lua_newtable(L); /* stack: obj key mt value table */ lua_pushstring(L,".self"); lua_pushlightuserdata(L,u); lua_rawset(L,-3); /* store usertype in ".self" */ lua_insert(L,-2); /* stack: obj key mt table value */ lua_setmetatable(L,-2); /* set stored value as metatable */ lua_pushvalue(L,-1); /* stack: obj key met table table */ lua_pushvalue(L,2); /* stack: obj key mt table table key */ lua_insert(L,-2); /* stack: obj key mt table key table */ storeatpeer(L,1); /* stack: obj key mt table */ return 1; } } } lua_settop(L,3); } lua_pushnil(L); return 1; } else if (t== LUA_TTABLE) { module_index_event(L); return 1; } lua_pushnil(L); return 1; } /* Newindex function * It first searches for a C/C++ varaible to be set. * Then, it either stores it in the alternative peer table (in the case it is * an object) or in the own table (that represents the class or module). */ static int class_newindex_event (lua_State* L) { int t = lua_type(L,1); if (t == LUA_TUSERDATA) { if (lua_isnumber(L,2)) /* check if key is a numeric value */ { /* try operator[] */ lua_pushvalue(L,1); /* stack: obj key v obj */ while (lua_getmetatable(L,-1)) { /* stack: obj key v obj mt */ lua_remove(L,-2); /* stack: obj key v mt */ lua_pushstring(L,".seti"); lua_rawget(L,-2); /* stack: obj key v mt func */ if (lua_isfunction(L,-1)) { lua_pushvalue(L,1); lua_pushvalue(L,2); lua_pushvalue(L,3); lua_call(L,3,0); return 0; } lua_settop(L,4); /* stack: obj key v mt */ } tolua_error(L,"Attempt to set indexed value on an invalid operand",NULL); } else { /* Try accessing a C/C++ variable to be set */ lua_pushvalue(L,1); /* stack: obj key v obj */ while (lua_getmetatable(L,-1)) { /* stack: obj key v obj mt */ lua_remove(L,-2); /* stack: obj key v mt */ lua_pushstring(L,".set"); lua_rawget(L,-2); /* stack: t k v mt tset */ if (lua_istable(L,-1)) { lua_pushvalue(L,2); lua_rawget(L,-2); /* stack: t k v mt tset func */ if (lua_iscfunction(L,-1)) { lua_pushvalue(L,1); lua_pushvalue(L,3); lua_call(L,2,0); return 0; } } lua_settop(L,4); /* stack: t k v mt */ } } /* then, store as a new field */ lua_settop(L,3); /* stack: t k v */ storeatpeer(L,1); } else if (t== LUA_TTABLE) { module_newindex_event(L); } return 0; } static int do_operator (lua_State* L, const char* op) { if (lua_isuserdata(L,1)) { /* Try metatables */ lua_pushvalue(L,1); /* stack: op1 op2 */ while (lua_getmetatable(L,-1)) { /* stack: op1 op2 op1 mt */ lua_remove(L,-2); /* stack: op1 op2 mt */ lua_pushstring(L,op); /* stack: op1 op2 mt key */ lua_rawget(L,-2); /* stack: obj key mt func */ if (lua_isfunction(L,-1)) { lua_pushvalue(L,1); lua_pushvalue(L,2); lua_call(L,2,1); return 1; } lua_settop(L,3); } } if (strcmp(op,".eq")==0) { lua_pushboolean(L,lua_rawequal(L,1,2)); return 1; } else { tolua_error(L,"Attempt to perform operation on an invalid operand",NULL); return 0; } } static int class_add_event (lua_State* L) { return do_operator(L,".add"); } static int class_sub_event (lua_State* L) { return do_operator(L,".sub"); } static int class_mul_event (lua_State* L) { return do_operator(L,".mul"); } static int class_div_event (lua_State* L) { return do_operator(L,".div"); } static int class_lt_event (lua_State* L) { return do_operator(L,".lt"); } static int class_le_event (lua_State* L) { return do_operator(L,".le"); } static int class_eq_event (lua_State* L) { return do_operator(L,".eq"); } static int class_len_event (lua_State* L) { if (lua_isuserdata(L,1)) { /* Try metatables */ lua_pushvalue(L,1); /* stack: op1 op2 */ while (lua_getmetatable(L,-1)) { /* stack: op1 op2 op1 mt */ lua_remove(L,-2); /* stack: op1 op2 mt */ lua_pushstring(L,".len"); /* stack: op1 op2 mt key */ lua_rawget(L,-2); /* stack: obj key mt func */ if (lua_isfunction(L,-1)) { lua_pushvalue(L,1); lua_call(L,1,1); return 1; } lua_settop(L,3); } } tolua_error(L,"Attempt to perform operation on an invalid operand",NULL); return 0; } static int class_gc_event (lua_State* L) { if (lua_type(L,1) == LUA_TUSERDATA) { int top = lua_gettop(L); void* u = *((void**)lua_touserdata(L,1)); lua_pushstring(L,"tolua_gc"); lua_rawget(L,LUA_REGISTRYINDEX); /* gc */ lua_pushlightuserdata(L,u); /* gc u */ lua_rawget(L,-2); /* gc func */ if (!lua_isnil(L, -1)) { /* remove entry from table */ lua_pushlightuserdata(L,u); lua_pushnil(L); lua_rawset(L,-4); if (lua_isfunction(L,-1)) { /* call collect function */ lua_pushvalue(L,1); /* tolua_gc tolua_gc.u(func) u */ lua_call(L,1,0); /* tolua_gc */ } else if (lua_isuserdata(L,-1) && *((void**)lua_touserdata(L,-1))==NULL) { /* free object */ free(u); tolua_release(L,u); /* unmap from tolua tables */ } } lua_settop(L,top); } return 0; } /* Register module events * It expects the metatable on the top of the stack */ TOLUA_API void tolua_moduleevents (lua_State* L) { lua_pushstring(L,"__index"); lua_pushcfunction(L,module_index_event); lua_rawset(L,-3); lua_pushstring(L,"__newindex"); lua_pushcfunction(L,module_newindex_event); lua_rawset(L,-3); } /* Check if the object on the top has a module metatable */ TOLUA_API int tolua_ismodulemetatable (lua_State* L) { int r = 0; if (lua_getmetatable(L,-1)) { lua_pushstring(L,"__index"); lua_rawget(L,-2); r = (lua_tocfunction(L,-1) == module_index_event); lua_pop(L,2); } return r; } /* Register class events * It expects the metatable on the top of the stack */ TOLUA_API void tolua_classevents (lua_State* L) { lua_pushstring(L,"__index"); lua_pushcfunction(L,class_index_event); lua_rawset(L,-3); lua_pushstring(L,"__newindex"); lua_pushcfunction(L,class_newindex_event); lua_rawset(L,-3); lua_pushstring(L,"__add"); lua_pushcfunction(L,class_add_event); lua_rawset(L,-3); lua_pushstring(L,"__sub"); lua_pushcfunction(L,class_sub_event); lua_rawset(L,-3); lua_pushstring(L,"__mul"); lua_pushcfunction(L,class_mul_event); lua_rawset(L,-3); lua_pushstring(L,"__div"); lua_pushcfunction(L,class_div_event); lua_rawset(L,-3); lua_pushstring(L,"__lt"); lua_pushcfunction(L,class_lt_event); lua_rawset(L,-3); lua_pushstring(L,"__le"); lua_pushcfunction(L,class_le_event); lua_rawset(L,-3); lua_pushstring(L,"__eq"); lua_pushcfunction(L,class_eq_event); lua_rawset(L,-3); lua_pushstring(L,"__len"); lua_pushcfunction(L,class_len_event); lua_rawset(L,-3); lua_pushstring(L,"__gc"); lua_pushcfunction(L,class_gc_event); lua_rawset(L,-3); } tolua-5.2.4/src/lib/tolua_push.c0000755000175000017500000001035012615764613015223 0ustar tobitobi/* tolua: functions to push C values. ** Support code for Lua bindings. ** Written by Waldemar Celes ** TeCGraf/PUC-Rio ** Apr 2003 ** $Id: tolua_push.c,v 1.7 2010/01/22 15:39:29 fabraham Exp $ */ /* This code is free software; you can redistribute it and/or modify it. ** The software provided hereunder is on an "as is" basis, and ** the author has no obligation to provide maintenance, support, updates, ** enhancements, or modifications. */ #include "tolua.h" #include "lauxlib.h" #include TOLUA_API void tolua_pushvalue (lua_State* L, int lo) { lua_pushvalue(L,lo); } TOLUA_API void tolua_pushboolean (lua_State* L, int value) { lua_pushboolean(L,value); } TOLUA_API void tolua_pushnumber (lua_State* L, double value) { lua_pushnumber(L,value); } TOLUA_API void tolua_pushstring (lua_State* L, const char* value) { if (value == NULL) lua_pushnil(L); else lua_pushstring(L,value); } TOLUA_API void tolua_pushuserdata (lua_State* L, void* value) { if (value == NULL) lua_pushnil(L); else lua_pushlightuserdata(L,value); } TOLUA_API void tolua_pushusertype (lua_State* L, void* value, const char* type) { if (value == NULL) lua_pushnil(L); else { lua_pushstring(L,"tolua_ubox"); lua_rawget(L,LUA_REGISTRYINDEX); /* stack: ubox */ lua_pushlightuserdata(L,value); lua_rawget(L,-2); /* stack: ubox ubox[u] */ if (lua_isnil(L,-1)) { /* creating ubox of value */ lua_pop(L,1); /* stack: ubox */ lua_pushlightuserdata(L,value); *(void**)lua_newuserdata(L,sizeof(void *)) = value; /* stack: ubox u newud */ lua_pushvalue(L,-1); /* stack: ubox u newud newud */ lua_insert(L,-4); /* stack: newud ubox u newud */ lua_rawset(L,-3); /* stack: newud ubox */ lua_pop(L,1); /* stack: newud */ tolua_getmetatable(L,type); /* stack: newud mt */ lua_setmetatable(L,-2); /* stack: newud */ } else { /* reusing ubox of value */ /* check the need of updating the metatable to a more specialized class */ lua_insert(L,-2); /* stack: ubox[u] ubox */ lua_pop(L,1); /* stack: ubox[u] */ lua_pushstring(L,"tolua_super"); lua_rawget(L,LUA_REGISTRYINDEX); /* stack: ubox[u] super */ lua_getmetatable(L,-2); /* stack: ubox[u] super mt */ lua_rawget(L,-2); /* stack: ubox[u] super super[mt] */ if (lua_istable(L,-1)) { lua_pushstring(L,type); /* stack: ubox[u] super super[mt] type */ lua_rawget(L,-2); /* stack: ubox[u] super super[mt] flag */ if (lua_toboolean(L,-1) == 1) /* if true */ { lua_pop(L,3); /* stack: ubox[u] */ return; } } /* type represents a more specilized type */ tolua_getmetatable(L,type); /* stack: ubox[u] super super[mt] flag mt */ lua_setmetatable(L,-5); /* stack: ubox[u] super super[mt] flag */ lua_pop(L,3); /* stack: ubox[u] */ } } } TOLUA_API void tolua_pushfieldvalue (lua_State* L, int lo, int index, int v) { lua_pushnumber(L,index); lua_pushvalue(L,v); lua_settable(L,lo); } TOLUA_API void tolua_pushfieldboolean (lua_State* L, int lo, int index, int v) { lua_pushnumber(L,index); lua_pushboolean(L,v); lua_settable(L,lo); } TOLUA_API void tolua_pushfieldnumber (lua_State* L, int lo, int index, double v) { lua_pushnumber(L,index); tolua_pushnumber(L,v); lua_settable(L,lo); } TOLUA_API void tolua_pushfieldstring (lua_State* L, int lo, int index, const char* v) { lua_pushnumber(L,index); tolua_pushstring(L,v); lua_settable(L,lo); } TOLUA_API void tolua_pushfielduserdata (lua_State* L, int lo, int index, void* v) { lua_pushnumber(L,index); tolua_pushuserdata(L,v); lua_settable(L,lo); } TOLUA_API void tolua_pushfieldusertype (lua_State* L, int lo, int index, void* v, const char* type) { lua_pushnumber(L,index); tolua_pushusertype(L,v,type); lua_settable(L,lo); } tolua-5.2.4/src/lib/tolua_map.c0000755000175000017500000003504312615764613015027 0ustar tobitobi/* tolua: functions to map features ** Support code for Lua bindings. ** Written by Waldemar Celes ** TeCGraf/PUC-Rio ** Apr 2003 ** $Id: tolua_map.c,v 1.10 2011/01/13 13:43:46 fabraham Exp $ */ /* This code is free software; you can redistribute it and/or modify it. ** The software provided hereunder is on an "as is" basis, and ** the author has no obligation to provide maintenance, support, updates, ** enhancements, or modifications. */ #include "tolua.h" #include "tolua_event.h" #include "lauxlib.h" #include #include #include #include static char toluaname[128] = "tolua."; static const char* TOLUANAME (const char* n) { sprintf(&toluaname[6],"%.120s",n); return toluaname; } /* Create metatable * Create and register new metatable */ void tolua_newmetatable (lua_State* L, const char* name) { if (luaL_newmetatable(L,TOLUANAME(name))) { lua_pushvalue(L,-1); lua_pushstring(L,name); lua_rawset(L,LUA_REGISTRYINDEX); } /* set meta events */ tolua_classevents(L); lua_pop(L,1); } /* Get metatable * Access already created metatable */ void tolua_getmetatable (lua_State* L, const char* name) { luaL_getmetatable(L,TOLUANAME(name)); } /* Map super classes * It sets 'name' as being also a 'base', mapping all super classes of 'base' in 'name' */ static void mapsuper (lua_State* L, const char* name, const char* base) { /* push registry.super */ lua_pushstring(L,"tolua_super"); lua_rawget(L,LUA_REGISTRYINDEX); /* stack: super */ tolua_getmetatable(L,name); /* stack: super mt */ lua_rawget(L,-2); /* stack: super table */ if (lua_isnil(L,-1)) { /* create table */ lua_pop(L,1); lua_newtable(L); /* stack: super table */ tolua_getmetatable(L,name); /* stack: super table mt */ lua_pushvalue(L,-2); /* stack: super table mt table */ lua_rawset(L,-4); /* stack: super table */ } /* set base as super class */ lua_pushstring(L,base); lua_pushboolean(L,1); lua_rawset(L,-3); /* stack: super table */ /* set all super class of base as super class of name */ tolua_getmetatable(L,base); /* stack: super table base_mt */ lua_rawget(L,-3); /* stack: super table base_table */ if (lua_istable(L,-1)) { /* traverse base table */ lua_pushnil(L); /* first key */ while (lua_next(L,-2) != 0) { /* stack: ... base_table key value */ lua_pushvalue(L,-2); /* stack: ... base_table key value key */ lua_insert(L,-2); /* stack: ... base_table key key value */ lua_rawset(L,-5); /* stack: ... base_table key */ } } lua_pop(L,3); /* stack: */ } /* Map inheritance * It sets 'name' as derived from 'base' by setting 'base' as metatable of 'name' */ static void mapinheritance (lua_State* L, const char* name, const char* base) { /* set metatable inheritance */ tolua_getmetatable(L,name); if (base && *base) tolua_getmetatable(L,base); else tolua_getmetatable(L,"tolua_commonclass"); lua_setmetatable(L,-2); lua_pop(L,1); } /* Object type */ static int tolua_bnd_type (lua_State* L) { tolua_typename(L,lua_gettop(L)); return 1; } /* Take ownership */ int tolua_bnd_takeownership (lua_State* L) { lua_CFunction func = 0; if (lua_isuserdata(L,1)) { if (lua_getmetatable(L,1)) /* if metatable? */ { void* u; lua_pushstring(L,".collector"); lua_rawget(L,-2); func = lua_iscfunction(L,-1) ? lua_tocfunction(L,-1) : NULL; lua_pop(L,2); u = *((void**)lua_touserdata(L,1)); tolua_clone(L,u,func); } } lua_pushboolean(L,func!=0); return 1; } /* Release ownership */ static int tolua_bnd_releaseownership (lua_State* L) { int done = 0; if (lua_isuserdata(L,1)) { void* u = *((void**)lua_touserdata(L,1)); lua_pushstring(L,"tolua_gc"); lua_rawget(L,LUA_REGISTRYINDEX); lua_pushlightuserdata(L,u); lua_rawget(L,-2); lua_pushlightuserdata(L,u); lua_pushnil(L); lua_rawset(L,-4); done = 1; } lua_pushboolean(L,done!=0); return 1; } /* Type casting */ static int tolua_bnd_cast (lua_State* L) { void* v = tolua_tousertype(L,1,NULL); const char* s = tolua_tostring(L,2,NULL); if (!v) lua_pushnil(L); else if (v && s) { tolua_getmetatable(L,s); /* stack: ubox[u] super super[mt] flag mt */ if (lua_isnil(L,-1)) { tolua_error(L,"Unknown 'type' for 'tolua.cast' function",NULL); } tolua_pushusertype(L,v,s); } else { tolua_error(L,"Invalid arguments for 'tolua.cast' function",NULL); } return 1; } /* Release ** Function to be called by a Lua code that uses a function to explicitly ** release a mapped object. This function is automatically called by all ** destructors bound by tolua and by all collected objects. */ static int tolua_bnd_release (lua_State* L) { void* value = tolua_tousertype(L,1,NULL); if (value) tolua_release(L,value); return 1; } /* ** Function to return peer table associated to a given object */ static int tolua_bnd_getpeertable (lua_State* L) { lua_pushstring(L,"tolua_peer"); lua_rawget(L,LUA_REGISTRYINDEX); /* stack: k v peer */ lua_pushvalue(L,1); lua_rawget(L,-2); /* stack: k v peer peer[u] */ if (!lua_istable(L,-1)) { lua_pop(L,1); /* stack: k v peer */ lua_newtable(L); /* stack: k v peer table */ lua_pushvalue(L,1); lua_pushvalue(L,-2); /* stack: k v peer table u table */ lua_rawset(L,-4); /* stack: k v peer peer[u]=table */ } return 1; } static void tolua_push_globals_table (lua_State* L) { #if defined (LUA_VERSION_NUM) && LUA_VERSION_NUM >= 502 /* after lua 5.2 */ lua_pushvalue(L,LUA_REGISTRYINDEX); /* registry */ lua_pushnumber(L,LUA_RIDX_GLOBALS); /* registry globalsindex */ lua_rawget(L, -2); /* registry registry[globalsindex] */ lua_remove(L, -2); /* registry[globalsindex] */ #else lua_pushvalue(L,LUA_GLOBALSINDEX); #endif } TOLUA_API void tolua_open (lua_State* L) { int top = lua_gettop(L); lua_pushstring(L,"tolua_opened"); lua_rawget(L,LUA_REGISTRYINDEX); if (!lua_isboolean(L,-1)) { lua_pushstring(L,"tolua_opened"); lua_pushboolean(L,1); lua_rawset(L,LUA_REGISTRYINDEX); lua_pushstring(L,"tolua_ubox"); lua_newtable(L); lua_pushvalue(L, -1); /* metatable: for weak table */ lua_pushstring(L, "__mode"); lua_pushstring(L, "v"); lua_rawset(L, -3); lua_setmetatable(L, -2); lua_rawset(L,LUA_REGISTRYINDEX); lua_pushstring(L,"tolua_peer"); lua_newtable(L); lua_pushvalue(L, -1); /* metatable: for weak table */ lua_pushstring(L, "__mode"); lua_pushstring(L, "k"); lua_rawset(L, -3); lua_setmetatable(L, -2); lua_rawset(L,LUA_REGISTRYINDEX); lua_pushstring(L,"tolua_super"); lua_newtable(L); lua_rawset(L,LUA_REGISTRYINDEX); lua_pushstring(L,"tolua_gc"); lua_newtable(L); lua_rawset(L,LUA_REGISTRYINDEX); tolua_newmetatable(L,"tolua_commonclass"); tolua_module(L,NULL,0); tolua_beginmodule(L,NULL); tolua_module(L,"tolua",0); tolua_beginmodule(L,"tolua"); tolua_function(L,"type",tolua_bnd_type); tolua_function(L,"takeownership",tolua_bnd_takeownership); tolua_function(L,"releaseownership",tolua_bnd_releaseownership); tolua_function(L,"cast",tolua_bnd_cast); tolua_function(L,"release",tolua_bnd_release); tolua_function(L,"getpeertable",tolua_bnd_getpeertable); tolua_endmodule(L); tolua_endmodule(L); } lua_settop(L,top); } /* Copy a C object */ TOLUA_API void* tolua_copy (lua_State* L, void* value, unsigned int size) { void* clone = (void*)malloc(size); if (clone) memcpy(clone,value,size); else tolua_error(L,"insuficient memory",NULL); return clone; } /* Release userdata from tolua */ TOLUA_API void tolua_release (lua_State* L, void* value) { void** p; lua_pushstring(L,"tolua_ubox"); lua_rawget(L,LUA_REGISTRYINDEX); /* stack: ubox */ lua_pushlightuserdata(L,value); /* stack: ubox u */ /* set userdata pointer to NULL: this pointer might be reused by C/C++ */ lua_rawget(L,-2); /* stack: ubox ud */ p = (void**)lua_touserdata(L,-1); if (p) *p = NULL; /* fixed bug: thanks to Ulrik Sverdrup -- it was 1 instead of -1 */ lua_pop(L,1); /* stack: ubox */ /* remove value from ubox */ lua_pushlightuserdata(L,value); /* stack: ubox u */ lua_pushnil(L); lua_rawset(L,-3); lua_pop(L,1); } /* Do clone */ TOLUA_API void* tolua_clone (lua_State* L, void* value, lua_CFunction func) { lua_pushstring(L,"tolua_gc"); lua_rawget(L,LUA_REGISTRYINDEX); lua_pushlightuserdata(L,value); lua_pushcfunction(L,func); lua_rawset(L,-3); lua_pop(L,1); return value; } /* Register a usertype * It creates the correspoding metatable in the registry, for both 'type' and 'const type'. * It maps 'const type' as being also a 'type' */ TOLUA_API void tolua_usertype (lua_State* L, const char* type) { char ctype[128] = "const "; strncat(ctype,type,120); tolua_newmetatable(L,ctype); /* create both metatables */ tolua_newmetatable(L,type); mapsuper(L,type,ctype); /* 'type' is also a 'const type' */ } /* Begin module * It pushes the module (or class) table on the stack */ TOLUA_API void tolua_beginmodule (lua_State* L, const char* name) { if (name) { lua_pushstring(L,name); lua_rawget(L,-2); } else tolua_push_globals_table(L); } /* End module * It pops the module (or class) from the stack */ TOLUA_API void tolua_endmodule (lua_State* L) { lua_pop(L,1); } /* Map module * It creates a new module */ #if 1 TOLUA_API void tolua_module (lua_State* L, const char* name, int hasvar) { if (name) { /* tolua module */ lua_pushstring(L,name); lua_rawget(L,-2); if (!lua_istable(L,-1)) /* check if module already exists */ { lua_pop(L,1); lua_newtable(L); lua_pushstring(L,name); lua_pushvalue(L,-2); lua_rawset(L,-4); /* assing module into module */ } } else tolua_push_globals_table(L); if (hasvar) { if (!tolua_ismodulemetatable(L)) /* check if it already has a module metatable */ { /* create metatable to get/set C/C++ variable */ lua_newtable(L); tolua_moduleevents(L); if (lua_getmetatable(L,-2)) lua_setmetatable(L,-2); /* set old metatable as metatable of metatable */ lua_setmetatable(L,-2); } } lua_pop(L,1); /* pop module */ } #else TOLUA_API void tolua_module (lua_State* L, const char* name, int hasvar) { if (name) { /* tolua module */ lua_pushstring(L,name); lua_newtable(L); } else tolua_push_globals_table(L); if (hasvar) { /* create metatable to get/set C/C++ variable */ lua_newtable(L); tolua_moduleevents(L); if (lua_getmetatable(L,-2)) lua_setmetatable(L,-2); /* set old metatable as metatable of metatable */ lua_setmetatable(L,-2); } if (name) lua_rawset(L,-3); /* assing module into module */ else lua_pop(L,1); /* pop global table */ } #endif /* Map C class * It maps a C class, setting the appropriate inheritance and super classes. */ TOLUA_API void tolua_cclass (lua_State* L, const char* lname, const char* name, const char* base, lua_CFunction col) { char cname[128] = "const "; char cbase[128] = "const "; strncat(cname,name,120); strncat(cbase,base,120); mapinheritance(L,name,base); mapinheritance(L,cname,name); mapsuper(L,cname,cbase); mapsuper(L,name,base); lua_pushstring(L,lname); tolua_getmetatable(L,name); lua_pushstring(L,".collector"); lua_pushcfunction(L,col); lua_rawset(L,-3); /* store collector function into metatable */ lua_rawset(L,-3); /* assign class metatable to module */ } /* Map function * It assigns a function into the current module (or class) */ TOLUA_API void tolua_function (lua_State* L, const char* name, lua_CFunction func) { lua_pushstring(L,name); lua_pushcfunction(L,func); lua_rawset(L,-3); } /* Map constant number * It assigns a constant number into the current module (or class) */ TOLUA_API void tolua_constant (lua_State* L, const char* name, double value) { lua_pushstring(L,name); tolua_pushnumber(L,value); lua_rawset(L,-3); } /* Map variable * It assigns a variable into the current module (or class) */ TOLUA_API void tolua_variable (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set) { /* get func */ lua_pushstring(L,".get"); lua_rawget(L,-2); if (!lua_istable(L,-1)) { /* create .get table, leaving it at the top */ lua_pop(L,1); lua_newtable(L); lua_pushstring(L,".get"); lua_pushvalue(L,-2); lua_rawset(L,-4); } lua_pushstring(L,name); lua_pushcfunction(L,get); lua_rawset(L,-3); /* store variable */ lua_pop(L,1); /* pop .get table */ /* set func */ if (set) { lua_pushstring(L,".set"); lua_rawget(L,-2); if (!lua_istable(L,-1)) { /* create .set table, leaving it at the top */ lua_pop(L,1); lua_newtable(L); lua_pushstring(L,".set"); lua_pushvalue(L,-2); lua_rawset(L,-4); } lua_pushstring(L,name); lua_pushcfunction(L,set); lua_rawset(L,-3); /* store variable */ lua_pop(L,1); /* pop .set table */ } } /* Access const array * It reports an error when trying to write into a const array */ static int const_array (lua_State* L) { luaL_error(L,"value of const array cannot be changed"); return 0; } /* Map an array * It assigns an array into the current module (or class) */ TOLUA_API void tolua_array (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set) { lua_pushstring(L,".get"); lua_rawget(L,-2); if (!lua_istable(L,-1)) { /* create .get table, leaving it at the top */ lua_pop(L,1); lua_newtable(L); lua_pushstring(L,".get"); lua_pushvalue(L,-2); lua_rawset(L,-4); } lua_pushstring(L,name); lua_newtable(L); /* create array metatable */ lua_pushvalue(L,-1); lua_setmetatable(L,-2); /* set the own table as metatable (for modules) */ lua_pushstring(L,"__index"); lua_pushcfunction(L,get); lua_rawset(L,-3); lua_pushstring(L,"__newindex"); lua_pushcfunction(L,set?set:const_array); lua_rawset(L,-3); lua_rawset(L,-3); /* store variable */ lua_pop(L,1); /* pop .get table */ } tolua-5.2.4/src/lib/._tolua_map.c0000755000175000017500000000043012615764613015234 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/lib/tolua_event.h0000755000175000017500000000123112615764613015370 0ustar tobitobi/* tolua: event functions ** Support code for Lua bindings. ** Written by Waldemar Celes ** TeCGraf/PUC-Rio ** Apr 2003 ** $Id: tolua_event.h,v 1.3 2009/11/24 16:45:15 fabraham Exp $ */ /* This code is free software; you can redistribute it and/or modify it. ** The software provided hereunder is on an "as is" basis, and ** the author has no obligation to provide maintenance, support, updates, ** enhancements, or modifications. */ #ifndef TOLUA_EVENT_H #define TOLUA_EVENT_H #include "tolua.h" TOLUA_API void tolua_moduleevents (lua_State* L); TOLUA_API int tolua_ismodulemetatable (lua_State* L); TOLUA_API void tolua_classevents (lua_State* L); #endif tolua-5.2.4/src/lib/._tolua_event.c0000755000175000017500000000043012615764613015600 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/lib/._tolua_push.c0000755000175000017500000000043012615764613015436 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/lib/._tolua_is.c0000755000175000017500000000043012615764613015072 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/lib/._tolua_to.c0000755000175000017500000000043012615764613015101 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/._bin0000755000175000017500000000046712615764613013046 0ustar tobitobiMac OS X  27ATTR7˜Ÿ˜Ÿcom.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited,file_inherit,directory_inherit:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/._tests0000755000175000017500000000046712615764613013440 0ustar tobitobiMac OS X  27ATTR7˜Ÿ˜Ÿcom.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited,file_inherit,directory_inherit:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/src/._lib0000755000175000017500000000046712615764613013044 0ustar tobitobiMac OS X  27ATTR7˜Ÿ˜Ÿcom.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited,file_inherit,directory_inherit:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/._INSTALL0000755000175000017500000000043012615764613012603 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/._Makefile0000755000175000017500000000043012615764613013212 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/MANIFEST0000644000175000017500000001201112615764613012461 0ustar tobitobiMANIFEST contents of tolua-5.2.4 distribution on Mon Nov 2 20:54:03 BRST 2015 tolua-5.2.4 tolua-5.2.4/INSTALL tolua-5.2.4/MANIFEST tolua-5.2.4/Makefile tolua-5.2.4/README tolua-5.2.4/bin tolua-5.2.4/config tolua-5.2.4/include tolua-5.2.4/include/tolua.h tolua-5.2.4/lib tolua-5.2.4/src tolua-5.2.4/src/bin tolua-5.2.4/src/bin/Makefile tolua-5.2.4/src/bin/guia.txt tolua-5.2.4/src/bin/lua tolua-5.2.4/src/bin/lua-5.0 tolua-5.2.4/src/bin/lua-5.0/all.lua tolua-5.2.4/src/bin/lua-5.0/array.lua tolua-5.2.4/src/bin/lua-5.0/basic.lua tolua-5.2.4/src/bin/lua-5.0/class.lua tolua-5.2.4/src/bin/lua-5.0/clean.lua tolua-5.2.4/src/bin/lua-5.0/code.lua tolua-5.2.4/src/bin/lua-5.0/compat.lua tolua-5.2.4/src/bin/lua-5.0/container.lua tolua-5.2.4/src/bin/lua-5.0/declaration.lua tolua-5.2.4/src/bin/lua-5.0/define.lua tolua-5.2.4/src/bin/lua-5.0/doit.lua tolua-5.2.4/src/bin/lua-5.0/enumerate.lua tolua-5.2.4/src/bin/lua-5.0/feature.lua tolua-5.2.4/src/bin/lua-5.0/function.lua tolua-5.2.4/src/bin/lua-5.0/module.lua tolua-5.2.4/src/bin/lua-5.0/namespace.lua tolua-5.2.4/src/bin/lua-5.0/operator.lua tolua-5.2.4/src/bin/lua-5.0/package.lua tolua-5.2.4/src/bin/lua-5.0/typedef.lua tolua-5.2.4/src/bin/lua-5.0/variable.lua tolua-5.2.4/src/bin/lua-5.0/verbatim.lua tolua-5.2.4/src/bin/lua-5.1-0k tolua-5.2.4/src/bin/lua-5.1-0k/all.lua tolua-5.2.4/src/bin/lua-5.1-0k/array.lua tolua-5.2.4/src/bin/lua-5.1-0k/basic.lua tolua-5.2.4/src/bin/lua-5.1-0k/class.lua tolua-5.2.4/src/bin/lua-5.1-0k/clean.lua tolua-5.2.4/src/bin/lua-5.1-0k/code.lua tolua-5.2.4/src/bin/lua-5.1-0k/compat.lua tolua-5.2.4/src/bin/lua-5.1-0k/container.lua tolua-5.2.4/src/bin/lua-5.1-0k/declaration.lua tolua-5.2.4/src/bin/lua-5.1-0k/define.lua tolua-5.2.4/src/bin/lua-5.1-0k/doit.lua tolua-5.2.4/src/bin/lua-5.1-0k/enumerate.lua tolua-5.2.4/src/bin/lua-5.1-0k/feature.lua tolua-5.2.4/src/bin/lua-5.1-0k/function.lua tolua-5.2.4/src/bin/lua-5.1-0k/module.lua tolua-5.2.4/src/bin/lua-5.1-0k/namespace.lua tolua-5.2.4/src/bin/lua-5.1-0k/operator.lua tolua-5.2.4/src/bin/lua-5.1-0k/package.lua tolua-5.2.4/src/bin/lua-5.1-0k/typedef.lua tolua-5.2.4/src/bin/lua-5.1-0k/variable.lua tolua-5.2.4/src/bin/lua-5.1-0k/verbatim.lua tolua-5.2.4/src/bin/lua/all.lua tolua-5.2.4/src/bin/lua/array.lua tolua-5.2.4/src/bin/lua/basic.lua tolua-5.2.4/src/bin/lua/class.lua tolua-5.2.4/src/bin/lua/clean.lua tolua-5.2.4/src/bin/lua/code.lua tolua-5.2.4/src/bin/lua/compat.lua tolua-5.2.4/src/bin/lua/container.lua tolua-5.2.4/src/bin/lua/declaration.lua tolua-5.2.4/src/bin/lua/define.lua tolua-5.2.4/src/bin/lua/doit.lua tolua-5.2.4/src/bin/lua/enumerate.lua tolua-5.2.4/src/bin/lua/feature.lua tolua-5.2.4/src/bin/lua/function.lua tolua-5.2.4/src/bin/lua/module.lua tolua-5.2.4/src/bin/lua/namespace.lua tolua-5.2.4/src/bin/lua/operator.lua tolua-5.2.4/src/bin/lua/package.lua tolua-5.2.4/src/bin/lua/typedef.lua tolua-5.2.4/src/bin/lua/variable.lua tolua-5.2.4/src/bin/lua/verbatim.lua tolua-5.2.4/src/bin/regenerate_binding tolua-5.2.4/src/bin/tolua.c tolua-5.2.4/src/bin/tolua.pkg tolua-5.2.4/src/bin/tolua_bind52_linux30_64.c tolua-5.2.4/src/bin/toluabind.c tolua-5.2.4/src/lib tolua-5.2.4/src/lib/Makefile tolua-5.2.4/src/lib/tolua_event.c tolua-5.2.4/src/lib/tolua_event.h tolua-5.2.4/src/lib/tolua_is.c tolua-5.2.4/src/lib/tolua_map.c tolua-5.2.4/src/lib/tolua_push.c tolua-5.2.4/src/lib/tolua_to.c tolua-5.2.4/src/tests tolua-5.2.4/src/tests/Makefile tolua-5.2.4/src/tests/myassert.lua tolua-5.2.4/src/tests/t.pkg tolua-5.2.4/src/tests/tarray.c tolua-5.2.4/src/tests/tarray.h tolua-5.2.4/src/tests/tarray.lua tolua-5.2.4/src/tests/tarray.pkg tolua-5.2.4/src/tests/tclass.cpp tolua-5.2.4/src/tests/tclass.h tolua-5.2.4/src/tests/tclass.lua tolua-5.2.4/src/tests/tclass.pkg tolua-5.2.4/src/tests/tconstant.cpp tolua-5.2.4/src/tests/tconstant.h tolua-5.2.4/src/tests/tconstant.lua tolua-5.2.4/src/tests/tconstant.pkg tolua-5.2.4/src/tests/tdirective.lua tolua-5.2.4/src/tests/tdirective.pkg tolua-5.2.4/src/tests/tdirectivelua.lua tolua-5.2.4/src/tests/tdirectivepkg.pkg tolua-5.2.4/src/tests/tenum.c tolua-5.2.4/src/tests/tenum.h tolua-5.2.4/src/tests/tenum.lua tolua-5.2.4/src/tests/tenum.pkg tolua-5.2.4/src/tests/tfunction.cpp tolua-5.2.4/src/tests/tfunction.h tolua-5.2.4/src/tests/tfunction.lua tolua-5.2.4/src/tests/tfunction.pkg tolua-5.2.4/src/tests/tinheritance.cpp tolua-5.2.4/src/tests/tinheritance.h tolua-5.2.4/src/tests/tinheritance.lua tolua-5.2.4/src/tests/tinheritance.pkg tolua-5.2.4/src/tests/tmodule.c tolua-5.2.4/src/tests/tmodule.h tolua-5.2.4/src/tests/tmodule.lua tolua-5.2.4/src/tests/tmodule.pkg tolua-5.2.4/src/tests/tnamespace.cpp tolua-5.2.4/src/tests/tnamespace.h tolua-5.2.4/src/tests/tnamespace.lua tolua-5.2.4/src/tests/tnamespace.pkg tolua-5.2.4/src/tests/tpeer.cpp tolua-5.2.4/src/tests/tpeer.h tolua-5.2.4/src/tests/tpeer.lua tolua-5.2.4/src/tests/tpeer.pkg tolua-5.2.4/src/tests/tvararg.cpp tolua-5.2.4/src/tests/tvararg.h tolua-5.2.4/src/tests/tvararg.lua tolua-5.2.4/src/tests/tvararg.pkg tolua-5.2.4/src/tests/tvariable.c tolua-5.2.4/src/tests/tvariable.h tolua-5.2.4/src/tests/tvariable.lua tolua-5.2.4/src/tests/tvariable.pkg END OF MANIFEST tolua-5.2.4/bin/0000755000175000017500000000000012615764613012105 5ustar tobitobitolua-5.2.4/._config0000755000175000017500000000043012615764613012742 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/Makefile0000755000175000017500000000034712615764613013004 0ustar tobitobi# makefile for tolua hierarchy tolua: cd src/lib; make all cd src/bin; make all tests: cd src/tests; make all all clean klean: cd src/lib; make $@ cd src/bin; make $@ cd src/tests; make $@ debug: cd src/bin; make debug tolua-5.2.4/include/0000755000175000017500000000000014303161317012744 5ustar tobitobitolua-5.2.4/include/._tolua.h0000755000175000017500000000043012615764613014472 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/include/tolua.h0000755000175000017500000001323112615764613014260 0ustar tobitobi/* tolua ** Support code for Lua bindings. ** Written by Waldemar Celes ** TeCGraf/PUC-Rio ** Apr 2003 ** $Id: tolua.h,v 1.12 2011/01/13 13:43:45 fabraham Exp $ */ /* This code is free software; you can redistribute it and/or modify it. ** The software provided hereunder is on an "as is" basis, and ** the author has no obligation to provide maintenance, support, updates, ** enhancements, or modifications. */ #ifndef TOLUA_H #define TOLUA_H #ifndef TOLUA_API # ifdef TOLUA5_DLL # define TOLUA_API __declspec(dllexport) # else # define TOLUA_API # endif #endif #define TOLUA_VERSION "tolua 5.2.4" #ifdef __cplusplus extern "C" { #endif #include "lua.h" #include "lauxlib.h" struct tolua_Error { int index; int array; const char* type; }; typedef struct tolua_Error tolua_Error; typedef char tolua_byte; typedef unsigned char tolua_ubyte; typedef int tolua_index; typedef int tolua_multret; typedef int tolua_len; typedef int lua_Object; #define tolua_own TOLUA_API const char* tolua_typename (lua_State* L, int lo); TOLUA_API void tolua_error (lua_State* L, const char* msg, tolua_Error* err); TOLUA_API int tolua_isnoobj (lua_State* L, int lo, tolua_Error* err); TOLUA_API int tolua_isvalue (lua_State* L, int lo, int def, tolua_Error* err); TOLUA_API int tolua_isboolean (lua_State* L, int lo, int def, tolua_Error* err); TOLUA_API int tolua_isnumber (lua_State* L, int lo, int def, tolua_Error* err); TOLUA_API int tolua_isstring (lua_State* L, int lo, int def, tolua_Error* err); TOLUA_API int tolua_istable (lua_State* L, int lo, int def, tolua_Error* err); TOLUA_API int tolua_isusertable (lua_State* L, int lo, const char* type, int def, tolua_Error* err); TOLUA_API int tolua_isfunction (lua_State* L, int lo, int def, tolua_Error* err); TOLUA_API int tolua_isuserdata (lua_State* L, int lo, int def, tolua_Error* err); TOLUA_API int tolua_isusertype (lua_State* L, int lo, const char* type, int def, tolua_Error* err); TOLUA_API int tolua_isvaluearray (lua_State* L, int lo, int dim, int def, tolua_Error* err); TOLUA_API int tolua_isbooleanarray (lua_State* L, int lo, int dim, int def, tolua_Error* err); TOLUA_API int tolua_isnumberarray (lua_State* L, int lo, int dim, int def, tolua_Error* err); TOLUA_API int tolua_isstringarray (lua_State* L, int lo, int dim, int def, tolua_Error* err); TOLUA_API int tolua_istablearray (lua_State* L, int lo, int dim, int def, tolua_Error* err); TOLUA_API int tolua_isuserdataarray (lua_State* L, int lo, int dim, int def, tolua_Error* err); TOLUA_API int tolua_isusertypearray (lua_State* L, int lo, const char* type, int dim, int def, tolua_Error* err); TOLUA_API void tolua_open (lua_State* L); TOLUA_API void* tolua_copy (lua_State* L, void* value, unsigned int size); TOLUA_API void* tolua_clone (lua_State* L, void* value, lua_CFunction func); TOLUA_API void tolua_usertype (lua_State* L, const char* type); TOLUA_API void tolua_beginmodule (lua_State* L, const char* name); TOLUA_API void tolua_endmodule (lua_State* L); TOLUA_API void tolua_module (lua_State* L, const char* name, int hasvar); TOLUA_API void tolua_class (lua_State* L, const char* name, const char* base); TOLUA_API void tolua_cclass (lua_State* L, const char* lname, const char* name, const char* base, lua_CFunction col); TOLUA_API void tolua_function (lua_State* L, const char* name, lua_CFunction func); TOLUA_API void tolua_constant (lua_State* L, const char* name, double value); TOLUA_API void tolua_variable (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set); TOLUA_API void tolua_array (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set); TOLUA_API void tolua_pushvalue (lua_State* L, int lo); TOLUA_API void tolua_pushboolean (lua_State* L, int value); TOLUA_API void tolua_pushnumber (lua_State* L, double value); TOLUA_API void tolua_pushstring (lua_State* L, const char* value); TOLUA_API void tolua_pushuserdata (lua_State* L, void* value); TOLUA_API void tolua_pushusertype (lua_State* L, void* value, const char* type); TOLUA_API void tolua_pushfieldvalue (lua_State* L, int lo, int index, int v); TOLUA_API void tolua_pushfieldboolean (lua_State* L, int lo, int index, int v); TOLUA_API void tolua_pushfieldnumber (lua_State* L, int lo, int index, double v); TOLUA_API void tolua_pushfieldstring (lua_State* L, int lo, int index, const char* v); TOLUA_API void tolua_pushfielduserdata (lua_State* L, int lo, int index, void* v); TOLUA_API void tolua_pushfieldusertype (lua_State* L, int lo, int index, void* v, const char* type); TOLUA_API void tolua_release (lua_State* L, void* value); TOLUA_API double tolua_tonumber (lua_State* L, int narg, double def); TOLUA_API const char* tolua_tostring (lua_State* L, int narg, const char* def); TOLUA_API void* tolua_touserdata (lua_State* L, int narg, void* def); TOLUA_API void* tolua_tousertype (lua_State* L, int narg, void* def); TOLUA_API int tolua_tovalue (lua_State* L, int narg, int def); TOLUA_API int tolua_toboolean (lua_State* L, int narg, int def); TOLUA_API double tolua_tofieldnumber (lua_State* L, int lo, int index, double def); TOLUA_API int tolua_tofieldboolean (lua_State* L, int lo, int index, int def); TOLUA_API const char* tolua_tofieldstring (lua_State* L, int lo, int index, const char* def); TOLUA_API void* tolua_tofielduserdata (lua_State* L, int lo, int index, void* def); TOLUA_API void* tolua_tofieldusertype (lua_State* L, int lo, int index, void* def); TOLUA_API int tolua_tofieldvalue (lua_State* L, int lo, int index, int def); TOLUA_API int tolua_getfieldboolean (lua_State* L, int lo, int index, int def); TOLUA_API void tolua_newmetatable (lua_State* L, const char* name); TOLUA_API void tolua_getmetatable (lua_State* L, const char* name); #ifdef __cplusplus } #endif #endif tolua-5.2.4/lib/0000755000175000017500000000000012615764613012103 5ustar tobitobitolua-5.2.4/debian/0000755000175000017500000000000014303161317012543 5ustar tobitobitolua-5.2.4/debian/libtolua-dev.docs0000644000175000017500000000002014303161300015764 0ustar tobitobiREADME MANIFEST tolua-5.2.4/debian/libtolua-dev.install0000644000175000017500000000012214303161300016505 0ustar tobitobibin/tolua usr/bin include/* usr/include lib/* usr/lib tolua-5.2.4/debian/tolua.10000644000175000017500000000202214303161300013735 0ustar tobitobi.\" Hey, Emacs! This is an -*- nroff -*- source file. .\" .\" This manpage is in the public domain. .\" .TH tolua 1 "04 Aug 2002" "" "Tolua" .SH NAME tolua \- lua language binding development helper program .SH SYNOPSIS tolua [ \fBoptions\fP ] .I file .SH DESCRIPTION .I tolua is a program to help in building applications using the tolua library for the Lua scripting language. .SH OPTIONS Command line options are: .IP "-v" Print version information. .IP "-o \fIfile\fP" Set output file; default is stdout. .IP "-H \fIfile\fP" Create include file. .IP "-n \fIname\fP" Set package name; default is input file root name. .IP "-p" Parse only. .IP "-P" Parse and print structure information (for debugging). .IP "-h" Print usage information. .P Should the input file be omitted, stdin is assumed; in that case, the package name must be explicitly set. .SH AUTHOR This manual page was written by Filip Van Raemdonck and Jimmy Kaplowitz for the Debian GNU/Linux system (but may be used by others). tolua-5.2.4/debian/source/0000755000175000017500000000000014303161300014033 5ustar tobitobitolua-5.2.4/debian/source/format0000644000175000017500000000001414303161300015241 0ustar tobitobi3.0 (quilt) tolua-5.2.4/debian/libtolua-dev.lintian-overrides0000644000175000017500000000043514303161300020504 0ustar tobitobi# The upstream source contains no copyright notice, so I didn't add one. The # authorship and license are clear from the copyright file, and the source # package's MANIFEST file and timestamps make the date of publication clear. libtolua-dev binary: copyright-without-copyright-notice tolua-5.2.4/debian/changelog0000644000175000017500000001113114303161317014412 0ustar tobitobitolua (5.2.4-1) UNRELEASED; urgency=medium * Non-maintainer upload. * Switch to dpkg-source 3.0 (quilt) format (Closes: #1007375) * d/control: Point VCS-* to salsa, alioth is down since years. (Closes: #1018722) * Remove old compat level file and replace it with B-D on debhelper-compat, bumping from level 7 to 13. (Closes: #1018721) * changes required to bump S-V to 4.6.1. (Closes: #1018723) - Using https instead of http in several places. - Specifying Rules-Requre-Root. * Add missing CFLAGS to Makefile, for better hardening. * New upstream release. -- Tobias Frost Mon, 29 Aug 2022 18:01:19 +0200 tolua (5.2.0-1) unstable; urgency=low * New upstream version 5.2.0 * Bump Standards-Version to 3.9.3.0. No changes necessary. * Added Vcs-* fields for newly published git repo * Specified source package format 1.0. This package is too simple to warrant conversion right now. * Documented development workflow in README.source * Bump Lua (build-)dependency to liblua5.2-dev * Update include path to /usr/include/lua5.2 * Update linker flag -llua5.1->llua5.2 * Add hardening support via dpkg-buildflags, also subsuming -g * Add 'test' make target alias to satisfy dh_auto_test -- Jimmy Kaplowitz Thu, 28 Jun 2012 00:41:41 -0400 tolua (5.1.3-1) unstable; urgency=low * Adopted usage of git-buildpackage * Switched debian/watch to use HTTP since upstream's FTP no longer works * New upstream version 5.1.3 * Updated Standards-Version to 3.9.1.0. No changes necessary. -- Jimmy Kaplowitz Mon, 23 Aug 2010 02:45:45 -0400 tolua (5.1.2-1) unstable; urgency=low * New upstream release * Switched to debhelper 7 with minimal rules file format * Made clean target a little more complete -- Jimmy Kaplowitz Thu, 16 Jul 2009 06:01:05 +0200 tolua (5.1b-3) unstable; urgency=low * Converted debian/watch to format 3 (fixes tolua DEHS page) * Removed maintainer scripts, none of which did anything * Install MANIFEST file as documentation along with README, and reference it from debian/copyright as containing the date and time of upstream publication -- Jimmy Kaplowitz Mon, 28 Apr 2008 01:42:42 -0400 tolua (5.1b-2) unstable; urgency=low * Fixed missing quotes in make invocation in debian/rules (Closes: #476062) * Turned on -D_REENTRANT as per Lenny RC policy * Moved the setting of -g from config to debian/rules -- Jimmy Kaplowitz Mon, 14 Apr 2008 18:20:54 -0400 tolua (5.1b-1) unstable; urgency=low * New upstream release (Closes: #288324) * Dropped shared library package libtolua0; upstream seems not to have added a shared library despite acknowledging my shared library patch well before releasing the current version * Updated to current format of debian/watch file * Added support for noopt DEB_BUILD_OPTIONS keyword * Properly removed static library in make clean target even though upstream Makefiles don't * Updated to Standards-Version 3.7.3.0 * Removed references to dh_undocumented * Switched from DH_COMPAT variable to debian/compat file * Unignored errors from $(MAKE) clean in debian/rules * Added override for spurious lintian warning about copyright notice * Fixed section to match Debian override (devel -> libdevel) -- Jimmy Kaplowitz Sun, 17 Feb 2008 00:47:16 -0500 tolua (4.0a-3) unstable; urgency=low * Changed -Wl,-shared to -shared in src/lib/Makefile to fix building on hppa (Closes: #155688) -- Jimmy Kaplowitz Wed, 07 Aug 2002 01:38:44 -0400 tolua (4.0a-2) unstable; urgency=low * Add a runtime library package. (Closes: #148721) * Do add an extra dependency as per #146983 ;-) * Move the tolua binary to the -dev package. * Rename the binary packages to libtolua*; set a Conflicts: in the -dev package. * Write a small manpage. * Bump debhelper build-depends and set DH_COMPAT=4, to be able to use the new dh_makeshlibs behaviour. Use dh_install instead of dh_movefiles. * All of the above changes are due to Filip Van Raemdonck. Thanks very much. * Expand Filip's man page by adapting tolua's built-in help output. * Add Provides: and Replaces: to the -dev package as well, to ensure that upgrades work as expected. * Make the libtolua-dev package depend on the same version of the libtolua0 package. -- Jimmy Kaplowitz Mon, 5 Aug 2002 03:26:18 -0400 tolua (4.0a-1) unstable; urgency=low * Initial Release. -- Jimmy Kaplowitz Tue, 30 Apr 2002 01:37:09 -0400 tolua-5.2.4/debian/copyright0000644000175000017500000000135114303161300014466 0ustar tobitobiThis package was debianized by Jimmy Kaplowitz on Tue, 30 Apr 2002 01:37:09 -0400. It was downloaded from ftp://ftp.tecgraf.puc-rio.br/pub/users/celes/tolua/ Upstream Author: Waldemar Celes Copyright: Quoted from the README file accompanying tolua: 'tolua is freely available; you can redistribute it and/or modify it. The software provided hereunder is on an "as is" basis, and the author has no obligation to provide maintenance, support, updates, enhancements, or modifications.' The date and time of publication of the upstream tolua version corresponding to this Debian package are included in the accompanying MANIFEST file, along with a listing of files in the upstream tarball. tolua-5.2.4/debian/clean0000644000175000017500000000032314303161300013536 0ustar tobitobisrc/tests/tarray src/tests/tclass src/tests/tconstant src/tests/tdirective src/tests/tenum src/tests/tfunction src/tests/tinheritance src/tests/tmodule src/tests/tnamespace src/tests/tvararg src/tests/tvariable tolua-5.2.4/debian/salsa-ci.yml0000644000175000017500000000025214303161300014751 0ustar tobitobi--- include: - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml tolua-5.2.4/debian/libtolua-dev.dirs0000644000175000017500000000011314303161300016000 0ustar tobitobiusr/bin usr/include usr/lib usr/share/man/man1 usr/share/lintian/overrides tolua-5.2.4/debian/watch0000644000175000017500000000013214303161300013560 0ustar tobitobiversion=3 https://www.tecgraf.puc-rio.br/~celes/tolua/tolua-(.*)\.tar\.gz debian uupdate tolua-5.2.4/debian/README.source0000644000175000017500000000131214303161300014707 0ustar tobitobiMy current workflow for this package involves the git-buildpackage and cowbuilder packages, and the following ~/.gbp.conf: [DEFAULT] # tell git-buildpackage howto clean the source tree cleaner = fakeroot debian/rules clean # this is how we invoke pbuilder, arguments passed to git-buildpackage will be # passed to dpkg-buildpackge in the chroot builder = /usr/bin/git-pbuilder sign-tags = False pristine-tar = True [git-import-orig] postimport = git-dch -N%(version)s -S -a --debian-branch=$GBP_BRANCH import-msg = New upstream version %(version)s [git-dch] git-author = True meta = True The rest just uses the git-buildpackage workflow. -- Jimmy Kaplowitz , Wed, 27 Jun 2012 00:59:47 -0400 tolua-5.2.4/debian/patches/0000755000175000017500000000000014303161300014162 5ustar tobitobitolua-5.2.4/debian/patches/series0000644000175000017500000000020314303161300015372 0ustar tobitobi0001-Import-format1.0-patch-of-config.patch 0002-format1.0-conversion-patches-of-Makefile.patch 0003-src-bin-Makefile-CFLAGS.patch tolua-5.2.4/debian/patches/0003-src-bin-Makefile-CFLAGS.patch0000644000175000017500000000075414303161300021576 0ustar tobitobi--- a/src/bin/Makefile +++ b/src/bin/Makefile @@ -17,7 +17,7 @@ all: $(T) $(T): $(OBJS) - $(CC) -o $@ $(OBJS) $(LIB) -ltolua -llua5.2 + $(CC) $(CFLAGS) -o $@ $(OBJS) $(LIB) -ltolua -llua5.2 toluabind.c: $(T_D) $(T_D) -o toluabind.c tolua.pkg @@ -26,7 +26,7 @@ $(CC) -o $@ $(OBJS_D) $(LIB) -ltolua -llua5.2 tolua_lua.o: tolua.c - $(CC) -c -DLUA_SOURCE $(INC) -o $@ $< + $(CC) $(CFLAGS) -c -DLUA_SOURCE $(INC) -o $@ $< clean: rm -f $(OBJS) $(OBJS_D) $(T) $(T_D) toluabind.c tolua-5.2.4/debian/patches/0001-Import-format1.0-patch-of-config.patch0000644000175000017500000000226714303161300023511 0ustar tobitobiFrom: Tobias Frost Date: Mon, 29 Aug 2022 15:42:13 +0200 Subject: Import format1.0 patch of config. Gbp-Dch: Ignore --- config | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/config b/config index d69bfaf..9fd9b4b 100644 --- a/config +++ b/config @@ -5,7 +5,7 @@ # you need an ANSI C compiler. gcc is a popular one. CC= gcc CCPP = g++ -WARN= -ansi -Wall -g +WARN= -ansi -Wall # on SGI's, cc is ANSI. #CC= cc @@ -21,16 +21,20 @@ RANLIB= ranlib AR= ar rcu # set lua path -LUA=/usr/local -LUAINC=$(LUA)/include +LUA=/usr +LUAINC=$(LUA)/include/lua5.2 LUALIB=$(LUA)/lib # == END OF USER SETTINGS. DO NOT CHANGE ANYTHING BELOW THIS LINE ============ INC= -I$(TOLUA)/include -I$(LUAINC) -LIB= -L$(TOLUA)/lib -L$(LUALIB) +LIB= $(shell dpkg-buildflags --get LDFLAGS) -L$(TOLUA)/lib -L$(LUALIB) #CFLAGS= -O2 $(WARN) $(INC) #CPPFLAGS= -O2 $(WARN) $(INC) -CFLAGS= -g $(WARN) $(INC) -CPPFLAGS= -g $(WARN) $(INC) +CFLAGS= $(shell dpkg-buildflags --get CPPFLAGS) \ + $(shell dpkg-buildflags --get CFLAGS) \ + $(WARN) $(INC) +CPPFLAGS= $(shell dpkg-buildflags --get CPPFLAGS) \ + $(shell dpkg-buildflags --get CXXFLAGS) \ + $(WARN) $(INC) tolua-5.2.4/debian/patches/0002-format1.0-conversion-patches-of-Makefile.patch0000644000175000017500000000423014303161300025215 0ustar tobitobiFrom: Tobias Frost Date: Mon, 29 Aug 2022 15:44:31 +0200 Subject: format1.0 conversion: patches of Makefile. --- Makefile | 17 ++++++++--------- src/bin/Makefile | 9 ++++----- src/lib/Makefile | 3 +-- src/tests/Makefile | 2 +- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 2d5f6af..b7159b4 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,16 @@ # makefile for tolua hierarchy tolua: - cd src/lib; make all - cd src/bin; make all + $(MAKE) -C src/lib all + $(MAKE) -C src/bin all -tests: - cd src/tests; make all +test tests: + $(MAKE) -C src/tests all all clean klean: - cd src/lib; make $@ - cd src/bin; make $@ - cd src/tests; make $@ + $(MAKE) -C src/lib $@ + $(MAKE) -C src/bin $@ + $(MAKE) -C src/tests $@ debug: - cd src/bin; make debug - + $(MAKE) -C src/bin debug diff --git a/src/bin/Makefile b/src/bin/Makefile index 4731778..0a7d88b 100644 --- a/src/bin/Makefile +++ b/src/bin/Makefile @@ -17,20 +17,19 @@ T_D = $(TOLUA)/bin/tolua_lua all: $(T) $(T): $(OBJS) - $(CC) -o $@ $(OBJS) $(LIB) -ltolua -llua -lm + $(CC) -o $@ $(OBJS) $(LIB) -ltolua -llua5.2 toluabind.c: $(T_D) $(T_D) -o toluabind.c tolua.pkg $(T_D): $(OBJS_D) - $(CC) -o $@ $(OBJS_D) $(LIB) -ltolua -llua -lm + $(CC) -o $@ $(OBJS_D) $(LIB) -ltolua -llua5.2 tolua_lua.o: tolua.c $(CC) -c -DLUA_SOURCE $(INC) -o $@ $< clean: - rm -f tolua_lua.o $(OBJS) -$(OBJS_D) $(T) $(T_D) + rm -f $(OBJS) $(OBJS_D) $(T) $(T_D) toluabind.c klean: - rm -f tolua_lua.o $(OBJS) -$(OBJS_D) $(T_D) - + rm -f $(OBJS) $(OBJS_D) $(T_D) diff --git a/src/lib/Makefile b/src/lib/Makefile index b2091f3..acce638 100644 --- a/src/lib/Makefile +++ b/src/lib/Makefile @@ -20,8 +20,7 @@ $T: $(OBJS) $(RANLIB) $@ clean: - rm -f $(OBJS) + rm -f $(OBJS) $T klean: rm -f $T - diff --git a/src/tests/Makefile b/src/tests/Makefile index 9fb6bb1..d7b9aab 100644 --- a/src/tests/Makefile +++ b/src/tests/Makefile @@ -5,7 +5,7 @@ TOLUAEXE = tolua include $(TOLUA)/config -LIBS = -ltolua -llua +LIBS = -ltolua -llua5.2 EXE = tmodule tnamespace tclass tinheritance tconstant tvariable tfunction tarray tdirective tenum tvararg tolua-5.2.4/debian/rules0000755000175000017500000000024214303161300013611 0ustar tobitobi#!/usr/bin/make -f %: dh $@ override_dh_auto_build: mkdir -p lib # this is needed to make dpkg-builpackage work, when run from the git repo. dh_auto_build $@ tolua-5.2.4/debian/libtolua-dev.manpages0000644000175000017500000000001714303161300016635 0ustar tobitobidebian/tolua.1 tolua-5.2.4/debian/control0000644000175000017500000000155314303161300014142 0ustar tobitobiSource: tolua Priority: optional Section: libdevel Maintainer: Jimmy Kaplowitz Build-Depends: debhelper-compat (= 13), liblua5.2-dev Standards-Version: 4.6.1 Rules-Requires-Root: no Homepage: https://www.tecgraf.puc-rio.br/~celes/tolua/ Vcs-Browser: https://salsa.debian.org/debian/tolua Vcs-Git: https://salsa.debian.org/debian/tolua.git Package: libtolua-dev Section: libdevel Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, liblua5.2-dev Description: Tool to integrate C/C++ code with Lua - development files tolua is a tool that greatly simplifies the integration of C/C++ code with Lua. Based on a cleaned header file, tolua automatically generates the binding code to access C/C++ features from Lua. Using Lua API and tag method facilities, tolua maps C/C++ constants, external variables, functions, classes, and methods to Lua. tolua-5.2.4/INSTALL0000755000175000017500000000212212615764613012366 0ustar tobitobi* Installation Building tolua on a Unix system should be very easy: 1. Edit "config" to suit your platform, if at all necessary. 2. Then, type "make". See below for instructions for Windows and Macintosh. * What you get If "make" succeeds, you get: * an executable to generate binding code in ./bin; * the C library to be linked in your application in ./lib; * the include file needed to compile your application in ./include. These are the only directories you need for development, besides Lua. There is testing codes in src/tests and, if you are lucky, there is a manual page in html in ./doc. You don't need these directories for development. * Installation on Windows The instructions for building tolua on a Mac or Windows machine depend on the particular compiler you are using. The simplest way is to create a folder with all .c and .h files, and then create a project for the executable and the library, as follows: tolua.exe: all *.c *.h in src/bin. tolua.lib: all *.c *.h in src/lib. Under directory ./win32, there is a project sample for Visual C++ 6. tolua-5.2.4/._include0000755000175000017500000000046712615764613013132 0ustar tobitobiMac OS X  27ATTR7˜Ÿ˜Ÿcom.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited,file_inherit,directory_inherit:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/._bin0000755000175000017500000000046712615764613012257 0ustar tobitobiMac OS X  27ATTR7˜Ÿ˜Ÿcom.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited,file_inherit,directory_inherit:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/._MANIFEST0000644000175000017500000000043012615764613012700 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/._src0000755000175000017500000000046712615764613012276 0ustar tobitobiMac OS X  27ATTR7˜Ÿ˜Ÿcom.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited,file_inherit,directory_inherit:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/config0000755000175000017500000000145212615764613012532 0ustar tobitobi# configuration file for making tolua # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ====================== # you need an ANSI C compiler. gcc is a popular one. CC= gcc CCPP = g++ WARN= -ansi -Wall -g # on SGI's, cc is ANSI. #CC= cc #WARN= -ansi -fullwarn # if your system doesn't have (or need) ranlib, change "ranlib" to "true". # on some systems, "ar s" does it. RANLIB= ranlib #RANLIB= ar s #RANLIB= true # this should work in all unix systems. AR= ar rcu # set lua path LUA=/usr/local LUAINC=$(LUA)/include LUALIB=$(LUA)/lib # == END OF USER SETTINGS. DO NOT CHANGE ANYTHING BELOW THIS LINE ============ INC= -I$(TOLUA)/include -I$(LUAINC) LIB= -L$(TOLUA)/lib -L$(LUALIB) #CFLAGS= -O2 $(WARN) $(INC) #CPPFLAGS= -O2 $(WARN) $(INC) CFLAGS= -g $(WARN) $(INC) CPPFLAGS= -g $(WARN) $(INC) tolua-5.2.4/README0000644000175000017500000000215012615764613012213 0ustar tobitobiThis is tolua-5.2.4 This is tolua-5.1 * What is tolua? tolua is a tool that greatly simplifies the integration of C/C++ code with Lua. Based on a "cleaned" header file, tolua automatically generates the binding code to access C/C++ features from Lua. Using Lua API and tag method facilities, the current version automatically maps C/C++ constants, external variables, functions, namespace, classes, and methods to Lua. It also provides facilities to create Lua modules. * Availability tolua is freely available; you can redistribute it and/or modify it. The software provided hereunder is on an "as is" basis, and the author has no obligation to provide maintenance, support, updates, enhancements, or modifications. tolua can be downloaded from the sites below: http://www.tecgraf.puc-rio.br/~celes/tolua/ ftp://ftp.tecgraf.puc-rio.br/pub/users/celes/tolua/tolua.tar.gz * Installation See INSTALL. * Contacting the author tolua has been designed and implemented by Waldemar Celes. Send your comments, bug reports and anything else to celes@tecgraf.puc-rio.br. tolua-5.2.4/._lib0000755000175000017500000000046712615764613012255 0ustar tobitobiMac OS X  27ATTR7˜Ÿ˜Ÿcom.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited,file_inherit,directory_inherit:read,execute,readattr,readextattr,readsecurity tolua-5.2.4/._README0000644000175000017500000000043012615764613012427 0ustar tobitobiMac OS X  2æATTR˜€˜€com.apple.acl.text!#acl 1 user:FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000059:_spotlight:89:allow,inherited:read,execute,readattr,readextattr,readsecurity