Index: code/trunk/src/orxonox/core/CMakeLists.txt
===================================================================
--- code/trunk/src/orxonox/core/CMakeLists.txt	(revision 1044)
+++ code/trunk/src/orxonox/core/CMakeLists.txt	(revision 1045)
@@ -1,6 +1,3 @@
-AUX_SOURCE_DIRECTORY(tolua TOLUA_SRC_FILES)
-
 SET( CORE_SRC_FILES
-  ${TOLUA_SRC_FILES}
   OrxonoxClass.cc
   BaseObject.cc
Index: code/trunk/src/util/CMakeLists.txt
===================================================================
--- code/trunk/src/util/CMakeLists.txt	(revision 1044)
+++ code/trunk/src/util/CMakeLists.txt	(revision 1045)
@@ -2,4 +2,5 @@
 
 AUX_SOURCE_DIRECTORY(tinyxml TINYXML_SRC_FILES)
+AUX_SOURCE_DIRECTORY(tolua   TOLUA_SRC_FILES)
 
 SET (UTIL_SRC_FILES
@@ -12,4 +13,5 @@
   MultiTypeMath.cc
   ${TINYXML_SRC_FILES}
+  ${TOLUA_SRC_FILES}
 )
 
Index: code/trunk/src/util/tolua/tolua++.h
===================================================================
--- code/trunk/src/util/tolua/tolua++.h	(revision 1045)
+++ code/trunk/src/util/tolua/tolua++.h	(revision 1045)
@@ -0,0 +1,157 @@
+/* tolua
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* 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
+#define TOLUA_API extern
+#endif
+
+#define TOLUA_VERSION "tolua++-1.0.92"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define tolua_pushcppstring(x,y)	tolua_pushstring(x,y.c_str())
+#define tolua_iscppstring	tolua_isstring
+
+#define tolua_iscppstringarray tolua_isstringarray
+#define tolua_pushfieldcppstring(L,lo,idx,s) tolua_pushfieldstring(L, lo, idx, s.c_str())
+
+#define TEMPLATE_BIND(p)
+#define TOLUA_TEMPLATE_BIND(p)
+#define TOLUA_PROTECTED_DESTRUCTOR
+#define TOLUA_PROPERTY_TYPE(p)
+
+typedef int lua_Object;
+
+#include "lua.h"
+#include "lauxlib.h"
+
+struct tolua_Error
+{
+	int index;
+	int array;
+	const char* type;
+};
+typedef struct tolua_Error tolua_Error;
+
+#define TOLUA_NOPEER	LUA_REGISTRYINDEX /* for lua 5.1 */
+
+TOLUA_API const char* tolua_typename (lua_State* L, int lo);
+TOLUA_API void tolua_error (lua_State* L, 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_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 int tolua_register_gc (lua_State* L, int lo);
+TOLUA_API int tolua_default_collect (lua_State* tolua_S);
+
+TOLUA_API void tolua_usertype (lua_State* L, char* type);
+TOLUA_API void tolua_beginmodule (lua_State* L, char* name);
+TOLUA_API void tolua_endmodule (lua_State* L);
+TOLUA_API void tolua_module (lua_State* L, char* name, int hasvar);
+TOLUA_API void tolua_class (lua_State* L, char* name, char* base);
+TOLUA_API void tolua_cclass (lua_State* L, char* lname, char* name, char* base, lua_CFunction col);
+TOLUA_API void tolua_function (lua_State* L, char* name, lua_CFunction func);
+TOLUA_API void tolua_constant (lua_State* L, char* name, double value);
+TOLUA_API void tolua_variable (lua_State* L, char* name, lua_CFunction get, lua_CFunction set);
+TOLUA_API void tolua_array (lua_State* L,char* name, lua_CFunction get, lua_CFunction set);
+
+/* TOLUA_API void tolua_set_call_event(lua_State* L, lua_CFunction func, char* type); */
+/* TOLUA_API void tolua_addbase(lua_State* L, char* name, char* base); */
+
+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_pushusertype_and_takeownership(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_pushfieldusertype_and_takeownership (lua_State* L, int lo, int index, void* v, const char* type);
+
+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 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_dobuffer(lua_State* L, char* B, unsigned int size, const char* name);
+
+TOLUA_API int class_gc_event (lua_State* L);
+
+#ifdef __cplusplus
+static inline const char* tolua_tocppstring (lua_State* L, int narg, const char* def) {
+
+	const char* s = tolua_tostring(L, narg, def);
+	return s?s:"";
+};
+
+static inline const char* tolua_tofieldcppstring (lua_State* L, int lo, int index, const char* def) {
+
+	const char* s = tolua_tofieldstring(L, lo, index, def);
+	return s?s:"";
+};
+
+#else
+#define tolua_tocppstring tolua_tostring
+#define tolua_tofieldcppstring tolua_tofieldstring
+#endif
+
+TOLUA_API int tolua_fast_isa(lua_State *L, int mt_indexa, int mt_indexb, int super_index);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
Index: code/trunk/src/util/tolua/tolua.c
===================================================================
--- code/trunk/src/util/tolua/tolua.c	(revision 1045)
+++ code/trunk/src/util/tolua/tolua.c	(revision 1045)
@@ -0,0 +1,167 @@
+/* tolua
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Aug 2003
+** $Id:$
+*/
+
+/* 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 <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+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"
+         "  -S       : disable support for c++ strings.\n"
+         "  -1       : substract 1 to operator[] index (for compatibility with tolua5).\n"
+         "  -L  file : run lua file (with dofile()) before doing anything.\n"
+         "  -D       : disable automatic exporting of destructors for classes that have\n"
+         "             constructors (for compatibility with tolua5)\n"
+         "  -W       : disable warnings for unsupported features (for compatibility\n"
+         "             with tolua5)\n"
+         "  -C       : disable cleanup of included lua code (for easier debugging)\n"
+         "  -E  value[=value] : add extra values to the luastate\n"
+         "  -t       : export a list of types asociates with the C++ typeid name\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, A. Manzur)\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 add_extra (lua_State* L, char* value) {
+	int len;
+	lua_getglobal(L, "_extra_parameters");
+	len = luaL_getn(L, -1);
+	lua_pushstring(L, value);
+	lua_rawseti(L, -2, len+1);
+	lua_pop(L, 1);
+};
+
+static void error (char* o)
+{
+ fprintf(stderr,"tolua: unknown option '%s'\n",o);
+ help();
+ exit(1);
+}
+
+int main (int argc, char* argv[])
+{
+ #ifdef LUA_VERSION_NUM /* lua 5.1 */
+ lua_State* L = luaL_newstate();
+ luaL_openlibs(L);
+ #else
+ lua_State* L = lua_open();
+ luaopen_base(L);
+ luaopen_io(L);
+ luaopen_string(L);
+ luaopen_table(L);
+ luaopen_math(L);
+ luaopen_debug(L);
+ #endif
+
+ lua_pushstring(L,TOLUA_VERSION); lua_setglobal(L,"TOLUA_VERSION");
+ lua_pushstring(L,LUA_VERSION); lua_setglobal(L,"TOLUA_LUA_VERSION");
+
+ if (argc==1)
+ {
+  help();
+  return 0;
+ }
+ else
+ {
+  int i, t;
+  lua_newtable(L);
+  lua_setglobal(L, "_extra_parameters");
+  lua_newtable(L);
+  lua_pushvalue(L,-1);
+  lua_setglobal(L,"flags");
+  t = lua_gettop(L);
+  for (i=1; i<argc; ++i)
+  {
+   if (*argv[i] == '-')
+   {
+    switch (argv[i][1])
+    {
+     case 'v': version(); return 0;
+     case 'h': help(); return 0;
+     case 'p': setfield(L,t,"p",""); break;
+     case 'P': setfield(L,t,"P",""); break;
+     case 'o': setfield(L,t,"o",argv[++i]); break;
+     case 'n': setfield(L,t,"n",argv[++i]); break;
+     case 'H': setfield(L,t,"H",argv[++i]); break;
+     case 'S': setfield(L,t,"S",""); break;
+     case '1': setfield(L,t,"1",""); break;
+     case 'L': setfield(L,t,"L",argv[++i]); break;
+     case 'D': setfield(L,t,"D",""); break;
+     case 'W': setfield(L,t,"W",""); break;
+     case 'C': setfield(L,t,"C",""); break;
+     case 'E': add_extra(L,argv[++i]); break;
+     case 't': setfield(L,t,"t",""); break;
+     default: error(argv[i]); break;
+    }
+   }
+   else
+   {
+    setfield(L,t,"f",argv[i]);
+    break;
+   }
+  }
+  lua_pop(L,1);
+ }
+/* #define TOLUA_SCRIPT_RUN */
+#ifndef TOLUA_SCRIPT_RUN
+ {
+  int tolua_tolua_open (lua_State* L);
+  tolua_tolua_open(L);
+ }
+#else
+ {
+  char* p;
+  char  path[BUFSIZ];
+  strcpy(path,argv[0]);
+  p = strrchr(path,'/');
+  if (p==NULL) p = strrchr(path,'\\');
+  p = (p==NULL) ? path : p+1;
+  sprintf(p,"%s","../src/bin/lua/");
+  lua_pushstring(L,path); lua_setglobal(L,"path");
+		strcat(path,"all.lua");
+  lua_dofile(L,path);
+ }
+#endif
+ return 0;
+}
Index: code/trunk/src/util/tolua/tolua.pkg
===================================================================
--- code/trunk/src/util/tolua/tolua.pkg	(revision 1045)
+++ code/trunk/src/util/tolua/tolua.pkg	(revision 1045)
@@ -0,0 +1,1 @@
+$cfile "../../orxonox/core/Script.h"
Index: code/trunk/src/util/tolua/tolua_bind.cc
===================================================================
--- code/trunk/src/util/tolua/tolua_bind.cc	(revision 1045)
+++ code/trunk/src/util/tolua/tolua_bind.cc	(revision 1045)
@@ -0,0 +1,110 @@
+/*
+** Lua binding: orxonox
+** Generated automatically by tolua++-1.0.92 on Sun Apr  6 15:44:17 2008.
+*/
+
+#ifndef __cplusplus
+#include "stdlib.h"
+#endif
+#include "string.h"
+
+#include "tolua++.h"
+
+/* Exported function */
+TOLUA_API int  tolua_orxonox_open (lua_State* tolua_S);
+
+#include "../Script.h"
+
+/* function to register type */
+static void tolua_reg_types (lua_State* tolua_S)
+{
+ tolua_usertype(tolua_S,"orxonox::Script");
+}
+
+/* method: getInstance of class  orxonox::Script */
+#ifndef TOLUA_DISABLE_tolua_orxonox_orxonox_Script_getInstance00
+static int tolua_orxonox_orxonox_Script_getInstance00(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (
+     !tolua_isusertable(tolua_S,1,"orxonox::Script",0,&tolua_err) ||
+     !tolua_isnoobj(tolua_S,2,&tolua_err)
+ )
+  goto tolua_lerror;
+ else
+#endif
+ {
+  {
+   orxonox::Script* tolua_ret = (orxonox::Script*)  orxonox::Script::getInstance();
+    tolua_pushusertype(tolua_S,(void*)tolua_ret,"orxonox::Script");
+  }
+ }
+ return 1;
+#ifndef TOLUA_RELEASE
+ tolua_lerror:
+ tolua_error(tolua_S,"#ferror in function 'getInstance'.",&tolua_err);
+ return 0;
+#endif
+}
+#endif //#ifndef TOLUA_DISABLE
+
+/* method: luaPrint of class  orxonox::Script */
+#ifndef TOLUA_DISABLE_tolua_orxonox_orxonox_Script_luaPrint00
+static int tolua_orxonox_orxonox_Script_luaPrint00(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (
+     !tolua_isusertype(tolua_S,1,"orxonox::Script",0,&tolua_err) ||
+     !tolua_iscppstring(tolua_S,2,0,&tolua_err) ||
+     !tolua_isnoobj(tolua_S,3,&tolua_err)
+ )
+  goto tolua_lerror;
+ else
+#endif
+ {
+  orxonox::Script* self = (orxonox::Script*)  tolua_tousertype(tolua_S,1,0);
+  std::string str = ((std::string)  tolua_tocppstring(tolua_S,2,0));
+#ifndef TOLUA_RELEASE
+  if (!self) tolua_error(tolua_S,"invalid 'self' in function 'luaPrint'",NULL);
+#endif
+  {
+   self->luaPrint(str);
+  }
+ }
+ return 0;
+#ifndef TOLUA_RELEASE
+ tolua_lerror:
+ tolua_error(tolua_S,"#ferror in function 'luaPrint'.",&tolua_err);
+ return 0;
+#endif
+}
+#endif //#ifndef TOLUA_DISABLE
+
+/* Open function */
+TOLUA_API int tolua_orxonox_open (lua_State* tolua_S)
+{
+ tolua_open(tolua_S);
+ tolua_reg_types(tolua_S);
+ tolua_module(tolua_S,NULL,0);
+ tolua_beginmodule(tolua_S,NULL);
+  tolua_module(tolua_S,"orxonox",0);
+  tolua_beginmodule(tolua_S,"orxonox");
+   tolua_cclass(tolua_S,"Script","orxonox::Script","",NULL);
+   tolua_beginmodule(tolua_S,"Script");
+    tolua_function(tolua_S,"getInstance",tolua_orxonox_orxonox_Script_getInstance00);
+    tolua_function(tolua_S,"luaPrint",tolua_orxonox_orxonox_Script_luaPrint00);
+   tolua_endmodule(tolua_S);
+  tolua_endmodule(tolua_S);
+ tolua_endmodule(tolua_S);
+ return 1;
+}
+
+
+#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 501
+ TOLUA_API int luaopen_orxonox (lua_State* tolua_S) {
+ return tolua_orxonox_open(tolua_S);
+};
+#endif
+
Index: code/trunk/src/util/tolua/tolua_bind.h
===================================================================
--- code/trunk/src/util/tolua/tolua_bind.h	(revision 1045)
+++ code/trunk/src/util/tolua/tolua_bind.h	(revision 1045)
@@ -0,0 +1,8 @@
+/*
+** Lua binding: orxonox
+** Generated automatically by tolua++-1.0.92 on Sun Apr  6 15:44:17 2008.
+*/
+
+/* Exported function */
+TOLUA_API int  tolua_orxonox_open (lua_State* tolua_S);
+
Index: code/trunk/src/util/tolua/tolua_event.c
===================================================================
--- code/trunk/src/util/tolua/tolua_event.c	(revision 1045)
+++ code/trunk/src/util/tolua/tolua_event.c	(revision 1045)
@@ -0,0 +1,513 @@
+/* tolua: event functions
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* 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 <stdio.h>
+
+#include "tolua++.h"
+
+/* Store at ubox
+	* It stores, creating the corresponding table if needed,
+	* the pair key/value in the corresponding ubox table
+*/
+static void storeatubox (lua_State* L, int lo)
+{
+	#ifdef LUA_VERSION_NUM
+		lua_getfenv(L, lo);
+		if (lua_rawequal(L, -1, TOLUA_NOPEER)) {
+			lua_pop(L, 1);
+			lua_newtable(L);
+			lua_pushvalue(L, -1);
+			lua_setfenv(L, lo);	/* stack: k,v,table  */
+		};
+		lua_insert(L, -3);
+		lua_settable(L, -3); /* on lua 5.1, we trade the "tolua_peers" lookup for a settable call */
+		lua_pop(L, 1);
+	#else
+	 /* stack: key value (to be stored) */
+		lua_pushstring(L,"tolua_peers");
+		lua_rawget(L,LUA_REGISTRYINDEX);        /* stack: k v ubox */
+		lua_pushvalue(L,lo);
+		lua_rawget(L,-2);                       /* stack: k v ubox ubox[u] */
+		if (!lua_istable(L,-1))
+		{
+			lua_pop(L,1);                          /* stack: k v ubox */
+			lua_newtable(L);                       /* stack: k v ubox table */
+			lua_pushvalue(L,1);
+			lua_pushvalue(L,-2);                   /* stack: k v ubox table u table */
+			lua_rawset(L,-4);                      /* stack: k v ubox ubox[u]=table */
+		}
+		lua_insert(L,-4);                       /* put table before k */
+		lua_pop(L,1);                           /* pop ubox */
+		lua_rawset(L,-3);                       /* store at table */
+		lua_pop(L,1);                           /* pop ubox[u] */
+	#endif
+}
+
+/* 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 "ubox" table.
+*/
+static int class_index_event (lua_State* L)
+{
+ int t = lua_type(L,1);
+	if (t == LUA_TUSERDATA)
+	{
+		/* Access alternative table */
+		#ifdef LUA_VERSION_NUM /* new macro on version 5.1 */
+		lua_getfenv(L,1);
+		if (!lua_rawequal(L, -1, TOLUA_NOPEER)) {
+			lua_pushvalue(L, 2); /* key */
+			lua_gettable(L, -2); /* on lua 5.1, we trade the "tolua_peers" lookup for a gettable call */
+			if (!lua_isnil(L, -1))
+				return 1;
+		};
+		#else
+		lua_pushstring(L,"tolua_peers");
+		lua_rawget(L,LUA_REGISTRYINDEX);        /* stack: obj key ubox */
+		lua_pushvalue(L,1);
+		lua_rawget(L,-2);                       /* stack: obj key ubox ubox[u] */
+		if (lua_istable(L,-1))
+		{
+			lua_pushvalue(L,2);  /* key */
+			lua_rawget(L,-2);                      /* stack: obj key ubox ubox[u] value */
+			if (!lua_isnil(L,-1))
+				return 1;
+		}
+		#endif
+		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 ubox */
+						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 */
+						storeatubox(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 ubox 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)
+	{
+	 /* Try accessing a C/C++ variable to be set */
+		lua_getmetatable(L,1);
+		while (lua_istable(L,-1))                /* stack: t k v mt */
+		{
+			if (lua_isnumber(L,2))                 /* check if key is a numeric value */
+			{
+				/* try operator[] */
+				lua_pushstring(L,".seti");
+				lua_rawget(L,-2);                      /* stack: obj key 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;
+				}
+			}
+			else
+			{
+				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_pop(L,1);                          /* stack: t k v mt tset */
+				}
+				lua_pop(L,1);                           /* stack: t k v mt */
+				if (!lua_getmetatable(L,-1))            /* stack: t k v mt mt */
+					lua_pushnil(L);
+				lua_remove(L,-2);                       /* stack: t k v mt */
+			}
+		}
+	 lua_settop(L,3);                          /* stack: t k v */
+
+		/* then, store as a new field */
+		storeatubox(L,1);
+	}
+	else if (t== LUA_TTABLE)
+	{
+		module_newindex_event(L);
+	}
+	return 0;
+}
+
+static int class_call_event(lua_State* L) {
+
+	if (lua_istable(L, 1)) {
+		lua_pushstring(L, ".call");
+		lua_rawget(L, 1);
+		if (lua_isfunction(L, -1)) {
+
+			lua_insert(L, 1);
+			lua_call(L, lua_gettop(L)-1, 1);
+
+			return 1;
+		};
+	};
+	tolua_error(L,"Attempt to call a non-callable object.",NULL);
+	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);
+		}
+	}
+	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_gc_event (lua_State* L)
+{
+	void* u = *((void**)lua_touserdata(L,1));
+	fprintf(stderr, "collecting: looking at %p\n", u);
+	lua_pushstring(L,"tolua_gc");
+	lua_rawget(L,LUA_REGISTRYINDEX);
+	lua_pushlightuserdata(L,u);
+	lua_rawget(L,-2);
+	if (lua_isfunction(L,-1))
+	{
+		lua_pushvalue(L,1);
+		lua_call(L,1,0);
+ 		lua_pushlightuserdata(L,u);
+		lua_pushnil(L);
+		lua_rawset(L,-3);
+	}
+	lua_pop(L,2);
+	return 0;
+}
+*/
+TOLUA_API int class_gc_event (lua_State* L)
+{
+	void* u = *((void**)lua_touserdata(L,1));
+	int top;
+	/*fprintf(stderr, "collecting: looking at %p\n", u);*/
+	/*
+	lua_pushstring(L,"tolua_gc");
+	lua_rawget(L,LUA_REGISTRYINDEX);
+	*/
+	lua_pushvalue(L, lua_upvalueindex(1));
+	lua_pushlightuserdata(L,u);
+	lua_rawget(L,-2);            /* stack: gc umt    */
+	lua_getmetatable(L,1);       /* stack: gc umt mt */
+	/*fprintf(stderr, "checking type\n");*/
+	top = lua_gettop(L);
+	if (tolua_fast_isa(L,top,top-1, lua_upvalueindex(2))) /* make sure we collect correct type */
+	{
+		/*fprintf(stderr, "Found type!\n");*/
+		/* get gc function */
+		lua_pushliteral(L,".collector");
+		lua_rawget(L,-2);           /* stack: gc umt mt collector */
+		if (lua_isfunction(L,-1)) {
+			/*fprintf(stderr, "Found .collector!\n");*/
+		}
+		else {
+			lua_pop(L,1);
+			/*fprintf(stderr, "Using default cleanup\n");*/
+			lua_pushcfunction(L,tolua_default_collect);
+		}
+
+		lua_pushvalue(L,1);         /* stack: gc umt mt collector u */
+		lua_call(L,1,0);
+
+		lua_pushlightuserdata(L,u); /* stack: gc umt mt u */
+		lua_pushnil(L);             /* stack: gc umt mt u nil */
+		lua_rawset(L,-5);           /* stack: gc umt mt */
+	}
+	lua_pop(L,3);
+	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,"__call");
+	lua_pushcfunction(L,class_call_event);
+	lua_rawset(L,-3);
+
+	lua_pushstring(L,"__gc");
+	lua_pushstring(L, "tolua_gc_event");
+	lua_rawget(L, LUA_REGISTRYINDEX);
+	/*lua_pushcfunction(L,class_gc_event);*/
+	lua_rawset(L,-3);
+}
+
Index: code/trunk/src/util/tolua/tolua_event.h
===================================================================
--- code/trunk/src/util/tolua/tolua_event.h	(revision 1045)
+++ code/trunk/src/util/tolua/tolua_event.h	(revision 1045)
@@ -0,0 +1,24 @@
+/* tolua: event functions
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* 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
Index: code/trunk/src/util/tolua/tolua_is.c
===================================================================
--- code/trunk/src/util/tolua/tolua_is.c	(revision 1045)
+++ code/trunk/src/util/tolua/tolua_is.c	(revision 1045)
@@ -0,0 +1,607 @@
+/* tolua: functions to check types.
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* 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 <stdlib.h>
+#include <string.h>
+
+/* a fast check if a is b, without parameter validation
+ i.e. if b is equal to a or a superclass of a. */
+TOLUA_API int tolua_fast_isa(lua_State *L, int mt_indexa, int mt_indexb, int super_index)
+{
+ int result;
+	if (lua_rawequal(L,mt_indexa,mt_indexb))
+		result = 1;
+	else
+	{
+		if (super_index) {
+			lua_pushvalue(L, super_index);
+		} else {
+			lua_pushliteral(L,"tolua_super");
+			lua_rawget(L,LUA_REGISTRYINDEX);  /* stack: super */
+		};
+		lua_pushvalue(L,mt_indexa);       /* stack: super mta */
+		lua_rawget(L,-2);                 /* stack: super super[mta] */
+		lua_pushvalue(L,mt_indexb);       /* stack: super super[mta] mtb */
+		lua_rawget(L,LUA_REGISTRYINDEX);  /* stack: super super[mta] typenameB */
+		lua_rawget(L,-2);                 /* stack: super super[mta] bool */
+		result = lua_toboolean(L,-1);
+		lua_pop(L,3);
+	}
+	return result;
+}
+
+/* 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, 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;
+}
+
+int push_table_instance(lua_State* L, int lo) {
+
+	if (lua_istable(L, lo)) {
+
+		lua_pushstring(L, ".c_instance");
+		lua_gettable(L, lo);
+		if (lua_isuserdata(L, -1)) {
+
+			lua_replace(L, lo);
+			return 1;
+		} else {
+
+			lua_pop(L, 1);
+			return 0;
+		};
+	} else {
+		return 0;
+	};
+
+	return 0;
+};
+
+/* the equivalent of lua_is* for usertype */
+static int lua_isusertype (lua_State* L, int lo, const char* type)
+{
+	if (!lua_isuserdata(L,lo)) {
+		if (!push_table_instance(L, lo)) {
+			return 0;
+		};
+	};
+	{
+		/* 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)<abs(lo))
+		return 1;
+	err->index = lo;
+	err->array = 0;
+	err->type = "[no object]";
+ 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)<abs(lo))
+		return 1;
+	if (lua_isnil(L,lo) || lua_isboolean(L,lo))
+		return 1;
+	err->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)<abs(lo))
+		return 1;
+	if (lua_isnumber(L,lo))
+		return 1;
+	err->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)<abs(lo))
+		return 1;
+ if (lua_isnil(L,lo) || lua_isstring(L,lo))
+		return 1;
+	err->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)<abs(lo))
+		return 1;
+	if (lua_istable(L,lo))
+		return 1;
+	err->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)<abs(lo))
+		return 1;
+	if (lua_isusertable(L,lo,type))
+		return 1;
+	err->index = lo;
+	err->array = 0;
+	err->type = type;
+	return 0;
+}
+
+
+TOLUA_API int tolua_isuserdata (lua_State* L, int lo, int def, tolua_Error* err)
+{
+	if (def && lua_gettop(L)<abs(lo))
+		return 1;
+	if (lua_isnil(L,lo) || lua_isuserdata(L,lo))
+		return 1;
+	err->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)<abs(lo))
+		return 1;
+	if (lua_isnil(L,lo) || lua_isusertype(L,lo,type))
+		return 1;
+	err->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
Index: code/trunk/src/util/tolua/tolua_map.c
===================================================================
--- code/trunk/src/util/tolua/tolua_map.c	(revision 1045)
+++ code/trunk/src/util/tolua/tolua_map.c	(revision 1045)
@@ -0,0 +1,704 @@
+/* tolua: functions to map features
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* 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 <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+
+/* Create metatable
+	* Create and register new metatable
+*/
+static int tolua_newmetatable (lua_State* L, char* name)
+{
+	int r = luaL_newmetatable(L,name);
+
+	#ifdef LUA_VERSION_NUM /* only lua 5.1 */
+	if (r) {
+		lua_pushvalue(L, -1);
+		lua_pushstring(L, name);
+		lua_settable(L, LUA_REGISTRYINDEX); /* reg[mt] = type_name */
+	};
+	#endif
+
+	if (r)
+		tolua_classevents(L); /* set meta events */
+	lua_pop(L,1);
+	return r;
+}
+
+/* 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 */
+	luaL_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 */
+	 luaL_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 */
+	luaL_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: <empty> */
+}
+
+/* creates a 'tolua_ubox' table for base clases, and
+// expects the metatable and base metatable on the stack */
+static void set_ubox(lua_State* L) {
+
+	/* mt basemt */
+	if (!lua_isnil(L, -1)) {
+		lua_pushstring(L, "tolua_ubox");
+		lua_rawget(L,-2);
+	} else {
+		lua_pushnil(L);
+	};
+	/* mt basemt base_ubox */
+	if (!lua_isnil(L,-1)) {
+		lua_pushstring(L, "tolua_ubox");
+		lua_insert(L, -2);
+		/* mt basemt key ubox */
+		lua_rawset(L,-4);
+		/* (mt with ubox) basemt */
+	} else {
+		/* mt basemt nil */
+		lua_pop(L, 1);
+		lua_pushstring(L,"tolua_ubox"); lua_newtable(L);
+		/* make weak value metatable for ubox table to allow userdata to be
+		garbage-collected */
+		lua_newtable(L); lua_pushliteral(L, "__mode"); lua_pushliteral(L, "v"); lua_rawset(L, -3);               /* stack: string ubox mt */
+		lua_setmetatable(L, -2);  /* stack:mt basemt string ubox */
+		lua_rawset(L,-4);
+	};
+
+};
+
+/* 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 */
+	luaL_getmetatable(L,name);
+
+	if (base && *base)
+		luaL_getmetatable(L,base);
+	else {
+
+		if (lua_getmetatable(L, -1)) { /* already has a mt, we don't overwrite it */
+			lua_pop(L, 2);
+			return;
+		};
+		luaL_getmetatable(L,"tolua_commonclass");
+	};
+
+	set_ubox(L);
+
+	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
+*/
+static int tolua_bnd_takeownership (lua_State* L)
+{
+	int success = 0;
+	if (lua_isuserdata(L,1))
+	{
+		if (lua_getmetatable(L,1))        /* if metatable? */
+		{
+			lua_pop(L,1);             /* clear metatable off stack */
+			/* force garbage collection to avoid C to reuse a to-be-collected address */
+			#ifdef LUA_VERSION_NUM
+			lua_gc(L, LUA_GCCOLLECT, 0);
+			#else
+			lua_setgcthreshold(L,0);
+			#endif
+
+			success = tolua_register_gc(L,1);
+		}
+	}
+	lua_pushboolean(L,success!=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));
+		/* force garbage collection to avoid releasing a to-be-collected address */
+		#ifdef LUA_VERSION_NUM
+		lua_gc(L, LUA_GCCOLLECT, 0);
+		#else
+		lua_setgcthreshold(L,0);
+		#endif
+		lua_pushstring(L,"tolua_gc");
+		lua_rawget(L,LUA_REGISTRYINDEX);
+		lua_pushlightuserdata(L,u);
+		lua_rawget(L,-2);
+		lua_getmetatable(L,1);
+		if (lua_rawequal(L,-1,-2))  /* check that we are releasing the correct type */
+		{
+			lua_pushlightuserdata(L,u);
+			lua_pushnil(L);
+			lua_rawset(L,-5);
+			done = 1;
+		}
+	}
+	lua_pushboolean(L,done!=0);
+	return 1;
+}
+
+/* Type casting
+*/
+static int tolua_bnd_cast (lua_State* L)
+{
+
+/* // old code
+        void* v = tolua_tousertype(L,1,NULL);
+        const char* s = tolua_tostring(L,2,NULL);
+        if (v && s)
+         tolua_pushusertype(L,v,s);
+        else
+         lua_pushnil(L);
+        return 1;
+*/
+
+	void* v;
+	const char* s;
+	if (lua_islightuserdata(L, 1)) {
+		v = tolua_touserdata(L, 1, NULL);
+	} else {
+		v = tolua_tousertype(L, 1, 0);
+	};
+
+	s = tolua_tostring(L,2,NULL);
+	if (v && s)
+	 tolua_pushusertype(L,v,s);
+	else
+	 lua_pushnil(L);
+	return 1;
+}
+
+/* Inheritance
+*/
+static int tolua_bnd_inherit (lua_State* L) {
+
+	/* stack: lua object, c object */
+	lua_pushstring(L, ".c_instance");
+	lua_pushvalue(L, -2);
+	lua_rawset(L, -4);
+	/* l_obj[".c_instance"] = c_obj */
+
+	return 0;
+};
+
+#ifdef LUA_VERSION_NUM /* lua 5.1 */
+static int tolua_bnd_setpeer(lua_State* L) {
+
+	/* stack: userdata, table */
+	if (!lua_isuserdata(L, -2)) {
+		lua_pushstring(L, "Invalid argument #1 to setpeer: userdata expected.");
+		lua_error(L);
+	};
+	
+	if (lua_isnil(L, -1)) {
+
+		lua_pop(L, 1);
+		lua_pushvalue(L, TOLUA_NOPEER);
+	};
+	lua_setfenv(L, -2);
+
+	return 0;
+};
+
+static int tolua_bnd_getpeer(lua_State* L) {
+
+	/* stack: userdata */
+	lua_getfenv(L, -1);
+	if (lua_rawequal(L, -1, TOLUA_NOPEER)) {
+		lua_pop(L, 1);
+		lua_pushnil(L);
+	};
+	return 1;
+};
+#endif
+
+/* static int class_gc_event (lua_State* L); */
+
+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);
+
+  #ifndef LUA_VERSION_NUM /* only prior to lua 5.1 */
+  /* create peer object table */
+  lua_pushstring(L, "tolua_peers"); lua_newtable(L);
+  /* make weak key metatable for peers indexed by userdata object */
+  lua_newtable(L); lua_pushliteral(L, "__mode"); lua_pushliteral(L, "k"); lua_rawset(L, -3);                /* stack: string peers mt */
+  lua_setmetatable(L, -2);   /* stack: string peers */
+  lua_rawset(L,LUA_REGISTRYINDEX);
+  #endif
+
+  /* create object ptr -> udata mapping table */
+  lua_pushstring(L,"tolua_ubox"); lua_newtable(L);
+  /* make weak value metatable for ubox table to allow userdata to be
+     garbage-collected */
+  lua_newtable(L); lua_pushliteral(L, "__mode"); lua_pushliteral(L, "v"); lua_rawset(L, -3);               /* stack: string ubox mt */
+  lua_setmetatable(L, -2);  /* stack: string ubox */
+  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);
+
+  /* create gc_event closure */
+  lua_pushstring(L, "tolua_gc_event");
+  lua_pushstring(L, "tolua_gc");
+  lua_rawget(L, LUA_REGISTRYINDEX);
+  lua_pushstring(L, "tolua_super");
+  lua_rawget(L, LUA_REGISTRYINDEX);
+  lua_pushcclosure(L, class_gc_event, 2);
+  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,"inherit", tolua_bnd_inherit);
+  #ifdef LUA_VERSION_NUM /* lua 5.1 */
+  tolua_function(L, "setpeer", tolua_bnd_setpeer);
+  tolua_function(L, "getpeer", tolua_bnd_getpeer);
+  #endif
+
+  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;
+}
+
+/* Default collect function
+*/
+TOLUA_API int tolua_default_collect (lua_State* tolua_S)
+{
+ void* self = tolua_tousertype(tolua_S,1,0);
+ free(self);
+ return 0;
+}
+
+/* Do clone
+*/
+TOLUA_API int tolua_register_gc (lua_State* L, int lo)
+{
+ int success = 1;
+ void *value = *(void **)lua_touserdata(L,lo);
+ lua_pushstring(L,"tolua_gc");
+ lua_rawget(L,LUA_REGISTRYINDEX);
+	lua_pushlightuserdata(L,value);
+	lua_rawget(L,-2);
+	if (!lua_isnil(L,-1)) /* make sure that object is not already owned */
+		success = 0;
+	else
+	{
+		lua_pushlightuserdata(L,value);
+		lua_getmetatable(L,lo);
+		lua_rawset(L,-4);
+	}
+	lua_pop(L,2);
+	return success;
+}
+
+/* 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, char* type)
+{
+ char ctype[128] = "const ";
+ strncat(ctype,type,120);
+
+	/* create both metatables */
+ if (tolua_newmetatable(L,ctype) && 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, char* name)
+{
+	if (name)
+	{
+	 lua_pushstring(L,name);
+		lua_rawget(L,-2);
+	}
+	else
+	 lua_pushvalue(L,LUA_GLOBALSINDEX);
+}
+
+/* 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, 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
+	{
+		/* global table */
+		lua_pushvalue(L,LUA_GLOBALSINDEX);
+	}
+	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, char* name, int hasvar)
+{
+	if (name)
+	{
+		/* tolua module */
+		lua_pushstring(L,name);
+		lua_newtable(L);
+	}
+	else
+	{
+		/* global table */
+		lua_pushvalue(L,LUA_GLOBALSINDEX);
+	}
+	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
+
+static void push_collector(lua_State* L, const char* type, lua_CFunction col) {
+
+	/* push collector function, but only if it's not NULL, or if there's no
+	   collector already */
+	if (!col) return;
+	luaL_getmetatable(L,type);
+	lua_pushstring(L,".collector");
+	/*
+	if (!col) {
+		lua_pushvalue(L, -1);
+		lua_rawget(L, -3);
+		if (!lua_isnil(L, -1)) {
+			lua_pop(L, 3);
+			return;
+		};
+		lua_pop(L, 1);
+	};
+	//	*/
+	lua_pushcfunction(L,col);
+
+	lua_rawset(L,-3);
+	lua_pop(L, 1);
+};
+
+/* Map C class
+	* It maps a C class, setting the appropriate inheritance and super classes.
+*/
+TOLUA_API void tolua_cclass (lua_State* L, char* lname, char* name, 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);
+	
+	push_collector(L, name, col);
+	/*
+	luaL_getmetatable(L,name);
+	lua_pushstring(L,".collector");
+	lua_pushcfunction(L,col);
+
+	lua_rawset(L,-3);
+	*/
+	
+	luaL_getmetatable(L,name);
+	lua_rawset(L,-3);              /* assign class metatable to module */
+
+	/* now we also need to store the collector table for the const
+	   instances of the class */
+	push_collector(L, cname, col);
+	/*
+	luaL_getmetatable(L,cname);
+	lua_pushstring(L,".collector");
+	lua_pushcfunction(L,col);
+	lua_rawset(L,-3);
+	lua_pop(L,1);
+	*/
+	
+
+}
+
+/* Add base
+	* It adds additional base classes to a class (for multiple inheritance)
+	* (not for now)
+TOLUA_API void tolua_addbase(lua_State* L, char* name, char* base) {
+
+	char cname[128] = "const ";
+	char cbase[128] = "const ";
+	strncat(cname,name,120);
+	strncat(cbase,base,120);
+
+	mapsuper(L,cname,cbase);
+	mapsuper(L,name,base);
+};
+*/
+
+/* Map function
+	* It assigns a function into the current module (or class)
+*/
+TOLUA_API void tolua_function (lua_State* L, char* name, lua_CFunction func)
+{
+ lua_pushstring(L,name);
+ lua_pushcfunction(L,func);
+	lua_rawset(L,-3);
+}
+
+/* sets the __call event for the class (expects the class' main table on top) */
+/*	never really worked :(
+TOLUA_API void tolua_set_call_event(lua_State* L, lua_CFunction func, char* type) {
+
+	lua_getmetatable(L, -1);
+	//luaL_getmetatable(L, type);
+	lua_pushstring(L,"__call");
+	lua_pushcfunction(L,func);
+	lua_rawset(L,-3);
+	lua_pop(L, 1);
+};
+*/
+
+/* Map constant number
+	* It assigns a constant number into the current module (or class)
+*/
+TOLUA_API void tolua_constant (lua_State* L, 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, 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, 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_API void tolua_dobuffer(lua_State* L, char* B, unsigned int size, const char* name) {
+
+ #ifdef LUA_VERSION_NUM /* lua 5.1 */
+ luaL_loadbuffer(L, B, size, name) || lua_pcall(L, 0, 0, 0);
+ #else
+ lua_dobuffer(L, B, size, name);
+ #endif
+};
+
Index: code/trunk/src/util/tolua/tolua_push.c
===================================================================
--- code/trunk/src/util/tolua/tolua_push.c	(revision 1045)
+++ code/trunk/src/util/tolua/tolua_push.c	(revision 1045)
@@ -0,0 +1,171 @@
+/* tolua: functions to push C values.
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* 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 <stdlib.h>
+
+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
+ {
+  luaL_getmetatable(L, type);
+  lua_pushstring(L,"tolua_ubox");
+  lua_rawget(L,-2);        /* stack: mt ubox */
+  if (lua_isnil(L, -1)) {
+	  lua_pop(L, 1);
+	  lua_pushstring(L, "tolua_ubox");
+	  lua_rawget(L, LUA_REGISTRYINDEX);
+  };
+  lua_pushlightuserdata(L,value);
+  lua_rawget(L,-2);                       /* stack: mt ubox ubox[u] */
+  if (lua_isnil(L,-1))
+  {
+   lua_pop(L,1);                          /* stack: mt ubox */
+   lua_pushlightuserdata(L,value);
+   *(void**)lua_newuserdata(L,sizeof(void *)) = value;   /* stack: mt ubox u newud */
+   lua_pushvalue(L,-1);                   /* stack: mt ubox u newud newud */
+   lua_insert(L,-4);                      /* stack: mt newud ubox u newud */
+   lua_rawset(L,-3);                      /* stack: mt newud ubox */
+   lua_pop(L,1);                          /* stack: mt newud */
+   /*luaL_getmetatable(L,type);*/
+   lua_pushvalue(L, -2);			/* stack: mt newud mt */
+   lua_setmetatable(L,-2);			/* stack: mt newud */
+
+   #ifdef LUA_VERSION_NUM
+   lua_pushvalue(L, TOLUA_NOPEER);
+   lua_setfenv(L, -2);
+   #endif
+  }
+  else
+  {
+   /* check the need of updating the metatable to a more specialized class */
+   lua_insert(L,-2);                       /* stack: mt ubox[u] ubox */
+   lua_pop(L,1);                           /* stack: mt ubox[u] */
+   lua_pushstring(L,"tolua_super");
+   lua_rawget(L,LUA_REGISTRYINDEX);        /* stack: mt ubox[u] super */
+   lua_getmetatable(L,-2);                 /* stack: mt ubox[u] super mt */
+   lua_rawget(L,-2);                       /* stack: mt ubox[u] super super[mt] */
+			if (lua_istable(L,-1))
+			{
+				lua_pushstring(L,type);                 /* stack: mt ubox[u] super super[mt] type */
+				lua_rawget(L,-2);                       /* stack: mt ubox[u] super super[mt] flag */
+				if (lua_toboolean(L,-1) == 1)   /* if true */
+				{
+					lua_pop(L,3);	/* mt ubox[u]*/
+					lua_remove(L, -2);
+					return;
+				}
+			}
+			/* type represents a more specilized type */
+			/*luaL_getmetatable(L,type);             // stack: mt ubox[u] super super[mt] flag mt */
+			lua_pushvalue(L, -5);					/* stack: mt ubox[u] super super[mt] flag mt */
+			lua_setmetatable(L,-5);                /* stack: mt ubox[u] super super[mt] flag */
+			lua_pop(L,3);                          /* stack: mt ubox[u] */
+  }
+  lua_remove(L, -2);	/* stack: ubox[u]*/
+ }
+}
+
+TOLUA_API void tolua_pushusertype_and_takeownership (lua_State* L, void* value, const char* type)
+{
+	tolua_pushusertype(L,value,type);
+	tolua_register_gc(L,lua_gettop(L));
+}
+
+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_API void tolua_pushfieldusertype_and_takeownership (lua_State* L, int lo, int index, void* v, const char* type)
+{
+ lua_pushnumber(L,index);
+ tolua_pushusertype(L,v,type);
+	tolua_register_gc(L,lua_gettop(L));
+ lua_settable(L,lo);
+}
+
Index: code/trunk/src/util/tolua/tolua_to.c
===================================================================
--- code/trunk/src/util/tolua/tolua_to.c	(revision 1045)
+++ code/trunk/src/util/tolua/tolua_to.c	(revision 1045)
@@ -0,0 +1,133 @@
+/* tolua: funcitons to convert to C types
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* 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 <string.h>
+#include <stdlib.h>
+
+TOLUA_API double tolua_tonumber (lua_State* L, int narg, double def)
+{
+ return lua_gettop(L)<abs(narg) ? def : lua_tonumber(L,narg);
+}
+
+TOLUA_API const char* tolua_tostring (lua_State* L, int narg, const char* def)
+{
+ return lua_gettop(L)<abs(narg) ? def : lua_tostring(L,narg);
+}
+
+TOLUA_API void* tolua_touserdata (lua_State* L, int narg, void* def)
+{
+	
+	/* return lua_gettop(L)<abs(narg) ? def : lua_touserdata(L,narg); */
+
+	if (lua_gettop(L)<abs(narg)) {
+ 		return def;
+	};
+	 
+	if (lua_islightuserdata(L, narg)) {
+	
+		return lua_touserdata(L,narg);
+	};
+	
+	return tolua_tousertype(L, narg, def);
+}
+
+extern int push_table_instance(lua_State* L, int lo);
+
+TOLUA_API void* tolua_tousertype (lua_State* L, int narg, void* def)
+{
+ if (lua_gettop(L)<abs(narg))
+  return def;
+ else
+ {
+  void* u;
+  if (!lua_isuserdata(L, narg)) {
+	  if (!push_table_instance(L, narg)) return NULL;
+  };
+  u = lua_touserdata(L,narg);
+  return (u==NULL) ? NULL : *((void**)u); /* nil represents NULL */
+ }
+}
+
+TOLUA_API int tolua_tovalue (lua_State* L, int narg, int def)
+{
+ return lua_gettop(L)<abs(narg) ? def : narg;
+}
+
+TOLUA_API int tolua_toboolean (lua_State* L, int narg, int def)
+{
+ return lua_gettop(L)<abs(narg) ?  def : lua_toboolean(L,narg);
+}
+
+TOLUA_API double tolua_tofieldnumber (lua_State* L, int lo, int index, double def)
+{
+ double v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? def : lua_tonumber(L,-1);
+ lua_pop(L,1);
+ return v;
+}
+
+TOLUA_API const char* tolua_tofieldstring
+(lua_State* L, int lo, int index, const char* def)
+{
+ const char* v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? def : lua_tostring(L,-1);
+ lua_pop(L,1);
+ return v;
+}
+
+TOLUA_API void* tolua_tofielduserdata (lua_State* L, int lo, int index, void* def)
+{
+ void* v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? def : lua_touserdata(L,-1);
+ lua_pop(L,1);
+ return v;
+}
+
+TOLUA_API void* tolua_tofieldusertype (lua_State* L, int lo, int index, void* def)
+{
+ void* v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? def : (*(void **)(lua_touserdata(L, -1))); /* lua_unboxpointer(L,-1); */
+ lua_pop(L,1);
+ return v;
+}
+
+TOLUA_API int tolua_tofieldvalue (lua_State* L, int lo, int index, int def)
+{
+ int v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? def : lo;
+ lua_pop(L,1);
+ return v;
+}
+
+TOLUA_API int tolua_getfieldboolean (lua_State* L, int lo, int index, int def)
+{
+ int v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? 0 : lua_toboolean(L,-1);
+ lua_pop(L,1);
+ return v;
+}
Index: code/trunk/src/util/tolua/toluabind.c
===================================================================
--- code/trunk/src/util/tolua/toluabind.c	(revision 1045)
+++ code/trunk/src/util/tolua/toluabind.c	(revision 1045)
@@ -0,0 +1,7628 @@
+/*
+** Lua binding: tolua
+** Generated automatically by tolua++-1.0.91 on Wed Apr 26 22:30:14 2006.
+*/
+
+#ifndef __cplusplus
+#include "stdlib.h"
+#endif
+#include "string.h"
+
+#include "tolua++.h"
+
+/* Exported function */
+TOLUA_API int  tolua_tolua_open (lua_State* tolua_S);
+
+
+/* function to register type */
+static void tolua_reg_types (lua_State* tolua_S)
+{
+}
+
+/* Open function */
+TOLUA_API int tolua_tolua_open (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 */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+   105,102, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+     95, 86, 69, 82, 83, 73, 79, 78, 44, 32, 34, 53, 37, 46, 48,
+     34, 41, 32,116,104,101,110, 13, 10,  9,114,101,116,117,114,
+    110, 13, 10,101,110,100, 13, 10, 13, 10, 45, 45, 32, 34,108,
+    111, 97,100,102,105,108,101, 34, 13, 10,108,111, 99, 97,108,
+     32,102,117,110, 99,116,105,111,110, 32,112,112, 95,100,111,
+    102,105,108,101, 40,112, 97,116,104, 41, 13, 10, 13, 10,  9,
+    108,111, 99, 97,108, 32,108,111, 97,100,101,100, 32, 61, 32,
+    102, 97,108,115,101, 13, 10,  9,108,111, 99, 97,108, 32,103,
+    101,116,102,105,108,101, 32, 61, 32,102,117,110, 99,116,105,
+    111,110, 40, 41, 13, 10, 13, 10,  9,  9,105,102, 32,108,111,
+     97,100,101,100, 32,116,104,101,110, 13, 10,  9,  9,  9,114,
+    101,116,117,114,110, 13, 10,  9,  9,101,108,115,101, 13, 10,
+      9,  9,  9,108,111, 99, 97,108, 32,102,105,108,101, 44,101,
+    114,114, 32, 61, 32,105,111, 46,111,112,101,110, 40,112, 97,
+    116,104, 41, 13, 10,  9,  9,  9,105,102, 32,110,111,116, 32,
+    102,105,108,101, 32,116,104,101,110, 13, 10,  9,  9,  9,  9,
+    101,114,114,111,114, 40, 34,101,114,114,111,114, 32,108,111,
+     97,100,105,110,103, 32,102,105,108,101, 32, 34, 46, 46,112,
+     97,116,104, 46, 46, 34, 58, 32, 34, 46, 46,101,114,114, 41,
+     13, 10,  9,  9,  9,101,110,100, 13, 10,  9,  9,  9,108,111,
+     99, 97,108, 32,114,101,116, 32, 61, 32,102,105,108,101, 58,
+    114,101, 97,100, 40, 34, 42, 97, 34, 41, 13, 10,  9,  9,  9,
+    102,105,108,101, 58, 99,108,111,115,101, 40, 41, 13, 10, 13,
+     10,  9,  9,  9,114,101,116, 32, 61, 32,115,116,114,105,110,
+    103, 46,103,115,117, 98, 40,114,101,116, 44, 32, 34, 37, 46,
+     37, 46, 37, 46, 37,115, 42, 37, 41, 34, 44, 32, 34, 46, 46,
+     46, 41, 32,108,111, 99, 97,108, 32, 97,114,103, 32, 61, 32,
+    123,110, 61,115,101,108,101, 99,116, 40, 39, 35, 39, 44, 32,
+     46, 46, 46, 41, 44, 32, 46, 46, 46,125, 59, 34, 41, 13, 10,
+     13, 10,  9,  9,  9,108,111, 97,100,101,100, 32, 61, 32,116,
+    114,117,101, 13, 10,  9,  9,  9,114,101,116,117,114,110, 32,
+    114,101,116, 13, 10,  9,  9,101,110,100, 13, 10,  9,101,110,
+    100, 13, 10, 13, 10,  9,108,111, 99, 97,108, 32,102, 32, 61,
+     32,108,111, 97,100, 40,103,101,116,102,105,108,101, 44, 32,
+    112, 97,116,104, 41, 13, 10,  9,114,101,116,117,114,110, 32,
+    102, 40, 41, 13, 10,101,110,100, 13, 10, 13, 10,111,108,100,
+     95,100,111,102,105,108,101, 32, 61, 32,100,111,102,105,108,
+    101, 13, 10,100,111,102,105,108,101, 32, 61, 32,112,112, 95,
+    100,111,102,105,108,101, 13, 10, 13, 10, 13, 10, 45, 45, 32,
+    115,116,114,105,110,103, 46,103,115,117, 98, 13, 10, 45, 45,
+     91, 91, 13, 10,108,111, 99, 97,108, 32,111,103,115,117, 98,
+     32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 13,
+     10,108,111, 99, 97,108, 32,102,117,110, 99,116,105,111,110,
+     32, 99,111,109,112,103,115,117, 98, 40, 97, 44, 98, 44, 99,
+     44,100, 41, 13, 10, 32, 32,105,102, 32,116,121,112,101, 40,
+     99, 41, 32, 61, 61, 32, 34,102,117,110, 99,116,105,111,110,
+     34, 32,116,104,101,110, 13, 10, 32, 32, 32, 32,108,111, 99,
+     97,108, 32,111, 99, 32, 61, 32, 99, 13, 10, 32, 32, 32, 32,
+     99, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40, 46,
+     46, 46, 41, 32,114,101,116,117,114,110, 32,111, 99, 40, 46,
+     46, 46, 41, 32,111,114, 32, 39, 39, 32,101,110,100, 13, 10,
+     32, 32,101,110,100, 13, 10, 32, 32,114,101,116,117,114,110,
+     32,111,103,115,117, 98, 40, 97, 44, 98, 44, 99, 44,100, 41,
+     13, 10,101,110,100, 13, 10,115,116,114,105,110,103, 46,114,
+    101,112,108, 32, 61, 32,111,103,115,117, 98, 13, 10, 45, 45,
+     93, 93, 13, 10, 13, 10, 45, 45,115,116,114,105,110,103, 46,
+    103,115,117, 98, 32, 61, 32, 99,111,109,112,103,115,117, 98,
+     13,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/compat-5.1.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 10, 45, 45, 32, 82,101, 97,108,
+     32,103,108,111, 98, 97,108,115, 10, 45, 45, 32, 95, 65, 76,
+     69, 82, 84, 10, 45, 45, 32, 95, 69, 82, 82, 79, 82, 77, 69,
+     83, 83, 65, 71, 69, 10, 45, 45, 32, 95, 86, 69, 82, 83, 73,
+     79, 78, 10, 45, 45, 32, 95, 71, 10, 45, 45, 32, 97,115,115,
+    101,114,116, 10, 45, 45, 32,101,114,114,111,114, 10, 45, 45,
+     32,109,101,116, 97,116, 97, 98,108,101, 10, 45, 45, 32,110,
+    101,120,116, 10, 45, 45, 32,112,114,105,110,116, 10, 45, 45,
+     32,114,101,113,117,105,114,101, 10, 45, 45, 32,116,111,110,
+    117,109, 98,101,114, 10, 45, 45, 32,116,111,115,116,114,105,
+    110,103, 10, 45, 45, 32,116,121,112,101, 10, 45, 45, 32,117,
+    110,112, 97, 99,107, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10,
+     45, 45, 32, 99,111,108,108,101, 99,116,103, 97,114, 98, 97,
+    103,101, 10, 45, 45, 32,103, 99,105,110,102,111, 10, 10, 45,
+     45, 32,103,108,111, 98, 97,108,115, 10, 10, 45, 45, 32, 99,
+     97,108,108, 32, 32, 32, 45, 62, 32,112,114,111,116,101, 99,
+    116, 40,102, 44, 32,101,114,114, 41, 10, 45, 45, 32,108,111,
+     97,100,102,105,108,101, 10, 45, 45, 32,108,111, 97,100,115,
+    116,114,105,110,103, 10, 10, 45, 45, 32,114, 97,119,103,101,
+    116, 10, 45, 45, 32,114, 97,119,115,101,116, 10, 10, 45, 45,
+     32,103,101,116, 97,114,103,115, 32, 61, 32, 77, 97,105,110,
+     46,103,101,116, 97,114,103,115, 32, 63, 63, 10, 10,114, 97,
+    119,116,121,112,101, 32, 61, 32,116,121,112,101, 10, 10,102,
+    117,110, 99,116,105,111,110, 32,100,111, 95, 32, 40,102, 44,
+     32,101,114,114, 41, 10, 32, 32,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,
+     32, 32,108,111, 99, 97,108, 32, 97, 44, 98, 32, 61, 32,112,
+     99, 97,108,108, 40,102, 41, 10, 32, 32,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,
+     32, 32,101,108,115,101, 32,114,101,116,117,114,110, 32, 98,
+     32,111,114, 32,116,114,117,101, 10, 32, 32,101,110,100, 10,
+    101,110,100, 10, 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, 45, 45, 32,102,
+    117,110, 99,116,105,111,110, 32,100,111,102,105,108,101, 40,
+    115, 41, 32,114,101,116,117,114,110, 32,100,111, 95, 40,108,
+    111, 97,100,102,105,108,101, 40,115, 41, 41, 32,101,110,100,
+     10, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 45, 45, 32, 84, 97,
+     98,108,101, 32,108,105, 98,114, 97,114,121, 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,116, 97, 98, 46,102,
+    111,114,101, 97, 99,104, 10,102,111,114,101, 97, 99,104,105,
+     32, 61, 32,116, 97, 98, 46,102,111,114,101, 97, 99,104,105,
+     10,103,101,116,110, 32, 61, 32,116, 97, 98, 46,103,101,116,
+    110, 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,
+     10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 10, 45, 45, 32, 68,101, 98,
+    117,103, 32,108,105, 98,114, 97,114,121, 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, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 45, 45,
+     32,109, 97,116,104, 32,108,105, 98,114, 97,114,121, 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, 45, 45, 63, 63, 63, 32,112,111,
+    119, 32, 61, 32,109, 97,116,104, 46,112,111,119, 32, 32, 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, 10, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10,
+     45, 45, 32,115,116,114,105,110,103, 32,108,105, 98,114, 97,
+    114,121, 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, 10, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 10, 45, 45, 32,111,115, 32,108,105,
+     98,114, 97,114,121, 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, 32, 45, 45, 63, 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, 10, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 10, 45, 45, 32, 99,111,109,112, 97,116,105, 98,105,
+    108,105,116,121, 32,111,110,108,121, 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, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 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, 10, 45, 45, 32, 73, 79,
+     32,108,105, 98,114, 97,114,121, 32, 40,102,105,108,101,115,
+     41, 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, 32, 32,
+     32, 45, 45, 32,115,105, 99,107, 32, 59, 45, 41, 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, 10,
+    102,117,110, 99,116,105,111,110, 32,102,108,117,115,104, 32,
+     40,102, 41, 10, 32, 32,105,102, 32,102, 32,116,104,101,110,
+     32,102, 58,102,108,117,115,104, 40, 41, 10, 32, 32,101,108,
+    115,101, 32, 95, 79, 85, 84, 80, 85, 84, 58,102,108,117,115,
+    104, 40, 41, 10, 32, 32,101,110,100, 10,101,110,100, 10, 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, 32, 32,105,102, 32,
+    110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,101,
+    110, 10, 32, 32, 32, 32,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, 32, 32,
+     32, 32, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,
+    116,100,105,110, 10, 32, 32, 32, 32,114,101,116,117,114,110,
+     32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10, 32, 32,
+    101,108,115,101, 10, 32, 32, 32, 32,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, 32, 32, 32, 32, 95, 73, 78, 80, 85, 84, 32, 61,
+     32,102, 32,111,114, 32, 95, 73, 78, 80, 85, 84, 10, 32, 32,
+     32, 32,114,101,116,117,114,110, 32,102, 44, 32,101,114,114,
+     44, 32, 99,111,100, 10, 32, 32,101,110,100, 10,101,110,100,
+     10, 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, 32, 32,105,102,
+     32,110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,
+    101,110, 10, 32, 32, 32, 32,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,
+     32, 32, 32, 32, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,
+    111, 46,115,116,100,111,117,116, 10, 32, 32, 32, 32,114,101,
+    116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,
+    100, 10, 32, 32,101,108,115,101, 10, 32, 32, 32, 32,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, 32, 32, 32, 32, 95, 79, 85, 84,
+     80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95, 79, 85, 84,
+     80, 85, 84, 10, 32, 32, 32, 32,114,101,116,117,114,110, 32,
+    102, 44, 32,101,114,114, 44, 32, 99,111,100, 10, 32, 32,101,
+    110,100, 10,101,110,100, 10, 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, 32, 32,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, 32,
+     32, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32,111,114,
+     32, 95, 79, 85, 84, 80, 85, 84, 10, 32, 32,114,101,116,117,
+    114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,
+    101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,114,
+    101, 97,100, 32, 40, 46, 46, 46, 41, 10, 32, 32,108,111, 99,
+     97,108, 32,102, 32, 61, 32, 95, 73, 78, 80, 85, 84, 10, 32,
+     32,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, 32, 32, 32, 32,102, 32,
+     61, 32,116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,
+    103, 44, 32, 49, 41, 10, 32, 32,101,110,100, 10, 32, 32,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,
+     10,102,117,110, 99,116,105,111,110, 32,119,114,105,116,101,
+     32, 40, 46, 46, 46, 41, 10, 32, 32,108,111, 99, 97,108, 32,
+    102, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10, 32, 32,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, 32, 32, 32, 32,102, 32, 61, 32,
+    116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,103, 44,
+     32, 49, 41, 10, 32, 32,101,110,100, 10, 32, 32,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
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/compat.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32, 98, 97,115,105, 99,
+     32,117,116,105,108,105,116,121, 32,102,117,110, 99,116,105,
+    111,110,115, 10, 45, 45, 32, 87,114,105,116,116,101,110, 32,
+     98,121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,101,108,
+    101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102, 47, 80,
+     85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108, 32, 49,
+     57, 57, 56, 10, 45, 45, 32, 76, 97,115,116, 32,117,112,100,
+     97,116,101, 58, 32, 65,112,114, 32, 50, 48, 48, 51, 10, 45,
+     45, 32, 36, 73,100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,
+    105,115, 32, 99,111,100,101, 32,105,115, 32,102,114,101,101,
+     32,115,111,102,116,119, 97,114,101, 59, 32,121,111,117, 32,
+     99, 97,110, 32,114,101,100,105,115,116,114,105, 98,117,116,
+    101, 32,105,116, 32, 97,110,100, 47,111,114, 32,109,111,100,
+    105,102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,
+    115,111,102,116,119, 97,114,101, 32,112,114,111,118,105,100,
+    101,100, 32,104,101,114,101,117,110,100,101,114, 32,105,115,
+     32,111,110, 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32,
+     98, 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,
+    104,101, 32, 97,117,116,104,111,114, 32,104, 97,115, 32,110,
+    111, 32,111, 98,108,105,103, 97,116,105,111,110, 32,116,111,
+     32,112,114,111,118,105,100,101, 32,109, 97,105,110,116,101,
+    110, 97,110, 99,101, 44, 32,115,117,112,112,111,114,116, 44,
+     32,117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,
+    104, 97,110, 99,101,109,101,110,116,115, 44, 32,111,114, 32,
+    109,111,100,105,102,105, 99, 97,116,105,111,110,115, 46, 10,
+     10, 10, 45, 45, 32, 66, 97,115,105, 99, 32, 67, 32,116,121,
+    112,101,115, 32, 97,110,100, 32,116,104,101,105,114, 32, 99,
+    111,114,114,101,115,112,111,110,100,105,110,103, 32, 76,117,
+     97, 32,116,121,112,101,115, 10, 45, 45, 32, 65,108,108, 32,
+    111, 99, 99,117,114,114,101,110, 99,101,115, 32,111,102, 32,
+     34, 99,104, 97,114, 42, 34, 32,119,105,108,108, 32, 98,101,
+     32,114,101,112,108, 97, 99,101,100, 32, 98,121, 32, 34, 95,
+     99,115,116,114,105,110,103, 34, 44, 10, 45, 45, 32, 97,110,
+    100, 32, 97,108,108, 32,111, 99, 99,117,114,114,101,110, 99,
+    101,115, 32,111,102, 32, 34,118,111,105,100, 42, 34, 32,119,
+    105,108,108, 32, 98,101, 32,114,101,112,108, 97, 99,101,100,
+     32, 98,121, 32, 34, 95,117,115,101,114,100, 97,116, 97, 34,
+     10, 95, 98, 97,115,105, 99, 32, 61, 32,123, 10, 32, 91, 39,
+    118,111,105,100, 39, 93, 32, 61, 32, 39, 39, 44, 10, 32, 91,
+     39, 99,104, 97,114, 39, 93, 32, 61, 32, 39,110,117,109, 98,
+    101,114, 39, 44, 10, 32, 91, 39,105,110,116, 39, 93, 32, 61,
+     32, 39,110,117,109, 98,101,114, 39, 44, 10, 32, 91, 39,115,
+    104,111,114,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,
+    114, 39, 44, 10, 32, 91, 39,108,111,110,103, 39, 93, 32, 61,
+     32, 39,110,117,109, 98,101,114, 39, 44, 10, 32, 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, 32, 91, 39,102,108,111, 97,116,
+     39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10,
+     32, 91, 39,100,111,117, 98,108,101, 39, 93, 32, 61, 32, 39,
+    110,117,109, 98,101,114, 39, 44, 10, 32, 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, 32, 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, 32, 91, 39, 99,104, 97,114, 42, 39, 93, 32,
+     61, 32, 39,115,116,114,105,110,103, 39, 44, 10, 32, 91, 39,
+    118,111,105,100, 42, 39, 93, 32, 61, 32, 39,117,115,101,114,
+    100, 97,116, 97, 39, 44, 10, 32, 91, 39, 98,111,111,108, 39,
+     93, 32, 61, 32, 39, 98,111,111,108,101, 97,110, 39, 44, 10,
+     32, 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, 32, 91, 39,
+     76, 85, 65, 95, 86, 65, 76, 85, 69, 39, 93, 32, 61, 32, 39,
+    118, 97,108,117,101, 39, 44, 32, 32, 32, 32, 45, 45, 32,102,
+    111,114, 32, 99,111,109,112, 97,116,105, 98,105,108,105,116,
+    121, 32,119,105,116,104, 32,116,111,108,117, 97, 32, 52, 46,
+     48, 10, 32, 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, 32,
+     91, 39, 95,108,115,116, 97,116,101, 39, 93, 32, 61, 32, 39,
+    115,116, 97,116,101, 39, 44, 10, 32, 91, 39,108,117, 97, 95,
+     70,117,110, 99,116,105,111,110, 39, 93, 32, 61, 32, 39,118,
+     97,108,117,101, 39, 44, 10,125, 10, 10, 95, 98, 97,115,105,
+     99, 95, 99,116,121,112,101, 32, 61, 32,123, 10, 32,110,117,
+    109, 98,101,114, 32, 61, 32, 34,108,117, 97, 95, 78,117,109,
+     98,101,114, 34, 44, 10, 32,115,116,114,105,110,103, 32, 61,
+     32, 34, 99,111,110,115,116, 32, 99,104, 97,114, 42, 34, 44,
+     10, 32,117,115,101,114,100, 97,116, 97, 32, 61, 32, 34,118,
+    111,105,100, 42, 34, 44, 10, 32, 98,111,111,108,101, 97,110,
+     32, 61, 32, 34, 98,111,111,108, 34, 44, 10, 32,118, 97,108,
+    117,101, 32, 61, 32, 34,105,110,116, 34, 44, 10, 32,115,116,
+     97,116,101, 32, 61, 32, 34,108,117, 97, 95, 83,116, 97,116,
+    101, 42, 34, 44, 10,125, 10, 10, 45, 45, 32,102,117,110, 99,
+    116,105,111,110,115, 32,116,104,101, 32, 97,114,101, 32,117,
+    115,101,100, 32,116,111, 32,100,111, 32, 97, 32, 39,114, 97,
+    119, 32,112,117,115,104, 39, 32,111,102, 32, 98, 97,115,105,
+     99, 32,116,121,112,101,115, 10, 95, 98, 97,115,105, 99, 95,
+    114, 97,119, 95,112,117,115,104, 32, 61, 32,123,125, 10, 10,
+     45, 45, 32, 76,105,115,116, 32,111,102, 32,117,115,101,114,
+     32,100,101,102,105,110,101,100, 32,116,121,112,101,115, 10,
+     45, 45, 32, 69, 97, 99,104, 32,116,121,112,101, 32, 99,111,
+    114,114,101,115,112,111,110,100,115, 32,116,111, 32, 97, 32,
+    118, 97,114,105, 97, 98,108,101, 32,110, 97,109,101, 32,116,
+    104, 97,116, 32,115,116,111,114,101,115, 32,105,116,115, 32,
+    116, 97,103, 32,118, 97,108,117,101, 46, 10, 95,117,115,101,
+    114,116,121,112,101, 32, 61, 32,123,125, 10, 10, 45, 45, 32,
+     76,105,115,116, 32,111,102, 32,116,121,112,101,115, 32,116,
+    104, 97,116, 32,104, 97,118,101, 32,116,111, 32, 98,101, 32,
+     99,111,108,108,101, 99,116,101,100, 10, 95, 99,111,108,108,
+    101, 99,116, 32, 61, 32,123,125, 10, 10, 45, 45, 32, 76,105,
+    115,116, 32,111,102, 32,116,121,112,101,115, 10, 95,103,108,
+    111, 98, 97,108, 95,116,121,112,101,115, 32, 61, 32,123,110,
+     61, 48,125, 10, 95,103,108,111, 98, 97,108, 95,116,121,112,
+    101,115, 95,104, 97,115,104, 32, 61, 32,123,125, 10, 10, 45,
+     45, 32,108,105,115,116, 32,111,102, 32, 99,108, 97,115,115,
+    101,115, 10, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,
+    115,101,115, 32, 61, 32,123,125, 10, 10, 45, 45, 32, 76,105,
+    115,116, 32,111,102, 32,101,110,117,109, 32, 99,111,110,115,
+    116, 97,110,116,115, 10, 95,103,108,111, 98, 97,108, 95,101,
+    110,117,109,115, 32, 61, 32,123,125, 10, 10, 45, 45, 32, 76,
+    105,115,116, 32,111,102, 32, 97,117,116,111, 32,114,101,110,
+     97,109,105,110,103, 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, 32,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,  9,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110,
+     10,  9, 32,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,  9,101,110,100, 10,  9,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, 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,  9,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,  9, 32,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,
+      9,  9,105,102, 32,110, 32,126, 61, 32, 48, 32,116,104,101,
+    110, 10,  9,  9, 32,114,101,116,117,114,110, 32,109, 10,  9,
+      9,101,110,100, 10,  9,101,110,100, 10,  9,114,101,116,117,
+    114,110, 32,110,105,108, 10,101,110,100, 10, 10, 45, 45, 32,
+     69,114,114,111,114, 32,104, 97,110,100,108,101,114, 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,105,102, 32, 95,
+     99,117,114,114, 95, 99,111,100,101, 32,116,104,101,110, 10,
+      9,112,114,105,110,116, 40, 34, 42, 42, 42, 99,117,114,114,
+     32, 99,111,100,101, 32,102,111,114, 32,101,114,114,111,114,
+     32,105,115, 32, 34, 46, 46,116,111,115,116,114,105,110,103,
+     40, 95, 99,117,114,114, 95, 99,111,100,101, 41, 41, 10,  9,
+    112,114,105,110,116, 40,100,101, 98,117,103, 46,116,114, 97,
+     99,101, 98, 97, 99,107, 40, 41, 41, 10,101,110,100, 10, 32,
+    108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79, 85,
+     84, 80, 85, 84, 10, 32, 95, 79, 85, 84, 80, 85, 84, 32, 61,
+     32, 95, 83, 84, 68, 69, 82, 82, 10, 32,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, 32, 32,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, 32, 32,105,102, 32,
+     95, 99,117,114,114, 95, 99,111,100,101, 32,116,104,101,110,
+     10, 32, 32, 32,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, 32, 45, 45, 32,101,120,116,114, 97, 99,
+    116, 32,102,105,114,115,116, 32,108,105,110,101, 10, 32, 32,
+     32,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, 32, 32, 32,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, 32, 45, 45, 32,114,101,
+    116,117,114,110, 32,119,105,116,104, 32, 39,118,111,105,100,
+     42, 39, 10, 32, 32, 32,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, 32, 32, 45, 45, 32,114,101,116,117,
+    114,110, 32,119,105,116,104, 32, 39, 99,104, 97,114, 42, 39,
+     10, 32, 32, 32,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, 32, 32, 45, 45, 32,114,101,
+    116,117,114,110, 32,119,105,116,104, 32, 39,108,117, 97, 95,
+     83,116, 97,116,101, 42, 39, 10, 32, 32, 32,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, 32, 32,101,110,100, 10, 32,
+    101,108,115,101, 10, 32,105,102, 32,110,111,116, 32,102, 32,
+    116,104,101,110, 32,102, 32, 61, 32, 34, 40,102, 32,105,115,
+     32,110,105,108, 41, 34, 32,101,110,100, 10, 32, 32,112,114,
+    105,110,116, 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, 10, 32, 32,114,101,116,117,114,110, 10, 32,
+    101,110,100, 10, 32, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,
+    111,117,116, 10,101,110,100, 10, 10,102,117,110, 99,116,105,
+    111,110, 32,119, 97,114,110,105,110,103, 32, 40,109,115,103,
+     41, 10, 32,108,111, 99, 97,108, 32,111,117,116, 32, 61, 32,
+     95, 79, 85, 84, 80, 85, 84, 10, 32, 95, 79, 85, 84, 80, 85,
+     84, 32, 61, 32, 95, 83, 84, 68, 69, 82, 82, 10, 32,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, 32, 95, 79,
+     85, 84, 80, 85, 84, 32, 61, 32,111,117,116, 10,101,110,100,
+     10, 10, 45, 45, 32,114,101,103,105,115,116,101,114, 32, 97,
+    110, 32,117,115,101,114, 32,100,101,102,105,110,101,100, 32,
+    116,121,112,101, 58, 32,114,101,116,117,114,110,115, 32,102,
+    117,108,108, 32,116,121,112,101, 10,102,117,110, 99,116,105,
+    111,110, 32,114,101,103,116,121,112,101, 32, 40,116, 41, 10,
+      9, 45, 45,105,102, 32,105,115, 98, 97,115,105, 99, 40,116,
+     41, 32,116,104,101,110, 10,  9, 45, 45,  9,114,101,116,117,
+    114,110, 32,116, 10,  9, 45, 45,101,110,100, 10,  9,108,111,
+     99, 97,108, 32,102,116, 32, 61, 32,102,105,110,100,116,121,
+    112,101, 40,116, 41, 10, 10,  9,105,102, 32,110,111,116, 32,
+     95,117,115,101,114,116,121,112,101, 91,102,116, 93, 32,116,
+    104,101,110, 10,  9,  9,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,  9,101,110,100, 10,  9,114,101,116,117,114,110, 32,102,
+    116, 10,101,110,100, 10, 10, 45, 45, 32,114,101,116,117,114,
+    110, 32,116,121,112,101, 32,110, 97,109,101, 58, 32,114,101,
+    116,117,114,110,115, 32,102,117,108,108, 32,116,121,112,101,
+     10,102,117,110, 99,116,105,111,110, 32,116,121,112,101,118,
+     97,114, 40,116,121,112,101, 41, 10,  9,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,116,104,101,
+    110, 10,  9,  9,114,101,116,117,114,110, 32,116,121,112,101,
+     10,  9,101,108,115,101, 10,  9,  9,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,  9,  9,105,102, 32,102,116, 32,116,104,
+    101,110, 10,  9,  9,  9,114,101,116,117,114,110, 32,102,116,
+     10,  9,  9,101,110,100, 10,  9,  9, 95,117,115,101,114,116,
+    121,112,101, 91,116,121,112,101, 93, 32, 61, 32,116,121,112,
+    101, 10,  9,  9,114,101,116,117,114,110, 32,116,121,112,101,
+     10,  9,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+    104,101, 99,107, 32,105,102, 32, 98, 97,115,105, 99, 32,116,
+    121,112,101, 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, 32,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, 32,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, 39, 39,
+     44, 32,116, 41, 10, 32,108,111, 99, 97,108, 32, 98, 32, 61,
+     32, 95, 98, 97,115,105, 99, 91,116, 93, 10, 32,105,102, 32,
+     98, 32,116,104,101,110, 10, 32, 32,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, 32,101,110,100, 10, 32,114,101,116,117,114,
+    110, 32,110,105,108, 10,101,110,100, 10, 10, 45, 45, 32,115,
+    112,108,105,116, 32,115,116,114,105,110,103, 32,117,115,105,
+    110,103, 32, 97, 32,116,111,107,101,110, 10,102,117,110, 99,
+    116,105,111,110, 32,115,112,108,105,116, 32, 40,115, 44,116,
+     41, 10, 32,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110,
+     61, 48,125, 10, 32,108,111, 99, 97,108, 32,102, 32, 61, 32,
+    102,117,110, 99,116,105,111,110, 32, 40,115, 41, 10, 32, 32,
+    108, 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10, 32,
+     32,108, 91,108, 46,110, 93, 32, 61, 32,115, 10, 32, 32,114,
+    101,116,117,114,110, 32, 34, 34, 10, 32,101,110,100, 10, 32,
+    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, 32,115, 32, 61, 32,103,115,117, 98, 40,115, 44,
+     34, 94, 37,115, 43, 34, 44, 34, 34, 41, 10, 32,115, 32, 61,
+     32,103,115,117, 98, 40,115, 44, 34, 37,115, 43, 36, 34, 44,
+     34, 34, 41, 10, 32,115, 32, 61, 32,103,115,117, 98, 40,115,
+     44,112, 44,102, 41, 10, 32,108, 46,110, 32, 61, 32,108, 46,
+    110, 32, 43, 32, 49, 10, 32,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, 32,114,101,116,117,114,110,
+     32,108, 10,101,110,100, 10, 10, 45, 45, 32,115,112,108,105,
+    116,115, 32, 97, 32,115,116,114,105,110,103, 32,117,115,105,
+    110,103, 32, 97, 32,112, 97,116,116,101,114,110, 44, 32, 99,
+    111,110,115,105,100,101,114,105,110,103, 32,116,104,101, 32,
+    115,112, 97, 99,105, 97,108, 32, 99, 97,115,101,115, 32,111,
+    102, 32, 67, 32, 99,111,100,101, 32, 40,116,101,109,112,108,
+     97,116,101,115, 44, 32,102,117,110, 99,116,105,111,110, 32,
+    112, 97,114, 97,109,101,116,101,114,115, 44, 32,101,116, 99,
+     41, 10, 45, 45, 32,112, 97,116,116,101,114,110, 32, 99, 97,
+    110, 39,116, 32, 99,111,110,116, 97,105,110, 32,116,104,101,
+     32, 39, 94, 39, 32, 40, 97,115, 32,117,115,101,100, 32,116,
+    111, 32,105,100,101,110,116,105,102,121, 32,116,104,101, 32,
+     98,101,103,105,110,105,110,103, 32,111,102, 32,116,104,101,
+     32,108,105,110,101, 41, 10, 45, 45, 32, 97,108,115,111, 32,
+    115,116,114,105,112,115, 32,119,104,105,116,101,115,112, 97,
+     99,101, 10,102,117,110, 99,116,105,111,110, 32,115,112,108,
+    105,116, 95, 99, 95,116,111,107,101,110,115, 40,115, 44, 32,
+    112, 97,116, 41, 10, 10,  9,115, 32, 61, 32,115,116,114,105,
+    110,103, 46,103,115,117, 98, 40,115, 44, 32, 34, 94, 37,115,
+     42, 34, 44, 32, 34, 34, 41, 10,  9,115, 32, 61, 32,115,116,
+    114,105,110,103, 46,103,115,117, 98, 40,115, 44, 32, 34, 37,
+    115, 42, 36, 34, 44, 32, 34, 34, 41, 10, 10,  9,108,111, 99,
+     97,108, 32,116,111,107,101,110, 95, 98,101,103,105,110, 32,
+     61, 32, 49, 10,  9,108,111, 99, 97,108, 32,116,111,107,101,
+    110, 95,101,110,100, 32, 61, 32, 49, 10,  9,108,111, 99, 97,
+    108, 32,111,102,115, 32, 61, 32, 49, 10,  9,108,111, 99, 97,
+    108, 32,114,101,116, 32, 61, 32,123,110, 61, 48,125, 10, 10,
+      9,102,117,110, 99,116,105,111,110, 32, 97,100,100, 95,116,
+    111,107,101,110, 40,111,102,115, 41, 10, 10,  9,  9,108,111,
+     99, 97,108, 32,116, 32, 61, 32,115,116,114,105,110,103, 46,
+    115,117, 98, 40,115, 44, 32,116,111,107,101,110, 95, 98,101,
+    103,105,110, 44, 32,111,102,115, 41, 10,  9,  9,116, 32, 61,
+     32,115,116,114,105,110,103, 46,103,115,117, 98, 40,116, 44,
+     32, 34, 94, 37,115, 42, 34, 44, 32, 34, 34, 41, 10,  9,  9,
+    116, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98,
+     40,116, 44, 32, 34, 37,115, 42, 36, 34, 44, 32, 34, 34, 41,
+     10,  9,  9,114,101,116, 46,110, 32, 61, 32,114,101,116, 46,
+    110, 32, 43, 32, 49, 10,  9,  9,114,101,116, 91,114,101,116,
+     46,110, 93, 32, 61, 32,116, 10,  9,101,110,100, 10, 10,  9,
+    119,104,105,108,101, 32,111,102,115, 32, 60, 61, 32,115,116,
+    114,105,110,103, 46,108,101,110, 40,115, 41, 32,100,111, 10,
+     10,  9,  9,108,111, 99, 97,108, 32,115,117, 98, 32, 61, 32,
+    115,116,114,105,110,103, 46,115,117, 98, 40,115, 44, 32,111,
+    102,115, 44, 32, 45, 49, 41, 10,  9,  9,108,111, 99, 97,108,
+     32, 98, 44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,
+    105,110,100, 40,115,117, 98, 44, 32, 34, 94, 34, 46, 46,112,
+     97,116, 41, 10,  9,  9,105,102, 32, 98, 32,116,104,101,110,
+     10,  9,  9,  9, 97,100,100, 95,116,111,107,101,110, 40,111,
+    102,115, 45, 49, 41, 10,  9,  9,  9,111,102,115, 32, 61, 32,
+    111,102,115, 43,101, 10,  9,  9,  9,116,111,107,101,110, 95,
+     98,101,103,105,110, 32, 61, 32,111,102,115, 10,  9,  9,101,
+    108,115,101, 10,  9,  9,  9,108,111, 99, 97,108, 32, 99,104,
+     97,114, 32, 61, 32,115,116,114,105,110,103, 46,115,117, 98,
+     40,115, 44, 32,111,102,115, 44, 32,111,102,115, 41, 10,  9,
+      9,  9,105,102, 32, 99,104, 97,114, 32, 61, 61, 32, 34, 40,
+     34, 32,111,114, 32, 99,104, 97,114, 32, 61, 61, 32, 34, 60,
+     34, 32,116,104,101,110, 10, 10,  9,  9,  9,  9,108,111, 99,
+     97,108, 32, 98,108,111, 99,107, 10,  9,  9,  9,  9,105,102,
+     32, 99,104, 97,114, 32, 61, 61, 32, 34, 40, 34, 32,116,104,
+    101,110, 32, 98,108,111, 99,107, 32, 61, 32, 34, 94, 37, 98,
+     40, 41, 34, 32,101,110,100, 10,  9,  9,  9,  9,105,102, 32,
+     99,104, 97,114, 32, 61, 61, 32, 34, 60, 34, 32,116,104,101,
+    110, 32, 98,108,111, 99,107, 32, 61, 32, 34, 94, 37, 98, 60,
+     62, 34, 32,101,110,100, 10, 10,  9,  9,  9,  9, 98, 44,101,
+     32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+    115,117, 98, 44, 32, 98,108,111, 99,107, 41, 10,  9,  9,  9,
+      9,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10,
+      9,  9,  9,  9,  9, 45, 45, 32,117,110,116,101,114,109,105,
+    110, 97,116,101,100, 32, 98,108,111, 99,107, 63, 10,  9,  9,
+      9,  9,  9,111,102,115, 32, 61, 32,111,102,115, 43, 49, 10,
+      9,  9,  9,  9,101,108,115,101, 10,  9,  9,  9,  9,  9,111,
+    102,115, 32, 61, 32,111,102,115, 32, 43, 32,101, 10,  9,  9,
+      9,  9,101,110,100, 10, 10,  9,  9,  9,101,108,115,101, 10,
+      9,  9,  9,  9,111,102,115, 32, 61, 32,111,102,115, 43, 49,
+     10,  9,  9,  9,101,110,100, 10,  9,  9,101,110,100, 10, 10,
+      9,101,110,100, 10,  9, 97,100,100, 95,116,111,107,101,110,
+     40,111,102,115, 41, 10,  9, 45, 45,105,102, 32,114,101,116,
+     46,110, 32, 61, 61, 32, 48, 32,116,104,101,110, 10, 10,  9,
+     45, 45,  9,114,101,116, 46,110, 61, 49, 10,  9, 45, 45,  9,
+    114,101,116, 91, 49, 93, 32, 61, 32, 34, 34, 10,  9, 45, 45,
+    101,110,100, 10, 10,  9,114,101,116,117,114,110, 32,114,101,
+    116, 10, 10,101,110,100, 10, 10, 45, 45, 32, 99,111,110, 99,
+     97,116,101,110, 97,116,101, 32,115,116,114,105,110,103,115,
+     32,111,102, 32, 97, 32,116, 97, 98,108,101, 10,102,117,110,
+     99,116,105,111,110, 32, 99,111,110, 99, 97,116, 32, 40,116,
+     44,102, 44,108, 44,106,115,116,114, 41, 10,  9,106,115,116,
+    114, 32, 61, 32,106,115,116,114, 32,111,114, 32, 34, 32, 34,
+     10, 32,108,111, 99, 97,108, 32,115, 32, 61, 32, 39, 39, 10,
+     32,108,111, 99, 97,108, 32,105, 61,102, 10, 32,119,104,105,
+    108,101, 32,105, 60, 61,108, 32,100,111, 10, 32, 32,115, 32,
+     61, 32,115, 46, 46,116, 91,105, 93, 10, 32, 32,105, 32, 61,
+     32,105, 43, 49, 10, 32, 32,105,102, 32,105, 32, 60, 61, 32,
+    108, 32,116,104,101,110, 32,115, 32, 61, 32,115, 46, 46,106,
+    115,116,114, 32,101,110,100, 10, 32,101,110,100, 10, 32,114,
+    101,116,117,114,110, 32,115, 10,101,110,100, 10, 10, 45, 45,
+     32, 99,111,110, 99, 97,116,101,110, 97,116,101, 32, 97,108,
+    108, 32,112, 97,114, 97,109,101,116,101,114,115, 44, 32,102,
+    111,108,108,111,119,105,110,103, 32,111,117,116,112,117,116,
+     32,114,117,108,101,115, 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, 32,108,111, 99, 97,
+    108, 32,105, 61, 49, 10, 32,119,104,105,108,101, 32,105, 60,
+     61, 97,114,103, 46,110, 32,100,111, 10, 32, 32,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, 32, 32, 32,
+     32, 32,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,  9, 32, 32, 32, 32,108,105,110,101, 32, 61, 32,
+    108,105,110,101, 32, 46, 46, 32, 39, 32, 39, 10, 32, 32,101,
+    110,100, 10, 32, 32,108,105,110,101, 32, 61, 32,108,105,110,
+    101, 32, 46, 46, 32, 97,114,103, 91,105, 93, 10, 32, 32,105,
+    102, 32, 97,114,103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,
+    116,104,101,110, 10, 32, 32, 32, 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, 32, 32,101,110,100, 10, 32, 32,
+    105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,105,
+    102, 32,115,116,114,102,105,110,100, 40, 97,114,103, 91, 97,
+    114,103, 46,110, 93, 44, 34, 91, 37, 47, 37, 41, 37, 59, 37,
+    123, 37,125, 93, 36, 34, 41, 32,116,104,101,110, 10, 32, 32,
+     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,
+     32,101,110,100, 10,  9,114,101,116,117,114,110, 32,108,105,
+    110,101, 10,101,110,100, 10, 10, 45, 45, 32,111,117,116,112,
+    117,116, 32,108,105,110,101, 10,102,117,110, 99,116,105,111,
+    110, 32,111,117,116,112,117,116, 32, 40, 46, 46, 46, 41, 10,
+     32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,
+    108,101, 32,105, 60, 61, 97,114,103, 46,110, 32,100,111, 10,
+     32, 32,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, 32, 32, 32, 32, 32,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,  9, 32, 32, 32, 32,119,114,
+    105,116,101, 40, 39, 32, 39, 41, 10, 32, 32,101,110,100, 10,
+     32, 32,119,114,105,116,101, 40, 97,114,103, 91,105, 93, 41,
+     10, 32, 32,105,102, 32, 97,114,103, 91,105, 93, 32,126, 61,
+     32, 39, 39, 32,116,104,101,110, 10, 32, 32, 32, 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, 32, 32,101,110,
+    100, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,
+    100, 10, 32,105,102, 32,115,116,114,102,105,110,100, 40, 97,
+    114,103, 91, 97,114,103, 46,110, 93, 44, 34, 91, 37, 47, 37,
+     41, 37, 59, 37,123, 37,125, 93, 36, 34, 41, 32,116,104,101,
+    110, 10, 32, 32, 95, 99,111,110,116, 61,110,105,108, 32,119,
+    114,105,116,101, 40, 39, 92,110, 39, 41, 10, 32,101,110,100,
+     10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,
+    103,101,116, 95,112,114,111,112,101,114,116,121, 95,109,101,
+    116,104,111,100,115, 40,112,116,121,112,101, 44, 32,110, 97,
+    109,101, 41, 10, 10,  9,105,102, 32,103,101,116, 95,112,114,
+    111,112,101,114,116,121, 95,109,101,116,104,111,100,115, 95,
+    104,111,111,107, 32, 97,110,100, 32,103,101,116, 95,112,114,
+    111,112,101,114,116,121, 95,109,101,116,104,111,100,115, 95,
+    104,111,111,107, 40,112,116,121,112,101, 44,110, 97,109,101,
+     41, 32,116,104,101,110, 10,  9,  9,114,101,116,117,114,110,
+     32,103,101,116, 95,112,114,111,112,101,114,116,121, 95,109,
+    101,116,104,111,100,115, 95,104,111,111,107, 40,112,116,121,
+    112,101, 44, 32,110, 97,109,101, 41, 10,  9,101,110,100, 10,
+     10,  9,105,102, 32,112,116,121,112,101, 32, 61, 61, 32, 34,
+    100,101,102, 97,117,108,116, 34, 32,116,104,101,110, 32, 45,
+     45, 32,103,101,116, 95,110, 97,109,101, 44, 32,115,101,116,
+     95,110, 97,109,101, 10,  9,  9,114,101,116,117,114,110, 32,
+     34,103,101,116, 95, 34, 46, 46,110, 97,109,101, 44, 32, 34,
+    115,101,116, 95, 34, 46, 46,110, 97,109,101, 10,  9,101,110,
+    100, 10, 10,  9,105,102, 32,112,116,121,112,101, 32, 61, 61,
+     32, 34,113,116, 34, 32,116,104,101,110, 32, 45, 45, 32,110,
+     97,109,101, 44, 32,115,101,116, 78, 97,109,101, 10,  9,  9,
+    114,101,116,117,114,110, 32,110, 97,109,101, 44, 32, 34,115,
+    101,116, 34, 46, 46,115,116,114,105,110,103, 46,117,112,112,
+    101,114, 40,115,116,114,105,110,103, 46,115,117, 98, 40,110,
+     97,109,101, 44, 32, 49, 44, 32, 49, 41, 41, 46, 46,115,116,
+    114,105,110,103, 46,115,117, 98, 40,110, 97,109,101, 44, 32,
+     50, 44, 32, 45, 49, 41, 10,  9,101,110,100, 10, 10,  9,105,
+    102, 32,112,116,121,112,101, 32, 61, 61, 32, 34,111,118,101,
+    114,108,111, 97,100, 34, 32,116,104,101,110, 32, 45, 45, 32,
+    110, 97,109,101, 44, 32,110, 97,109,101, 10,  9,  9,114,101,
+    116,117,114,110, 32,110, 97,109,101, 44,110, 97,109,101, 10,
+      9,101,110,100, 10, 10,  9,114,101,116,117,114,110, 32,110,
+    105,108, 10,101,110,100, 10, 10, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 32,116,104,101, 32,104,111,111,
+    107,115, 10, 10, 45, 45, 32, 99, 97,108,108,101,100, 32,114,
+    105,103,104,116, 32, 97,102,116,101,114, 32,112,114,111, 99,
+    101,115,115,105,110,103, 32,116,104,101, 32, 36, 91,105, 99,
+    104,108, 93,102,105,108,101, 32,100,105,114,101, 99,116,105,
+    118,101,115, 44, 10, 45, 45, 32,114,105,103,104,116, 32, 98,
+    101,102,111,114,101, 32,112,114,111, 99,101,115,115,105,110,
+    103, 32, 97,110,121,116,104,105,110,103, 32,101,108,115,101,
+     10, 45, 45, 32,116, 97,107,101,115, 32,116,104,101, 32,112,
+     97, 99,107, 97,103,101, 32,111, 98,106,101, 99,116, 32, 97,
+    115, 32,116,104,101, 32,112, 97,114, 97,109,101,116,101,114,
+     10,102,117,110, 99,116,105,111,110, 32,112,114,101,112,114,
+    111, 99,101,115,115, 95,104,111,111,107, 40,112, 41, 10,  9,
+     45, 45, 32,112, 46, 99,111,100,101, 32,104, 97,115, 32, 97,
+    108,108, 32,116,104,101, 32,105,110,112,117,116, 32, 99,111,
+    100,101, 32,102,114,111,109, 32,116,104,101, 32,112,107,103,
+     10,101,110,100, 10, 10, 10, 45, 45, 32, 99, 97,108,108,101,
+    100, 32,102,111,114, 32,101,118,101,114,121, 32, 36,105,102,
+    105,108,101, 32,100,105,114,101, 99,116,105,118,101, 10, 45,
+     45, 32,116, 97,107,101,115, 32, 97, 32,116, 97, 98,108,101,
+     32,119,105,116,104, 32, 97, 32,115,116,114,105,110,103, 32,
+     99, 97,108,108,101,100, 32, 39, 99,111,100,101, 39, 32,105,
+    110,115,105,100,101, 44, 32,116,104,101, 32,102,105,108,101,
+    110, 97,109,101, 44, 32, 97,110,100, 32, 97,110,121, 32,101,
+    120,116,114, 97, 32, 97,114,103,117,109,101,110,116,115, 10,
+     45, 45, 32,112, 97,115,115,101,100, 32,116,111, 32, 36,105,
+    102,105,108,101, 46, 32,110,111, 32,114,101,116,117,114,110,
+     32,118, 97,108,117,101, 10,102,117,110, 99,116,105,111,110,
+     32,105,110, 99,108,117,100,101, 95,102,105,108,101, 95,104,
+    111,111,107, 40,116, 44, 32,102,105,108,101,110, 97,109,101,
+     44, 32, 46, 46, 46, 41, 10, 10,101,110,100, 10, 10, 45, 45,
+     32, 99, 97,108,108,101,100, 32, 97,102,116,101,114, 32,112,
+    114,111, 99,101,115,115,105,110,103, 32, 97,110,121,116,104,
+    105,110,103, 32,116,104, 97,116, 39,115, 32,110,111,116, 32,
+     99,111,100,101, 32, 40,108,105,107,101, 32, 39, 36,114,101,
+    110, 97,109,105,110,103, 39, 44, 32, 99,111,109,109,101,110,
+    116,115, 44, 32,101,116, 99, 41, 10, 45, 45, 32, 97,110,100,
+     32,114,105,103,104,116, 32, 98,101,102,111,114,101, 32,112,
+     97,114,115,105,110,103, 32,116,104,101, 32, 97, 99,116,117,
+     97,108, 32, 99,111,100,101, 46, 10, 45, 45, 32,116, 97,107,
+    101,115, 32,116,104,101, 32, 80, 97, 99,107, 97,103,101, 32,
+    111, 98,106,101, 99,116, 32,119,105,116,104, 32, 97,108,108,
+     32,116,104,101, 32, 99,111,100,101, 32,111,110, 32,116,104,
+    101, 32, 39, 99,111,100,101, 39, 32,107,101,121, 46, 32,110,
+    111, 32,114,101,116,117,114,110, 32,118, 97,108,117,101, 10,
+    102,117,110, 99,116,105,111,110, 32,112,114,101,112, 97,114,
+    115,101, 95,104,111,111,107, 40,112, 97, 99,107, 97,103,101,
+     41, 10, 10,101,110,100, 10, 10, 10, 45, 45, 32, 99, 97,108,
+    108,101,100, 32, 97,102,116,101,114, 32,119,114,105,116,105,
+    110,103, 32, 97,108,108, 32,116,104,101, 32,111,117,116,112,
+    117,116, 46, 10, 45, 45, 32,116, 97,107,101,115, 32,116,104,
+    101, 32, 80, 97, 99,107, 97,103,101, 32,111, 98,106,101, 99,
+    116, 10,102,117,110, 99,116,105,111,110, 32,112,111,115,116,
+     95,111,117,116,112,117,116, 95,104,111,111,107, 40,112, 97,
+     99,107, 97,103,101, 41, 10, 10,101,110,100, 10, 10, 10, 45,
+     45, 32, 99, 97,108,108,101,100, 32,102,114,111,109, 32, 39,
+    103,101,116, 95,112,114,111,112,101,114,116,121, 95,109,101,
+    116,104,111,100,115, 39, 32,116,111, 32,103,101,116, 32,116,
+    104,101, 32,109,101,116,104,111,100,115, 32,116,111, 32,114,
+    101,116,114,105,101,118,101, 32, 97, 32,112,114,111,112,101,
+    114,116,121, 10, 45, 45, 32, 97, 99, 99,111,114,100,105,110,
+    103, 32,116,111, 32,105,116,115, 32,116,121,112,101, 10,102,
+    117,110, 99,116,105,111,110, 32,103,101,116, 95,112,114,111,
+    112,101,114,116,121, 95,109,101,116,104,111,100,115, 95,104,
+    111,111,107, 40,112,114,111,112,101,114,116,121, 95,116,121,
+    112,101, 44, 32,110, 97,109,101, 41, 10, 10,101,110,100, 10,
+     10, 45, 45, 32, 99, 97,108,108,101,100, 32,102,114,111,109,
+     32, 67,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
+     58,100,111,112, 97,114,115,101, 32,119,105,116,104, 32,116,
+    104,101, 32,115,116,114,105,110,103, 32, 98,101,105,110,103,
+     32,112, 97,114,115,101,100, 10, 45, 45, 32,114,101,116,117,
+    114,110, 32,110,105,108, 44, 32,111,114, 32, 97, 32,115,117,
+     98,115,116,114,105,110,103, 10,102,117,110, 99,116,105,111,
+    110, 32,112, 97,114,115,101,114, 95,104,111,111,107, 40,115,
+     41, 10, 10,  9,114,101,116,117,114,110, 32,110,105,108, 10,
+    101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/basic.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32, 97, 98,115,116,114,
+     97, 99,116, 32,102,101, 97,116,117,114,101, 32, 99,108, 97,
+    115,115, 10, 45, 45, 32, 87,114,105,116,116,101,110, 32, 98,
+    121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,101,108,101,
+    115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102, 47, 80, 85,
+     67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108, 32, 49, 57,
+     57, 56, 10, 45, 45, 32, 36, 73,100, 58, 32, 36, 10, 10, 45,
+     45, 32, 84,104,105,115, 32, 99,111,100,101, 32,105,115, 32,
+    102,114,101,101, 32,115,111,102,116,119, 97,114,101, 59, 32,
+    121,111,117, 32, 99, 97,110, 32,114,101,100,105,115,116,114,
+    105, 98,117,116,101, 32,105,116, 32, 97,110,100, 47,111,114,
+     32,109,111,100,105,102,121, 32,105,116, 46, 10, 45, 45, 32,
+     84,104,101, 32,115,111,102,116,119, 97,114,101, 32,112,114,
+    111,118,105,100,101,100, 32,104,101,114,101,117,110,100,101,
+    114, 32,105,115, 32,111,110, 32, 97,110, 32, 34, 97,115, 32,
+    105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,110,100, 10,
+     45, 45, 32,116,104,101, 32, 97,117,116,104,111,114, 32,104,
+     97,115, 32,110,111, 32,111, 98,108,105,103, 97,116,105,111,
+    110, 32,116,111, 32,112,114,111,118,105,100,101, 32,109, 97,
+    105,110,116,101,110, 97,110, 99,101, 44, 32,115,117,112,112,
+    111,114,116, 44, 32,117,112,100, 97,116,101,115, 44, 10, 45,
+     45, 32,101,110,104, 97,110, 99,101,109,101,110,116,115, 44,
+     32,111,114, 32,109,111,100,105,102,105, 99, 97,116,105,111,
+    110,115, 46, 10, 10, 10, 45, 45, 32, 70,101, 97,116,117,114,
+    101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,
+    101,115,101,110,116,115, 32,116,104,101, 32, 98, 97,115,101,
+     32, 99,108, 97,115,115, 32,111,102, 32, 97,108,108, 32,109,
+     97,112,112,101,100, 32,102,101, 97,116,117,114,101, 46, 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, 10, 45, 45, 32,119,
+    114,105,116,101, 32,115,117,112,112,111,114,116, 32, 99,111,
+    100,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, 10, 45, 45, 32,111,
+    117,116,112,117,116, 32,116, 97,103, 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, 10, 45, 45, 32,114,101,103,105,115,116,101,114,
+     32,102,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,114,101,103,105,115,116,101,114, 32, 40,112,114,101, 41,
+     10,101,110,100, 10, 10, 45, 45, 32,116,114, 97,110,115,108,
+     97,116,101, 32,118,101,114, 98, 97,116,105,109, 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, 10, 45, 45, 32, 99,104,101, 99,107,
+     32,105,102, 32,105,116, 32,105,115, 32, 97, 32,118, 97,114,
+    105, 97, 98,108,101, 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, 32,114,101,
+    116,117,114,110, 32,102, 97,108,115,101, 10,101,110,100, 10,
+     10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,105,116,
+     32,114,101,113,117,105,114,101,115, 32, 99,111,108,108,101,
+     99,116,105,111,110, 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, 32,114,101,116,117,114,110, 32,102, 97,
+    108,115,101, 10,101,110,100, 10, 10, 45, 45, 32, 98,117,105,
+    108,100, 32,110, 97,109,101,115, 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,
+     32,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, 32, 32,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, 32, 32,115,101,108,
+    102, 46,110, 97,109,101, 32, 61, 32,110, 91, 49, 93, 10, 32,
+     32,105,102, 32,110,111,116, 32,110, 91, 50, 93, 32,116,104,
+    101,110, 10, 32, 32, 32,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, 32, 32,101,110,100, 10, 32, 32,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, 32, 32,115,101,108,
+    102, 46,111,114,105,103,105,110, 97,108, 95,110, 97,109,101,
+     32, 61, 32,115,101,108,102, 46,110, 97,109,101, 10, 32, 32,
+    115,101,108,102, 46,108,110, 97,109,101, 32, 61, 32, 99,108,
+    101, 97,110, 95,116,101,109,112,108, 97,116,101, 40,115,101,
+    108,102, 46,108,110, 97,109,101, 41, 10, 32,101,110,100, 10,
+     32,105,102, 32,110,111,116, 32,115,101,108,102, 46,105,115,
+     95,112, 97,114, 97,109,101,116,101,114, 32,116,104,101,110,
+     10,  9, 32,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, 32,101,110,100, 10, 10, 32,108,111, 99, 97,108, 32,
+    112, 97,114,101,110,116, 32, 61, 32, 99,108, 97,115,115, 67,
+    111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10, 32,
+    105,102, 32,112, 97,114,101,110,116, 32,116,104,101,110, 10,
+     32,  9,115,101,108,102, 46, 97, 99, 99,101,115,115, 32, 61,
+     32,112, 97,114,101,110,116, 46, 99,117,114,114, 95,109,101,
+    109, 98,101,114, 95, 97, 99, 99,101,115,115, 10, 32,101,108,
+    115,101, 10, 32,101,110,100, 10,101,110,100, 10, 10,102,117,
+    110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,
+    116,117,114,101, 58, 99,104,101, 99,107, 95,112,117, 98,108,
+    105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 10, 10,  9,105,
+    102, 32,115,101,108,102, 46, 97, 99, 99,101,115,115, 32, 97,
+    110,100, 32,115,101,108,102, 46, 97, 99, 99,101,115,115, 32,
+    126, 61, 32, 48, 32,116,104,101,110, 10,  9,  9,114,101,116,
+    117,114,110, 32,102, 97,108,115,101, 10,  9,101,110,100, 10,
+     10,  9,108,111, 99, 97,108, 32,112, 97,114,101,110,116, 32,
+     61, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+    114, 46, 99,117,114,114, 10,  9,119,104,105,108,101, 32,112,
+     97,114,101,110,116, 32,100,111, 10,  9,  9,105,102, 32,112,
+     97,114,101,110,116, 46, 97, 99, 99,101,115,115, 32, 97,110,
+    100, 32,112, 97,114,101,110,116, 46, 97, 99, 99,101,115,115,
+     32,126, 61, 32, 48, 32,116,104,101,110, 10,  9,  9,  9,114,
+    101,116,117,114,110, 32,102, 97,108,115,101, 10,  9,  9,101,
+    110,100, 10,  9,  9,112, 97,114,101,110,116, 32, 61, 32,112,
+     97,114,101,110,116, 46,112,114,111,120, 10,  9,101,110,100,
+     10,  9,114,101,116,117,114,110, 32,116,114,117,101, 10,101,
+    110,100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
+    101, 97,110, 95,116,101,109,112,108, 97,116,101, 40,116, 41,
+     10, 10,  9,114,101,116,117,114,110, 32,115,116,114,105,110,
+    103, 46,103,115,117, 98, 40,116, 44, 32, 34, 91, 60, 62, 58,
+     44, 32, 37, 42, 93, 34, 44, 32, 34, 95, 34, 41, 10,101,110,
+    100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
+    102,101, 97,116,117,114,101, 32,105,115, 32,105,110,115,105,
+    100,101, 32, 97, 32, 99,111,110,116, 97,105,110,101,114, 32,
+    100,101,102,105,110,105,116,105,111,110, 10, 45, 45, 32,105,
+    116, 32,114,101,116,117,114,110,115, 32,116,104,101, 32, 99,
+    111,110,116, 97,105,110,101,114, 32, 99,108, 97,115,115, 32,
+    110, 97,109,101, 32,111,114, 32,110,105,108, 46, 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, 32,105,102, 32,115,
+    101,108,102, 46,112, 97,114,101,110,116, 32,116,104,101,110,
+     10, 32, 32,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,
+     32, 32,119,104,105,108,101, 32,112, 97,114,101,110,116, 32,
+    100,111, 10, 32, 32, 32,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, 32, 32, 32, 32,114,
+    101,116,117,114,110, 32,112, 97,114,101,110,116, 46,110, 97,
+    109,101, 10, 32, 32, 32,101,110,100, 10, 32, 32, 32,112, 97,
+    114,101,110,116, 32, 61, 32,112, 97,114,101,110,116, 46,112,
+     97,114,101,110,116, 10, 32, 32,101,110,100, 10, 32,101,110,
+    100, 10, 32,114,101,116,117,114,110, 32,110,105,108, 10,101,
+    110,100, 10, 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, 32,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,
+     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, 32,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, 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, 32,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, 10, 45, 45, 32,114,101,116,117,114,110, 32,
+     67, 32, 98,105,110,100,105,110,103, 32,102,117,110, 99,116,
+    105,111,110, 32,110, 97,109,101, 32, 98, 97,115,101,100, 32,
+    111,110, 32,110, 97,109,101, 10, 45, 45, 32,116,104,101, 32,
+     99,108,105,101,110,116, 32,115,112,101, 99,105,102,105,101,
+    115, 32, 97, 32,112,114,101,102,105,120, 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, 10, 32,105,102, 32,115,101,108,102, 46,112, 97,114,
+    101,110,116, 32,116,104,101,110, 10, 32, 32,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, 32,101,110,100, 10,
+     10, 32, 32,110, 32, 61, 32,115,116,114,105,110,103, 46,103,
+    115,117, 98, 40,110, 46, 46, 39, 95, 39, 46, 46, 32, 40,115,
+    101,108,102, 46,108,110, 97,109,101, 32,111,114, 32,115,101,
+    108,102, 46,110, 97,109,101, 41, 44, 32, 34, 91, 60, 62, 58,
+     44, 32, 92, 46, 37, 42, 38, 93, 34, 44, 32, 34, 95, 34, 41,
+     10, 10, 32, 32,114,101,116,117,114,110, 32,110, 10,101,110,
+    100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/feature.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,118,101,114, 98, 97,
+    116,105,109, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+    105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+     97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+     71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+     32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+    100, 58, 32,118,101,114, 98, 97,116,105,109, 46,108,117, 97,
+     44,118, 32, 49, 46, 51, 32, 50, 48, 48, 48, 47, 48, 49, 47,
+     50, 52, 32, 50, 48, 58, 52, 49, 58, 49, 54, 32, 99,101,108,
+    101,115, 32, 69,120,112, 32, 36, 10, 10, 45, 45, 32, 84,104,
+    105,115, 32, 99,111,100,101, 32,105,115, 32,102,114,101,101,
+     32,115,111,102,116,119, 97,114,101, 59, 32,121,111,117, 32,
+     99, 97,110, 32,114,101,100,105,115,116,114,105, 98,117,116,
+    101, 32,105,116, 32, 97,110,100, 47,111,114, 32,109,111,100,
+    105,102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,
+    115,111,102,116,119, 97,114,101, 32,112,114,111,118,105,100,
+    101,100, 32,104,101,114,101,117,110,100,101,114, 32,105,115,
+     32,111,110, 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32,
+     98, 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,
+    104,101, 32, 97,117,116,104,111,114, 32,104, 97,115, 32,110,
+    111, 32,111, 98,108,105,103, 97,116,105,111,110, 32,116,111,
+     32,112,114,111,118,105,100,101, 32,109, 97,105,110,116,101,
+    110, 97,110, 99,101, 44, 32,115,117,112,112,111,114,116, 44,
+     32,117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,
+    104, 97,110, 99,101,109,101,110,116,115, 44, 32,111,114, 32,
+    109,111,100,105,102,105, 99, 97,116,105,111,110,115, 46, 10,
+     10, 10, 10, 45, 45, 32, 86,101,114, 98, 97,116,105,109, 32,
+     99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,101,115,
+    101,110,116,115, 32, 97, 32,108,105,110,101, 32,116,114, 97,
+    110,115,108, 97,116,101,100, 32,100,105,114,101, 99,116,101,
+    100, 32,116,111, 32,116,104,101, 32, 98,105,110,100,105,110,
+    103, 32,102,105,108,101, 46, 10, 45, 45, 32, 84,104,101, 32,
+    102,111,108,108,111,119,105,110,103, 32,102,105,108,100,115,
+     32, 97,114,101, 32,115,116,111,114,101,100, 58, 10, 45, 45,
+     32, 32, 32,108,105,110,101, 32, 61, 32,108,105,110,101, 32,
+    116,101,120,116, 10, 99,108, 97,115,115, 86,101,114, 98, 97,
+    116,105,109, 32, 61, 32,123, 10, 32,108,105,110,101, 32, 61,
+     32, 39, 39, 44, 10,  9, 99,111,110,100, 32, 61, 32,110,105,
+    108, 44, 32, 32, 32, 32, 45, 45, 32, 99,111,110,100,105,116,
+    105,111,110, 58, 32,119,104,101,114,101, 32,116,111, 32,103,
+    101,110,101,114, 97,116,101, 32,116,104,101, 32, 99,111,100,
+    101, 32, 40,115, 61,115,117,112,111,114,116, 44, 32,114, 61,
+    114,101,103,105,115,116,101,114, 41, 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, 10, 45, 45, 32,112,114,101, 97,109, 98,108,101, 32,118,
+    101,114, 98, 97,116,105,109, 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, 32,105,
+    102, 32,115,101,108,102, 46, 99,111,110,100, 32, 61, 61, 32,
+     39, 39, 32,116,104,101,110, 10, 32, 32,119,114,105,116,101,
+     40,115,101,108,102, 46,108,105,110,101, 41, 10, 32,101,110,
+    100, 10,101,110,100, 10, 10, 45, 45, 32,115,117,112,112,111,
+    114,116, 32, 99,111,100,101, 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, 32,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, 32,
+     32,119,114,105,116,101, 40,115,101,108,102, 46,108,105,110,
+    101, 41, 10, 32, 32,119,114,105,116,101, 40, 39, 92,110, 39,
+     41, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+    114,101,103,105,115,116,101,114, 32, 99,111,100,101, 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,112,114,101, 41, 10, 32,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, 32, 32,119,114,105,116,
+    101, 40,115,101,108,102, 46,108,105,110,101, 41, 10, 32,101,
+    110,100, 10,101,110,100, 10, 10, 10, 45, 45, 32, 80,114,105,
+    110,116, 32,109,101,116,104,111,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, 32,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, 32,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, 32,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, 10, 10, 45, 45, 32, 73,110,116,101,114,110,
+     97,108, 32, 99,111,110,115,116,114,117, 99,116,111,114, 10,
+    102,117,110, 99,116,105,111,110, 32, 95, 86,101,114, 98, 97,
+    116,105,109, 32, 40,116, 41, 10, 32,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, 32, 97,112,112,101,110,
+    100, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,116, 10,
+    101,110,100, 10, 10, 45, 45, 32, 67,111,110,115,116,114,117,
+     99,116,111,114, 10, 45, 45, 32, 69,120,112,101, 99,116,115,
+     32, 97, 32,115,116,114,105,110,103, 32,114,101,112,114,101,
+    115,101,110,116,105,110,103, 32,116,104,101, 32,116,101,120,
+    116, 32,108,105,110,101, 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, 32,105,102, 32,115,116,114,115,117, 98, 40,
+    108, 44, 49, 44, 49, 41, 32, 61, 61, 32, 34, 39, 34, 32,116,
+    104,101,110, 10, 32, 32,108, 32, 61, 32,115,116,114,115,117,
+     98, 40,108, 44, 50, 41, 10, 32,101,108,115,101,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, 32, 32, 99,111,
+    110,100, 32, 61, 32, 39,115,114, 39, 32, 32, 32, 32, 32, 32,
+     32, 45, 45, 32,103,101,110,101,114, 97,116,101,115, 32,105,
+    110, 32, 98,111,116,104, 32,115,117,112,111,114,116, 32, 97,
+    110,100, 32,114,101,103,105,115,116,101,114, 32,102,114, 97,
+    103,109,101,110,116,115, 10, 32, 32,108, 32, 61, 32,115,116,
+    114,115,117, 98, 40,108, 44, 50, 41, 10, 32,101,110,100, 10,
+     32,114,101,116,117,114,110, 32, 95, 86,101,114, 98, 97,116,
+    105,109, 32,123, 10, 32, 32,108,105,110,101, 32, 61, 32,108,
+     44, 10, 32, 32, 99,111,110,100, 32, 61, 32, 99,111,110,100,
+     32,111,114, 32, 39, 39, 44, 10, 32,125, 10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/verbatim.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32, 99,111,100,101, 32,
+     99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,101,
+    110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,
+    101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102,
+     47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108,
+     32, 49, 57, 57, 57, 10, 45, 45, 32, 36, 73,100, 58, 32, 36,
+     10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,
+    105,115, 32,102,114,101,101, 32,115,111,102,116,119, 97,114,
+    101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,105,
+    115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,100,
+     47,111,114, 32,109,111,100,105,102,121, 32,105,116, 46, 10,
+     45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,101,
+     32,112,114,111,118,105,100,101,100, 32,104,101,114,101,117,
+    110,100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32, 34,
+     97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,
+    110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,111,
+    114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103, 97,
+    116,105,111,110, 32,116,111, 32,112,114,111,118,105,100,101,
+     32,109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,115,
+    117,112,112,111,114,116, 44, 32,117,112,100, 97,116,101,115,
+     44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,110,
+    116,115, 44, 32,111,114, 32,109,111,100,105,102,105, 99, 97,
+    116,105,111,110,115, 46, 10, 10, 45, 45, 32,103,108,111, 98,
+     97,108, 10, 99,111,100,101, 95,110, 32, 61, 32, 49, 10, 10,
+     45, 45, 32, 67,111,100,101, 32, 99,108, 97,115,115, 10, 45,
+     45, 32, 82,101,112,114,101,115,101,110,116,115, 32, 76,117,
+     97, 32, 99,111,100,101, 32,116,111, 32, 98,101, 32, 99,111,
+    109,112,105,108,101,100, 32, 97,110,100, 32,105,110, 99,108,
+    117,100,101,100, 10, 45, 45, 32,105,110, 32,116,104,101, 32,
+    105,110,105,116,105, 97,108,105,122, 97,116,105,111,110, 32,
+    102,117,110, 99,116,105,111,110, 46, 10, 45, 45, 32, 84,104,
+    101, 32,102,111,108,108,111,119,105,110,103, 32,102,105,101,
+    108,100,115, 32, 97,114,101, 32,115,116,111,114,101,100, 58,
+     10, 45, 45, 32, 32, 32,116,101,120,116, 32, 61, 32,116,101,
+    120,116, 32, 99,111,100,101, 10, 99,108, 97,115,115, 67,111,
+    100,101, 32, 61, 32,123, 10, 32,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, 10, 45,
+     45, 32,114,101,103,105,115,116,101,114, 32, 99,111,100,101,
+     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,
+    112,114,101, 41, 10, 32,112,114,101, 32, 61, 32,112,114,101,
+     32,111,114, 32, 39, 39, 10, 32, 45, 45, 32, 99,108,101, 97,
+    110, 32, 76,117, 97, 32, 99,111,100,101, 10, 32,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, 32,105,102, 32,110,111,
+    116, 32,115, 32,116,104,101,110, 10, 32, 32, 45, 45,112,114,
+    105,110,116, 40,115,101,108,102, 46,116,101,120,116, 41, 10,
+     32, 32,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, 32,101,110,100,
+     10, 10, 32, 45, 45, 32,103,101,116, 32,102,105,114,115,116,
+     32,108,105,110,101, 10, 32,108,111, 99, 97,108, 32, 95, 44,
+     32, 95, 44, 32,102,105,114,115,116, 95,108,105,110,101, 61,
+    115,116,114,105,110,103, 46,102,105,110,100, 40,115,101,108,
+    102, 46,116,101,120,116, 44, 32, 34, 94, 40, 91, 94, 92,110,
+     92,114, 93, 42, 41, 34, 41, 10, 32,105,102, 32,115,116,114,
+    105,110,103, 46,102,105,110,100, 40,102,105,114,115,116, 95,
+    108,105,110,101, 44, 32, 34, 94, 37,115, 42, 37, 45, 37, 45,
+     34, 41, 32,116,104,101,110, 10,  9, 32,105,102, 32,115,116,
+    114,105,110,103, 46,102,105,110,100, 40,102,105,114,115,116,
+     95,108,105,110,101, 44, 32, 34, 94, 37, 45, 37, 45, 35, 35,
+     34, 41, 32,116,104,101,110, 10,  9,  9,102,105,114,115,116,
+     95,108,105,110,101, 32, 61, 32,115,116,114,105,110,103, 46,
+    103,115,117, 98, 40,102,105,114,115,116, 95,108,105,110,101,
+     44, 32, 34, 94, 37, 45, 37, 45, 35, 35, 34, 44, 32, 34, 34,
+     41, 10,  9,  9,105,102, 32,102,108, 97,103,115, 91, 39, 67,
+     39, 93, 32,116,104,101,110, 10,  9,  9,  9,115, 32, 61, 32,
+    115,116,114,105,110,103, 46,103,115,117, 98, 40,115, 44, 32,
+     34, 94, 37, 45, 37, 45, 35, 35, 91, 94, 92,110, 92,114, 93,
+     42, 92,110, 34, 44, 32, 34, 34, 41, 10,  9,  9,101,110,100,
+     10,  9, 32,101,110,100, 10, 32,101,108,115,101, 10, 32,  9,
+    102,105,114,115,116, 95,108,105,110,101, 32, 61, 32, 34, 34,
+     10, 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,111,110,118,
+    101,114,116, 32,116,111, 32, 67, 10, 32,111,117,116,112,117,
+    116, 40, 39, 92,110, 39, 46, 46,112,114,101, 46, 46, 39,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, 32,111,117,116,112,117,116, 40,112,114,
+    101, 46, 46, 39, 32,105,110,116, 32,116,111,112, 32, 61, 32,
+    108,117, 97, 95,103,101,116,116,111,112, 40,116,111,108,117,
+     97, 95, 83, 41, 59, 39, 41, 10, 32,111,117,116,112,117,116,
+     40,112,114,101, 46, 46, 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, 32, 32, 39, 41, 10, 32,
+    108,111, 99, 97,108, 32,116, 61,123,110, 61, 48,125, 10, 32,
+    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, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32,108,111, 99, 97,108, 32,101, 32, 61, 32, 39, 39, 10, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32,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, 39, 46, 46,112,114,101, 46, 46, 39, 32, 32, 39, 32,101,
+    110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,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, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,
+    110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 41, 10, 32,111,117,116,112,117,116, 40, 98, 46,
+     46,115,116,114, 98,121,116,101, 40, 34, 32, 34, 41, 41, 10,
+     32,111,117,116,112,117,116, 40, 39, 92,110, 39, 46, 46,112,
+    114,101, 46, 46, 39, 32,125, 59, 92,110, 39, 41, 10, 32,105,
+    102, 32,102,105,114,115,116, 95,108,105,110,101, 32, 97,110,
+    100, 32,102,105,114,115,116, 95,108,105,110,101, 32,126, 61,
+     32, 34, 34, 32,116,104,101,110, 10, 32,  9,111,117,116,112,
+    117,116, 40,112,114,101, 46, 46, 39, 32,116,111,108,117, 97,
+     95,100,111, 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, 32,101,
+    109, 98,101,100,100,101,100, 58, 32, 39, 46, 46,102,105,114,
+    115,116, 95,108,105,110,101, 46, 46, 39, 34, 41, 59, 39, 41,
+     10, 32,101,108,115,101, 10, 32,  9,111,117,116,112,117,116,
+     40,112,114,101, 46, 46, 39, 32,116,111,108,117, 97, 95,100,
+    111, 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,
+     32, 39, 46, 46, 99,111,100,101, 95,110, 46, 46, 39, 34, 41,
+     59, 39, 41, 10, 32,101,110,100, 10, 32,111,117,116,112,117,
+    116, 40,112,114,101, 46, 46, 39, 32,108,117, 97, 95,115,101,
+    116,116,111,112, 40,116,111,108,117, 97, 95, 83, 44, 32,116,
+    111,112, 41, 59, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+    112,114,101, 46, 46, 39,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,
+     32, 99,111,100,101, 95,110, 32, 61, 32, 99,111,100,101, 95,
+    110, 32, 43, 49, 10,101,110,100, 10, 10, 10, 45, 45, 32, 80,
+    114,105,110,116, 32,109,101,116,104,111,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, 32,112,114,105,110,116, 40,105,100,
+    101,110,116, 46, 46, 34, 67,111,100,101,123, 34, 41, 10, 32,
+    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,
+     32,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,
+     10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,
+    111,110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,
+    116,105,111,110, 32, 95, 67,111,100,101, 32, 40,116, 41, 10,
+     32,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, 32, 97,112,
+    112,101,110,100, 40,116, 41, 10, 32,114,101,116,117,114,110,
+     32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,115,
+    116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,101,
+     99,116,115, 32, 97, 32,115,116,114,105,110,103, 32,114,101,
+    112,114,101,115,101,110,116,105,110,103, 32,116,104,101, 32,
+     99,111,100,101, 32,116,101,120,116, 10,102,117,110, 99,116,
+    105,111,110, 32, 67,111,100,101, 32, 40,108, 41, 10, 32,114,
+    101,116,117,114,110, 32, 95, 67,111,100,101, 32,123, 10, 32,
+     32,116,101,120,116, 32, 61, 32,108, 10, 32,125, 10,101,110,
+    100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/code.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,116,121,112,101,100,
+    101,102, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,
+    116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,
+    114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,
+    114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32,
+     74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100,
+     58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,
+    100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,
+    119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,
+    101,100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32,
+     97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,
+    116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119,
+     97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,
+    114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,
+    110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115,
+     44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,
+    116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,
+    105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,
+    105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101,
+     44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,
+    116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,
+    109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,
+    105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45, 45,
+     32, 84,121,112,101,100,101,102, 32, 99,108, 97,115,115, 10,
+     45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32, 97,
+     32,116,121,112,101, 32,115,121,110,111,110,121,109, 46, 10,
+     45, 45, 32, 84,104,101, 32, 39,100,101, 32,102, 97, 99,116,
+    111, 39, 32,116,121,112,101, 32,114,101,112,108, 97, 99,101,
+    115, 32,116,104,101, 32,116,121,112,101,100,101,102, 32, 98,
+    101,102,111,114,101, 32,116,104,101, 10, 45, 45, 32,114,101,
+    109, 97,105,110,105,110,103, 32, 99,111,100,101, 32,105,115,
+     32,112, 97,114,115,101,100, 46, 10, 45, 45, 32, 84,104,101,
+     32,102,111,108,108,111,119,105,110,103, 32,102,105,101,108,
+    100,115, 32, 97,114,101, 32,115,116,111,114,101,100, 58, 10,
+     45, 45, 32, 32, 32,117,116,121,112,101, 32, 61, 32,116,121,
+    112,101,100,101,102, 32,110, 97,109,101, 10, 45, 45, 32, 32,
+     32,116,121,112,101, 32, 61, 32, 39,116,104,101, 32,102, 97,
+     99,116,111, 39, 32,116,121,112,101, 10, 45, 45, 32, 32, 32,
+    109,111,100, 32, 61, 32,109,111,100,105,102,105,101,114,115,
+     32,116,111, 32,116,104,101, 32, 39,100,101, 32,102, 97, 99,
+    116,111, 39, 32,116,121,112,101, 10, 99,108, 97,115,115, 84,
+    121,112,101,100,101,102, 32, 61, 32,123, 10, 32,117,116,121,
+    112,101, 32, 61, 32, 39, 39, 44, 10, 32,109,111,100, 32, 61,
+     32, 39, 39, 44, 10, 32,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, 10, 45, 45, 32, 80,114,
+    105,110,116, 32,109,101,116,104,111,100, 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, 32,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, 32,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, 32,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, 32,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, 32,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, 10, 45, 45, 32, 82,101,116,117,114,110, 32,105,116, 39,
+    115, 32,110,111,116, 32, 97, 32,118, 97,114,105, 97, 98,108,
+    101, 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, 32,114,101,116,117,114,110,
+     32,102, 97,108,115,101, 10,101,110,100, 10, 10, 45, 45, 32,
+     73,110,116,101,114,110, 97,108, 32, 99,111,110,115,116,114,
+    117, 99,116,111,114, 10,102,117,110, 99,116,105,111,110, 32,
+     95, 84,121,112,101,100,101,102, 32, 40,116, 41, 10, 32,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, 32,116,
+     46,116,121,112,101, 32, 61, 32,114,101,115,111,108,118,101,
+     95,116,101,109,112,108, 97,116,101, 95,116,121,112,101,115,
+     40,116, 46,116,121,112,101, 41, 10, 32, 97,112,112,101,110,
+    100,116,121,112,101,100,101,102, 40,116, 41, 10, 32,114,101,
+    116,117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32,
+     67,111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32,
+     69,120,112,101, 99,116,115, 32,111,110,101, 32,115,116,114,
+    105,110,103, 32,114,101,112,114,101,115,101,110,116,105,110,
+    103, 32,116,104,101, 32,116,121,112,101, 32,100,101,102,105,
+    110,105,116,105,111,110, 46, 10,102,117,110, 99,116,105,111,
+    110, 32, 84,121,112,101,100,101,102, 32, 40,115, 41, 10, 32,
+    105,102, 32,115,116,114,102,105,110,100, 40,115,116,114,105,
+    110,103, 46,103,115,117, 98, 40,115, 44, 32, 39, 37, 98, 60,
+     62, 39, 44, 32, 39, 39, 41, 44, 39, 91, 37, 42, 38, 93, 39,
+     41, 32,116,104,101,110, 10, 32, 32,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, 32,101,110,100,
+     10, 32,108,111, 99, 97,108, 32,111, 32, 61, 32,123,109,111,
+    100, 32, 61, 32, 39, 39,125, 10, 32,105,102, 32,115,116,114,
+    105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 91, 60,
+     62, 93, 34, 41, 32,116,104,101,110, 10, 32,  9, 95, 44, 95,
+     44,111, 46,116,121,112,101, 44,111, 46,117,116,121,112,101,
+     32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+    115, 44, 32, 34, 94, 37,115, 42, 40, 91, 94, 60, 62, 93, 43,
+     37, 98, 60, 62, 91, 94, 37,115, 93, 42, 41, 37,115, 43, 40,
+     46, 45, 41, 36, 34, 41, 10, 32,101,108,115,101, 10, 32,  9,
+    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, 32,  9,111, 32,
+     61, 32,123, 10,  9, 32, 32,117,116,121,112,101, 32, 61, 32,
+    116, 91,116, 46,110, 93, 44, 10,  9, 32, 32,116,121,112,101,
+     32, 61, 32,116, 91,116, 46,110, 45, 49, 93, 44, 10,  9, 32,
+     32,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,  9, 32,125, 10,
+     32,101,110,100, 10, 32,114,101,116,117,114,110, 32, 95, 84,
+    121,112,101,100,101,102, 40,111, 41, 10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/typedef.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32, 99,111,110,116, 97,
+    105,110,101,114, 32, 97, 98,115,116,114, 97, 99,116, 32, 99,
+    108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,101,110,
+     32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,101,
+    108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102, 47,
+     80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108, 32,
+     49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58, 32, 36, 10,
+     10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,105,
+    115, 32,102,114,101,101, 32,115,111,102,116,119, 97,114,101,
+     59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,105,115,
+    116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,100, 47,
+    111,114, 32,109,111,100,105,102,121, 32,105,116, 46, 10, 45,
+     45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,101, 32,
+    112,114,111,118,105,100,101,100, 32,104,101,114,101,117,110,
+    100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32, 34, 97,
+    115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,110,
+    100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,111,114,
+     32,104, 97,115, 32,110,111, 32,111, 98,108,105,103, 97,116,
+    105,111,110, 32,116,111, 32,112,114,111,118,105,100,101, 32,
+    109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,115,117,
+    112,112,111,114,116, 44, 32,117,112,100, 97,116,101,115, 44,
+     10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,110,116,
+    115, 44, 32,111,114, 32,109,111,100,105,102,105, 99, 97,116,
+    105,111,110,115, 46, 10, 10, 45, 45, 32,116, 97, 98,108,101,
+     32,116,111, 32,115,116,111,114,101, 32,110, 97,109,101,115,
+    112, 97, 99,101,100, 32,116,121,112,101,100,101,102,115, 47,
+    101,110,117,109,115, 32,105,110, 32,103,108,111, 98, 97,108,
+     32,115, 99,111,112,101, 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, 10, 45, 45, 32, 67,111,110,116, 97,105,110,101,114, 32,
+     99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,101,115,
+    101,110,116,115, 32, 97, 32, 99,111,110,116, 97,105,110,101,
+    114, 32,111,102, 32,102,101, 97,116,117,114,101,115, 32,116,
+    111, 32, 98,101, 32, 98,111,117,110,100, 10, 45, 45, 32,116,
+    111, 32,108,117, 97, 46, 10, 99,108, 97,115,115, 67,111,110,
+    116, 97,105,110,101,114, 32, 61, 10,123, 10, 32, 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, 10, 45, 45, 32,111,117,116,112,117,116, 32,116,
+     97,103,115, 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, 32,112,117,115,104,
+     40,115,101,108,102, 41, 10, 32,108,111, 99, 97,108, 32,105,
+     61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,102, 91,
+    105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,105, 93,
+     58,100,101, 99,108,116,121,112,101, 40, 41, 10, 32, 32,105,
+     32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,111,
+    112, 40, 41, 10,101,110,100, 10, 10, 10, 45, 45, 32,119,114,
+    105,116,101, 32,115,117,112,112,111,114,116, 32, 99,111,100,
+    101, 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, 10,  9,105,102, 32,110,111,116,
+     32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117, 98,
+    108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,
+    101,110, 10,  9,  9,114,101,116,117,114,110, 10,  9,101,110,
+    100, 10, 10, 32,112,117,115,104, 40,115,101,108,102, 41, 10,
+     32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,
+    108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32,
+     32,105,102, 32,115,101,108,102, 91,105, 93, 58, 99,104,101,
+     99,107, 95,112,117, 98,108,105, 99, 95, 97, 99, 99,101,115,
+    115, 40, 41, 32,116,104,101,110, 10, 32, 32,  9,115,101,108,
+    102, 91,105, 93, 58,115,117,112, 99,111,100,101, 40, 41, 10,
+     32, 32,101,110,100, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
+     10, 32,101,110,100, 10, 32,112,111,112, 40, 41, 10,101,110,
+    100, 10, 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, 32,108,111, 99, 97,108, 32,105,
+     61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,102, 91,
+    105, 93, 32,100,111, 10, 32, 32,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,  9,  9, 32,114,101,116,117,114,
+    110, 32, 49, 10,  9,  9,101,110,100, 10, 32, 32,105, 32, 61,
+     32,105, 43, 49, 10, 32,101,110,100, 10,  9,114,101,116,117,
+    114,110, 32, 48, 10,101,110,100, 10, 10, 45, 45, 32, 73,110,
+    116,101,114,110, 97,108, 32, 99,111,110,116, 97,105,110,101,
+    114, 32, 99,111,110,115,116,114,117, 99,116,111,114, 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, 32,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, 32,115,101,108,102, 46,110, 32, 61, 32, 48, 10, 32,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, 32,115,101,
+    108,102, 46,117,115,101,114,116,121,112,101,115, 32, 61, 32,
+    123,125, 10, 32,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, 32,
+    115,101,108,102, 46,108,110, 97,109,101,115, 32, 61, 32,123,
+    125, 10, 32,114,101,116,117,114,110, 32,115,101,108,102, 10,
+    101,110,100, 10, 10, 45, 45, 32,112,117,115,104, 32, 99,111,
+    110,116, 97,105,110,101,114, 10,102,117,110, 99,116,105,111,
+    110, 32,112,117,115,104, 32, 40,116, 41, 10,  9,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, 32, 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, 10, 45, 45, 32,112,
+    111,112, 32, 99,111,110,116, 97,105,110,101,114, 10,102,117,
+    110, 99,116,105,111,110, 32,112,111,112, 32, 40, 41, 10, 45,
+     45,112,114,105,110,116, 40, 34,110, 97,109,101, 34, 44, 99,
+    108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,
+    117,114,114, 46,110, 97,109,101, 41, 10, 45, 45,102,111,114,
+    101, 97, 99,104, 40, 99,108, 97,115,115, 67,111,110,116, 97,
+    105,110,101,114, 46, 99,117,114,114, 46,117,115,101,114,116,
+    121,112,101,115, 44,112,114,105,110,116, 41, 10, 45, 45,112,
+    114,105,110,116, 40, 34, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+     95, 95, 95, 95, 95, 34, 41, 10, 32, 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,
+     10, 45, 45, 32,103,101,116, 32, 99,117,114,114,101,110,116,
+     32,110, 97,109,101,115,112, 97, 99,101, 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,  9,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, 10, 45, 45, 32,
+     97,112,112,101,110,100, 32,116,111, 32, 99,117,114,114,101,
+    110,116, 32, 99,111,110,116, 97,105,110,101,114, 10,102,117,
+    110, 99,116,105,111,110, 32, 97,112,112,101,110,100, 32, 40,
+    116, 41, 10, 32,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,
+     10, 45, 45, 32, 97,112,112,101,110,100, 32,116,121,112,101,
+    100,101,102, 32,116,111, 32, 99,117,114,114,101,110,116, 32,
+     99,111,110,116, 97,105,110,101,114, 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, 32,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, 10, 45, 45, 32,
+     97,112,112,101,110,100, 32,117,115,101,114,116,121,112,101,
+     32,116,111, 32, 99,117,114,114,101,110,116, 32, 99,111,110,
+    116, 97,105,110,101,114, 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, 32,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, 10, 45, 45, 32, 97,
+    112,112,101,110,100, 32,101,110,117,109, 32,116,111, 32, 99,
+    117,114,114,101,110,116, 32, 99,111,110,116, 97,105,110,101,
+    114, 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, 32,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, 10, 45, 45,
+     32,115,117, 98,115,116,105,116,117,116,101, 32,116,121,112,
+    101,100,101,102, 10,102,117,110, 99,116,105,111,110, 32, 97,
+    112,112,108,121,116,121,112,101,100,101,102, 32, 40,109,111,
+    100, 44,116,121,112,101, 41, 10, 32,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,109,111,100, 44,116,121,112,101, 41, 10,101,
+    110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102,
+     32,105,115, 32,116,121,112,101, 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, 32,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,  9,114,101,116,117,114,110, 32,116, 10,
+    101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,
+    102, 32,105,115, 32,116,121,112,101,100,101,102, 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, 32,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, 10, 45, 45,
+     32,103,101,116, 32,102,117,108,108,116,121,112,101, 32, 40,
+    119,105,116,104, 32,110, 97,109,101,115,112, 97, 99,101, 41,
+     10,102,117,110, 99,116,105,111,110, 32,102,117,108,108,116,
+    121,112,101, 32, 40,116, 41, 10, 32,108,111, 99, 97,108, 32,
+     99,117,114,114, 32, 61, 32, 32, 99,108, 97,115,115, 67,111,
+    110,116, 97,105,110,101,114, 46, 99,117,114,114, 10,  9,119,
+    104,105,108,101, 32, 99,117,114,114, 32,100,111, 10,  9, 32,
+    105,102, 32, 99,117,114,114, 32,116,104,101,110, 10,  9,  9,
+     32,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,  9,
+      9, 32, 32,114,101,116,117,114,110, 32, 99,117,114,114, 46,
+    116,121,112,101,100,101,102,115, 91,116, 93, 10,  9,  9, 32,
+    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,  9,  9, 32, 32,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,  9,  9,  9,101,110,100, 10,  9,  9,101,110,100,
+     10,  9, 32, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,
+    112,114,111,120, 10,  9,101,110,100, 10,  9,114,101,116,117,
+    114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,
+    101, 99,107,115, 32,105,102, 32,105,116, 32,114,101,113,117,
+    105,114,101,115, 32, 99,111,108,108,101, 99,116,105,111,110,
+     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, 32,112,117,115,104, 40,115,101,108,102, 41, 10, 32,
+    108,111, 99, 97,108, 32,105, 61, 49, 10,  9,108,111, 99, 97,
+    108, 32,114, 32, 61, 32,102, 97,108,115,101, 10, 32,119,104,
+    105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,
+     32, 32,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, 32, 32,105, 32, 61,
+     32,105, 43, 49, 10, 32,101,110,100, 10,  9,112,111,112, 40,
+     41, 10,  9,114,101,116,117,114,110, 32,114, 10,101,110,100,
+     10, 10, 10, 45, 45, 32,103,101,116, 32,110, 97,109,101,115,
+     97,112, 99,101, 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,  9,108,111, 99, 97,108, 32,110, 97,109,101,
+    115,112, 97, 99,101, 32, 61, 32, 39, 39, 10,  9,119,104,105,
+    108,101, 32, 99,117,114,114, 32,100,111, 10,  9, 32,105,102,
+     32, 99,117,114,114, 32, 97,110,100, 10,  9,  9, 32, 32, 32,
+     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,  9,  9,116,104,101,110, 10,  9,  9, 32,110, 97,109,
+    101,115,112, 97, 99,101, 32, 61, 32, 40, 99,117,114,114, 46,
+    111,114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,111,
+    114, 32, 99,117,114,114, 46,110, 97,109,101, 41, 32, 46, 46,
+     32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,101,115,112,
+     97, 99,101, 10,  9,  9, 32, 45, 45,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,  9,  9,101,110,100, 10,  9, 32,
+     99,117,114,114, 32, 61, 32, 99,117,114,114, 46,112,114,111,
+    120, 10,  9,101,110,100, 10,  9,114,101,116,117,114,110, 32,
+    110, 97,109,101,115,112, 97, 99,101, 10,101,110,100, 10, 10,
+     45, 45, 32,103,101,116, 32,110, 97,109,101,115,112, 97, 99,
+    101, 32, 40,111,110,108,121, 32,110, 97,109,101,115,112, 97,
+     99,101, 41, 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, 32,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,  9,108,111, 99, 97,108, 32,110,
+     97,109,101,115,112, 97, 99,101, 32, 61, 32, 39, 39, 10,  9,
+    119,104,105,108,101, 32, 99,117,114,114, 32,100,111, 10,  9,
+      9,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,  9,  9, 32,114,101,116,117,114,110, 32,
+    110, 97,109,101,115,112, 97, 99,101, 10,  9,  9,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,  9,  9, 32,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,  9,  9,101,110,100,
+     10,  9, 32, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,
+    112,114,111,120, 10,  9,101,110,100, 10,  9,114,101,116,117,
+    114,110, 32,110, 97,109,101,115,112, 97, 99,101, 10,101,110,
+    100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
+    105,115, 32,101,110,117,109, 10,102,117,110, 99,116,105,111,
+    110, 32,105,115,101,110,117,109, 32, 40,116,121,112,101, 41,
+     10, 32,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, 10, 45, 45, 32, 97,112,112,101,110,100, 32,102,101, 97,
+    116,117,114,101, 32,116,111, 32, 99,111,110,116, 97,105,110,
+    101,114, 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, 32,115,101,108,102, 46,110,
+     32, 61, 32,115,101,108,102, 46,110, 32, 43, 32, 49, 10, 32,
+    115,101,108,102, 91,115,101,108,102, 46,110, 93, 32, 61, 32,
+    116, 10, 32,116, 46,112, 97,114,101,110,116, 32, 61, 32,115,
+    101,108,102, 10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,
+    101,110,100, 32,116,121,112,101,100,101,102, 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, 32,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, 32,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, 32,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,  9,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,  9,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,  9,116, 46,102,116,121,112,101, 32, 61, 32,102,
+    105,110,100,116,121,112,101, 40,116, 46,116,121,112,101, 41,
+     32,111,114, 32,116, 46,116,121,112,101, 10,  9, 45, 45,112,
+    114,105,110,116, 40, 34, 97,112,112,101,110,100,105,110,103,
+     32,116,121,112,101,100,101,102, 32, 34, 46, 46,116, 46,117,
+    116,121,112,101, 46, 46, 34, 32, 97,115, 32, 34, 46, 46,110,
+     97,109,101,115,112, 97, 99,101, 46, 46,116, 46,117,116,121,
+    112,101, 46, 46, 34, 32,119,105,116,104, 32,102,116,121,112,
+    101, 32, 34, 46, 46,116, 46,102,116,121,112,101, 41, 10,  9,
+     97,112,112,101,110,100, 95,103,108,111, 98, 97,108, 95,116,
+    121,112,101, 40,110, 97,109,101,115,112, 97, 99,101, 46, 46,
+    116, 46,117,116,121,112,101, 41, 10,  9,105,102, 32,116, 46,
+    102,116,121,112,101, 32, 97,110,100, 32,105,115,101,110,117,
+    109, 40,116, 46,102,116,121,112,101, 41, 32,116,104,101,110,
+     10, 10,  9,  9,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,
+    117,116,121,112,101, 93, 32, 61, 32,116,114,117,101, 10,  9,
+    101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,
+    101,110,100, 32,117,115,101,114,116,121,112,101, 58, 32,114,
+    101,116,117,114,110, 32,102,117,108,108, 32,116,121,112,101,
+     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,  9,
+    108,111, 99, 97,108, 32, 99,111,110,116, 97,105,110,101,114,
+     10,  9,105,102, 32,116, 32, 61, 61, 32, 40,115,101,108,102,
+     46,111,114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,
+    111,114, 32,115,101,108,102, 46,110, 97,109,101, 41, 32,116,
+    104,101,110, 10,  9,  9, 99,111,110,116, 97,105,110,101,114,
+     32, 61, 32,115,101,108,102, 46,112,114,111,120, 10,  9,101,
+    108,115,101, 10,  9,  9, 99,111,110,116, 97,105,110,101,114,
+     32, 61, 32,115,101,108,102, 10,  9,101,110,100, 10,  9,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,  9, 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,  9, 95,117,115,101,114,116,
+    121,112,101, 91,102,116, 93, 32, 61, 32,102,116, 10,  9,114,
+    101,116,117,114,110, 32,102,116, 10,101,110,100, 10, 10, 45,
+     45, 32, 97,112,112,101,110,100, 32,101,110,117,109, 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, 32,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, 32,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, 32,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,  9,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, 10, 45, 45, 32,100,101,116,101,114,109,105,110,
+    101, 32,108,117, 97, 32,102,117,110, 99,116,105,111,110, 32,
+    110, 97,109,101, 32,111,118,101,114,108,111, 97,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, 32,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, 32, 32,115,
+    101,108,102, 46,108,110, 97,109,101,115, 91,108,110, 97,109,
+    101, 93, 32, 61, 32, 48, 10, 32,101,108,115,101, 10, 32, 32,
+    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, 32,
+    101,110,100, 10, 32,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, 10, 45, 45, 32, 97,112,112,108,105,101,
+    115, 32,116,121,112,101,100,101,102, 58, 32,114,101,116,117,
+    114,110,115, 32,116,104,101, 32, 39,116,104,101, 32,102, 97,
+     99,116,111, 39, 32,109,111,100,105,102,105,101,114, 32, 97,
+    110,100, 32,116,121,112,101, 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,109,111,100, 44,116,121,112,101, 41, 10,  9,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,  9,  9, 45,
+     45,112,114,105,110,116, 40, 34,102,111,117,110,100, 32,116,
+    121,112,101,100,101,102, 32, 34, 46, 46,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, 41, 10,  9,  9,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,102,116,121,112,101, 10,  9,  9,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,
+    109,111,100, 46, 46, 34, 32, 34, 46, 46,109,111,100, 49, 44,
+     32,116,121,112,101, 49, 41, 10,  9,  9, 45, 45,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,  9,  9,114,101,116,117,114,110, 32,109,111,100, 50, 44,
+     32,116,121,112,101, 50, 10,  9,101,110,100, 10,  9,100,111,
+     32,114,101,116,117,114,110, 32,109,111,100, 44,116,121,112,
+    101, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+    104,101, 99,107, 32,105,102, 32,105,116, 32,105,115, 32, 97,
+     32,116,121,112,101,100,101,102, 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, 32,108,111, 99, 97,108, 32,101,110,118,
+     32, 61, 32,115,101,108,102, 10, 32,119,104,105,108,101, 32,
+    101,110,118, 32,100,111, 10, 32, 32,105,102, 32,101,110,118,
+     46,116,121,112,101,100,101,102,115, 32,116,104,101,110, 10,
+     32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,
+     32,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, 32, 32, 32, 32,
+    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, 32, 32, 32, 32, 32, 32, 32,
+     32, 32,114,101,116,117,114,110, 32,116,121,112,101, 10, 32,
+     32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,
+     32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,
+    101,110,100, 10, 32, 32,101,110,100, 10, 32, 32,101,110,118,
+     32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10, 32,
+    101,110,100, 10, 32,114,101,116,117,114,110, 32,110,105,108,
+     10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,
+    102,105,110,100, 95,101,110,117,109, 95,118, 97,114, 40,118,
+     97,114, 41, 10, 10,  9,105,102, 32,116,111,110,117,109, 98,
+    101,114, 40,118, 97,114, 41, 32,116,104,101,110, 32,114,101,
+    116,117,114,110, 32,118, 97,114, 32,101,110,100, 10, 10,  9,
+    108,111, 99, 97,108, 32, 99, 32, 61, 32, 99,108, 97,115,115,
+     67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10,
+      9,119,104,105,108,101, 32, 99, 32,100,111, 10,  9,  9,108,
+    111, 99, 97,108, 32,110,115, 32, 61, 32,103,101,116,110, 97,
+    109,101,115,112, 97, 99,101, 40, 99, 41, 10,  9,  9,102,111,
+    114, 32,107, 44,118, 32,105,110, 32,112, 97,105,114,115, 40,
+     95,103,108,111, 98, 97,108, 95,101,110,117,109,115, 41, 32,
+    100,111, 10,  9,  9,  9,105,102, 32,109, 97,116, 99,104, 95,
+    116,121,112,101, 40,118, 97,114, 44, 32,118, 44, 32,110,115,
+     41, 32,116,104,101,110, 10,  9,  9,  9,  9,114,101,116,117,
+    114,110, 32,118, 10,  9,  9,  9,101,110,100, 10,  9,  9,101,
+    110,100, 10,  9,  9,105,102, 32, 99, 46, 98, 97,115,101, 32,
+     97,110,100, 32, 99, 46, 98, 97,115,101, 32,126, 61, 32, 39,
+     39, 32,116,104,101,110, 10,  9,  9,  9, 99, 32, 61, 32, 95,
+    103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,
+     99, 58,102,105,110,100,116,121,112,101, 40, 99, 46, 98, 97,
+    115,101, 41, 93, 10,  9,  9,101,108,115,101, 10,  9,  9,  9,
+     99, 32, 61, 32,110,105,108, 10,  9,  9,101,110,100, 10,  9,
+    101,110,100, 10, 10,  9,114,101,116,117,114,110, 32,118, 97,
+    114, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107,
+     32,105,102, 32,105,115, 32, 97, 32,114,101,103,105,115,116,
+    101,114,101,100, 32,116,121,112,101, 58, 32,114,101,116,117,
+    114,110, 32,102,117,108,108, 32,116,121,112,101, 32,111,114,
+     32,110,105,108, 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, 10,  9,116,
+     32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+    116, 44, 32, 34, 61, 46, 42, 34, 44, 32, 34, 34, 41, 10,  9,
+    105,102, 32, 95, 98, 97,115,105, 99, 91,116, 93, 32,116,104,
+    101,110, 10,  9, 32,114,101,116,117,114,110, 32,116, 10,  9,
+    101,110,100, 10, 10,  9,108,111, 99, 97,108, 32, 95, 44, 95,
+     44,101,109, 32, 61, 32,115,116,114,105,110,103, 46,102,105,
+    110,100, 40,116, 44, 32, 34, 40, 91, 38, 37, 42, 93, 41, 37,
+    115, 42, 36, 34, 41, 10,  9,116, 32, 61, 32,115,116,114,105,
+    110,103, 46,103,115,117, 98, 40,116, 44, 32, 34, 37,115, 42,
+     40, 91, 38, 37, 42, 93, 41, 37,115, 42, 36, 34, 44, 32, 34,
+     34, 41, 10,  9,112, 32, 61, 32,115,101,108,102, 10,  9,119,
+    104,105,108,101, 32,112, 32, 97,110,100, 32,116,121,112,101,
+     40,112, 41, 61, 61, 39,116, 97, 98,108,101, 39, 32,100,111,
+     10,  9,  9,108,111, 99, 97,108, 32,115,116, 32, 61, 32,103,
+    101,116,110, 97,109,101,115,112, 97, 99,101, 40,112, 41, 10,
+     10,  9,  9,102,111,114, 32,105, 61, 95,103,108,111, 98, 97,
+    108, 95,116,121,112,101,115, 46,110, 44, 49, 44, 45, 49, 32,
+    100,111, 32, 45, 45, 32,105,110, 32,114,101,118,101,114,115,
+    101, 32,111,114,100,101,114, 10, 10,  9,  9,  9,105,102, 32,
+    109, 97,116, 99,104, 95,116,121,112,101, 40,116, 44, 32, 95,
+    103,108,111, 98, 97,108, 95,116,121,112,101,115, 91,105, 93,
+     44, 32,115,116, 41, 32,116,104,101,110, 10,  9,  9,  9,  9,
+    114,101,116,117,114,110, 32, 95,103,108,111, 98, 97,108, 95,
+    116,121,112,101,115, 91,105, 93, 46, 46, 40,101,109, 32,111,
+    114, 32, 34, 34, 41, 10,  9,  9,  9,101,110,100, 10,  9,  9,
+    101,110,100, 10,  9,  9,105,102, 32,112, 46, 98, 97,115,101,
+     32, 97,110,100, 32,112, 46, 98, 97,115,101, 32,126, 61, 32,
+     39, 39, 32, 97,110,100, 32,112, 46, 98, 97,115,101, 32,126,
+     61, 32,116, 32,116,104,101,110, 10,  9,  9,  9, 45, 45,112,
+    114,105,110,116, 40, 34,116,121,112,101, 32,105,115, 32, 34,
+     46, 46,116, 46, 46, 34, 44, 32,112, 32,105,115, 32, 34, 46,
+     46,112, 46, 98, 97,115,101, 46, 46, 34, 32,115,101,108,102,
+     46,116,121,112,101, 32,105,115, 32, 34, 46, 46,115,101,108,
+    102, 46,116,121,112,101, 46, 46, 34, 32,115,101,108,102, 46,
+    110, 97,109,101, 32,105,115, 32, 34, 46, 46,115,101,108,102,
+     46,110, 97,109,101, 41, 10,  9,  9,  9,112, 32, 61, 32, 95,
+    103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,
+    112, 58,102,105,110,100,116,121,112,101, 40,112, 46, 98, 97,
+    115,101, 41, 93, 10,  9,  9,101,108,115,101, 10,  9,  9,  9,
+    112, 32, 61, 32,110,105,108, 10,  9,  9,101,110,100, 10,  9,
+    101,110,100, 10, 10,  9,114,101,116,117,114,110, 32,110,105,
+    108, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+     32, 97,112,112,101,110,100, 95,103,108,111, 98, 97,108, 95,
+    116,121,112,101, 40,116, 44, 32, 99,108, 97,115,115, 41, 10,
+      9, 95,103,108,111, 98, 97,108, 95,116,121,112,101,115, 46,
+    110, 32, 61, 32, 95,103,108,111, 98, 97,108, 95,116,121,112,
+    101,115, 46,110, 32, 43, 49, 10,  9, 95,103,108,111, 98, 97,
+    108, 95,116,121,112,101,115, 91, 95,103,108,111, 98, 97,108,
+     95,116,121,112,101,115, 46,110, 93, 32, 61, 32,116, 10,  9,
+     95,103,108,111, 98, 97,108, 95,116,121,112,101,115, 95,104,
+     97,115,104, 91,116, 93, 32, 61, 32, 49, 10,  9,105,102, 32,
+     99,108, 97,115,115, 32,116,104,101,110, 32, 97,112,112,101,
+    110,100, 95, 99,108, 97,115,115, 95,116,121,112,101, 40,116,
+     44, 32, 99,108, 97,115,115, 41, 32,101,110,100, 10,101,110,
+    100, 10, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,
+    101,110,100, 95, 99,108, 97,115,115, 95,116,121,112,101, 40,
+    116, 44, 99,108, 97,115,115, 41, 10,  9,105,102, 32, 95,103,
+    108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,116,
+     93, 32,116,104,101,110, 10,  9,  9, 99,108, 97,115,115, 46,
+    102,108, 97,103,115, 32, 61, 32, 95,103,108,111, 98, 97,108,
+     95, 99,108, 97,115,115,101,115, 91,116, 93, 46,102,108, 97,
+    103,115, 10,  9,  9, 99,108, 97,115,115, 46,108,110, 97,109,
+    101,115, 32, 61, 32, 95,103,108,111, 98, 97,108, 95, 99,108,
+     97,115,115,101,115, 91,116, 93, 46,108,110, 97,109,101,115,
+     10,  9,  9,105,102, 32, 95,103,108,111, 98, 97,108, 95, 99,
+    108, 97,115,115,101,115, 91,116, 93, 46, 98, 97,115,101, 32,
+     97,110,100, 32, 40, 95,103,108,111, 98, 97,108, 95, 99,108,
+     97,115,115,101,115, 91,116, 93, 46, 98, 97,115,101, 32,126,
+     61, 32, 39, 39, 41, 32,116,104,101,110, 10,  9,  9,  9, 99,
+    108, 97,115,115, 46, 98, 97,115,101, 32, 61, 32, 95,103,108,
+    111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,116, 93,
+     46, 98, 97,115,101, 32,111,114, 32, 99,108, 97,115,115, 46,
+     98, 97,115,101, 10,  9,  9,101,110,100, 10,  9,101,110,100,
+     10,  9, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,115,
+    101,115, 91,116, 93, 32, 61, 32, 99,108, 97,115,115, 10,  9,
+     99,108, 97,115,115, 46,102,108, 97,103,115, 32, 61, 32, 99,
+    108, 97,115,115, 46,102,108, 97,103,115, 32,111,114, 32,123,
+    125, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+     32,109, 97,116, 99,104, 95,116,121,112,101, 40, 99,104,105,
+    108,100,116,121,112,101, 44, 32,114,101,103,116,121,112,101,
+     44, 32,115,116, 41, 10, 45, 45,112,114,105,110,116, 40, 34,
+    102,105,110,100,116,121,112,101, 32, 34, 46, 46, 99,104,105,
+    108,100,116,121,112,101, 46, 46, 34, 44, 32, 34, 46, 46,114,
+    101,103,116,121,112,101, 46, 46, 34, 44, 32, 34, 46, 46,115,
+    116, 41, 10,  9,108,111, 99, 97,108, 32, 98, 44,101, 32, 61,
+     32,115,116,114,105,110,103, 46,102,105,110,100, 40,114,101,
+    103,116,121,112,101, 44, 32, 99,104,105,108,100,116,121,112,
+    101, 44, 32, 45,115,116,114,105,110,103, 46,108,101,110, 40,
+     99,104,105,108,100,116,121,112,101, 41, 44, 32,116,114,117,
+    101, 41, 10,  9,105,102, 32, 98, 32,116,104,101,110, 10, 10,
+      9,  9,105,102, 32,101, 32, 61, 61, 32,115,116,114,105,110,
+    103, 46,108,101,110, 40,114,101,103,116,121,112,101, 41, 32,
+     97,110,100, 10,  9,  9,  9,  9, 40, 98, 32, 61, 61, 32, 49,
+     32,111,114, 32, 40,115,116,114,105,110,103, 46,115,117, 98,
+     40,114,101,103,116,121,112,101, 44, 32, 98, 45, 49, 44, 32,
+     98, 45, 49, 41, 32, 61, 61, 32, 39, 58, 39, 32, 97,110,100,
+     10,  9,  9,  9,  9,115,116,114,105,110,103, 46,115,117, 98,
+     40,114,101,103,116,121,112,101, 44, 32, 49, 44, 32, 98, 45,
+     49, 41, 32, 61, 61, 32,115,116,114,105,110,103, 46,115,117,
+     98, 40,115,116, 44, 32, 49, 44, 32, 98, 45, 49, 41, 41, 41,
+     32,116,104,101,110, 10,  9,  9,  9,114,101,116,117,114,110,
+     32,116,114,117,101, 10,  9,  9,101,110,100, 10,  9,101,110,
+    100, 10, 10,  9,114,101,116,117,114,110, 32,102, 97,108,115,
+    101, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+     32,102,105,110,100,116,121,112,101, 95,111,110, 95, 99,104,
+    105,108,100,115, 40,115,101,108,102, 44, 32,116, 41, 10, 10,
+      9,108,111, 99, 97,108, 32,116, 99,104,105,108,100, 10,  9,
+    105,102, 32,115,101,108,102, 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,115,101,108,102, 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,  9,  9,102,111,114, 32,107, 44,
+    118, 32,105,110, 32,105,112, 97,105,114,115, 40,115,101,108,
+    102, 41, 32,100,111, 10,  9,  9,  9,105,102, 32,118, 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,118, 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,  9,  9,  9,  9,105,
+    102, 32,118, 46,116,121,112,101,100,101,102,115, 32, 97,110,
+    100, 32,118, 46,116,121,112,101,100,101,102,115, 91,116, 93,
+     32,116,104,101,110, 10,  9,  9,  9,  9, 32,114,101,116,117,
+    114,110, 32,118, 46,116,121,112,101,100,101,102,115, 91,116,
+     93, 10,  9,  9,  9,  9,101,108,115,101,105,102, 32,118, 46,
+    117,115,101,114,116,121,112,101,115, 32, 97,110,100, 32,118,
+     46,117,115,101,114,116,121,112,101,115, 91,116, 93, 32,116,
+    104,101,110, 10,  9,  9,  9,  9, 32,114,101,116,117,114,110,
+     32,118, 46,117,115,101,114,116,121,112,101,115, 91,116, 93,
+     10,  9,  9,  9,  9,101,110,100, 10,  9,  9,  9,  9,116, 99,
+    104,105,108,100, 32, 61, 32,102,105,110,100,116,121,112,101,
+     95,111,110, 95, 99,104,105,108,100,115, 40,118, 44, 32,116,
+     41, 10,  9,  9,  9,  9,105,102, 32,116, 99,104,105,108,100,
+     32,116,104,101,110, 32,114,101,116,117,114,110, 32,116, 99,
+    104,105,108,100, 32,101,110,100, 10,  9,  9,  9,101,110,100,
+     10,  9,  9,101,110,100, 10,  9,101,110,100, 10,  9,114,101,
+    116,117,114,110, 32,110,105,108, 10, 10,101,110,100, 10, 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, 32,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,  9,114,101,116,117,114,110, 32,116,
+    121,112,101, 10, 32,101,108,115,101, 10, 32,  9,114,101,116,
+    117,114,110, 32,102, 97,108,115,101, 10, 32,101,110,100, 10,
+     10, 32,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, 32,108,111, 99,
+     97,108, 32,101,110,118, 32, 61, 32,115,101,108,102, 10, 32,
+    119,104,105,108,101, 32,101,110,118, 32,100,111, 10, 32, 32,
+    105,102, 32,101,110,118, 46,101,110,117,109,115, 32,116,104,
+    101,110, 10, 32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49,
+     10, 32, 32, 32,119,104,105,108,101, 32,101,110,118, 46,101,
+    110,117,109,115, 91,105, 93, 32,100,111, 10, 32, 32, 32, 32,
+    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, 32, 32, 32, 32, 32, 32, 32,
+     32, 32,114,101,116,117,114,110, 32,116,114,117,101, 10, 32,
+     32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,
+     32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,
+    101,110,100, 10, 32, 32,101,110,100, 10, 32, 32,101,110,118,
+     32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10, 32,
+    101,110,100, 10, 32,114,101,116,117,114,110, 32,102, 97,108,
+    115,101, 10,101,110,100, 10, 10,109,101,116,104,111,100,105,
+    115,118,105,114,116,117, 97,108, 32, 61, 32,102, 97,108,115,
+    101, 32, 45, 45, 32, 97, 32,103,108,111, 98, 97,108, 10, 10,
+     45, 45, 32,112, 97,114,115,101, 32, 99,104,117,110,107, 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, 45, 45,112,114,105,110,116, 32, 40,
+     34,112, 97,114,115,101, 32, 34, 46, 46,115, 41, 10, 10, 32,
+     45, 45, 32,116,114,121, 32,116,104,101, 32,112, 97,114,115,
+    101,114, 32,104,111,111,107, 10, 32,100,111, 10, 32,  9,108,
+    111, 99, 97,108, 32,115,117, 98, 32, 61, 32,112, 97,114,115,
+    101,114, 95,104,111,111,107, 40,115, 41, 10, 32,  9,105,102,
+     32,115,117, 98, 32,116,104,101,110, 10, 32,  9,  9,114,101,
+    116,117,114,110, 32,115,117, 98, 10, 32,  9,101,110,100, 10,
+     32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,116,
+    104,101, 32,110,117,108,108, 32,115,116, 97,116,101,109,101,
+    110,116, 10, 32,100,111, 10, 32,  9,108,111, 99, 97,108, 32,
+     98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,105,
+    110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115,
+     42, 59, 34, 41, 10, 32,  9,105,102, 32, 98, 32,116,104,101,
+    110, 10, 32,  9,  9,114,101,116,117,114,110, 32,115,116,114,
+    115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32,  9,101,110,
+    100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121,
+     32,101,109,112,116,121, 32,118,101,114, 98, 97,116,105,109,
+     32,108,105,110,101, 10, 32,100,111, 10, 32,  9,108,111, 99,
+     97,108, 32, 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,
+    116,114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34,
+     94, 37,115, 42, 36, 92,110, 34, 41, 10, 32,  9,105,102, 32,
+     98, 32,116,104,101,110, 10, 32,  9,  9,114,101,116,117,114,
+    110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41,
+     10, 32,  9,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45,
+     45, 32,116,114,121, 32, 76,117, 97, 32, 99,111,100,101, 10,
+     32,100,111, 10, 32, 32,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, 32, 32,105,102, 32, 98, 32,116,104,101,110,
+     10, 32, 32, 32, 67,111,100,101, 40,115,116,114,115,117, 98,
+     40, 99,111,100,101, 44, 50, 44, 45, 50, 41, 41, 10, 32, 32,
+     32,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
+    115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,
+    110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32, 67, 32, 99,
+    111,100,101, 10, 32,100,111, 10, 32, 32,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, 32, 32,105,102, 32, 98, 32,
+    116,104,101,110, 10,  9, 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,
+      9, 86,101,114, 98, 97,116,105,109, 40, 99,111,100,101, 44,
+     39,114, 39, 41, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,
+    118,101,114, 98, 97,116,105,109, 32, 99,111,100,101, 32,102,
+    111,114, 32, 39,114, 39,101,103,105,115,116,101,114, 32,102,
+    114, 97,103,109,101,110,116, 10,  9,114,101,116,117,114,110,
+     32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,
+     32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45,
+     32,116,114,121, 32, 67, 32, 99,111,100,101, 32,102,111,114,
+     32,112,114,101, 97,109, 98,108,101, 32,115,101, 99,116,105,
+    111,110, 10, 32,100,111, 10, 32,  9,108,111, 99, 97,108, 32,
+     98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,105,
+    110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115,
+     42, 40, 37, 98, 92, 53, 92, 54, 41, 34, 41, 10, 32,  9,105,
+    102, 32, 98, 32,116,104,101,110, 10, 32,  9,  9, 99,111,100,
+    101, 32, 61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
+     99,111,100,101, 44, 32, 50, 44, 32, 45, 50, 41, 46, 46, 34,
+     92,110, 34, 10,  9,  9, 86,101,114, 98, 97,116,105,109, 40,
+     99,111,100,101, 44, 32, 39, 39, 41, 10,  9,  9,114,101,116,
+    117,114,110, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
+    115, 44, 32,101, 43, 49, 41, 10, 32,  9,101,110,100, 10, 32,
+    101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,100,101,
+    102, 97,117,108,116, 95,112,114,111,112,101,114,116,121, 32,
+    100,105,114,101, 99,116,105,118,101, 10, 32,100,111, 10, 32,
+      9,108,111, 99, 97,108, 32, 98, 44,101, 44,112,116,121,112,
+    101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 32,
+     34, 94, 37,115, 42, 84, 79, 76, 85, 65, 95, 80, 82, 79, 80,
+     69, 82, 84, 89, 95, 84, 89, 80, 69, 37,115, 42, 37, 40, 43,
+     37,115, 42, 40, 91, 94, 37, 41, 37,115, 93, 42, 41, 37,115,
+     42, 37, 41, 43, 37,115, 42, 59, 63, 34, 41, 10, 32,  9,105,
+    102, 32, 98, 32,116,104,101,110, 10, 32,  9,  9,105,102, 32,
+    110,111,116, 32,112,116,121,112,101, 32,111,114, 32,112,116,
+    121,112,101, 32, 61, 61, 32, 34, 34, 32,116,104,101,110, 10,
+     32,  9,  9,  9,112,116,121,112,101, 32, 61, 32, 34,100,101,
+    102, 97,117,108,116, 34, 10, 32,  9,  9,101,110,100, 10, 32,
+      9,  9,115,101,108,102, 58,115,101,116, 95,112,114,111,112,
+    101,114,116,121, 95,116,121,112,101, 40,112,116,121,112,101,
+     41, 10,  9, 32,  9,114,101,116,117,114,110, 32,115,116,114,
+    115,117, 98, 40,115, 44, 32,101, 43, 49, 41, 10, 32,  9,101,
+    110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,
+    121, 32,112,114,111,116,101, 99,116,101,100, 95,100,101,115,
+    116,114,117, 99,116,111,114, 32,100,105,114,101, 99,116,105,
+    118,101, 10, 32,100,111, 10, 32,  9,108,111, 99, 97,108, 32,
+     98, 44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,
+    110,100, 40,115, 44, 32, 34, 94, 37,115, 42, 84, 79, 76, 85,
+     65, 95, 80, 82, 79, 84, 69, 67, 84, 69, 68, 95, 68, 69, 83,
+     84, 82, 85, 67, 84, 79, 82, 37,115, 42, 59, 63, 34, 41, 10,
+      9,105,102, 32, 98, 32,116,104,101,110, 10,  9,  9,105,102,
+     32,115,101,108,102, 46,115,101,116, 95,112,114,111,116,101,
+     99,116,101,100, 95,100,101,115,116,114,117, 99,116,111,114,
+     32,116,104,101,110, 10,  9, 32,  9,  9,115,101,108,102, 58,
+    115,101,116, 95,112,114,111,116,101, 99,116,101,100, 95,100,
+    101,115,116,114,117, 99,116,111,114, 40,116,114,117,101, 41,
+     10,  9, 32,  9,101,110,100, 10, 32,  9,  9,114,101,116,117,
+    114,110, 32,115,116,114,115,117, 98, 40,115, 44, 32,101, 43,
+     49, 41, 10, 32,  9,101,110,100, 10, 32,101,110,100, 10, 10,
+     32, 45, 45, 32,116,114,121, 32, 39,101,120,116,101,114,110,
+     39, 32,107,101,121,119,111,114,100, 10, 32,100,111, 10, 32,
+      9,108,111, 99, 97,108, 32, 98, 44,101, 32, 61, 32,115,116,
+    114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94,
+     37,115, 42,101,120,116,101,114,110, 37,115, 43, 34, 41, 10,
+     32,  9,105,102, 32, 98, 32,116,104,101,110, 10,  9,  9, 45,
+     45, 32,100,111, 32,110,111,116,104,105,110,103, 10, 32,  9,
+      9,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
+    115, 44, 32,101, 43, 49, 41, 10, 32,  9,101,110,100, 10, 32,
+    101,110,100, 10,  9, 10, 32, 45, 45, 32,116,114,121, 32, 39,
+    118,105,114,116,117, 97,108, 39, 32,107,101,121,119,111,114,
+    107,100, 10, 32,100,111, 10, 32,  9,108,111, 99, 97,108, 32,
+     98, 44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,
+    110,100, 40,115, 44, 32, 34, 94, 37,115, 42,118,105,114,116,
+    117, 97,108, 37,115, 43, 34, 41, 10, 32,  9,105,102, 32, 98,
+     32,116,104,101,110, 10, 32,  9,  9,109,101,116,104,111,100,
+    105,115,118,105,114,116,117, 97,108, 32, 61, 32,116,114,117,
+    101, 10, 32,  9,  9,114,101,116,117,114,110, 32,115,116,114,
+    115,117, 98, 40,115, 44, 32,101, 43, 49, 41, 10, 32,  9,101,
+    110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,
+    121, 32,108, 97, 98,101,108,115, 32, 40,112,117, 98,108,105,
+     99, 44, 32,112,114,105,118, 97,116,101, 44, 32,101,116, 99,
+     41, 10, 32,100,111, 10, 32,  9,108,111, 99, 97,108, 32, 98,
+     44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,
+    100, 40,115, 44, 32, 34, 94, 37,115, 42, 37,119, 42, 37,115,
+     42, 58, 91, 94, 58, 93, 34, 41, 10, 32,  9,105,102, 32, 98,
+     32,116,104,101,110, 10, 32,  9,  9,114,101,116,117,114,110,
+     32,115,116,114,115,117, 98, 40,115, 44, 32,101, 41, 32, 45,
+     45, 32,112,114,101,115,101,114,118,101, 32,116,104,101, 32,
+     91, 94, 58, 93, 10, 32,  9,101,110,100, 10, 32,101,110,100,
+     10, 10, 32, 45, 45, 32,116,114,121, 32,109,111,100,117,108,
+    101, 10, 32,100,111, 10, 32, 32,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, 32, 32,105,102, 32, 98,
+     32,116,104,101,110, 10, 32, 32, 32, 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, 32, 32, 32, 77,111,100,117,108,101,
+     40,110, 97,109,101, 44, 98,111,100,121, 41, 10, 32, 32, 32,
+    114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115,
+     44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,
+    100, 10, 10, 32, 45, 45, 32,116,114,121, 32,110, 97,109,101,
+    115, 97,112, 99,101, 10, 32,100,111, 10, 32, 32,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, 59, 63,
+     34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10,
+     32, 32, 32, 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,
+     32, 32, 32, 78, 97,109,101,115,112, 97, 99,101, 40,110, 97,
+    109,101, 44, 98,111,100,121, 41, 10, 32, 32, 32,114,101,116,
+    117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43,
+     49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10,
+     32, 45, 45, 32,116,114,121, 32,100,101,102,105,110,101, 10,
+     32,100,111, 10, 32, 32,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, 32, 32,105,
+    102, 32, 98, 32,116,104,101,110, 10, 32, 32, 32, 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, 32, 32, 32, 68,101,102,
+    105,110,101, 40,110, 97,109,101, 41, 10, 32, 32, 32,114,101,
+    116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101,
+     43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10,
+     10, 32, 45, 45, 32,116,114,121, 32,101,110,117,109,101,114,
+     97,116,101,115, 10, 10, 32,100,111, 10, 32, 32,108,111, 99,
+     97,108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,
+    121, 44,118, 97,114,110, 97,109,101, 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, 40, 91, 94, 37,115, 59, 93, 42, 41,
+     37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32,105,102,
+     32, 98, 32,116,104,101,110, 10, 32, 32, 32, 45, 45,101,114,
+    114,111,114, 40, 34, 35, 83,111,114,114,121, 44, 32,100,101,
+     99,108, 97,114, 97,116,105,111,110, 32,111,102, 32,101,110,
+    117,109,115, 32, 97,110,100, 32,118, 97,114,105, 97, 98,108,
+    101,115, 32,111,110, 32,116,104,101, 32,115, 97,109,101, 32,
+    115,116, 97,116,101,109,101,110,116, 32,105,115, 32,110,111,
+    116, 32,115,117,112,112,111,114,116,101,100, 46, 92,110, 68,
+    101, 99,108, 97,114,101, 32,121,111,117,114, 32,118, 97,114,
+    105, 97, 98,108,101, 32,115,101,112, 97,114, 97,116,101,108,
+    121, 32, 40,101,120, 97,109,112,108,101, 58, 32, 39, 34, 46,
+     46,110, 97,109,101, 46, 46, 34, 32, 34, 46, 46,118, 97,114,
+    110, 97,109,101, 46, 46, 34, 59, 39, 41, 34, 41, 10, 32, 32,
+     32, 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, 32, 32,
+     32, 69,110,117,109,101,114, 97,116,101, 40,110, 97,109,101,
+     44, 98,111,100,121, 44,118, 97,114,110, 97,109,101, 41, 10,
+     32, 32, 32,114,101,116,117,114,110, 32,115,116,114,115,117,
+     98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10,
+     32,101,110,100, 10, 10, 45, 45, 32,100,111, 10, 45, 45, 32,
+     32,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, 45, 45, 32, 32,105,
+    102, 32, 98, 32,116,104,101,110, 10, 45, 45, 32, 32, 32, 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, 45, 45, 32, 32,
+     32, 69,110,117,109,101,114, 97,116,101, 40,110, 97,109,101,
+     44, 98,111,100,121, 41, 10, 45, 45, 32, 32,114,101,116,117,
+    114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49,
+     41, 10, 45, 45, 32, 32,101,110,100, 10, 45, 45, 32,101,110,
+    100, 10, 10, 32,100,111, 10, 32, 32,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, 32, 32,105,102, 32, 98, 32,116,
+    104,101,110, 10, 32, 32, 32, 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, 32, 32, 32, 69,110,117,109,101,114, 97,116,
+    101, 40,110, 97,109,101, 44, 98,111,100,121, 41, 10, 32, 32,
+     32,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
+    115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,
+    110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,111,112,101,
+    114, 97,116,111,114, 10, 32,100,111, 10, 32, 32,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,
+     60, 62, 44, 93, 45, 37,115, 43,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, 32, 32,105,102, 32,110,111,116,
+     32, 98, 32,116,104,101,110, 10,  9,  9, 32, 45, 45, 32,116,
+    114,121, 32,105,110,108,105,110,101, 10, 32, 32, 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, 60, 62, 44, 93, 45,
+     37,115, 43,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, 91, 37,115, 92,110, 93, 42, 37,
+     98,123,125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32,
+     32,101,110,100, 10, 32, 32,105,102, 32,110,111,116, 32, 98,
+     32,116,104,101,110, 10, 32, 32,  9, 45, 45, 32,116,114,121,
+     32, 99, 97,115,116, 32,111,112,101,114, 97,116,111,114, 10,
+     32, 32,  9, 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, 32, 34, 94, 37,115, 42,
+     40,111,112,101,114, 97,116,111,114, 41, 37,115, 43, 40, 91,
+     37,119, 95, 58, 37,100, 60, 62, 37, 42, 37, 38, 37,115, 93,
+     43, 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, 34, 41, 59, 10,
+     32, 32,  9,105,102, 32, 98, 32,116,104,101,110, 10, 32, 32,
+      9,  9,108,111, 99, 97,108, 32, 95, 44,105,101, 32, 61, 32,
+    115,116,114,105,110,103, 46,102,105,110,100, 40,115, 44, 32,
+     34, 94, 37,115, 42, 37, 98,123,125, 34, 44, 32,101, 43, 49,
+     41, 10, 32, 32,  9,  9,105,102, 32,105,101, 32,116,104,101,
+    110, 10, 32, 32,  9,  9,  9,101, 32, 61, 32,105,101, 10, 32,
+     32,  9,  9,101,110,100, 10, 32, 32,  9,101,110,100, 10, 32,
+     32,101,110,100, 10, 32, 32,105,102, 32, 98, 32,116,104,101,
+    110, 10, 32, 32, 32, 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, 32, 32, 32, 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, 32, 32, 32,114,101,116,117,114,110, 32,
+    115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32,
+     32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,
+    116,114,121, 32,102,117,110, 99,116,105,111,110, 10, 32,100,
+    111, 10, 32, 32, 45, 45,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, 60, 62, 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,
+     32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,
+    108, 44, 97,114,103, 44, 99,111,110,115,116, 44,118,105,114,
+    116, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34,
+     94, 37,115, 42, 40, 91, 94, 37, 40, 92,110, 93, 43, 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, 40, 61, 63, 37,
+    115, 42, 48, 63, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10,
+     32, 32,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110,
+     10, 32, 32,  9, 45, 45, 32,116,114,121, 32,102,117,110, 99,
+    116,105,111,110, 32,119,105,116,104, 32,116,101,109,112,108,
+     97,116,101, 10, 32, 32,  9, 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, 60, 62, 93, 42, 91, 95, 37,119, 93, 37, 98, 60, 62, 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, 32,
+     32,101,110,100, 10, 32, 32,105,102, 32,110,111,116, 32, 98,
+     32,116,104,101,110, 10, 32, 32, 32, 45, 45, 32,116,114,121,
+     32, 97, 32,115,105,110,103,108,101, 32,108,101,116,116,101,
+    114, 32,102,117,110, 99,116,105,111,110, 32,110, 97,109,101,
+     10, 32, 32, 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, 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, 32, 32,101,110,100, 10, 32, 32,105,
+    102, 32, 98, 32,116,104,101,110, 10, 32, 32,  9,105,102, 32,
+    118,105,114,116, 32, 97,110,100, 32,115,116,114,105,110,103,
+     46,102,105,110,100, 40,118,105,114,116, 44, 32, 34, 91, 61,
+     48, 93, 34, 41, 32,116,104,101,110, 10, 32, 32,  9,  9,105,
+    102, 32,115,101,108,102, 46,102,108, 97,103,115, 32,116,104,
+    101,110, 10, 32, 32,  9,  9,  9,115,101,108,102, 46,102,108,
+     97,103,115, 46,112,117,114,101, 95,118,105,114,116,117, 97,
+    108, 32, 61, 32,116,114,117,101, 10, 32, 32,  9,  9,101,110,
+    100, 10, 32, 32,  9,101,110,100, 10, 32, 32, 32, 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, 32, 32, 32, 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, 32, 32, 32,114,101,116,117,114,
+    110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41,
+     10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45,
+     45, 32,116,114,121, 32,105,110,108,105,110,101, 32,102,117,
+    110, 99,116,105,111,110, 10, 32,100,111, 10, 32, 32,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, 94, 37, 40,
+     92,110, 93, 43, 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, 91,
+     94, 59,123, 93, 42, 37, 98,123,125, 37,115, 42, 59, 63, 37,
+    115, 42, 34, 41, 10, 32, 32, 45, 45,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, 60, 62, 93, 42, 91, 95,
+     37,119, 62, 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, 91,
+     94, 59, 93, 42, 37, 98,123,125, 37,115, 42, 59, 63, 37,115,
+     42, 34, 41, 10, 32, 32,105,102, 32,110,111,116, 32, 98, 32,
+    116,104,101,110, 10, 32, 32, 32, 45, 45, 32,116,114,121, 32,
+     97, 32,115,105,110,103,108,101, 32,108,101,116,116,101,114,
+     32,102,117,110, 99,116,105,111,110, 32,110, 97,109,101, 10,
+     32, 32, 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, 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, 32, 32,101,
+    110,100, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10,
+     32, 32, 32, 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,
+     32, 32, 32, 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, 32, 32,
+     32,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
+    115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,
+    110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32, 99,108, 97,
+    115,115, 10, 32,100,111, 10,  9, 32,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,  9,  9, 98, 97,115,101, 32, 61, 32, 39, 39,
+     32, 98,111,100,121, 32, 61, 32, 39, 39, 10,  9,  9, 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, 32, 32, 45, 45, 32,100,117,109,
+    109,121, 32, 99,108, 97,115,115, 10,  9,  9,105,102, 32,110,
+    111,116, 32, 98, 32,116,104,101,110, 10,  9,  9,  9, 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, 32, 32, 32, 32, 45, 45, 32,
+    100,117,109,109,121, 32,115,116,114,117, 99,116, 10,  9,  9,
+      9,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10,
+      9,  9,  9,  9, 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,  9,  9,
+      9,  9,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110,
+     10,  9,  9,  9,  9,  9, 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,  9,  9,  9,  9,  9,105,102, 32,110,111,116, 32, 98, 32,
+    116,104,101,110, 10,  9,  9,  9,  9,  9,  9, 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,  9,  9,  9,  9,  9,  9,105,102, 32,110,
+    111,116, 32, 98, 32,116,104,101,110, 10,  9,  9,  9,  9,  9,
+      9,  9, 98, 97,115,101, 32, 61, 32, 39, 39, 10,  9,  9,  9,
+      9,  9,  9,  9, 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, 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,  9,  9,  9,  9,  9,
+      9,101,110,100, 10,  9,  9,  9,  9,  9,101,110,100, 10,  9,
+      9,  9,  9,101,110,100, 10,  9,  9,  9,101,110,100, 10,  9,
+      9,101,110,100, 10,  9,  9,105,102, 32, 98, 32,116,104,101,
+    110, 10,  9,  9,  9,105,102, 32, 98, 97,115,101, 32,126, 61,
+     32, 39, 39, 32,116,104,101,110, 10,  9,  9,  9,  9, 98, 97,
+    115,101, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+     98, 40, 98, 97,115,101, 44, 32, 34, 94, 37,115, 42, 58, 37,
+    115, 42, 34, 44, 32, 34, 34, 41, 10,  9,  9,  9,  9, 98, 97,
+    115,101, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+     98, 40, 98, 97,115,101, 44, 32, 34, 37,115, 42,112,117, 98,
+    108,105, 99, 37,115, 42, 34, 44, 32, 34, 34, 41, 10,  9,  9,
+      9,  9, 98, 97,115,101, 32, 61, 32,115,112,108,105,116, 40,
+     98, 97,115,101, 44, 32, 34, 44, 34, 41, 10,  9,  9,  9,  9,
+     45, 45,108,111, 99, 97,108, 32, 98, 44,101, 10,  9,  9,  9,
+      9, 45, 45, 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, 60, 62, 44, 58, 93,
+     42, 41, 36, 34, 41, 10,  9,  9,  9,101,108,115,101, 10,  9,
+      9,  9,  9, 98, 97,115,101, 32, 61, 32,123,125, 10,  9,  9,
+      9,101,110,100, 10,  9,  9,  9, 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,  9,  9,  9, 67,108, 97,115,115, 40,110,
+     97,109,101, 44, 98, 97,115,101, 44, 98,111,100,121, 41, 10,
+      9,  9,  9,114,101,116,117,114,110, 32,115,116,114,115,117,
+     98, 40,115, 44,101, 43, 49, 41, 10,  9,  9,101,110,100, 10,
+      9,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,116,
+    121,112,101,100,101,102, 10, 32,100,111, 10, 32, 32,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, 32, 32,105,
+    102, 32, 98, 32,116,104,101,110, 10, 32, 32, 32, 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, 32, 32, 32, 84,121,112,
+    101,100,101,102, 40,116,121,112,101,115, 41, 10, 32, 32, 32,
+    114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115,
+     44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,
+    100, 10, 10, 32, 45, 45, 32,116,114,121, 32,118, 97,114,105,
+     97, 98,108,101, 10, 32,100,111, 10, 32, 32,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, 60, 62, 44, 93, 42, 91, 95, 37,119, 37,100, 93, 41,
+     37,115, 42, 59, 37,115, 42, 34, 41, 10, 32, 32,105,102, 32,
+     98, 32,116,104,101,110, 10, 32, 32, 32, 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, 10,  9,108,111, 99, 97,108, 32,
+    108,105,115,116, 32, 61, 32,115,112,108,105,116, 95, 99, 95,
+    116,111,107,101,110,115, 40,100,101, 99,108, 44, 32, 34, 44,
+     34, 41, 10,  9, 86, 97,114,105, 97, 98,108,101, 40,108,105,
+    115,116, 91, 49, 93, 41, 10,  9,105,102, 32,108,105,115,116,
+     46,110, 32, 62, 32, 49, 32,116,104,101,110, 10,  9,  9,108,
+    111, 99, 97,108, 32, 95, 44, 95, 44,116,121,112,101, 32, 61,
+     32,115,116,114,102,105,110,100, 40,108,105,115,116, 91, 49,
+     93, 44, 32, 34, 40, 46, 45, 41, 37,115, 43, 40, 91, 94, 37,
+    115, 93, 42, 41, 36, 34, 41, 59, 10, 10,  9,  9,108,111, 99,
+     97,108, 32,105, 32, 61, 50, 59, 10,  9,  9,119,104,105,108,
+    101, 32,108,105,115,116, 91,105, 93, 32,100,111, 10,  9,  9,
+      9, 86, 97,114,105, 97, 98,108,101, 40,116,121,112,101, 46,
+     46, 34, 32, 34, 46, 46,108,105,115,116, 91,105, 93, 41, 10,
+      9,  9,  9,105, 61,105, 43, 49, 10,  9,  9,101,110,100, 10,
+      9,101,110,100, 10, 32, 32, 32, 45, 45, 86, 97,114,105, 97,
+     98,108,101, 40,100,101, 99,108, 41, 10, 32, 32, 32,114,101,
+    116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101,
+     43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10,
+     10,  9, 45, 45, 32,116,114,121, 32,115,116,114,105,110,103,
+     10, 32,100,111, 10, 32, 32,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, 32, 32,105,102, 32, 98,
+     32,116,104,101,110, 10, 32, 32, 32, 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, 32, 32, 32, 86, 97,114,105, 97, 98,
+    108,101, 40,100,101, 99,108, 41, 10, 32, 32, 32,114,101,116,
+    117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43,
+     49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10,
+     32, 45, 45, 32,116,114,121, 32, 97,114,114, 97,121, 10, 32,
+    100,111, 10, 32, 32,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, 32, 32,105,102, 32, 98, 32,116,104,101,110,
+     10, 32, 32, 32, 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, 32, 32, 32, 65,114,114, 97,121, 40,100,101, 99,108, 41,
+     10, 32, 32, 32,114,101,116,117,114,110, 32,115,116,114,115,
+    117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100,
+     10, 32,101,110,100, 10, 10, 32, 45, 45, 32,110,111, 32,109,
+     97,116, 99,104,105,110,103, 10, 32,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, 32, 32, 95,
+     99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115, 10, 32,
+     32,101,114,114,111,114, 40, 34, 35,112, 97,114,115,101, 32,
+    101,114,114,111,114, 34, 41, 10, 32,101,108,115,101, 10, 32,
+     32,114,101,116,117,114,110, 32, 34, 34, 10, 32,101,110,100,
+     10, 10,101,110,100, 10, 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, 10,  9,115,101,
+    108,102, 46, 99,117,114,114, 95,109,101,109, 98,101,114, 95,
+     97, 99, 99,101,115,115, 32, 61, 32,110,105,108, 10, 10, 32,
+    119,104,105,108,101, 32,115, 32,126, 61, 32, 39, 39, 32,100,
+    111, 10, 32, 32,115, 32, 61, 32,115,101,108,102, 58,100,111,
+    112, 97,114,115,101, 40,115, 41, 10, 32, 32,109,101,116,104,
+    111,100,105,115,118,105,114,116,117, 97,108, 32, 61, 32,102,
+     97,108,115,101, 10, 32,101,110,100, 10,101,110,100, 10, 10,
+     10, 45, 45, 32,112,114,111,112,101,114,116,121, 32,116,121,
+    112,101,115, 10, 10,102,117,110, 99,116,105,111,110, 32,103,
+    101,116, 95,112,114,111,112,101,114,116,121, 95,116,121,112,
+    101, 40, 41, 10, 10,  9,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,103,101,116, 95,112,114,111,112,101,114,116,121,
+     95,116,121,112,101, 40, 41, 10,101,110,100, 10, 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,101,116, 95,112,114,111,112,
+    101,114,116,121, 95,116,121,112,101, 40,112,116,121,112,101,
+     41, 10,  9,112,116,121,112,101, 32, 61, 32,115,116,114,105,
+    110,103, 46,103,115,117, 98, 40,112,116,121,112,101, 44, 32,
+     34, 94, 37,115, 42, 34, 44, 32, 34, 34, 41, 10,  9,112,116,
+    121,112,101, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+    117, 98, 40,112,116,121,112,101, 44, 32, 34, 37,115, 42, 36,
+     34, 44, 32, 34, 34, 41, 10, 10,  9,115,101,108,102, 46,112,
+    114,111,112,101,114,116,121, 95,116,121,112,101, 32, 61, 32,
+    112,116,121,112,101, 10,101,110,100, 10, 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,103,101,116, 95,112,114,111,112,101,114,
+    116,121, 95,116,121,112,101, 40, 41, 10,  9,114,101,116,117,
+    114,110, 32,115,101,108,102, 46,112,114,111,112,101,114,116,
+    121, 95,116,121,112,101, 32,111,114, 32, 40,115,101,108,102,
+     46,112, 97,114,101,110,116, 32, 97,110,100, 32,115,101,108,
+    102, 46,112, 97,114,101,110,116, 58,103,101,116, 95,112,114,
+    111,112,101,114,116,121, 95,116,121,112,101, 40, 41, 41, 32,
+    111,114, 32, 34,100,101,102, 97,117,108,116, 34, 10,101,110,
+    100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/container.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,112, 97, 99,107, 97,
+    103,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,
+    116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,
+    114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,
+    114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32,
+     74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100,
+     58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,
+    100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,
+    119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,
+    101,100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32,
+     97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,
+    116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119,
+     97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,
+    114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,
+    110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115,
+     44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,
+    116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,
+    105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,
+    105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101,
+     44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,
+    116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,
+    109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,
+    105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45, 45,
+     32, 80, 97, 99,107, 97,103,101, 32, 99,108, 97,115,115, 10,
+     45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32,116,
+    104,101, 32,119,104,111,108,101, 32,112, 97, 99,107, 97,103,
+    101, 32, 98,101,105,110,103, 32, 98,111,117,110,100, 46, 10,
+     45, 45, 32, 84,104,101, 32,102,111,108,108,111,119,105,110,
+    103, 32,102,105,101,108,100,115, 32, 97,114,101, 32,115,116,
+    111,114,101,100, 58, 10, 45, 45, 32, 32, 32, 32,123,105,125,
+     32, 61, 32,108,105,115,116, 32,111,102, 32,111, 98,106,101,
+     99,116,115, 32,105,110, 32,116,104,101, 32,112, 97, 99,107,
+     97,103,101, 46, 10, 99,108, 97,115,115, 80, 97, 99,107, 97,
+    103,101, 32, 61, 32,123, 10, 32, 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, 10, 45, 45, 32, 80,114,105,110,116, 32,
+    109,101,116,104,111,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,105,110,116, 32, 40, 41, 10, 32,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, 32,108,111, 99, 97,108,
+     32,105, 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,
+    102, 91,105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,
+    105, 93, 58,112,114,105,110,116, 40, 34, 34, 44, 34, 34, 41,
+     10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100,
+     10,101,110,100, 10, 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, 10, 32, 45,
+     45, 32, 97,118,111,105,100, 32,112,114,101,112,114,111, 99,
+    101,115,115,105,110,103, 32,101,109, 98,101,100,100,101,100,
+     32, 76,117, 97, 32, 99,111,100,101, 10, 32,108,111, 99, 97,
+    108, 32, 76, 32, 61, 32,123,125, 10, 32,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, 32, 45, 45, 32,100,101,
+     97,108, 32,119,105,116,104, 32,101,109, 98,101,100,100,101,
+    100, 32,108,117, 97, 32, 99,111,100,101, 10, 32,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, 32,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, 32, 32, 32, 32, 32, 32,102,117,
+    110, 99,116,105,111,110, 32, 40, 99, 41, 10, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,116,105,
+    110,115,101,114,116, 40, 76, 44, 99, 41, 10, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,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, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,
+    100, 41, 10, 32, 45, 45, 32, 97,118,111,105,100, 32,112,114,
+    101,112,114,111, 99,101,115,115,105,110,103, 32,101,109, 98,
+    101,100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,108,
+    111, 99, 97,108, 32, 67, 32, 61, 32,123,125, 10, 32,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, 32, 45, 45,
+     32,100,101, 97,108, 32,119,105,116,104, 32,101,109, 98,101,
+    100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,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, 32,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, 32, 32, 32, 32, 32, 32,102,
+    117,110, 99,116,105,111,110, 32, 40, 99, 41, 10, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,116,
+    105,110,115,101,114,116, 40, 67, 44, 99, 41, 10, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,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, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,
+    110,100, 41, 10, 32, 45, 45, 32, 97,118,111,105,100, 32,112,
+    114,101,112,114,111, 99,101,115,115,105,110,103, 32,101,109,
+     98,101,100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,
+    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,123, 34, 44, 34, 92, 53, 34, 41, 32,
+     45, 45, 32,100,101, 97,108, 32,119,105,116,104, 32,101,109,
+     98,101,100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,
+    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,125, 34, 44, 34, 92, 54, 34, 41, 10,
+     32,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, 53, 92, 54, 41, 34, 44, 32, 32, 32, 32, 32, 32,
+     32,102,117,110, 99,116,105,111,110, 32, 40, 99, 41, 10, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32,116,105,110,115,101,114,116, 40, 67, 44, 99, 41, 10, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32,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,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32,101,110,100, 41, 10, 10, 32, 45, 45,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, 35, 91,
+     94,100, 93, 91, 94, 92,110, 93, 42, 92,110, 34, 44, 32, 34,
+     92,110, 92,110, 34, 41, 32, 45, 45, 32,101,108,105,109,105,
+    110, 97,116,101, 32,112,114,101,112,114,111, 99,101,115,115,
+    111,114, 32,100,105,114,101, 99,116,105,118,101,115, 32,116,
+    104, 97,116, 32,100,111,110, 39,116, 32,115,116, 97,114,116,
+     32,119,105,116,104, 32, 39,100, 39, 10, 32,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, 91, 32, 92,116,
+     93, 42, 35, 91, 32, 92,116, 93, 42, 91, 94,100, 37, 60, 37,
+     91, 93, 34, 44, 32, 34, 92,110, 47, 47, 34, 41, 32, 45, 45,
+     32,101,108,105,109,105,110, 97,116,101, 32,112,114,101,112,
+    114,111, 99,101,115,115,111,114, 32,100,105,114,101, 99,116,
+    105,118,101,115, 32,116,104, 97,116, 32,100,111,110, 39,116,
+     32,115,116, 97,114,116, 32,119,105,116,104, 32, 39,100, 39,
+     10, 10, 32, 45, 45, 32, 97,118,111,105,100, 32,112,114,101,
+    112,114,111, 99,101,115,115,105,110,103, 32,118,101,114, 98,
+     97,116,105,109, 32,108,105,110,101,115, 10, 32,108,111, 99,
+     97,108, 32, 86, 32, 61, 32,123,125, 10, 32,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, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32,116,105,110,115,101,114,116, 40, 86, 44,118, 41,
+     10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32,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,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32,101,110,100, 41, 10, 10, 32, 45, 45, 32,112,101,114,102,
+    111,114,109, 32,103,108,111, 98, 97,108, 32,115,117, 98,115,
+    116,105,116,117,116,105,111,110, 10, 10, 32,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, 32, 32, 32, 32, 32, 45,
+     45, 32,101,108,105,109,105,110, 97,116,101, 32, 67, 43, 43,
+     32, 99,111,109,109,101,110,116,115, 10, 32,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, 32,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,
+     32,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, 32,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, 32,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, 32,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, 32, 45,
+     45, 32,101,108,105,109,105,110, 97,116,101, 32,115,112, 97,
+     99,101,115, 32, 98,101,115,105,100,101, 32, 64, 10, 32,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, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+     32, 39,105,110,108,105,110,101, 39, 32,107,101,121,119,111,
+    114,100, 10, 32, 45, 45,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, 32, 45, 45, 32,101,108,
+    105,109,105,110, 97,116,101, 32, 39,101,120,116,101,114,110,
+     39, 32,107,101,121,119,111,114,100, 10, 32, 45, 45,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, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+     32, 39,118,105,114,116,117, 97,108, 39, 32,107,101,121,119,
+    111,114,100, 10, 32, 45, 45,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, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+     32, 39,112,117, 98,108,105, 99, 58, 39, 32,107,101,121,119,
+    111,114,100, 10, 32,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, 32, 45, 45, 32,115,117, 98,115,
+    116,105,116,117,116,101, 32, 39,118,111,105,100, 42, 39, 10,
+     32,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, 32, 45, 45, 32,115,117, 98,115,116,105,116,117,
+    116,101, 32, 39,118,111,105,100, 42, 39, 10, 32,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, 32, 32,
+     45, 45, 32,115,117, 98,115,116,105,116,117,116,101, 32, 39,
+     99,104, 97,114, 42, 39, 10, 32,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, 32, 32,
+     45, 45, 32,115,117, 98,115,116,105,116,117,116,101, 32, 39,
+    108,117, 97, 95, 83,116, 97,116,101, 42, 39, 10, 10, 32, 45,
+     45, 32,114,101,115,116,111,114,101, 32,101,109, 98,101,100,
+    100,101,100, 32, 76,117, 97, 32, 99,111,100,101, 10, 32,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, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,101,116,117,
+    114,110, 32, 76, 91,116,111,110,117,109, 98,101,114, 40,110,
+     41, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32,101,110,100, 41, 10, 32, 45, 45, 32,114,101,115,116,
+    111,114,101, 32,101,109, 98,101,100,100,101,100, 32, 67, 32,
+     99,111,100,101, 10, 32,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, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32,114,101,116,117,114,110, 32, 67, 91,116,111,110,117,
+    109, 98,101,114, 40,110, 41, 93, 10, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 32, 45,
+     45, 32,114,101,115,116,111,114,101, 32,118,101,114, 98, 97,
+    116,105,109, 32,108,105,110,101,115, 10, 32,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, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,
+    101,116,117,114,110, 32, 86, 91,116,111,110,117,109, 98,101,
+    114, 40,110, 41, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+     32,101,110,100, 41, 10, 10, 32,115,101,108,102, 46, 99,111,
+    100,101, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+     98, 40,115,101,108,102, 46, 99,111,100,101, 44, 32, 34, 92,
+    110, 37,115, 42, 37, 36, 40, 91, 94, 92,110, 93, 43, 41, 34,
+     44, 32,102,117,110, 99,116,105,111,110, 32, 40,108, 41, 10,
+      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9, 86,101,114, 98,
+     97,116,105,109, 40,108, 46, 46, 34, 92,110, 34, 41, 10,  9,
+      9,  9,  9,  9,  9,  9,  9,  9,  9,  9,114,101,116,117,114,
+    110, 32, 34, 92,110, 34, 10,  9,  9,  9,  9,  9,  9,  9,  9,
+      9,  9, 32, 32,101,110,100, 41, 10,101,110,100, 10, 10, 45,
+     45, 32,116,114, 97,110,115,108, 97,116,101, 32,118,101,114,
+     98, 97,116,105,109, 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, 32,111,117,116,112,
+    117,116, 40, 39, 47, 42, 92,110, 39, 41, 10, 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, 32,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, 32,111,117,116,112,117,116, 40, 39, 42, 47, 92,110, 92,
+    110, 39, 41, 10, 10,  9,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,  9,111,117,116,112,117,116,
+     40, 39, 35,105,110, 99,108,117,100,101, 32, 34,115,116,100,
+    108,105, 98, 46,104, 34, 92,110, 39, 41, 10,  9,111,117,116,
+    112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41,
+     10,  9,111,117,116,112,117,116, 40, 39, 35,105,110, 99,108,
+    117,100,101, 32, 34,115,116,114,105,110,103, 46,104, 34, 92,
+    110, 92,110, 39, 41, 10, 32,111,117,116,112,117,116, 40, 39,
+     35,105,110, 99,108,117,100,101, 32, 34,116,111,108,117, 97,
+     43, 43, 46,104, 34, 92,110, 92,110, 39, 41, 10, 10, 32,105,
+    102, 32,110,111,116, 32,102,108, 97,103,115, 46,104, 32,116,
+    104,101,110, 10, 32, 32,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, 32, 32,111,117,116,
+    112,117,116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,
+    105,110,116, 32, 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, 32, 32,111,117,
+    116,112,117,116, 40, 39, 92,110, 39, 41, 10, 32,101,110,100,
+     10, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,
+    104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111,
+     10, 32, 32,115,101,108,102, 91,105, 93, 58,112,114,101, 97,
+    109, 98,108,101, 40, 41, 10, 32, 32,105, 32, 61, 32,105, 43,
+     49, 10, 32,101,110,100, 10, 10,  9,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,  9,  9,111,117,116,112,117,116, 40, 39,
+     92,110, 39, 41, 10,  9,  9,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,
+      9,  9,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,  9,  9,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,  9,  9, 32,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,
+      9,  9,  9,111,117,116,112,117,116, 40, 39,123, 39, 41, 10,
+      9,  9,  9,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,  9,  9,  9,
+    111,117,116,112,117,116, 40, 39,  9,100,101,108,101,116,101,
+     32,115,101,108,102, 59, 39, 41, 10,  9,  9,  9,111,117,116,
+    112,117,116, 40, 39,  9,114,101,116,117,114,110, 32, 48, 59,
+     39, 41, 10,  9,  9,  9,111,117,116,112,117,116, 40, 39,125,
+     39, 41, 10,  9,  9,101,110,100, 10,  9,  9,111,117,116,112,
+    117,116, 40, 39, 35,101,110,100,105,102, 92,110, 92,110, 39,
+     41, 10,  9,101,110,100, 10, 10, 32,111,117,116,112,117,116,
+     40, 39, 92,110, 39, 41, 10, 32,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, 32,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, 32,111,117,116,112,117,116, 40, 39,123,
+     39, 41, 10, 32,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,  9,105,102, 32,102,
+    108, 97,103,115, 46,116, 32,116,104,101,110, 10,  9,  9,111,
+    117,116,112,117,116, 40, 34, 35,105,102,110,100,101,102, 32,
+     77,116,111,108,117, 97, 95,116,121,112,101,105,100, 92,110,
+     35,100,101,102,105,110,101, 32, 77,116,111,108,117, 97, 95,
+    116,121,112,101,105,100, 40, 76, 44, 84, 73, 44, 84, 41, 92,
+    110, 35,101,110,100,105,102, 92,110, 34, 41, 10,  9,  9,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, 77,116,111,108,117,
+     97, 95,116,121,112,101,105,100, 40,116,111,108,117, 97, 95,
+     83, 44,116,121,112,101,105,100, 40, 39, 44,118, 44, 39, 41,
+     44, 32, 34, 39, 44,118, 44, 39, 34, 41, 59, 39, 41, 32,101,
+    110,100, 41, 10,  9,101,110,100, 10, 32,111,117,116,112,117,
+    116, 40, 39,125, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+     39, 92,110, 39, 41, 10,101,110,100, 10, 10, 45, 45, 32,114,
+    101,103,105,115,116,101,114, 32,112, 97, 99,107, 97,103,101,
+     10, 45, 45, 32,119,114,105,116,101, 32,112, 97, 99,107, 97,
+    103,101, 32,111,112,101,110, 32,102,117,110, 99,116,105,111,
+    110, 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,112,114,101, 41, 10, 32,112,114,101, 32, 61,
+     32,112,114,101, 32,111,114, 32, 39, 39, 10, 32,112,117,115,
+    104, 40,115,101,108,102, 41, 10, 32,111,117,116,112,117,116,
+     40,112,114,101, 46, 46, 34, 47, 42, 32, 79,112,101,110, 32,
+    102,117,110, 99,116,105,111,110, 32, 42, 47, 34, 41, 10, 32,
+    111,117,116,112,117,116, 40,112,114,101, 46, 46, 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, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46,
+     34,123, 34, 41, 10, 32,111,117,116,112,117,116, 40,112,114,
+    101, 46, 46, 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, 32,111,
+    117,116,112,117,116, 40,112,114,101, 46, 46, 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, 32,111,117,116,
+    112,117,116, 40,112,114,101, 46, 46, 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, 32,
+    111,117,116,112,117,116, 40,112,114,101, 46, 46, 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, 32,108,111, 99, 97,108, 32,105, 61, 49, 10,
+     32,119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,
+    100,111, 10, 32, 32,115,101,108,102, 91,105, 93, 58,114,101,
+    103,105,115,116,101,114, 40,112,114,101, 46, 46, 34, 32, 32,
+     34, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,
+    110,100, 10, 32,111,117,116,112,117,116, 40,112,114,101, 46,
+     46, 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, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46, 34,
+     32,114,101,116,117,114,110, 32, 49, 59, 34, 41, 10, 32,111,
+    117,116,112,117,116, 40,112,114,101, 46, 46, 34,125, 34, 41,
+     10, 10, 32,111,117,116,112,117,116, 40, 34, 92,110, 92,110,
+     34, 41, 10, 32,111,117,116,112,117,116, 40, 34, 35,105,102,
+     32,100,101,102,105,110,101,100, 40, 76, 85, 65, 95, 86, 69,
+     82, 83, 73, 79, 78, 95, 78, 85, 77, 41, 32, 38, 38, 32, 76,
+     85, 65, 95, 86, 69, 82, 83, 73, 79, 78, 95, 78, 85, 77, 32,
+     62, 61, 32, 53, 48, 49, 92,110, 34, 41, 59, 10, 32,111,117,
+    116,112,117,116, 40,112,114,101, 46, 46, 34, 84, 79, 76, 85,
+     65, 95, 65, 80, 73, 32,105,110,116, 32,108,117, 97,111,112,
+    101,110, 95, 34, 46, 46,115,101,108,102, 46,110, 97,109,101,
+     46, 46, 34, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42,
+     32,116,111,108,117, 97, 95, 83, 41, 32,123, 34, 41, 10, 32,
+    111,117,116,112,117,116, 40,112,114,101, 46, 46, 34, 32,114,
+    101,116,117,114,110, 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, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10,
+     32,111,117,116,112,117,116, 40,112,114,101, 46, 46, 34,125,
+     59, 34, 41, 10, 32,111,117,116,112,117,116, 40, 34, 35,101,
+    110,100,105,102, 92,110, 92,110, 34, 41, 10, 10,  9,112,111,
+    112, 40, 41, 10,101,110,100, 10, 10, 45, 45, 32,119,114,105,
+    116,101, 32,104,101, 97,100,101,114, 32,102,105,108,101, 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, 32,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, 32,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, 32,111,117,116,112,117,116, 40,
+     39, 42, 47, 92,110, 92,110, 39, 41, 10, 10, 32,105,102, 32,
+    110,111,116, 32,102,108, 97,103,115, 46,104, 32,116,104,101,
+    110, 10, 32, 32,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, 32, 32,111,117,116,112,117,
+    116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,105,110,
+    116, 32, 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, 32, 32,111,117,116,112,
+    117,116, 40, 39, 92,110, 39, 41, 10, 32,101,110,100, 10,101,
+    110,100, 10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108,
+     32, 99,111,110,115,116,114,117, 99,116,111,114, 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, 32,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, 32,114,101,116,
+    117,114,110, 32,115,101,108,102, 10,101,110,100, 10, 10, 45,
+     45, 32, 80, 97,114,115,101, 32, 67, 32,104,101, 97,100,101,
+    114, 32,102,105,108,101, 32,119,105,116,104, 32,116,111,108,
+    117, 97, 32,100,105,114,101, 99,116,105,118,101,115, 10, 45,
+     45, 32, 42, 42, 42, 32, 84,104, 97,110,107,115, 32,116,111,
+     32, 65,114,105,101,108, 32, 77, 97,110,122,117,114, 32,102,
+    111,114, 32,102,105,120,105,110,103, 32, 98,117,103,115, 32,
+    105,110, 32,110,101,115,116,101,100, 32,100,105,114,101, 99,
+    116,105,118,101,115, 32, 42, 42, 42, 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,  9,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,  9,115, 61, 32, 34, 92,110, 34, 32, 46, 46,
+     32,115, 32, 46, 46, 32, 34, 92,110, 34, 32, 45, 45, 32, 97,
+    100,100, 32, 98,108, 97,110,107, 32,108,105,110,101,115, 32,
+     97,115, 32,115,101,110,116,105,110,101,108,115, 10,  9,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,  9,119,104,105,108,101, 32,101, 32,100,111, 10,  9,
+      9,116, 32, 61, 32,115,116,114,108,111,119,101,114, 40,116,
+     41, 10,  9,  9,105,102, 32,116, 32, 61, 61, 32, 34, 98,101,
+    103,105,110, 34, 32,116,104,101,110, 10,  9,  9,  9, 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,
+      9,  9,  9,105,102, 32,110,111,116, 32,101, 32,116,104,101,
+    110, 10,  9,  9,  9, 32,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,  9,  9,  9,101,
+    110,100, 10,  9,  9,101,110,100, 10,  9,  9, 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,  9, 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, 44,101, 41, 10,  9,101,110,100, 10,  9,114,101,
+    116,117,114,110, 32, 99,111,100,101, 10,101,110,100, 10, 10,
+     45, 45, 32, 67,111,110,115,116,114,117, 99,116,111,114, 10,
+     45, 45, 32, 69,120,112,101, 99,116,115, 32,116,104,101, 32,
+    112, 97, 99,107, 97,103,101, 32,110, 97,109,101, 44, 32,116,
+    104,101, 32,102,105,108,101, 32,101,120,116,101,110,115,105,
+    111,110, 44, 32, 97,110,100, 32,116,104,101, 32,102,105,108,
+    101, 32,116,101,120,116, 46, 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, 32,108,111, 99, 97,108, 32,101,120,116,
+     32, 61, 32, 34,112,107,103, 34, 10, 10, 32, 45, 45, 32,111,
+    112,101,110, 32,105,110,112,117,116, 32,102,105,108,101, 44,
+     32,105,102, 32, 97,110,121, 10, 32,105,102, 32,102,110, 32,
+    116,104,101,110, 10, 32, 32,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, 32, 32,105,102,
+     32,110,111,116, 32,115,116, 32,116,104,101,110, 10, 32, 32,
+     32,101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,103,
+     41, 10, 32, 32,101,110,100, 10,  9,  9,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, 32,101,110,100, 10,
+     32,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,  9,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,  9, 32, 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,  9,101,110,100, 10,
+     10, 32, 45, 45, 32, 99,108,111,115,101, 32,102,105,108,101,
+     10, 32,105,102, 32,102,110, 32,116,104,101,110, 10, 32, 32,
+    114,101, 97,100,102,114,111,109, 40, 41, 10, 32,101,110,100,
+     10, 10, 32, 45, 45, 32,100,101, 97,108, 32,119,105,116,104,
+     32,105,110, 99,108,117,100,101, 32,100,105,114,101, 99,116,
+    105,118,101, 10, 32,108,111, 99, 97,108, 32,110,115,117, 98,
+    115,116, 10, 32,114,101,112,101, 97,116, 10, 32, 32, 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, 40, 91, 94, 92,110, 93, 42, 41, 92,110, 39, 44, 10,  9,
+      9,102,117,110, 99,116,105,111,110, 32, 40,107,105,110,100,
+     44,102,110, 44,101,120,116,114, 97, 41, 10,  9,  9,  9,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,  9,  9,  9,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,  9,  9,  9,105,102, 32,110,111,116, 32,102,112, 32,116,
+    104,101,110, 10,  9,  9,  9,  9,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,  9,  9,  9,101,110,100, 10,  9,  9,  9,108,
+    111, 99, 97,108, 32,115, 32, 61, 32,114,101, 97,100, 40,102,
+    112, 44, 39, 42, 97, 39, 41, 10,  9,  9,  9, 99,108,111,115,
+    101,102,105,108,101, 40,102,112, 41, 10,  9,  9,  9,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,  9,  9,  9,  9,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,  9,  9,  9,101,108,115,101,105,102, 32,107,105,
+    110,100, 32, 61, 61, 32, 39,112, 39, 32,116,104,101,110, 10,
+      9,  9,  9,  9,114,101,116,117,114,110, 32, 34, 92,110, 92,
+    110, 34, 32, 46, 46, 32,115, 10,  9,  9,  9,101,108,115,101,
+    105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,108, 39, 32,
+    116,104,101,110, 10,  9,  9,  9,  9,114,101,116,117,114,110,
+     32, 34, 92,110, 36, 91, 45, 45, 35, 35, 34, 46, 46,102,110,
+     46, 46, 34, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32,
+     34, 92,110, 36, 93, 92,110, 34, 10,  9,  9,  9,101,108,115,
+    101,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,105, 39,
+     32,116,104,101,110, 10,  9,  9,  9,  9,108,111, 99, 97,108,
+     32,116, 32, 61, 32,123, 99,111,100,101, 61,115,125, 10,  9,
+      9,  9,  9,101,120,116,114, 97, 32, 61, 32,115,116,114,105,
+    110,103, 46,103,115,117, 98, 40,101,120,116,114, 97, 44, 32,
+     34, 94, 37,115, 42, 44, 37,115, 42, 34, 44, 32, 34, 34, 41,
+     10,  9,  9,  9,  9,108,111, 99, 97,108, 32,112, 97,114,115,
+     32, 61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,101,
+    110,115, 40,101,120,116,114, 97, 44, 32, 34, 44, 34, 41, 10,
+      9,  9,  9,  9,105,110, 99,108,117,100,101, 95,102,105,108,
+    101, 95,104,111,111,107, 40,116, 44, 32,102,110, 44, 32,117,
+    110,112, 97, 99,107, 40,112, 97,114,115, 41, 41, 10,  9,  9,
+      9,  9,114,101,116,117,114,110, 32, 34, 92,110, 92,110, 34,
+     32, 46, 46, 32,116, 46, 99,111,100,101, 10,  9,  9,  9,101,
+    108,115,101, 10,  9,  9,  9,  9,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, 44, 32, 36,108,102,105,108,101, 32,111,114, 32, 36,105,
+    102,105,108,101, 41, 39, 41, 10,  9,  9,  9,101,110,100, 10,
+      9,  9,101,110,100, 41, 10, 32,117,110,116,105,108, 32,110,
+    115,117, 98,115,116, 61, 61, 48, 10, 10, 32, 45, 45, 32,100,
+    101, 97,108, 32,119,105,116,104, 32,114,101,110, 97,109,105,
+    110,103, 32,100,105,114,101, 99,116,105,118,101, 10, 32,114,
+    101,112,101, 97,116, 32, 45, 45, 32, 73, 32,100,111,110, 39,
+    116, 32,107,110,111,119, 32,119,104,121, 32,116,104,105,115,
+     32,105,115, 32,110,101, 99,101,115, 97,114,121, 10,  9, 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,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, 32,117,110,
+    116,105,108, 32,110,115,117, 98,115,116, 32, 61, 61, 32, 48,
+     10, 10, 32,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, 32,112,117,115,
+    104, 40,116, 41, 10, 32,112,114,101,112,114,111, 99,101,115,
+    115, 95,104,111,111,107, 40,116, 41, 10, 32,116, 58,112,114,
+    101,112,114,111, 99,101,115,115, 40, 41, 10, 32,112,114,101,
+    112, 97,114,115,101, 95,104,111,111,107, 40,116, 41, 10, 32,
+    116, 58,112, 97,114,115,101, 40,116, 46, 99,111,100,101, 41,
+     10, 32,112,111,112, 40, 41, 10, 32,114,101,116,117,114,110,
+     32,116, 10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/package.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,109,111,100,117,108,
+    101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,
+    116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114,
+     32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114,
+     97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,
+    117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58,
+     32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,
+    101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,119,
+     97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,
+    100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,
+    110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,116,
+     46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,
+    114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,114,
+    101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,110,
+     32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44,
+     32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,
+    104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,
+    103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,105,
+    100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44,
+     32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,116,
+    101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,
+    101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,105,
+     99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45, 45, 32,
+     77,111,100,117,108,101, 32, 99,108, 97,115,115, 10, 45, 45,
+     32, 82,101,112,114,101,115,101,110,116,115, 32,109,111,100,
+    117,108,101, 46, 10, 45, 45, 32, 84,104,101, 32,102,111,108,
+    108,111,119,105,110,103, 32,102,105,101,108,100,115, 32, 97,
+    114,101, 32,115,116,111,114,101,100, 58, 10, 45, 45, 32, 32,
+     32, 32,123,105,125, 32, 61, 32,108,105,115,116, 32,111,102,
+     32,111, 98,106,101, 99,116,115, 32,105,110, 32,116,104,101,
+     32,109,111,100,117,108,101, 46, 10, 99,108, 97,115,115, 77,
+    111,100,117,108,101, 32, 61, 32,123, 10, 32, 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, 10, 45, 45, 32,114,101,103,105,115,116,101,
+    114, 32,109,111,100,117,108,101, 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,112,114,101, 41, 10,
+     32,112,114,101, 32, 61, 32,112,114,101, 32,111,114, 32, 39,
+     39, 10, 32,112,117,115,104, 40,115,101,108,102, 41, 10, 32,
+    111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,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, 32,
+    111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,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, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,
+    105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,
+     32, 32,115,101,108,102, 91,105, 93, 58,114,101,103,105,115,
+    116,101,114, 40,112,114,101, 46, 46, 39, 32, 39, 41, 10, 32,
+     32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,
+    111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,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,  9,112,111,112,
+     40, 41, 10,101,110,100, 10, 10, 45, 45, 32, 80,114,105,110,
+    116, 32,109,101,116,104,111,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, 32,112,114,105,110,116, 40,105,100,101,
+    110,116, 46, 46, 34, 77,111,100,117,108,101,123, 34, 41, 10,
+     32,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, 32,
+    108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,
+    101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32, 32,
+    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,
+     32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10,
+     32,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,
+     10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,111,
+    110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,116,
+    105,111,110, 32, 95, 77,111,100,117,108,101, 32, 40,116, 41,
+     10, 32,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,
+     32, 97,112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,
+    117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,
+    111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,
+    120,112,101, 99,116,115, 32,116,119,111, 32,115,116,114,105,
+    110,103, 32,114,101,112,114,101,115,101,110,116,105,110,103,
+     32,116,104,101, 32,109,111,100,117,108,101, 32,110, 97,109,
+    101, 32, 97,110,100, 32, 98,111,100,121, 46, 10,102,117,110,
+     99,116,105,111,110, 32, 77,111,100,117,108,101, 32, 40,110,
+     44, 98, 41, 10, 32,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, 32,112,
+    117,115,104, 40,116, 41, 10, 32,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, 32, 45, 45, 32,101,
+    108,105,109,105,110, 97,116,101, 32, 98,114, 97, 99,101,115,
+     10, 32,112,111,112, 40, 41, 10, 32,114,101,116,117,114,110,
+     32,116, 10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/module.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,110, 97,109,101,115,
+    112, 97, 99,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,
+    114,105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,
+    109, 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101,
+     67, 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45,
+     45, 32, 74,117,108, 32, 50, 48, 48, 51, 10, 45, 45, 32, 36,
+     73,100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32,
+     99,111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,
+    102,116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110,
+     32,114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,
+    116, 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121,
+     32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,
+    116,119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,
+    104,101,114,101,117,110,100,101,114, 32,105,115, 32,111,110,
+     32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,
+    105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32,
+     97,117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111,
+     98,108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,
+    111,118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110,
+     99,101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,
+    100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110,
+     99,101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,
+    105,102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45,
+     45, 32, 78, 97,109,101,115,112, 97, 99,101, 32, 99,108, 97,
+    115,115, 10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,
+    115, 32, 97, 32,110, 97,109,101,115, 97,112, 99,101, 32,100,
+    101,102,105,110,105,116,105,111,110, 46, 10, 45, 45, 32, 83,
+    116,111,114,101,115, 32,116,104,101, 32,102,111,108,108,111,
+    119,105,110,103, 32,102,105,101,108,100,115, 58, 10, 45, 45,
+     32, 32, 32, 32,110, 97,109,101, 32, 61, 32, 99,108, 97,115,
+    115, 32,110, 97,109,101, 10, 45, 45, 32, 32, 32, 32,123,105,
+    125, 32, 32, 61, 32,108,105,115,116, 32,111,102, 32,109,101,
+    109, 98,101,114,115, 10, 99,108, 97,115,115, 78, 97,109,101,
+    115,112, 97, 99,101, 32, 61, 32,123, 10, 32, 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, 32,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, 10, 45, 45, 32,
+     80,114,105,110,116, 32,109,101,116,104,111,100, 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, 32,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, 32,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, 32,108,111, 99, 97,108,
+     32,105, 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,
+    102, 91,105, 93, 32,100,111, 10, 32, 32,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, 32, 32,105, 32, 61,
+     32,105, 43, 49, 10, 32,101,110,100, 10, 32,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, 10, 45, 45, 32, 73,
+    110,116,101,114,110, 97,108, 32, 99,111,110,115,116,114,117,
+     99,116,111,114, 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, 32,
+    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, 32, 97,112,112,101,110,100, 40,116, 41, 10, 32,114,101,
+    116,117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32,
+     67,111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32,
+     69,120,112,101, 99,116,115, 32,116,104,101, 32,110, 97,109,
+    101, 32, 97,110,100, 32,116,104,101, 32, 98,111,100,121, 32,
+    111,102, 32,116,104,101, 32,110, 97,109,101,115,112, 97, 99,
+    101, 46, 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, 32,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, 32,112,117,115,104,
+     40, 99, 41, 10, 32, 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, 32, 45, 45, 32,101,108,105,109,
+    105,110, 97,116,101, 32, 98,114, 97, 99,101,115, 10, 32,112,
+    111,112, 40, 41, 10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/namespace.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,100,101,102,105,110,
+    101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,
+    116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114,
+     32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114,
+     97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,
+    117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58,
+     32,100,101,102,105,110,101, 46,108,117, 97, 44,118, 32, 49,
+     46, 50, 32, 49, 57, 57, 57, 47, 48, 55, 47, 50, 56, 32, 50,
+     50, 58, 50, 49, 58, 48, 56, 32, 99,101,108,101,115, 32, 69,
+    120,112, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+    111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+    116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+    114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+     32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+    105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+    119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+    101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+     97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+    115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+    117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+    108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+    118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+    101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+     97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+    101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+    102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45,
+     32, 68,101,102,105,110,101, 32, 99,108, 97,115,115, 10, 45,
+     45, 32, 82,101,112,114,101,115,101,110,116,115, 32, 97, 32,
+    110,117,109,101,114,105, 99, 32, 99,111,110,115,116, 32,100,
+    101,102,105,110,105,116,105,111,110, 10, 45, 45, 32, 84,104,
+    101, 32,102,111,108,108,111,119,105,110,103, 32,102,105,108,
+    100,115, 32, 97,114,101, 32,115,116,111,114,101,100, 58, 10,
+     45, 45, 32, 32, 32,110, 97,109,101, 32, 61, 32, 99,111,110,
+    115,116, 97,110,116, 32,110, 97,109,101, 10, 99,108, 97,115,
+    115, 68,101,102,105,110,101, 32, 61, 32,123, 10, 32,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, 10, 45, 45, 32,114,101,
+    103,105,115,116,101,114, 32,100,101,102,105,110,101, 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,
+    112,114,101, 41, 10,  9,105,102, 32,110,111,116, 32,115,101,
+    108,102, 58, 99,104,101, 99,107, 95,112,117, 98,108,105, 99,
+     95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,101,110, 10,
+      9,  9,114,101,116,117,114,110, 10,  9,101,110,100, 10, 10,
+     32,112,114,101, 32, 61, 32,112,114,101, 32,111,114, 32, 39,
+     39, 10, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46,
+     39,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, 10, 45, 45, 32, 80,114,105,110,
+    116, 32,109,101,116,104,111,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, 32,112,114,105,110,116, 40,105,100,101,
+    110,116, 46, 46, 34, 68,101,102,105,110,101,123, 34, 41, 10,
+     32,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, 32,
+    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,
+     32,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,
+     10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,
+    111,110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,
+    116,105,111,110, 32, 95, 68,101,102,105,110,101, 32, 40,116,
+     41, 10, 32,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, 32,116, 58, 98,117,105,108,100,110, 97,109,101,115, 40,
+     41, 10, 10, 32,105,102, 32,116, 46,110, 97,109,101, 32, 61,
+     61, 32, 39, 39, 32,116,104,101,110, 10, 32, 32,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, 32,101,110,100, 10, 10, 32, 97,
+    112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,117,114,
+    110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,
+    115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,
+    101, 99,116,115, 32, 97, 32,115,116,114,105,110,103, 32,114,
+    101,112,114,101,115,101,110,116,105,110,103, 32,116,104,101,
+     32, 99,111,110,115,116, 97,110,116, 32,110, 97,109,101, 10,
+    102,117,110, 99,116,105,111,110, 32, 68,101,102,105,110,101,
+     32, 40,110, 41, 10, 32,114,101,116,117,114,110, 32, 95, 68,
+    101,102,105,110,101,123, 10, 32, 32,110, 97,109,101, 32, 61,
+     32,110, 10, 32,125, 10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/define.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,101,110,117,109,101,
+    114, 97,116,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,
+    114,105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,
+    109, 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101,
+     67, 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45,
+     45, 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36,
+     73,100, 58, 32,101,110,117,109,101,114, 97,116,101, 46,108,
+    117, 97, 44,118, 32, 49, 46, 51, 32, 50, 48, 48, 48, 47, 48,
+     49, 47, 50, 52, 32, 50, 48, 58, 52, 49, 58, 49, 53, 32, 99,
+    101,108,101,115, 32, 69,120,112, 32, 36, 10, 10, 45, 45, 32,
+     84,104,105,115, 32, 99,111,100,101, 32,105,115, 32,102,114,
+    101,101, 32,115,111,102,116,119, 97,114,101, 59, 32,121,111,
+    117, 32, 99, 97,110, 32,114,101,100,105,115,116,114,105, 98,
+    117,116,101, 32,105,116, 32, 97,110,100, 47,111,114, 32,109,
+    111,100,105,102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,
+    101, 32,115,111,102,116,119, 97,114,101, 32,112,114,111,118,
+    105,100,101,100, 32,104,101,114,101,117,110,100,101,114, 32,
+    105,115, 32,111,110, 32, 97,110, 32, 34, 97,115, 32,105,115,
+     34, 32, 98, 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45,
+     32,116,104,101, 32, 97,117,116,104,111,114, 32,104, 97,115,
+     32,110,111, 32,111, 98,108,105,103, 97,116,105,111,110, 32,
+    116,111, 32,112,114,111,118,105,100,101, 32,109, 97,105,110,
+    116,101,110, 97,110, 99,101, 44, 32,115,117,112,112,111,114,
+    116, 44, 32,117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,
+    101,110,104, 97,110, 99,101,109,101,110,116,115, 44, 32,111,
+    114, 32,109,111,100,105,102,105, 99, 97,116,105,111,110,115,
+     46, 10, 10, 10, 45, 45, 32, 69,110,117,109,101,114, 97,116,
+    101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,
+    101,115,101,110,116,115, 32,101,110,117,109,101,114, 97,116,
+    105,111,110, 10, 45, 45, 32, 84,104,101, 32,102,111,108,108,
+    111,119,105,110,103, 32,102,105,101,108,100,115, 32, 97,114,
+    101, 32,115,116,111,114,101,100, 58, 10, 45, 45, 32, 32, 32,
+     32,123,105,125, 32, 61, 32,108,105,115,116, 32,111,102, 32,
+     99,111,110,115,116, 97,110,116, 32,110, 97,109,101,115, 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, 10, 45,
+     45, 32,114,101,103,105,115,116,101,114, 32,101,110,117,109,
+    101,114, 97,116,105,111,110, 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,112,114,101,
+     41, 10, 32,112,114,101, 32, 61, 32,112,114,101, 32,111,114,
+     32, 39, 39, 10, 32,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, 32,108,111, 99, 97,108,
+     32,105, 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,
+    102, 91,105, 93, 32,100,111, 10, 32, 32,111,117,116,112,117,
+    116, 40,112,114,101, 46, 46, 39,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, 32, 32,105, 32, 61, 32,105, 43, 49, 10,
+     32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 80,114,
+    105,110,116, 32,109,101,116,104,111,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, 32,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, 32,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,
+     32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,
+    108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32,
+     32,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, 32, 32,105,
+     32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,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, 10, 45, 45,
+     32, 73,110,116,101,114,110, 97,108, 32, 99,111,110,115,116,
+    114,117, 99,116,111,114, 10,102,117,110, 99,116,105,111,110,
+     32, 95, 69,110,117,109,101,114, 97,116,101, 32, 40,116, 44,
+    118, 97,114,110, 97,109,101, 41, 10, 32,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, 32, 97,112,112,
+    101,110,100, 40,116, 41, 10, 32, 97,112,112,101,110,100,101,
+    110,117,109, 40,116, 41, 10,  9, 32,105,102, 32,118, 97,114,
+    110, 97,109,101, 32, 97,110,100, 32,118, 97,114,110, 97,109,
+    101, 32,126, 61, 32, 34, 34, 32,116,104,101,110, 10,  9,  9,
+    105,102, 32,116, 46,110, 97,109,101, 32,126, 61, 32, 34, 34,
+     32,116,104,101,110, 10,  9,  9,  9, 86, 97,114,105, 97, 98,
+    108,101, 40,116, 46,110, 97,109,101, 46, 46, 34, 32, 34, 46,
+     46,118, 97,114,110, 97,109,101, 41, 10,  9,  9,101,108,115,
+    101, 10,  9,  9,  9,108,111, 99, 97,108, 32,110,115, 32, 61,
+     32,103,101,116, 99,117,114,114,110, 97,109,101,115,112, 97,
+     99,101, 40, 41, 10,  9,  9,  9,119, 97,114,110,105,110,103,
+     40, 34, 86, 97,114,105, 97, 98,108,101, 32, 34, 46, 46,110,
+    115, 46, 46,118, 97,114,110, 97,109,101, 46, 46, 34, 32,111,
+    102, 32,116,121,112,101, 32, 60, 97,110,111,110,121,109,111,
+    117,115, 32,101,110,117,109, 62, 32,105,115, 32,100,101, 99,
+    108, 97,114,101,100, 32, 97,115, 32,114,101, 97,100, 45,111,
+    110,108,121, 34, 41, 10,  9,  9,  9, 86, 97,114,105, 97, 98,
+    108,101, 40, 34,116,111,108,117, 97, 95,114,101, 97,100,111,
+    110,108,121, 32,105,110,116, 32, 34, 46, 46,118, 97,114,110,
+     97,109,101, 41, 10,  9,  9,101,110,100, 10,  9,101,110,100,
+     10,114,101,116,117,114,110, 32,116, 10,101,110,100, 10, 10,
+     45, 45, 32, 67,111,110,115,116,114,117, 99,116,111,114, 10,
+     45, 45, 32, 69,120,112,101, 99,116,115, 32, 97, 32,115,116,
+    114,105,110,103, 32,114,101,112,114,101,115,101,110,116,105,
+    110,103, 32,116,104,101, 32,101,110,117,109,101,114, 97,116,
+    101, 32, 98,111,100,121, 10,102,117,110, 99,116,105,111,110,
+     32, 69,110,117,109,101,114, 97,116,101, 32, 40,110, 44, 98,
+     44,118, 97,114,110, 97,109,101, 41, 10,  9, 98, 32, 61, 32,
+    115,116,114,105,110,103, 46,103,115,117, 98, 40, 98, 44, 32,
+     34, 44, 91, 37,115, 92,110, 93, 42,125, 34, 44, 32, 34, 92,
+    110,125, 34, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,
+    116,101, 32,108, 97,115,116, 32, 39, 44, 39, 10, 32,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, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,
+    101, 32, 98,114, 97, 99,101,115, 10, 32,108,111, 99, 97,108,
+     32,105, 32, 61, 32, 49, 10, 32,108,111, 99, 97,108, 32,101,
+     32, 61, 32,123,110, 61, 48,125, 10, 32,119,104,105,108,101,
+     32,116, 91,105, 93, 32,100,111, 10, 32, 32,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, 32, 32, 45, 45, 32,100,105,115,
+     99, 97,114,100, 32,105,110,105,116,105, 97,108, 32,118, 97,
+    108,117,101, 10, 32, 32,101, 46,110, 32, 61, 32,101, 46,110,
+     32, 43, 32, 49, 10, 32, 32,101, 91,101, 46,110, 93, 32, 61,
+     32,116,116, 91, 49, 93, 10, 32, 32,105, 32, 61, 32,105, 43,
+     49, 10, 32,101,110,100, 10, 32, 45, 45, 32,115,101,116, 32,
+    108,117, 97, 32,110, 97,109,101,115, 10, 32,105, 32, 32, 61,
+     32, 49, 10, 32,101, 46,108,110, 97,109,101,115, 32, 61, 32,
+    123,125, 10, 32,108,111, 99, 97,108, 32,110,115, 32, 61, 32,
+    103,101,116, 99,117,114,114,110, 97,109,101,115,112, 97, 99,
+    101, 40, 41, 10, 32,119,104,105,108,101, 32,101, 91,105, 93,
+     32,100,111, 10, 32, 32,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, 32, 32,101, 91,105, 93, 32, 61, 32,116, 91, 49, 93,
+     10,  9,  9,105,102, 32,110,111,116, 32,116, 91, 50, 93, 32,
+    116,104,101,110, 10,  9,  9, 32,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,  9,  9,101,110,100, 10, 32, 32,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, 32, 32, 95,103,108,
+    111, 98, 97,108, 95,101,110,117,109,115, 91, 32,110,115, 46,
+     46,101, 91,105, 93, 32, 93, 32, 61, 32, 40,110,115, 46, 46,
+    101, 91,105, 93, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
+     10, 32,101,110,100, 10,  9,101, 46,110, 97,109,101, 32, 61,
+     32,110, 10,  9,105,102, 32,110, 32,126, 61, 32, 34, 34, 32,
+    116,104,101,110, 10,  9,  9, 84,121,112,101,100,101,102, 40,
+     34,105,110,116, 32, 34, 46, 46,110, 41, 10,  9,101,110,100,
+     10, 32,114,101,116,117,114,110, 32, 95, 69,110,117,109,101,
+    114, 97,116,101, 40,101, 44, 32,118, 97,114,110, 97,109,101,
+     41, 10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/enumerate.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,100,101, 99,108, 97,
+    114, 97,116,105,111,110, 32, 99,108, 97,115,115, 10, 45, 45,
+     32, 87,114,105,116,116,101,110, 32, 98,121, 32, 87, 97,108,
+    100,101,109, 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32,
+     84,101, 67, 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111,
+     10, 45, 45, 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45,
+     32, 36, 73,100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,
+    115, 32, 99,111,100,101, 32,105,115, 32,102,114,101,101, 32,
+    115,111,102,116,119, 97,114,101, 59, 32,121,111,117, 32, 99,
+     97,110, 32,114,101,100,105,115,116,114,105, 98,117,116,101,
+     32,105,116, 32, 97,110,100, 47,111,114, 32,109,111,100,105,
+    102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,
+    111,102,116,119, 97,114,101, 32,112,114,111,118,105,100,101,
+    100, 32,104,101,114,101,117,110,100,101,114, 32,105,115, 32,
+    111,110, 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98,
+     97,115,105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,
+    101, 32, 97,117,116,104,111,114, 32,104, 97,115, 32,110,111,
+     32,111, 98,108,105,103, 97,116,105,111,110, 32,116,111, 32,
+    112,114,111,118,105,100,101, 32,109, 97,105,110,116,101,110,
+     97,110, 99,101, 44, 32,115,117,112,112,111,114,116, 44, 32,
+    117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,104,
+     97,110, 99,101,109,101,110,116,115, 44, 32,111,114, 32,109,
+    111,100,105,102,105, 99, 97,116,105,111,110,115, 46, 10, 10,
+     10, 45, 45, 32, 68,101, 99,108, 97,114, 97,116,105,111,110,
+     32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,101,
+    115,101,110,116,115, 32,118, 97,114,105, 97, 98,108,101, 44,
+     32,102,117,110, 99,116,105,111,110, 44, 32,111,114, 32, 97,
+    114,103,117,109,101,110,116, 32,100,101, 99,108, 97,114, 97,
+    116,105,111,110, 46, 10, 45, 45, 32, 83,116,111,114,101,115,
+     32,116,104,101, 32,102,111,108,108,111,119,105,110,103, 32,
+    102,105,101,108,100,115, 58, 10, 45, 45, 32, 32,109,111,100,
+     32, 32, 61, 32,116,121,112,101, 32,109,111,100,105,102,105,
+    101,114,115, 10, 45, 45, 32, 32,116,121,112,101, 32, 61, 32,
+    116,121,112,101, 10, 45, 45, 32, 32,112,116,114, 32, 32, 61,
+     32, 34, 42, 34, 32,111,114, 32, 34, 38, 34, 44, 32,105,102,
+     32,114,101,112,114,101,115,101,110,116,105,110,103, 32, 97,
+     32,112,111,105,110,116,101,114, 32,111,114, 32, 97, 32,114,
+    101,102,101,114,101,110, 99,101, 10, 45, 45, 32, 32,110, 97,
+    109,101, 32, 61, 32,110, 97,109,101, 10, 45, 45, 32, 32,100,
+    105,109, 32, 32, 61, 32,100,105,109,101,110,115,105,111,110,
+     44, 32,105,102, 32, 97, 32,118,101, 99,116,111,114, 10, 45,
+     45, 32, 32,100,101,102, 32, 32, 61, 32,100,101,102, 97,117,
+    108,116, 32,118, 97,108,117,101, 44, 32,105,102, 32, 97,110,
+    121, 32, 40,111,110,108,121, 32,102,111,114, 32, 97,114,103,
+    117,109,101,110,116,115, 41, 10, 45, 45, 32, 32,114,101,116,
+     32, 32, 61, 32, 34, 42, 34, 32,111,114, 32, 34, 38, 34, 44,
+     32,105,102, 32,118, 97,108,117,101, 32,105,115, 32,116,111,
+     32, 98,101, 32,114,101,116,117,114,110,101,100, 32, 40,111,
+    110,108,121, 32,102,111,114, 32, 97,114,103,117,109,101,110,
+    116,115, 41, 10, 99,108, 97,115,115, 68,101, 99,108, 97,114,
+     97,116,105,111,110, 32, 61, 32,123, 10, 32,109,111,100, 32,
+     61, 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32, 39,
+     39, 44, 10, 32,112,116,114, 32, 61, 32, 39, 39, 44, 10, 32,
+    110, 97,109,101, 32, 61, 32, 39, 39, 44, 10, 32,100,105,109,
+     32, 61, 32, 39, 39, 44, 10, 32,114,101,116, 32, 61, 32, 39,
+     39, 44, 10, 32,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, 10, 45,
+     45, 32, 67,114,101, 97,116,101, 32, 97,110, 32,117,110,105,
+    113,117,101, 32,118, 97,114,105, 97, 98,108,101, 32,110, 97,
+    109,101, 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,
+     32,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, 32, 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, 32,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, 10, 45, 45, 32, 67,104,101, 99,107, 32,100,
+    101, 99,108, 97,114, 97,116,105,111,110, 32,110, 97,109,101,
+     10, 45, 45, 32, 73,116, 32, 97,108,115,111, 32,105,100,101,
+    110,116,105,102,105,101,115, 32,100,101,102, 97,117,108,116,
+     32,118, 97,108,117,101,115, 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, 10, 32,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, 32, 32,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, 32,
+     32,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, 32, 32,115,101,108,102, 46,116,121,112,
+    101, 32, 61, 32,109, 91,109, 46,110, 93, 10, 32, 32,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, 32,101,110,
+    100, 10, 10, 32,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, 32,105,102, 32,116, 46,110, 61, 61, 50,
+     32,116,104,101,110, 10, 32, 32,115,101,108,102, 46,110, 97,
+    109,101, 32, 61, 32,116, 91, 49, 93, 10, 32, 32,115,101,108,
+    102, 46,100,101,102, 32, 61, 32,102,105,110,100, 95,101,110,
+    117,109, 95,118, 97,114, 40,116, 91,116, 46,110, 93, 41, 10,
+     32,101,110,100, 10, 10, 32,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, 32,105,102, 32, 98, 32,116,104,101,
+    110, 10, 32, 32,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, 32, 32,115,101,108,
+    102, 46,100,105,109, 32, 61, 32,102,105,110,100, 95,101,110,
+    117,109, 95,118, 97,114, 40,100, 41, 10, 32,101,110,100, 10,
+     10, 10, 32,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, 32, 32,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, 32,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, 32, 32,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, 32, 32, 32,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,
+     32, 32, 32,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, 32, 32,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, 32, 32, 32,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, 32, 32, 32,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, 32, 32,
+     32,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,
+     32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45,
+     32, 97,100,106,117,115,116, 32,116,121,112,101, 32,111,102,
+     32,115,116,114,105,110,103, 10, 32,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,  9, 32,115,101,
+    108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,104, 97,114,
+     42, 39, 10, 32,101,110,100, 10, 10,  9,105,102, 32,115,101,
+    108,102, 46,107,105,110,100, 32, 97,110,100, 32,115,101,108,
+    102, 46,107,105,110,100, 32, 61, 61, 32, 39,118, 97,114, 39,
+     32,116,104,101,110, 10,  9,  9,115,101,108,102, 46,110, 97,
+    109,101, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+     98, 40,115,101,108,102, 46,110, 97,109,101, 44, 32, 34, 58,
+     46, 42, 36, 34, 44, 32, 34, 34, 41, 32, 45, 45, 32, 63, 63,
+     63, 10,  9,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+     67,104,101, 99,107, 32,100,101, 99,108, 97,114, 97,116,105,
+    111,110, 32,116,121,112,101, 10, 45, 45, 32, 83,117, 98,115,
+    116,105,116,117,116,101,115, 32,116,121,112,101,100,101,102,
+     39,115, 46, 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, 10, 32,
+     45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,116,104,101,
+    114,101, 32,105,115, 32, 97, 32,112,111,105,110,116,101,114,
+     32,116,111, 32, 98, 97,115,105, 99, 32,116,121,112,101, 10,
+     32,108,111, 99, 97,108, 32, 98, 97,115,105, 99, 32, 61, 32,
+    105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,
+    112,101, 41, 10, 32,105,102, 32,115,101,108,102, 46,107,105,
+    110,100, 32, 61, 61, 32, 39,102,117,110, 99, 39, 32, 97,110,
+    100, 32, 98, 97,115,105, 99, 61, 61, 39,110,117,109, 98,101,
+    114, 39, 32, 97,110,100, 32,115,116,114,105,110,103, 46,102,
+    105,110,100, 40,115,101,108,102, 46,112,116,114, 44, 32, 34,
+     37, 42, 34, 41, 32,116,104,101,110, 10, 32,  9,115,101,108,
+    102, 46,116,121,112,101, 32, 61, 32, 39, 95,117,115,101,114,
+    100, 97,116, 97, 39, 10, 32,  9,115,101,108,102, 46,112,116,
+    114, 32, 61, 32, 34, 34, 10, 32,101,110,100, 10, 32,105,102,
+     32, 98, 97,115,105, 99, 32, 97,110,100, 32,115,101,108,102,
+     46,112,116,114,126, 61, 39, 39, 32,116,104,101,110, 10, 32,
+     32,115,101,108,102, 46,114,101,116, 32, 61, 32,115,101,108,
+    102, 46,112,116,114, 10, 32, 32,115,101,108,102, 46,112,116,
+    114, 32, 61, 32,110,105,108, 10, 32, 32,105,102, 32,105,115,
+     98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101,
+     41, 32, 61, 61, 32, 39,110,117,109, 98,101,114, 39, 32,116,
+    104,101,110, 10, 32, 32,  9,115,101,108,102, 46,114,101,116,
+    117,114,110, 95,117,115,101,114,100, 97,116, 97, 32, 61, 32,
+    116,114,117,101, 10, 32, 32,101,110,100, 10, 32,101,110,100,
+     10, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
+    116,104,101,114,101, 32,105,115, 32, 97,114,114, 97,121, 32,
+    116,111, 32, 98,101, 32,114,101,116,117,114,110,101,100, 10,
+     32,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, 32, 32, 32,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, 32,
+    101,110,100, 10, 32, 45, 45, 32,114,101,115,116,111,114,101,
+     32, 39,118,111,105,100, 42, 39, 32, 97,110,100, 32, 39,115,
+    116,114,105,110,103, 42, 39, 10, 32,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, 32,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, 32,
+    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,
+     32,101,110,100, 10, 10, 32, 45, 45, 32,114,101,115,111,108,
+    118,101, 32,116,121,112,101,115, 32,105,110,115,105,100,101,
+     32,116,104,101, 32,116,101,109,112,108, 97,116,101,115, 10,
+     32,105,102, 32,115,101,108,102, 46,116,121,112,101, 32,116,
+    104,101,110, 10,  9, 32,115,101,108,102, 46,116,121,112,101,
+     32, 61, 32,114,101,115,111,108,118,101, 95,116,101,109,112,
+    108, 97,116,101, 95,116,121,112,101,115, 40,115,101,108,102,
+     46,116,121,112,101, 41, 10, 32,101,110,100, 10, 10, 45, 45,
+     10, 45, 45, 32, 45, 45, 32,105,102, 32,114,101,116,117,114,
+    110,105,110,103, 32,118, 97,108,117,101, 44, 32, 97,117,116,
+    111,109, 97,116,105, 99, 97,108,108,121, 32,115,101,116, 32,
+    100,101,102, 97,117,108,116, 32,118, 97,108,117,101, 10, 45,
+     45, 32,105,102, 32,115,101,108,102, 46,114,101,116, 32,126,
+     61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,100,
+    101,102, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10, 45,
+     45, 32, 32,115,101,108,102, 46,100,101,102, 32, 61, 32, 39,
+     48, 39, 10, 45, 45, 32,101,110,100, 10, 45, 45, 10, 10,101,
+    110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,114,101,
+    115,111,108,118,101, 95,116,101,109,112,108, 97,116,101, 95,
+    116,121,112,101,115, 40,116,121,112,101, 41, 10, 10,  9,105,
+    102, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101, 41,
+     32,116,104,101,110, 10,  9,  9,114,101,116,117,114,110, 32,
+    116,121,112,101, 10,  9,101,110,100, 10,  9,108,111, 99, 97,
+    108, 32, 98, 44, 95, 44,109, 32, 61, 32,115,116,114,105,110,
+    103, 46,102,105,110,100, 40,116,121,112,101, 44, 32, 34, 40,
+     37, 98, 60, 62, 41, 34, 41, 10,  9,105,102, 32, 98, 32,116,
+    104,101,110, 10, 10,  9,  9,109, 32, 61, 32,115,112,108,105,
+    116, 95, 99, 95,116,111,107,101,110,115, 40,115,116,114,105,
+    110,103, 46,115,117, 98, 40,109, 44, 32, 50, 44, 32, 45, 50,
+     41, 44, 32, 34, 44, 34, 41, 10,  9,  9,102,111,114, 32,105,
+     61, 49, 44, 32,116, 97, 98,108,101, 46,103,101,116,110, 40,
+    109, 41, 32,100,111, 10,  9,  9,  9,109, 91,105, 93, 32, 61,
+     32,115,116,114,105,110,103, 46,103,115,117, 98, 40,109, 91,
+    105, 93, 44, 34, 37,115, 42, 40, 91, 37, 42, 38, 93, 41, 34,
+     44, 32, 34, 37, 49, 34, 41, 10,  9,  9,  9,109, 91,105, 93,
+     32, 61, 32,102,105,110,100,116,121,112,101, 40,109, 91,105,
+     93, 41, 32,111,114, 32,109, 91,105, 93, 10,  9,  9,  9,109,
+     91,105, 93, 32, 61, 32,114,101,115,111,108,118,101, 95,116,
+    101,109,112,108, 97,116,101, 95,116,121,112,101,115, 40,109,
+     91,105, 93, 41, 10,  9,  9,101,110,100, 10, 10,  9,  9,108,
+    111, 99, 97,108, 32, 98, 44,105, 10,  9,  9,116,121,112,101,
+     44, 98, 44,105, 32, 61, 32, 98,114,101, 97,107, 95,116,101,
+    109,112,108, 97,116,101, 40,116,121,112,101, 41, 10,  9,  9,
+    108,111, 99, 97,108, 32,116,101,109,112,108, 97,116,101, 95,
+    112, 97,114,116, 32, 61, 32, 34, 60, 34, 46, 46,115,116,114,
+    105,110,103, 46,103,115,117, 98, 40, 99,111,110, 99, 97,116,
+     40,109, 44, 32, 49, 44, 32,109, 46,110, 41, 44, 32, 34, 32,
+     34, 44, 32, 34, 44, 34, 41, 46, 46, 34, 62, 34, 10,  9,  9,
+    116,121,112,101, 32, 61, 32,114,101, 98,117,105,108,100, 95,
+    116,101,109,112,108, 97,116,101, 40,116,121,112,101, 44, 32,
+     98, 44, 32,116,101,109,112,108, 97,116,101, 95,112, 97,114,
+    116, 41, 10,  9,  9,116,121,112,101, 32, 61, 32,115,116,114,
+    105,110,103, 46,103,115,117, 98, 40,116,121,112,101, 44, 32,
+     34, 62, 62, 34, 44, 32, 34, 62, 32, 62, 34, 41, 10,  9,101,
+    110,100, 10,  9,114,101,116,117,114,110, 32,116,121,112,101,
+     10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,
+     98,114,101, 97,107, 95,116,101,109,112,108, 97,116,101, 40,
+    115, 41, 10,  9,108,111, 99, 97,108, 32, 98, 44,101, 44,116,
+    105,109,112,108, 32, 61, 32,115,116,114,105,110,103, 46,102,
+    105,110,100, 40,115, 44, 32, 34, 40, 37, 98, 60, 62, 41, 34,
+     41, 10,  9,105,102, 32,116,105,109,112,108, 32,116,104,101,
+    110, 10,  9,  9,115, 32, 61, 32,115,116,114,105,110,103, 46,
+    103,115,117, 98, 40,115, 44, 32, 34, 37, 98, 60, 62, 34, 44,
+     32, 34, 34, 41, 10,  9,  9,114,101,116,117,114,110, 32,115,
+     44, 32, 98, 44, 32,116,105,109,112,108, 10,  9,101,108,115,
+    101, 10,  9,  9,114,101,116,117,114,110, 32,115, 44, 32, 48,
+     44, 32,110,105,108, 10,  9,101,110,100, 10,101,110,100, 10,
+     10,102,117,110, 99,116,105,111,110, 32,114,101, 98,117,105,
+    108,100, 95,116,101,109,112,108, 97,116,101, 40,115, 44, 32,
+     98, 44, 32,116,105,109,112,108, 41, 10, 10,  9,105,102, 32,
+     98, 32, 61, 61, 32, 48, 32,116,104,101,110, 10,  9,  9,114,
+    101,116,117,114,110, 32,115, 10,  9,101,110,100, 10, 10,  9,
+    114,101,116,117,114,110, 32,115,116,114,105,110,103, 46,115,
+    117, 98, 40,115, 44, 32, 49, 44, 32, 98, 45, 49, 41, 46, 46,
+    116,105,109,112,108, 46, 46,115,116,114,105,110,103, 46,115,
+    117, 98, 40,115, 44, 32, 98, 44, 32, 45, 49, 41, 10,101,110,
+    100, 10, 10, 45, 45, 32, 80,114,105,110,116, 32,109,101,116,
+    104,111,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, 32,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, 32,112,114,105,110,116, 40,105,100,101,
+    110,116, 46, 46, 34, 32,109,111,100, 32, 32, 61, 32, 39, 34,
+     46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44,
+     34, 41, 10, 32,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, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+     46, 34, 32,112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,115,
+    101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,
+     32,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, 32,
+    112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+    100,105,109, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+     46,100,105,109, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,
+    105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100,101,
+    102, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100,
+    101,102, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,
+    116, 40,105,100,101,110,116, 46, 46, 34, 32,114,101,116, 32,
+     32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,114,101,116,
+     46, 46, 34, 39, 44, 34, 41, 10, 32,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, 10, 45, 45, 32, 99,104,101,
+     99,107, 32,105,102, 32, 97,114,114, 97,121, 32,111,102, 32,
+    118, 97,108,117,101,115, 32, 97,114,101, 32,114,101,116,117,
+    114,110,101,100, 32,116,111, 32, 76,117, 97, 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,
+     32,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,  9, 32,
+     32, 32, 32,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,  9,  9,  9,  9, 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, 10,  9,  9,  9,  9, 32,115,101,108,
+    102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,
+    110, 10,  9,  9,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, 43, 34,
+     44, 34, 34, 41, 10,  9,  9,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, 99,108,101, 97,110, 95,116,101,
+    109,112,108, 97,116,101, 40,116,121,112,101, 41, 10,  9,  9,
+    114,101,116,117,114,110, 32,116,114,117,101, 10,  9,101,110,
+    100, 10,  9,114,101,116,117,114,110, 32,102, 97,108,115,101,
+     10,101,110,100, 10, 10, 45, 45, 32,100,101, 99,108, 97,114,
+    101, 32,116, 97,103, 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, 10,
+      9,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,  9,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,  9,  9,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,  9,  9,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,  9,101,110,100, 10,101,110,
+    100, 10, 10, 10, 45, 45, 32,111,117,116,112,117,116, 32,116,
+    121,112,101, 32, 99,104,101, 99,107,105,110,103, 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, 41, 10, 32,
+    108,111, 99, 97,108, 32,100,101,102, 10, 32,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, 32,105,102, 32,115,
+    101,108,102, 46,100,101,102,126, 61, 39, 39, 32,116,104,101,
+    110, 10, 32, 32,100,101,102, 32, 61, 32, 49, 10, 32,101,108,
+    115,101, 10, 32, 32,100,101,102, 32, 61, 32, 48, 10, 32,101,
+    110,100, 10, 32,105,102, 32,115,101,108,102, 46,100,105,109,
+     32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,  9, 45, 45,
+    105,102, 32,116, 61, 61, 39,115,116,114,105,110,103, 39, 32,
+    116,104,101,110, 10,  9, 45, 45,  9,114,101,116,117,114,110,
+     32, 39,116,111,108,117, 97, 95,105,115,115,116,114,105,110,
+    103, 97,114,114, 97,121, 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,  9, 45, 45,101,108,115,101, 10,  9,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, 32,  9, 45, 45,101,110,
+    100, 10, 32,101,108,115,101,105,102, 32,116, 32,116,104,101,
+    110, 10,  9,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, 32,101,108,115,101, 10,
+     32, 32,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, 32,101,110,
+    100, 10,101,110,100, 10, 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, 32,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,  9,108,111, 99, 97,108, 32,108,105,
+    110,101, 32, 61, 32, 34, 34, 10, 32,108,111, 99, 97,108, 32,
+    112,116,114, 32, 61, 32, 39, 39, 10,  9,108,111, 99, 97,108,
+     32,109,111,100, 10,  9,108,111, 99, 97,108, 32,116,121,112,
+    101, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10, 32,
+    105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32,
+     39, 39, 32,116,104,101,110, 10,  9, 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, 37,115, 43, 39, 44, 39, 39,
+     41, 32, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+    115, 32, 99,111,110,115,116, 32,109,111,100,105,102,105,101,
+    114, 32,102,111,114, 32, 97,114,114, 97,121,115, 10, 32,101,
+    110,100, 10, 32,105,102, 32,115,101,108,102, 46,112,116,114,
+    126, 61, 39, 39, 32, 97,110,100, 32,110,111,116, 32,105,115,
+     98, 97,115,105, 99, 40,116,121,112,101, 41, 32,116,104,101,
+    110, 32,112,116,114, 32, 61, 32, 39, 42, 39, 32,101,110,100,
+     10, 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, 34, 32, 34, 44,
+    115,101,108,102, 46,109,111,100, 44,116,121,112,101, 44,112,
+    116,114, 41, 10, 32,105,102, 32, 97,114,114, 97,121, 32,116,
+    104,101,110, 10, 32, 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, 10, 32,101,110,100, 10, 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,115,101,108,102, 46,110, 97,109,101, 41,
+     10, 32,105,102, 32,115,101,108,102, 46,100,105,109, 32,126,
+     61, 32, 39, 39, 32,116,104,101,110, 10, 32, 32,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, 32,
+     32, 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, 91, 39, 44,
+    115,101,108,102, 46,100,105,109, 44, 39, 93, 59, 39, 41, 10,
+     32, 32,101,108,115,101, 10,  9,105,102, 32, 99,112,108,117,
+    115,112,108,117,115, 32,116,104,101,110, 10,  9,  9,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,  9,101,108,115,101, 10,  9,  9,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,  9,  9, 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,
+      9,101,110,100, 10, 32, 32,101,110,100, 10, 32,101,108,115,
+    101, 10, 32, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,105,
+    115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10, 32, 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, 32, 61, 32, 39, 41,
+     10, 32, 32,105,102, 32,116, 32, 61, 61, 32, 39,115,116, 97,
+    116,101, 39, 32,116,104,101,110, 10, 32, 32,  9,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, 32, 32,101,108,115,101, 10, 32, 32,  9, 45,
+     45,112,114,105,110,116, 40, 34,116, 32,105,115, 32, 34, 46,
+     46,116,111,115,116,114,105,110,103, 40,116, 41, 46, 46, 34,
+     44, 32,112,116,114, 32,105,115, 32, 34, 46, 46,116,111,115,
+    116,114,105,110,103, 40,115,101,108,102, 46,112,116,114, 41,
+     41, 10, 32, 32,  9,105,102, 32,116, 32, 61, 61, 32, 39,110,
+    117,109, 98,101,114, 39, 32, 97,110,100, 32,115,116,114,105,
+    110,103, 46,102,105,110,100, 40,115,101,108,102, 46,112,116,
+    114, 44, 32, 34, 37, 42, 34, 41, 32,116,104,101,110, 10, 32,
+     32,  9,  9,116, 32, 61, 32, 39,117,115,101,114,100, 97,116,
+     97, 39, 10, 32, 32,  9,101,110,100, 10,  9,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,  9,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,116,121,112,101, 41, 10,  9,105,102, 32,110,
+    111,116, 32,116, 32,116,104,101,110, 10,  9,  9,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,  9,101,110,100,
+     10,  9,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,  9,  9,  9,105,102, 32,105,115,101,110,117,109, 40,
+    116,121,112,101, 41, 32,116,104,101,110, 10,  9,  9,  9,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,  9,  9,  9,101,110,100, 10,  9,108,111, 99, 97,
+    108, 32,100,101,102, 32, 61, 32, 48, 10,  9,105,102, 32,115,
+    101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39, 32,116,
+    104,101,110, 10,  9,  9,100,101,102, 32, 61, 32,115,101,108,
+    102, 46,100,101,102, 10,  9,  9,105,102, 32, 40,112,116,114,
+     32, 61, 61, 32, 39, 39, 32,111,114, 32,115,101,108,102, 46,
+    112,116,114, 32, 61, 61, 32, 39, 38, 39, 41, 32, 97,110,100,
+     32,110,111,116, 32,116, 32,116,104,101,110, 10,  9,  9,  9,
+    100,101,102, 32, 61, 32, 34, 40,118,111,105,100, 42, 41, 38,
+     40, 99,111,110,115,116, 32, 34, 46, 46,116,121,112,101, 46,
+     46, 34, 41, 34, 46, 46,100,101,102, 10,  9,  9,101,110,100,
+     10,  9,101,110,100, 10,  9,105,102, 32,116, 32,116,104,101,
+    110, 10,  9,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,  9,101,
+    108,115,101, 10,  9,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,  9,101,110,100, 10, 32, 32,101,110,100, 10, 32,101,
+    110,100, 10,  9,114,101,116,117,114,110, 32,108,105,110,101,
+     10,101,110,100, 10, 10, 45, 45, 32, 68,101, 99,108, 97,114,
+    101, 32,118, 97,114,105, 97, 98,108,101, 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, 32,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,  9,
+     32,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,  9,  9,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,
+      9,  9,111,117,116,112,117,116, 40, 39, 35,101,108,115,101,
+     92,110, 39, 41, 10,  9,  9,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,  9, 32,111,117,116,112,117,116, 40, 39, 35,
+    101,110,100,105,102, 92,110, 39, 41, 10,  9,101,108,115,101,
+     10,  9,  9,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,
+      9,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 71,101,
+    116, 32,112, 97,114, 97,109,101,116,101,114, 32,118, 97,108,
+    117,101, 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,
+     32,105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61,
+     32, 39, 39, 32,116,104,101,110, 10,  9, 32,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, 32, 32,111,117,116,112,117,116,
+     40, 39, 32, 32,123, 39, 41, 10,  9, 32,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, 32,
+     32,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,  9,  9,108,111, 99, 97,
+    108, 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,
+    121,112,101, 41, 10,  9,  9,105,102, 32, 40,116, 41, 32,116,
+    104,101,110, 10, 32, 32, 32,111,117,116,112,117,116, 40, 39,
+     32, 32, 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,  9,  9,101,108,115,101, 10, 32,
+     32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 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,  9,
+      9,101,110,100, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+     32, 32, 32, 32,103,111,116,111, 32,116,111,108,117, 97, 95,
+    108,101,114,114,111,114, 59, 39, 41, 10, 32, 32,111,117,116,
+    112,117,116, 40, 39, 32, 32, 32,101,108,115,101, 92,110, 39,
+     41, 10,  9, 32,111,117,116,112,117,116, 40, 39, 35,101,110,
+    100,105,102, 92,110, 39, 41, 10, 32, 32,111,117,116,112,117,
+    116, 40, 39, 32, 32, 32,123, 39, 41, 10, 32, 32,111,117,116,
+    112,117,116, 40, 39, 32, 32, 32, 32,105,110,116, 32,105, 59,
+     39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,
+     32, 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, 32, 32,108,111, 99, 97,108, 32,116, 32,
+     61, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101, 41,
+     10, 32, 32,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32,
+     39, 39, 10, 32, 32,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, 32, 32,111,117,116,
+    112,117,116, 40, 39, 32, 32, 32, 39, 44,115,101,108,102, 46,
+    110, 97,109,101, 46, 46, 39, 91,105, 93, 32, 61, 32, 39, 41,
+     10, 32, 32,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,
+     32, 32,111,117,116,112,117,116, 40, 39, 40, 40, 39, 44,116,
+    121,112,101, 41, 10, 32, 32,105,102, 32,110,111,116, 32,116,
+     32,116,104,101,110, 10, 32, 32, 32,111,117,116,112,117,116,
+     40, 39, 42, 39, 41, 10, 32, 32,101,110,100, 10, 32, 32,111,
+    117,116,112,117,116, 40, 39, 41, 32, 39, 41, 10, 32, 32,108,
+    111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10, 32, 32,
+    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, 32, 32,105,
+    102, 32,116, 32,116,104,101,110, 10, 32, 32, 32,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,
+     32, 32,101,108,115,101, 10, 32, 32, 32,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, 32,
+     32,101,110,100, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+     32, 32, 32,125, 39, 41, 10, 32, 32,111,117,116,112,117,116,
+     40, 39, 32, 32,125, 39, 41, 10, 32,101,110,100, 10,101,110,
+    100, 10, 10, 45, 45, 32, 71,101,116, 32,112, 97,114, 97,109,
+    101,116,101,114, 32,118, 97,108,117,101, 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, 32,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, 37,115, 43, 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,  9, 32,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, 32, 32,111,117,116,112,117,
+    116, 40, 39, 32, 32,123, 39, 41, 10, 32, 32,111,117,116,112,
+    117,116, 40, 39, 32, 32, 32,105,110,116, 32,105, 59, 39, 41,
+     10, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 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, 32, 32,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, 32, 32,105,102, 32,116, 32,116,104,101,110, 10, 32, 32,
+     32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 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, 32, 32,101,108,
+    115,101, 10, 32, 32, 32,105,102, 32,115,101,108,102, 46,112,
+    116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10, 32,
+     32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,
+    123, 39, 41, 10, 32, 32, 32, 32, 32,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, 32, 32, 32, 32, 32,
+    111,117,116,112,117,116, 40, 39, 32, 32, 32, 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, 32, 32, 32, 32, 32,111,117,116,112,117,116, 40,
+     39, 32, 32, 32, 32,116,111,108,117, 97, 95,112,117,115,104,
+    102,105,101,108,100,117,115,101,114,116,121,112,101, 95, 97,
+    110,100, 95,116, 97,107,101,111,119,110,101,114,115,104,105,
+    112, 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,111,
+     98,106, 44, 34, 39, 44,116,121,112,101, 44, 39, 34, 41, 59,
+     39, 41, 10, 32, 32, 32, 32, 32,111,117,116,112,117,116, 40,
+     39, 35,101,108,115,101, 92,110, 39, 41, 10, 32, 32, 32, 32,
+     32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 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, 32, 32, 32, 32, 32,111,117,116,112,
+    117,116, 40, 39, 32, 32, 32, 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,111,
+     98,106, 44, 34, 39, 44,116,121,112,101, 44, 39, 34, 41, 59,
+     39, 41, 10, 32, 32, 32, 32, 32,111,117,116,112,117,116, 40,
+     39, 35,101,110,100,105,102, 92,110, 39, 41, 10, 32, 32, 32,
+     32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,125, 39,
+     41, 10, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, 32,111,
+    117,116,112,117,116, 40, 39, 32, 32, 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, 32, 32, 32,101,110,100, 10, 32, 32,101,110,
+    100, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,125,
+     39, 41, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45,
+     32, 70,114,101,101, 32,100,121,110, 97,109,105, 99, 97,108,
+    108,121, 32, 97,108,108,111, 99, 97,116,101,100, 32, 97,114,
+    114, 97,121, 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, 32,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,  9, 32,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,  9,  9,111,117,116,112,117,
+    116, 40, 39, 32, 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,  9, 32,111,117,116,112,117,116, 40, 39, 35,101,108,115,
+    101, 92,110, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40,
+     39, 32, 32,102,114,101,101, 40, 39, 44,115,101,108,102, 46,
+    110, 97,109,101, 44, 39, 41, 59, 39, 41, 10,  9, 32,111,117,
+    116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39,
+     41, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+     80, 97,115,115, 32,112, 97,114, 97,109,101,116,101,114, 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, 32,105,102, 32,115,101,108,102,
+     46,112,116,114, 61, 61, 39, 38, 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,116,104,101,110, 10, 32, 32,111,
+    117,116,112,117,116, 40, 39, 42, 39, 46, 46,115,101,108,102,
+     46,110, 97,109,101, 41, 10, 32,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, 32, 32,111,117,116,112,117,116, 40, 39, 38,
+     39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10, 32,
+    101,108,115,101, 10, 32, 32,111,117,116,112,117,116, 40,115,
+    101,108,102, 46,110, 97,109,101, 41, 10, 32,101,110,100, 10,
+    101,110,100, 10, 10, 45, 45, 32, 82,101,116,117,114,110, 32,
+    112, 97,114, 97,109,101,116,101,114, 32,118, 97,108,117,101,
+     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, 32,105,102, 32,115,101,
+    108,102, 46,114,101,116, 32,126, 61, 32, 39, 39, 32,116,104,
+    101,110, 10, 32, 32,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, 32, 32,105,102, 32,116, 32, 97,
+    110,100, 32,116,126, 61, 39, 39, 32,116,104,101,110, 10, 32,
+     32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 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, 32, 32,101,108,115,101, 10, 32,
+     32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 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, 32, 32,101,110,100, 10, 32,
+     32,114,101,116,117,114,110, 32, 49, 10, 32,101,110,100, 10,
+     32,114,101,116,117,114,110, 32, 48, 10,101,110,100, 10, 10,
+     45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,111,110,
+    115,116,114,117, 99,116,111,114, 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, 10, 32,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, 32,116, 58, 98,117,
+    105,108,100,110, 97,109,101,115, 40, 41, 10, 32,116, 58, 99,
+    104,101, 99,107,110, 97,109,101, 40, 41, 10, 32,116, 58, 99,
+    104,101, 99,107,116,121,112,101, 40, 41, 10, 32,108,111, 99,
+     97,108, 32,102,116, 32, 61, 32,102,105,110,100,116,121,112,
+    101, 40,116, 46,116,121,112,101, 41, 32,111,114, 32,116, 46,
+    116,121,112,101, 10, 32,105,102, 32,110,111,116, 32,105,115,
+    101,110,117,109, 40,102,116, 41, 32,116,104,101,110, 10,  9,
+    116, 46,109,111,100, 44, 32,116, 46,116,121,112,101, 32, 61,
+     32, 97,112,112,108,121,116,121,112,101,100,101,102, 40,116,
+     46,109,111,100, 44, 32,102,116, 41, 10, 32,101,110,100, 10,
+     10, 32,105,102, 32,116, 46,107,105,110,100, 61, 61, 34,118,
+     97,114, 34, 32, 97,110,100, 32, 40,115,116,114,105,110,103,
+     46,102,105,110,100, 40,116, 46,109,111,100, 44, 32, 34,116,
+    111,108,117, 97, 95,112,114,111,112,101,114,116,121, 37,115,
+     34, 41, 32,111,114, 32,115,116,114,105,110,103, 46,102,105,
+    110,100, 40,116, 46,109,111,100, 44, 32, 34,116,111,108,117,
+     97, 95,112,114,111,112,101,114,116,121, 36, 34, 41, 41, 32,
+    116,104,101,110, 10, 32,  9,116, 46,109,111,100, 32, 61, 32,
+    115,116,114,105,110,103, 46,103,115,117, 98, 40,116, 46,109,
+    111,100, 44, 32, 34,116,111,108,117, 97, 95,112,114,111,112,
+    101,114,116,121, 34, 44, 32, 34,116,111,108,117, 97, 95,112,
+    114,111,112,101,114,116,121, 95, 95, 34, 46, 46,103,101,116,
+     95,112,114,111,112,101,114,116,121, 95,116,121,112,101, 40,
+     41, 41, 10, 32,101,110,100, 10, 10, 32,114,101,116,117,114,
+    110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,
+    115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,
+    101, 99,116,115, 32,116,104,101, 32,115,116,114,105,110,103,
+     32,100,101, 99,108, 97,114, 97,116,105,111,110, 46, 10, 45,
+     45, 32, 84,104,101, 32,107,105,110,100, 32,111,102, 32,100,
+    101, 99,108, 97,114, 97,116,105,111,110, 32, 99, 97,110, 32,
+     98,101, 32, 34,118, 97,114, 34, 32,111,114, 32, 34,102,117,
+    110, 99, 34, 46, 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, 44,105,115, 95,112, 97,114, 97,109,101,116,101,
+    114, 41, 10, 10, 32, 45, 45, 32,101,108,105,109,105,110, 97,
+    116,101, 32,115,112, 97, 99,101,115, 32,105,102, 32,100,101,
+    102, 97,117,108,116, 32,118, 97,108,117,101, 32,105,115, 32,
+    112,114,111,118,105,100,101,100, 10, 32,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, 32,115, 32, 61, 32,103,115,117, 98,
+     40,115, 44, 32, 34, 37,115, 42, 60, 34, 44, 32, 34, 60, 34,
+     41, 10, 10, 32,108,111, 99, 97,108, 32,100,101,102, 98, 44,
+    116,109,112,100,101,102, 10, 32,100,101,102, 98, 44, 95, 44,
+    116,109,112,100,101,102, 32, 61, 32,115,116,114,105,110,103,
+     46,102,105,110,100, 40,115, 44, 32, 34, 40, 61, 46, 42, 41,
+     36, 34, 41, 10, 32,105,102, 32,100,101,102, 98, 32,116,104,
+    101,110, 10, 32,  9,115, 32, 61, 32,115,116,114,105,110,103,
+     46,103,115,117, 98, 40,115, 44, 32, 34, 61, 46, 42, 36, 34,
+     44, 32, 34, 34, 41, 10, 32,101,108,115,101, 10, 32,  9,116,
+    109,112,100,101,102, 32, 61, 32, 39, 39, 10, 32,101,110,100,
+     10, 32,105,102, 32,107,105,110,100, 32, 61, 61, 32, 34,118,
+     97,114, 34, 32,116,104,101,110, 10, 32, 32, 45, 45, 32, 99,
+    104,101, 99,107, 32,116,104,101, 32,102,111,114,109, 58, 32,
+    118,111,105,100, 10, 32, 32,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, 32, 32, 32,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, 44, 32,105,
+    115, 95,112, 97,114, 97,109,101,116,101,114, 32, 61, 32,105,
+    115, 95,112, 97,114, 97,109,101,116,101,114,125, 10, 32, 32,
+    101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,
+    104,101, 99,107, 32,116,104,101, 32,102,111,114,109, 58, 32,
+    109,111,100, 32,116,121,112,101, 42, 38, 32,110, 97,109,101,
+     10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,
+    105,116, 95, 99, 95,116,111,107,101,110,115, 40,115, 44, 39,
+     37, 42, 37,115, 42, 38, 39, 41, 10, 32,105,102, 32,116, 46,
+    110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10, 32, 32,105,
+    102, 32,107,105,110,100, 32, 61, 61, 32, 39,102,117,110, 99,
+     39, 32,116,104,101,110, 10, 32, 32, 32,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, 32, 32,101,110,100, 10,
+     32, 32, 45, 45,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, 32, 32,108,111, 99, 97,108, 32,109, 32, 61,
+     32,115,112,108,105,116, 95, 99, 95,116,111,107,101,110,115,
+     40,116, 91, 49, 93, 44, 39, 37,115, 43, 39, 41, 10, 32, 32,
+    114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,
+    116,105,111,110,123, 10, 32, 32, 32,110, 97,109,101, 32, 61,
+     32,116, 91, 50, 93, 46, 46,116,109,112,100,101,102, 44, 10,
+     32, 32, 32,112,116,114, 32, 61, 32, 39, 42, 39, 44, 10, 32,
+     32, 32,114,101,116, 32, 61, 32, 39, 38, 39, 44, 10, 32, 32,
+     32, 45, 45,116,121,112,101, 32, 61, 32,114,101, 98,117,105,
+    108,100, 95,116,101,109,112,108, 97,116,101, 40,109, 91,109,
+     46,110, 93, 44, 32,116, 98, 44, 32,116,105,109,112,108, 41,
+     44, 10, 32, 32, 32,116,121,112,101, 32, 61, 32,109, 91,109,
+     46,110, 93, 44, 10, 32, 32, 32,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, 32, 32, 32,105,115, 95,112, 97,114, 97,109,101,
+    116,101,114, 32, 61, 32,105,115, 95,112, 97,114, 97,109,101,
+    116,101,114, 44, 10, 32, 32, 32,107,105,110,100, 32, 61, 32,
+    107,105,110,100, 10, 32, 32,125, 10, 32,101,110,100, 10, 10,
+     32, 45, 45, 32, 99,104,101, 99,107, 32,116,104,101, 32,102,
+    111,114,109, 58, 32,109,111,100, 32,116,121,112,101, 42, 42,
+     32,110, 97,109,101, 10, 32,116, 32, 61, 32,115,112,108,105,
+    116, 95, 99, 95,116,111,107,101,110,115, 40,115, 44, 39, 37,
+     42, 37,115, 42, 37, 42, 39, 41, 10, 32,105,102, 32,116, 46,
+    110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10, 32, 32,105,
+    102, 32,107,105,110,100, 32, 61, 61, 32, 39,102,117,110, 99,
+     39, 32,116,104,101,110, 10, 32, 32, 32,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, 32, 32,101,110,100, 10,
+     32, 32, 45, 45,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, 32, 32,108,111, 99, 97,108, 32,109, 32, 61,
+     32,115,112,108,105,116, 95, 99, 95,116,111,107,101,110,115,
+     40,116, 91, 49, 93, 44, 39, 37,115, 43, 39, 41, 10, 32, 32,
+    114,101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,
+    116,105,111,110,123, 10, 32, 32, 32,110, 97,109,101, 32, 61,
+     32,116, 91, 50, 93, 46, 46,116,109,112,100,101,102, 44, 10,
+     32, 32, 32,112,116,114, 32, 61, 32, 39, 42, 39, 44, 10, 32,
+     32, 32,114,101,116, 32, 61, 32, 39, 42, 39, 44, 10, 32, 32,
+     32, 45, 45,116,121,112,101, 32, 61, 32,114,101, 98,117,105,
+    108,100, 95,116,101,109,112,108, 97,116,101, 40,109, 91,109,
+     46,110, 93, 44, 32,116, 98, 44, 32,116,105,109,112,108, 41,
+     44, 10, 32, 32, 32,116,121,112,101, 32, 61, 32,109, 91,109,
+     46,110, 93, 44, 10, 32, 32, 32,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, 32, 32, 32,105,115, 95,112, 97,114, 97,109,101,
+    116,101,114, 32, 61, 32,105,115, 95,112, 97,114, 97,109,101,
+    116,101,114, 44, 10, 32, 32, 32,107,105,110,100, 32, 61, 32,
+    107,105,110,100, 10, 32, 32,125, 10, 32,101,110,100, 10, 10,
+     32, 45, 45, 32, 99,104,101, 99,107, 32,116,104,101, 32,102,
+    111,114,109, 58, 32,109,111,100, 32,116,121,112,101, 38, 32,
+    110, 97,109,101, 10, 32,116, 32, 61, 32,115,112,108,105,116,
+     95, 99, 95,116,111,107,101,110,115, 40,115, 44, 39, 38, 39,
+     41, 10, 32,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,
+    116,104,101,110, 10, 32, 32, 45, 45,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, 32, 32,108,111, 99, 97,
+    108, 32,109, 32, 61, 32,115,112,108,105,116, 95, 99, 95,116,
+    111,107,101,110,115, 40,116, 91, 49, 93, 44, 39, 37,115, 43,
+     39, 41, 10, 32, 32,114,101,116,117,114,110, 32, 95, 68,101,
+     99,108, 97,114, 97,116,105,111,110,123, 10, 32, 32, 32,110,
+     97,109,101, 32, 61, 32,116, 91, 50, 93, 46, 46,116,109,112,
+    100,101,102, 44, 10, 32, 32, 32,112,116,114, 32, 61, 32, 39,
+     38, 39, 44, 10, 32, 32, 32, 45, 45,116,121,112,101, 32, 61,
+     32,114,101, 98,117,105,108,100, 95,116,101,109,112,108, 97,
+    116,101, 40,109, 91,109, 46,110, 93, 44, 32,116, 98, 44, 32,
+    116,105,109,112,108, 41, 44, 10, 32, 32, 32,116,121,112,101,
+     32, 61, 32,109, 91,109, 46,110, 93, 44, 10, 32, 32, 32,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, 32, 32, 32,105,115, 95,
+    112, 97,114, 97,109,101,116,101,114, 32, 61, 32,105,115, 95,
+    112, 97,114, 97,109,101,116,101,114, 44, 10, 32, 32, 32,107,
+    105,110,100, 32, 61, 32,107,105,110,100, 10, 32, 32,125, 10,
+     32,101,110,100, 10, 10, 32, 45, 45, 32, 99,104,101, 99,107,
+     32,116,104,101, 32,102,111,114,109, 58, 32,109,111,100, 32,
+    116,121,112,101, 42, 32,110, 97,109,101, 10, 32,108,111, 99,
+     97,108, 32,115, 49, 32, 61, 32,103,115,117, 98, 40,115, 44,
+     34, 40, 37, 98, 92, 91, 92, 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, 32,116, 32, 61, 32,115,
+    112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,115,
+     49, 44, 39, 37, 42, 39, 41, 10, 32,105,102, 32,116, 46,110,
+     32, 61, 61, 32, 50, 32,116,104,101,110, 10, 32, 32,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, 32, 45, 45, 32,114,
+    101,115,116,111,114,101, 32, 42, 32,105,110, 32,100,105,109,
+    101,110,115,105,111,110, 32,101,120,112,114,101,115,115,105,
+    111,110, 10, 32, 32, 45, 45,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, 32, 32,108,111, 99, 97,108, 32,
+    109, 32, 61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,
+    101,110,115, 40,116, 91, 49, 93, 44, 39, 37,115, 43, 39, 41,
+     10, 32, 32,114,101,116,117,114,110, 32, 95, 68,101, 99,108,
+     97,114, 97,116,105,111,110,123, 10, 32, 32, 32,110, 97,109,
+    101, 32, 61, 32,116, 91, 50, 93, 46, 46,116,109,112,100,101,
+    102, 44, 10, 32, 32, 32,112,116,114, 32, 61, 32, 39, 42, 39,
+     44, 10, 32, 32, 32,116,121,112,101, 32, 61, 32,109, 91,109,
+     46,110, 93, 44, 10, 32, 32, 32, 45, 45,116,121,112,101, 32,
+     61, 32,114,101, 98,117,105,108,100, 95,116,101,109,112,108,
+     97,116,101, 40,109, 91,109, 46,110, 93, 44, 32,116, 98, 44,
+     32,116,105,109,112,108, 41, 44, 10, 32, 32, 32,109,111,100,
+     32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109,
+     46,110, 45, 49, 41, 32, 32, 32, 44, 10, 32, 32, 32,105,115,
+     95,112, 97,114, 97,109,101,116,101,114, 32, 61, 32,105,115,
+     95,112, 97,114, 97,109,101,116,101,114, 44, 10, 32, 32, 32,
+    107,105,110,100, 32, 61, 32,107,105,110,100, 10, 32, 32,125,
+     10, 32,101,110,100, 10, 10, 32,105,102, 32,107,105,110,100,
+     32, 61, 61, 32, 39,118, 97,114, 39, 32,116,104,101,110, 10,
+     32, 32, 45, 45, 32, 99,104,101, 99,107, 32,116,104,101, 32,
+    102,111,114,109, 58, 32,109,111,100, 32,116,121,112,101, 32,
+    110, 97,109,101, 10, 32, 32, 45, 45,116, 32, 61, 32,115,112,
+    108,105,116, 40,115, 44, 39, 37,115, 37,115, 42, 39, 41, 10,
+     32, 32,116, 32, 61, 32,115,112,108,105,116, 95, 99, 95,116,
+    111,107,101,110,115, 40,115, 44, 39, 37,115, 43, 39, 41, 10,
+     32, 32,108,111, 99, 97,108, 32,118, 10, 32, 32,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, 99,114,101, 97,
+    116,101, 95,118, 97,114,110, 97,109,101, 40, 41, 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, 32, 32,114,101,116,117,114,110, 32, 95, 68,101, 99,108,
+     97,114, 97,116,105,111,110,123, 10, 32, 32, 32,110, 97,109,
+    101, 32, 61, 32,118, 46, 46,116,109,112,100,101,102, 44, 10,
+     32, 32, 32, 45, 45,116,121,112,101, 32, 61, 32,114,101, 98,
+    117,105,108,100, 95,116,101,109,112,108, 97,116,101, 40,116,
+     91,116, 46,110, 93, 44, 32,116, 98, 44, 32,116,105,109,112,
+    108, 41, 44, 10, 32, 32, 32,116,121,112,101, 32, 61, 32,116,
+     91,116, 46,110, 93, 44, 10, 32, 32, 32,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, 32, 32, 32,105,115, 95,112, 97,114, 97,
+    109,101,116,101,114, 32, 61, 32,105,115, 95,112, 97,114, 97,
+    109,101,116,101,114, 44, 10, 32, 32, 32,107,105,110,100, 32,
+     61, 32,107,105,110,100, 10, 32, 32,125, 10, 10, 32,101,108,
+    115,101, 32, 45, 45, 32,107,105,110,100, 32, 61, 61, 32, 34,
+    102,117,110, 99, 34, 10, 10, 32, 32, 45, 45, 32, 99,104,101,
+     99,107, 32,116,104,101, 32,102,111,114,109, 58, 32,109,111,
+    100, 32,116,121,112,101, 32,110, 97,109,101, 10, 32, 32, 45,
+     45,116, 32, 61, 32,115,112,108,105,116, 40,115, 44, 39, 37,
+    115, 37,115, 42, 39, 41, 10, 32, 32,116, 32, 61, 32,115,112,
+    108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,115, 44,
+     39, 37,115, 43, 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,
+    118, 32, 61, 32,116, 91,116, 46,110, 93, 32, 32, 45, 45, 32,
+    108, 97,115,116, 32,119,111,114,100, 32,105,115, 32,116,104,
+    101, 32,102,117,110, 99,116,105,111,110, 32,110, 97,109,101,
+     10, 32, 32,108,111, 99, 97,108, 32,116,112, 44,109,100, 10,
+     32, 32,105,102, 32,116, 46,110, 62, 49, 32,116,104,101,110,
+     10, 32, 32, 32,116,112, 32, 61, 32,116, 91,116, 46,110, 45,
+     49, 93, 10, 32, 32, 32,109,100, 32, 61, 32, 99,111,110, 99,
+     97,116, 40,116, 44, 49, 44,116, 46,110, 45, 50, 41, 10, 32,
+     32,101,110,100, 10, 32, 32, 45, 45,105,102, 32,116,112, 32,
+    116,104,101,110, 32,116,112, 32, 61, 32,114,101, 98,117,105,
+    108,100, 95,116,101,109,112,108, 97,116,101, 40,116,112, 44,
+     32,116, 98, 44, 32,116,105,109,112,108, 41, 32,101,110,100,
+     10, 32, 32,114,101,116,117,114,110, 32, 95, 68,101, 99,108,
+     97,114, 97,116,105,111,110,123, 10, 32, 32, 32,110, 97,109,
+    101, 32, 61, 32,118, 44, 10, 32, 32, 32,116,121,112,101, 32,
+     61, 32,116,112, 44, 10, 32, 32, 32,109,111,100, 32, 61, 32,
+    109,100, 44, 10, 32, 32, 32,105,115, 95,112, 97,114, 97,109,
+    101,116,101,114, 32, 61, 32,105,115, 95,112, 97,114, 97,109,
+    101,116,101,114, 44, 10, 32, 32, 32,107,105,110,100, 32, 61,
+     32,107,105,110,100, 10, 32, 32,125, 10, 32,101,110,100, 10,
+     10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/declaration.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,118, 97,114,105, 97,
+     98,108,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+    105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+     97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+     71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+     32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+    100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+    111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+    116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+    114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+     32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+    105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+    119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+    101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+     97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+    115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+    117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+    108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+    118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+    101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+     97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+    101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+    102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45,
+     32, 86, 97,114,105, 97, 98,108,101, 32, 99,108, 97,115,115,
+     10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32,
+     97, 32,101,120,116,101,114,110, 32,118, 97,114,105, 97, 98,
+    108,101, 32,111,114, 32, 97, 32,112,117, 98,108,105, 99, 32,
+    109,101,109, 98,101,114, 32,111,102, 32, 97, 32, 99,108, 97,
+    115,115, 46, 10, 45, 45, 32, 83,116,111,114,101,115, 32, 97,
+    108,108, 32,102,105,101,108,100,115, 32,112,114,101,115,101,
+    110,116, 32,105,110, 32, 97, 32,100,101, 99,108, 97,114, 97,
+    116,105,111,110, 46, 10, 99,108, 97,115,115, 86, 97,114,105,
+     97, 98,108,101, 32, 61, 32,123, 10, 32, 95,103,101,116, 32,
+     61, 32,123,125, 44, 32, 32, 32, 45, 45, 32,109, 97,112,112,
+    101,100, 32,103,101,116, 32,102,117,110, 99,116,105,111,110,
+    115, 10, 32, 95,115,101,116, 32, 61, 32,123,125, 44, 32, 32,
+     32, 45, 45, 32,109, 97,112,112,101,100, 32,115,101,116, 32,
+    102,117,110, 99,116,105,111,110,115, 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, 10, 45, 45, 32, 80,114,105,110,116, 32,
+    109,101,116,104,111,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,
+    112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,
+    111,115,101, 41, 10, 32,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, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+     46, 34, 32,109,111,100, 32, 32, 61, 32, 39, 34, 46, 46,115,
+    101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,
+     32,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, 32,
+    112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+    112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+     46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10, 32,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, 32,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, 32,
+    112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+    100,101,102, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+     46,100,101,102, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,
+    105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,114,101,
+    116, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,114,
+    101,116, 46, 46, 34, 39, 44, 34, 41, 10, 32,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, 10, 45, 45, 32, 71,
+    101,110,101,114, 97,116,101,115, 32, 67, 32,102,117,110, 99,
+    116,105,111,110, 32,110, 97,109,101, 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, 32,108,111, 99, 97,108, 32,112,
+     97,114,101,110,116, 32, 61, 32, 34, 34, 10, 32,108,111, 99,
+     97,108, 32,117,110,115,105,103,110,101,100, 32, 61, 32, 34,
+     34, 10, 32,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32,
+     34, 34, 10, 10, 32,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, 10, 32,105,102,
+     32,112, 32,116,104,101,110, 10, 32,  9,105,102, 32,115,101,
+    108,102, 46,112, 97,114,101,110,116, 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,  9,  9,112, 97,114,101,110,116, 32,
+     61, 32, 34, 95, 34, 32, 46, 46, 32,115,101,108,102, 46,112,
+     97,114,101,110,116, 46,116,121,112,101, 10,  9,101,108,115,
+    101, 10,  9, 32, 32,112, 97,114,101,110,116, 32, 61, 32, 34,
+     95, 34, 32, 46, 46, 32,112, 10,  9,101,110,100, 10, 32,101,
+    110,100, 10, 10, 32,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, 32,
+     32,117,110,115,105,103,110,101,100, 32, 61, 32, 34, 95,117,
+    110,115,105,103,110,101,100, 34, 10, 32,101,110,100, 10, 10,
+     32,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, 32,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, 32,101,110,100, 10, 10, 32,108,111, 99,
+     97,108, 32,110, 97,109,101, 32, 61, 32, 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,
+    108,110, 97,109,101, 32,111,114, 32,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, 10,  9,110, 97,109,101, 32, 61,
+     32, 99,108,101, 97,110, 95,116,101,109,112,108, 97,116,101,
+     40,110, 97,109,101, 41, 10, 32,114,101,116,117,114,110, 32,
+    110, 97,109,101, 10, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+    104,101, 99,107, 32,105,102, 32,105,116, 32,105,115, 32, 97,
+     32,118, 97,114,105, 97, 98,108,101, 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, 32,114,101,116,117,114,110, 32,116,114,117,101, 10,
+    101,110,100, 10, 10, 45, 45, 32,103,101,116, 32,118, 97,114,
+    105, 97, 98,108,101, 32,118, 97,108,117,101, 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, 44, 32,112,
+    114,111,112, 95,103,101,116, 41, 10, 10,  9,108,111, 99, 97,
+    108, 32,110, 97,109,101, 10,  9,105,102, 32,112,114,111,112,
+     95,103,101,116, 32,116,104,101,110, 10, 10,  9,  9,110, 97,
+    109,101, 32, 61, 32,112,114,111,112, 95,103,101,116, 46, 46,
+     34, 40, 41, 34, 10,  9,101,108,115,101, 10,  9,  9,110, 97,
+    109,101, 32, 61, 32,115,101,108,102, 46,110, 97,109,101, 10,
+      9,101,110,100, 10, 10,  9,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,  9, 32,114,101,116,117,114,110, 32,115,101,108,102,
+     46,112, 97,114,101,110,116, 46,116,121,112,101, 46, 46, 39,
+     58, 58, 39, 46, 46,110, 97,109,101, 10,  9,101,108,115,101,
+    105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,  9,
+     32,114,101,116,117,114,110, 32, 39,115,101,108,102, 45, 62,
+     39, 46, 46,110, 97,109,101, 10,  9,101,108,115,101, 10,  9,
+     32,114,101,116,117,114,110, 32,110, 97,109,101, 10,  9,101,
+    110,100, 10,101,110,100, 10, 10, 45, 45, 32,103,101,116, 32,
+    118, 97,114,105, 97, 98,108,101, 32,112,111,105,110,116,101,
+    114, 32,118, 97,108,117,101, 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, 32,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, 32, 32,
+    114,101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46, 39,
+     58, 58,112, 39, 10, 32,101,108,115,101,105,102, 32, 99,108,
+     97,115,115, 32,116,104,101,110, 10, 32, 32,114,101,116,117,
+    114,110, 32, 39,115,101,108,102, 45, 62,112, 39, 10, 32,101,
+    108,115,101, 10, 32, 32,114,101,116,117,114,110, 32, 39,112,
+     39, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+     87,114,105,116,101, 32, 98,105,110,100,105,110,103, 32,102,
+    117,110, 99,116,105,111,110,115, 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, 10, 32,
+    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, 10,
+      9,108,111, 99, 97,108, 32,112,114,111,112, 95,103,101,116,
+     44,112,114,111,112, 95,115,101,116, 10,  9,105,102, 32,115,
+    116,114,105,110,103, 46,102,105,110,100, 40,115,101,108,102,
+     46,109,111,100, 44, 32, 39,116,111,108,117, 97, 95,112,114,
+    111,112,101,114,116,121, 39, 41, 32,116,104,101,110, 10, 10,
+      9,  9, 95, 44, 95, 44,116,121,112,101, 32, 61, 32,115,116,
+    114,105,110,103, 46,102,105,110,100, 40,115,101,108,102, 46,
+    109,111,100, 44, 32, 34,116,111,108,117, 97, 95,112,114,111,
+    112,101,114,116,121, 95, 95, 40, 91, 94, 37,115, 93, 42, 41,
+     34, 41, 10,  9,  9,116,121,112,101, 32, 61, 32,116,121,112,
+    101, 32,111,114, 32, 34,100,101,102, 97,117,108,116, 34, 10,
+      9,  9,112,114,111,112, 95,103,101,116, 44,112,114,111,112,
+     95,115,101,116, 32, 61, 32,103,101,116, 95,112,114,111,112,
+    101,114,116,121, 95,109,101,116,104,111,100,115, 40,116,121,
+    112,101, 44, 32,115,101,108,102, 46,110, 97,109,101, 41, 10,
+      9,  9,115,101,108,102, 46,109,111,100, 32, 61, 32,115,116,
+    114,105,110,103, 46,103,115,117, 98, 40,115,101,108,102, 46,
+    109,111,100, 44, 32, 34,116,111,108,117, 97, 95,112,114,111,
+    112,101,114,116,121, 91, 94, 37,115, 93, 42, 34, 44, 32, 34,
+     34, 41, 10,  9,101,110,100, 10, 10, 32, 45, 45, 32,103,101,
+    116, 32,102,117,110, 99,116,105,111,110, 32, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10,
+     32,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,
+     32, 32,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, 32,101,108,115,101, 10, 32, 32,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, 32,101,110,100, 10,
+     32,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,
+     32,111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,
+    102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69,
+     95, 34, 46, 46,115,101,108,102, 46, 99,103,101,116,110, 97,
+    109,101, 41, 10, 32,111,117,116,112,117,116, 40, 34, 92,110,
+    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, 32,111,117,116,112,117,116, 40, 34,123,
+     34, 41, 10, 10, 32, 45, 45, 32,100,101, 99,108, 97,114,101,
+     32,115,101,108,102, 44, 32,105,102, 32,116,104,101, 32, 99,
+     97,115,101, 10, 32,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, 32,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, 32, 32,
+    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, 32, 61, 32, 39, 41, 10, 32, 32,
+    111,117,116,112,117,116, 40, 39, 40, 39, 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, 32, 32,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, 32,101,108,115,101,105,102, 32,115,116, 97,116,
+    105, 99, 32,116,104,101,110, 10, 32, 32, 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, 32,101,110,100, 10, 10, 10, 32, 45, 45,
+     32, 99,104,101, 99,107, 32,115,101,108,102, 32,118, 97,108,
+    117,101, 10, 32,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,  9, 32,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, 32, 32,111,117,116,
+    112,117,116, 40, 39, 32, 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,  9,  9,111,117,116,112,117,116, 40, 39, 35,
+    101,110,100,105,102, 92,110, 39, 41, 10, 32,101,110,100, 10,
+     10, 32, 45, 45, 32,114,101,116,117,114,110, 32,118, 97,108,
+    117,101, 10, 32,105,102, 32,115,116,114,105,110,103, 46,102,
+    105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 32, 39,
+    116,111,108,117, 97, 95,105,110,104,101,114,105,116,115, 39,
+     41, 32,116,104,101,110, 10, 32,  9,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,  9,111,117,116,112,
+    117,116, 40, 39, 32, 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,115,116, 97,116,105,
+     99, 95, 99, 97,115,116, 60, 39, 46, 46,115,101,108,102, 46,
+    116,121,112,101, 46, 46, 39, 42, 62, 40,115,101,108,102, 41,
+     44, 32, 34, 39, 44,115,101,108,102, 46,116,121,112,101, 44,
+     39, 34, 41, 59, 39, 41, 10,  9,111,117,116,112,117,116, 40,
+     39, 35,101,108,115,101, 92,110, 39, 41, 10,  9,111,117,116,
+    112,117,116, 40, 39, 32, 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, 40, 40, 39, 46,
+     46,115,101,108,102, 46,116,121,112,101, 46, 46, 39, 42, 41,
+    115,101,108,102, 41, 44, 32, 34, 39, 44,115,101,108,102, 46,
+    116,121,112,101, 44, 39, 34, 41, 59, 39, 41, 10,  9,111,117,
+    116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39,
+     41, 10, 32,101,108,115,101, 10,  9,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,  9,105,102, 32,
+    116, 32,116,104,101,110, 10,  9,  9,111,117,116,112,117,116,
+     40, 39, 32, 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, 44,112,114,111,112, 95,103,101,
+    116, 41, 46, 46, 39, 41, 59, 39, 41, 10,  9,101,108,115,101,
+     10,  9,  9,116, 32, 61, 32,115,101,108,102, 46,116,121,112,
+    101, 10,  9,  9,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,  9,  9,  9,111,117,116,112,117,116, 40, 39, 32, 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, 44,112,114,111,112, 95,103,101,116, 41, 46, 46,
+     39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,  9,
+      9,101,108,115,101, 10,  9,  9,  9,111,117,116,112,117,116,
+     40, 39, 32, 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, 44,112,114,111,112, 95,103,101,
+    116, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59,
+     39, 41, 10,  9,  9,101,110,100, 10,  9,101,110,100, 10, 32,
+    101,110,100, 10, 32,111,117,116,112,117,116, 40, 39, 32,114,
+    101,116,117,114,110, 32, 49, 59, 39, 41, 10, 32,111,117,116,
+    112,117,116, 40, 39,125, 39, 41, 10, 32,111,117,116,112,117,
+    116, 40, 39, 35,101,110,100,105,102, 32, 47, 47, 35,105,102,
+    110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65,
+     66, 76, 69, 92,110, 39, 41, 10, 32,111,117,116,112,117,116,
+     40, 39, 92,110, 39, 41, 10, 10, 32, 45, 45, 32,115,101,116,
+     32,102,117,110, 99,116,105,111,110, 32, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 32,
+    105,102, 32,110,111,116, 32, 40,115,116,114,102,105,110,100,
+     40,115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110,
+    115,116, 37,115, 43, 39, 41, 32,111,114, 32,115,116,114,105,
+    110,103, 46,102,105,110,100, 40,115,101,108,102, 46,109,111,
+    100, 44, 32, 39,116,111,108,117, 97, 95,114,101, 97,100,111,
+    110,108,121, 39, 41, 32,111,114, 32,115,116,114,105,110,103,
+     46,102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44,
+     32, 39,116,111,108,117, 97, 95,105,110,104,101,114,105,116,
+    115, 39, 41, 41, 32, 32,116,104,101,110, 10, 32, 32,105,102,
+     32, 99,108, 97,115,115, 32,116,104,101,110, 10, 32, 32, 32,
+    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, 32, 32,101,108,115,101, 10, 32, 32, 32,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, 32, 32,101,110,100,
+     10, 32, 32,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, 32, 32,111,117,116,112,117,116, 40, 34, 35,105,102,
+    110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65,
+     66, 76, 69, 95, 34, 46, 46,115,101,108,102, 46, 99,115,101,
+    116,110, 97,109,101, 41, 10, 32, 32,111,117,116,112,117,116,
+     40, 34, 92,110,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, 32, 32,111,117,116,112,
+    117,116, 40, 34,123, 34, 41, 10, 10, 32, 32, 45, 45, 32,100,
+    101, 99,108, 97,114,101, 32,115,101,108,102, 44, 32,105,102,
+     32,116,104,101, 32, 99, 97,115,101, 10, 32, 32,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, 32, 32, 32,
+    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, 32, 61, 32, 39, 41, 10, 32, 32,
+     32,111,117,116,112,117,116, 40, 39, 40, 39, 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, 32, 32, 32,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, 32, 32, 32, 45, 45, 32, 99,104,101, 99,
+    107, 32,115,101,108,102, 32,118, 97,108,117,101, 10,  9,  9,
+    101,110,100, 10, 32, 32, 45, 45, 32, 99,104,101, 99,107, 32,
+    116,121,112,101,115, 10,  9,  9,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,  9,  9,111,
+    117,116,112,117,116, 40, 39, 32, 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, 32, 32,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, 32, 32, 32,111,117,116,112,117,116,
+     40, 39, 32, 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, 32, 32,101,108,115,101,105,102, 32,115,116, 97,116,105,
+     99, 32,116,104,101,110, 10, 32, 32, 32, 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, 32, 32,101,110,100, 10, 10, 32, 32, 45,
+     45, 32, 99,104,101, 99,107, 32,118, 97,114,105, 97, 98,108,
+    101, 32,116,121,112,101, 10, 32, 32,111,117,116,112,117,116,
+     40, 39, 32, 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, 41, 46, 46, 39, 41, 39, 41, 10, 32, 32,111,117,116,112,
+    117,116, 40, 39, 32, 32, 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,  9,  9,111,117,116,112,117,
+    116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10, 10,
+     32, 32, 45, 45, 32, 97,115,115,105,103,110, 32,118, 97,108,
+    117,101, 10,  9,  9,108,111, 99, 97,108, 32,100,101,102, 32,
+     61, 32, 48, 10,  9,  9,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,  9,  9,105,102, 32,115,101,108,102, 46,116,121,
+    112,101, 32, 61, 61, 32, 39, 99,104, 97,114, 42, 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, 32, 45, 45, 32,105,115, 32,115,
+    116,114,105,110,103, 10,  9,  9, 32,111,117,116,112,117,116,
+     40, 39, 32,115,116,114,110, 99,112,121, 40, 39, 41, 10,  9,
+      9,  9,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,  9,  9,  9,
+      9,111,117,116,112,117,116, 40,115,101,108,102, 46,112, 97,
+    114,101,110,116, 46,116,121,112,101, 46, 46, 39, 58, 58, 39,
+     46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10,  9,  9,
+      9,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32,116,
+    104,101,110, 10,  9,  9,  9,  9,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,  9,  9,  9,101,108,115,101, 10,  9,
+      9,  9,  9,111,117,116,112,117,116, 40,115,101,108,102, 46,
+    110, 97,109,101, 41, 10,  9,  9,  9,101,110,100, 10,  9,  9,
+      9,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,  9,  9,101,108,115,101, 10,  9,  9,  9,108,111,
+     99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39, 10,  9,  9,
+      9,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,  9,  9,  9,111,117,116,112,117,116,
+     40, 39, 32, 39, 41, 10,  9,  9,  9,108,111, 99, 97,108, 32,
+    110, 97,109,101, 32, 61, 32,112,114,111,112, 95,115,101,116,
+     32,111,114, 32,115,101,108,102, 46,110, 97,109,101, 10,  9,
+      9,  9,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,  9,  9,  9,
+      9,111,117,116,112,117,116, 40,115,101,108,102, 46,112, 97,
+    114,101,110,116, 46,116,121,112,101, 46, 46, 39, 58, 58, 39,
+     46, 46,110, 97,109,101, 41, 10,  9,  9,  9,101,108,115,101,
+    105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,  9,
+      9,  9,  9,111,117,116,112,117,116, 40, 39,115,101,108,102,
+     45, 62, 39, 46, 46,110, 97,109,101, 41, 10,  9,  9,  9,101,
+    108,115,101, 10,  9,  9,  9,  9,111,117,116,112,117,116, 40,
+    110, 97,109,101, 41, 10,  9,  9,  9,101,110,100, 10,  9,  9,
+      9,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,
+      9,  9,  9,105,102, 32,112,114,111,112, 95,115,101,116, 32,
+    116,104,101,110, 10,  9,  9,  9,  9,111,117,116,112,117,116,
+     40, 39, 40, 39, 41, 10,  9,  9,  9,101,108,115,101, 10,  9,
+      9,  9,  9,111,117,116,112,117,116, 40, 39, 32, 61, 32, 39,
+     41, 10,  9,  9,  9,101,110,100, 10,  9,  9,  9,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,  9,  9,  9,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,  9,
+      9,  9,105,102, 32,110,111,116, 32,116, 32,116,104,101,110,
+     10,  9,  9,  9,  9,111,117,116,112,117,116, 40, 39, 42, 39,
+     41, 10,  9,  9,  9,101,110,100, 10,  9,  9,  9,111,117,116,
+    112,117,116, 40, 39, 41, 32, 39, 41, 10,  9,  9,  9,105,102,
+     32,116, 32,116,104,101,110, 10,  9,  9,  9,  9,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,  9,  9,  9,  9,  9,111,117,
+    116,112,117,116, 40, 39, 40,105,110,116, 41, 32, 39, 41, 10,
+      9,  9,  9,  9,101,110,100, 10,  9,  9,  9,  9,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, 39, 41, 10,  9,  9,  9,
+    101,108,115,101, 10,  9,  9,  9,  9,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, 39, 41, 10,  9,  9,  9,101,
+    110,100, 10,  9,  9,  9,105,102, 32,112,114,111,112, 95,115,
+    101,116, 32,116,104,101,110, 10,  9,  9,  9,  9,111,117,116,
+    112,117,116, 40, 34, 41, 34, 41, 10,  9,  9,  9,101,110,100,
+     10,  9,  9,  9,111,117,116,112,117,116, 40, 34, 59, 34, 41,
+     10,  9,  9,101,110,100, 10, 32, 32,111,117,116,112,117,116,
+     40, 39, 32,114,101,116,117,114,110, 32, 48, 59, 39, 41, 10,
+     32, 32,111,117,116,112,117,116, 40, 39,125, 39, 41, 10, 32,
+     32,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102,
+     32, 47, 47, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85,
+     65, 95, 68, 73, 83, 65, 66, 76, 69, 92,110, 39, 41, 10, 32,
+     32,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10, 32,
+    101,110,100, 10, 10,101,110,100, 10, 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,112,114,
+    101, 41, 10, 10,  9,105,102, 32,110,111,116, 32,115,101,108,
+    102, 58, 99,104,101, 99,107, 95,112,117, 98,108,105, 99, 95,
+     97, 99, 99,101,115,115, 40, 41, 32,116,104,101,110, 10,  9,
+      9,114,101,116,117,114,110, 10,  9,101,110,100, 10, 32,112,
+    114,101, 32, 61, 32,112,114,101, 32,111,114, 32, 39, 39, 10,
+     32,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, 32,105,102,
+     32,110,111,116, 32,112, 97,114,101,110,116, 32,116,104,101,
+    110, 10, 32, 32,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, 32, 32, 32,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,
+     32, 32, 32, 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,
+     32, 32,101,110,100, 10, 32,101,110,100, 10, 32,105,102, 32,
+    115,101,108,102, 46, 99,115,101,116,110, 97,109,101, 32,116,
+    104,101,110, 10, 32, 32,111,117,116,112,117,116, 40,112,114,
+    101, 46, 46, 39,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,
+     32,101,108,115,101, 10, 32, 32,111,117,116,112,117,116, 40,
+    112,114,101, 46, 46, 39,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, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+     73,110,116,101,114,110, 97,108, 32, 99,111,110,115,116,114,
+    117, 99,116,111,114, 10,102,117,110, 99,116,105,111,110, 32,
+     95, 86, 97,114,105, 97, 98,108,101, 32, 40,116, 41, 10, 32,
+    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,
+     32, 97,112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,
+    117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,
+    111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,
+    120,112,101, 99,116,115, 32, 97, 32,115,116,114,105,110,103,
+     32,114,101,112,114,101,115,101,110,116,105,110,103, 32,116,
+    104,101, 32,118, 97,114,105, 97, 98,108,101, 32,100,101, 99,
+    108, 97,114, 97,116,105,111,110, 46, 10,102,117,110, 99,116,
+    105,111,110, 32, 86, 97,114,105, 97, 98,108,101, 32, 40,115,
+     41, 10, 32,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
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/variable.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32, 97,114,114, 97,121,
+     32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,
+    101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32,
+     67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,
+    102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,
+    108, 32, 49, 57, 57, 57, 10, 45, 45, 32, 36, 73,100, 58, 32,
+     97,114,114, 97,121, 46,108,117, 97, 44,118, 32, 49, 46, 49,
+     32, 50, 48, 48, 48, 47, 49, 49, 47, 48, 54, 32, 50, 50, 58,
+     48, 51, 58, 53, 55, 32, 99,101,108,101,115, 32, 69,120,112,
+     32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,
+    101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,119,
+     97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,
+    100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,
+    110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,116,
+     46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,
+    114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,114,
+    101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,110,
+     32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44,
+     32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,
+    104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,
+    103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,105,
+    100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44,
+     32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,116,
+    101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,
+    101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,105,
+     99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45, 32, 65,
+    114,114, 97,121, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,
+    101,112,114,101,115,101,110,116,115, 32, 97, 32,101,120,116,
+    101,114,110, 32, 97,114,114, 97,121, 32,118, 97,114,105, 97,
+     98,108,101, 32,111,114, 32, 97, 32,112,117, 98,108,105, 99,
+     32,109,101,109, 98,101,114, 32,111,102, 32, 97, 32, 99,108,
+     97,115,115, 46, 10, 45, 45, 32, 83,116,111,114,101,115, 32,
+     97,108,108, 32,102,105,101,108,100,115, 32,112,114,101,115,
+    101,110,116, 32,105,110, 32, 97, 32,100,101, 99,108, 97,114,
+     97,116,105,111,110, 46, 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, 10, 45, 45, 32, 80,114,105,
+    110,116, 32,109,101,116,104,111,100, 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, 32,112,114,105,110,116, 40,105,100,101,
+    110,116, 46, 46, 34, 65,114,114, 97,121,123, 34, 41, 10, 32,
+    112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+    109,111,100, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+     46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10, 32,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, 32,112,114,105,
+    110,116, 40,105,100,101,110,116, 46, 46, 34, 32,112,116,114,
+     32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,112,116,
+    114, 46, 46, 34, 39, 44, 34, 41, 10, 32,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, 32,112,114,105,110,116, 40,
+    105,100,101,110,116, 46, 46, 34, 32,100,101,102, 32, 32, 61,
+     32, 39, 34, 46, 46,115,101,108,102, 46,100,101,102, 46, 46,
+     34, 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,
+    101,110,116, 46, 46, 34, 32,100,105,109, 32, 32, 61, 32, 39,
+     34, 46, 46,115,101,108,102, 46,100,105,109, 46, 46, 34, 39,
+     44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+    116, 46, 46, 34, 32,114,101,116, 32, 32, 61, 32, 39, 34, 46,
+     46,115,101,108,102, 46,114,101,116, 46, 46, 34, 39, 44, 34,
+     41, 10, 32,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, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
+    105,116, 32,105,115, 32, 97, 32,118, 97,114,105, 97, 98,108,
+    101, 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, 32,114,101,116,117,114,110, 32,116,
+    114,117,101, 10,101,110,100, 10, 10, 10, 45, 45, 32,103,101,
+    116, 32,118, 97,114,105, 97, 98,108,101, 32,118, 97,108,117,
+    101, 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, 32,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, 32, 32,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, 32,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32,
+    116,104,101,110, 10, 32, 32,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, 32,101,108,115,101, 10, 32, 32,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, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45,
+     32, 87,114,105,116,101, 32, 98,105,110,100,105,110,103, 32,
+    102,117,110, 99,116,105,111,110,115, 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, 32,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, 10, 32, 45, 45,
+     32,103,101,116, 32,102,117,110, 99,116,105,111,110, 32, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 10, 32,105,102, 32, 99,108, 97,115,115, 32,116,104,
+    101,110, 10, 32, 32,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, 32,101,108,115,101, 10, 32, 32,
+    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, 32,101,
+    110,100, 10, 32,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, 32,111,117,116,112,117,116, 40, 34, 35,105,102,
+    110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65,
+     66, 76, 69, 95, 34, 46, 46,115,101,108,102, 46, 99,103,101,
+    116,110, 97,109,101, 41, 10, 32,111,117,116,112,117,116, 40,
+     34, 92,110,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, 32,111,117,116,112,117,116,
+     40, 34,123, 34, 41, 10, 32,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, 10, 32, 45, 45, 32,100,101, 99,108, 97,
+    114,101, 32,115,101,108,102, 44, 32,105,102, 32,116,104,101,
+     32, 99, 97,115,101, 10, 32,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, 32,
+    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,
+     32, 32,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, 32, 32,
+    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, 32,
+     32,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, 32, 32,111,117,116,112,117,116, 40, 39,
+     32,115,101,108,102, 32, 61, 32, 39, 41, 10, 32, 32,111,117,
+    116,112,117,116, 40, 39, 40, 39, 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, 32, 32,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, 32,101,
+    108,115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,
+    101,110, 10, 32, 32, 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,
+     32,101,110,100, 10, 10, 32, 45, 45, 32, 99,104,101, 99,107,
+     32,105,110,100,101,120, 10,  9,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,  9,111,117,
+    116,112,117,116, 40, 39, 32,123, 39, 41, 10,  9,111,117,116,
+    112,117,116, 40, 39, 32, 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, 32,111,117,116,112,117,116, 40, 39, 32, 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,
+     32,111,117,116,112,117,116, 40, 39, 32, 32, 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,  9,111,117,116,112,117,116,
+     40, 39, 32,125, 39, 41, 10,  9,111,117,116,112,117,116, 40,
+     39, 35,101,110,100,105,102, 92,110, 39, 41, 10,  9,105,102,
+     32,102,108, 97,103,115, 91, 39, 49, 39, 93, 32,116,104,101,
+    110, 32, 45, 45, 32,102,111,114, 32, 99,111,109,112, 97,116,
+    105, 98,105,108,105,116,121, 32,119,105,116,104, 32,116,111,
+    108,117, 97, 53, 32, 63, 10,  9,  9,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,  9,101,108,115,101,
+     10,  9,  9,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, 59, 39,
+     41, 10,  9,101,110,100, 10,  9,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,  9,105,102,
+     32,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,116,
+    104,101,110, 10,  9, 32, 32,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,  9,101,108,115,101, 10,  9,
+     32, 32,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, 41, 39,
+     41, 10,  9,101,110,100, 10, 32,111,117,116,112,117,116, 40,
+     39, 32, 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,  9,111,117,116,112,117,116, 40, 39, 35,101,110,
+    100,105,102, 92,110, 39, 41, 10, 10, 32, 45, 45, 32,114,101,
+    116,117,114,110, 32,118, 97,108,117,101, 10, 32,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, 32,
+    105,102, 32,116, 32,116,104,101,110, 10, 32, 32,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, 32,101,108,115,101, 10,  9,  9,116, 32, 61, 32,
+    115,101,108,102, 46,116,121,112,101, 10, 32, 32,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, 32, 32, 32,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, 32, 32,101,
+    108,115,101, 10, 32, 32, 32,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, 32, 32,101,110,100, 10, 32,101,110,
+    100, 10, 32,111,117,116,112,117,116, 40, 39, 32,114,101,116,
+    117,114,110, 32, 49, 59, 39, 41, 10, 32,111,117,116,112,117,
+    116, 40, 39,125, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+     39, 35,101,110,100,105,102, 32, 47, 47, 35,105,102,110,100,
+    101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76,
+     69, 92,110, 39, 41, 10, 32,111,117,116,112,117,116, 40, 39,
+     92,110, 39, 41, 10, 10, 32, 45, 45, 32,115,101,116, 32,102,
+    117,110, 99,116,105,111,110, 32, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+     45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 32,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, 32, 32,105,102, 32, 99,108, 97,
+    115,115, 32,116,104,101,110, 10, 32, 32, 32,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, 32, 32,
+    101,108,115,101, 10, 32, 32, 32,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, 32, 32,101,110,100, 10, 32, 32,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, 32, 32,
+    111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,102,
+     32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 95,
+     34, 46, 46,115,101,108,102, 46, 99,115,101,116,110, 97,109,
+    101, 41, 10, 32, 32,111,117,116,112,117,116, 40, 34, 92,110,
+    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, 32, 32,111,117,116,112,117,116, 40, 34,
+    123, 34, 41, 10, 10, 32, 32, 45, 45, 32,100,101, 99,108, 97,
+    114,101, 32,105,110,100,101,120, 10, 32, 32,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, 10, 32, 32, 45, 45, 32,
+    100,101, 99,108, 97,114,101, 32,115,101,108,102, 44, 32,105,
+    102, 32,116,104,101, 32, 99, 97,115,101, 10, 32, 32,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, 32, 32,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, 32, 32, 32,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, 32, 32, 32,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, 32, 32, 32,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,
+     32, 32, 32,111,117,116,112,117,116, 40, 39, 32,115,101,108,
+    102, 32, 61, 32, 39, 41, 10, 32, 32, 32,111,117,116,112,117,
+    116, 40, 39, 40, 39, 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,
+     32, 32, 32,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, 32, 32,101,108,
+    115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,
+    110, 10, 32, 32, 32, 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,
+     32, 32,101,110,100, 10, 10, 32, 32, 45, 45, 32, 99,104,101,
+     99,107, 32,105,110,100,101,120, 10,  9, 32,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,
+      9, 32,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,
+      9, 32,111,117,116,112,117,116, 40, 39, 32, 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, 32, 32,111,117,116,112,117,116,
+     40, 39, 32, 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, 32, 32,111,117,116,112,117,116, 40,
+     39, 32, 32, 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,
+      9,  9,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,
+      9,  9,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,
+    102, 92,110, 39, 41, 10, 10,  9,105,102, 32,102,108, 97,103,
+    115, 91, 39, 49, 39, 93, 32,116,104,101,110, 32, 45, 45, 32,
+    102,111,114, 32, 99,111,109,112, 97,116,105, 98,105,108,105,
+    116,121, 32,119,105,116,104, 32,116,111,108,117, 97, 53, 32,
+     63, 10,  9,  9,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,  9,101,108,115,101, 10,  9,  9,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, 59, 39, 41, 10,  9,101,110,
+    100, 10, 10,  9, 32,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,  9,105,102, 32,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,116,104,101,110,
+     10,  9, 32, 32,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,  9,101,108,115,101, 10,  9, 32, 32,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, 41, 39, 41, 10,  9,
+    101,110,100, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+     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,  9,  9,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+    105,102, 92,110, 39, 41, 10, 10, 32, 32, 45, 45, 32, 97,115,
+    115,105,103,110, 32,118, 97,108,117,101, 10, 32, 32,108,111,
+     99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39, 10, 32, 32,
+    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, 32, 32,111,117,116,112,117,116, 40, 39,
+     32, 39, 41, 10, 32, 32,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, 32, 32, 32,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, 32, 32,101,108,115,101,105,102,
+     32, 99,108, 97,115,115, 32,116,104,101,110, 10, 32, 32, 32,
+    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,
+     32, 32,101,108,115,101, 10, 32, 32, 32,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,
+     32, 32,101,110,100, 10, 32, 32,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, 32, 32,111,117,116,112,117,116,
+     40, 39, 32, 61, 32, 39, 41, 10, 32, 32,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, 32, 32,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, 32, 32,105,102,
+     32,110,111,116, 32,116, 32,116,104,101,110, 10, 32, 32, 32,
+    111,117,116,112,117,116, 40, 39, 42, 39, 41, 10, 32, 32,101,
+    110,100, 10, 32, 32,111,117,116,112,117,116, 40, 39, 41, 32,
+     39, 41, 10, 32, 32,108,111, 99, 97,108, 32,100,101,102, 32,
+     61, 32, 48, 10, 32, 32,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, 32, 32,105,102, 32,116, 32,116,104,101,110, 10,
+     32, 32, 32,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, 32, 32,101,108,115,101, 10, 32, 32, 32,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, 32, 32,101,110,100, 10, 32, 32,111,117,116,112,117,
+    116, 40, 39, 32,114,101,116,117,114,110, 32, 48, 59, 39, 41,
+     10, 32, 32,111,117,116,112,117,116, 40, 39,125, 39, 41, 10,
+     32, 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,
+    102, 32, 47, 47, 35,105,102,110,100,101,102, 32, 84, 79, 76,
+     85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 92,110, 39, 41, 10,
+     32, 32,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,
+     32,101,110,100, 10, 10,101,110,100, 10, 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,112,114,101, 41,
+     10, 32,112,114,101, 32, 61, 32,112,114,101, 32,111,114, 32,
+     39, 39, 10, 32,105,102, 32,115,101,108,102, 46, 99,115,101,
+    116,110, 97,109,101, 32,116,104,101,110, 10, 32, 32,111,117,
+    116,112,117,116, 40,112,114,101, 46, 46, 39,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, 32,101,108,115,101, 10, 32, 32,111,117,116,
+    112,117,116, 40,112,114,101, 46, 46, 39,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, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45,
+     32, 73,110,116,101,114,110, 97,108, 32, 99,111,110,115,116,
+    114,117, 99,116,111,114, 10,102,117,110, 99,116,105,111,110,
+     32, 95, 65,114,114, 97,121, 32, 40,116, 41, 10, 32,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, 32, 97,112,112,101,
+    110,100, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,116,
+     10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,115,116,114,
+    117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,101, 99,116,
+    115, 32, 97, 32,115,116,114,105,110,103, 32,114,101,112,114,
+    101,115,101,110,116,105,110,103, 32,116,104,101, 32,118, 97,
+    114,105, 97, 98,108,101, 32,100,101, 99,108, 97,114, 97,116,
+    105,111,110, 46, 10,102,117,110, 99,116,105,111,110, 32, 65,
+    114,114, 97,121, 32, 40,115, 41, 10, 32,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
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/array.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,102,117,110, 99,116,
+    105,111,110, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+    105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+     97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+     71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+     32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+    100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+    111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+    116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+    114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+     32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+    105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+    119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+    101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+     97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+    115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+    117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+    108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+    118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+    101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+     97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+    101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+    102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45,
+     45, 32, 70,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+    115, 10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,115,
+     32, 97, 32,102,117,110, 99,116,105,111,110, 32,111,114, 32,
+     97, 32, 99,108, 97,115,115, 32,109,101,116,104,111,100, 46,
+     10, 45, 45, 32, 84,104,101, 32,102,111,108,108,111,119,105,
+    110,103, 32,102,105,101,108,100,115, 32, 97,114,101, 32,115,
+    116,111,114,101,100, 58, 10, 45, 45, 32, 32,109,111,100, 32,
+     32, 61, 32,116,121,112,101, 32,109,111,100,105,102,105,101,
+    114,115, 10, 45, 45, 32, 32,116,121,112,101, 32, 61, 32,116,
+    121,112,101, 10, 45, 45, 32, 32,112,116,114, 32, 32, 61, 32,
+     34, 42, 34, 32,111,114, 32, 34, 38, 34, 44, 32,105,102, 32,
+    114,101,112,114,101,115,101,110,116,105,110,103, 32, 97, 32,
+    112,111,105,110,116,101,114, 32,111,114, 32, 97, 32,114,101,
+    102,101,114,101,110, 99,101, 10, 45, 45, 32, 32,110, 97,109,
+    101, 32, 61, 32,110, 97,109,101, 10, 45, 45, 32, 32,108,110,
+     97,109,101, 32, 61, 32,108,117, 97, 32,110, 97,109,101, 10,
+     45, 45, 32, 32, 97,114,103,115, 32, 32, 61, 32,108,105,115,
+    116, 32,111,102, 32, 97,114,103,117,109,101,110,116, 32,100,
+    101, 99,108, 97,114, 97,116,105,111,110,115, 10, 45, 45, 32,
+     32, 99,111,110,115,116, 32, 61, 32,105,102, 32,105,116, 32,
+    105,115, 32, 97, 32,109,101,116,104,111,100, 32,114,101, 99,
+    101,105,118,105,110,103, 32, 97, 32, 99,111,110,115,116, 32,
+     34,116,104,105,115, 34, 46, 10, 99,108, 97,115,115, 70,117,
+    110, 99,116,105,111,110, 32, 61, 32,123, 10, 32,109,111,100,
+     32, 61, 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32,
+     39, 39, 44, 10, 32,112,116,114, 32, 61, 32, 39, 39, 44, 10,
+     32,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10, 32, 97,114,
+    103,115, 32, 61, 32,123,110, 61, 48,125, 44, 10, 32, 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, 10, 45, 45, 32,100,101, 99,108, 97,114,101, 32,116, 97,
+    103,115, 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, 32,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, 32,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,
+      9, 32,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,  9,  9,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, 39, 44, 39, 39, 41, 10,  9,101,
+    110,100, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,
+    119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115,
+     91,105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 46, 97,
+    114,103,115, 91,105, 93, 58,100,101, 99,108,116,121,112,101,
+     40, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,
+    110,100, 10,101,110,100, 10, 10, 10, 45, 45, 32, 87,114,105,
+    116,101, 32, 98,105,110,100,105,110,103, 32,102,117,110, 99,
+    116,105,111,110, 10, 45, 45, 32, 79,117,116,112,117,116,115,
+     32, 67, 47, 67, 43, 43, 32, 98,105,110,100,105,110,103, 32,
+    102,117,110, 99,116,105,111,110, 46, 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,108,111, 99,
+     97,108, 95, 99,111,110,115,116,114,117, 99,116,111,114, 41,
+     10, 10, 32,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, 32, 32, 45, 45, 32,105,110,100,105, 99, 97,116,
+    101, 32,111,118,101,114,108,111, 97,100,101,100, 32,102,117,
+    110, 99, 10, 32,108,111, 99, 97,108, 32,110,114,101,116, 32,
+     61, 32, 48, 32, 32, 32, 32, 32, 32, 45, 45, 32,110,117,109,
+     98,101,114, 32,111,102, 32,114,101,116,117,114,110,101,100,
+     32,118, 97,108,117,101,115, 10, 32,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, 32,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, 32,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110,
+     10, 10, 32,  9,105,102, 32,115,101,108,102, 46,110, 97,109,
+    101, 32, 61, 61, 32, 39,110,101,119, 39, 32, 97,110,100, 32,
+    115,101,108,102, 46,112, 97,114,101,110,116, 46,102,108, 97,
+    103,115, 46,112,117,114,101, 95,118,105,114,116,117, 97,108,
+     32,116,104,101,110, 10, 32,  9,  9, 45, 45, 32,110,111, 32,
+     99,111,110,115,116,114,117, 99,116,111,114, 32,102,111,114,
+     32, 99,108, 97,115,115,101,115, 32,119,105,116,104, 32,112,
+    117,114,101, 32,118,105,114,116,117, 97,108, 32,109,101,116,
+    104,111,100,115, 10, 32,  9,  9,114,101,116,117,114,110, 10,
+     32,  9,101,110,100, 10, 10, 32,  9,105,102, 32,108,111, 99,
+     97,108, 95, 99,111,110,115,116,114,117, 99,116,111,114, 32,
+    116,104,101,110, 10,  9,  9,111,117,116,112,117,116, 40, 34,
+     47, 42, 32,109,101,116,104,111,100, 58, 32,110,101,119, 95,
+    108,111, 99, 97,108, 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,
+      9,101,108,115,101, 10,  9,  9,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,  9,101,110,100, 10, 32,101,108,115,101, 10,
+     32, 32,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, 32,101,110,100,
+     10, 10, 32,105,102, 32,108,111, 99, 97,108, 95, 99,111,110,
+    115,116,114,117, 99,116,111,114, 32,116,104,101,110, 10, 32,
+     32,111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,
+    102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69,
+     95, 34, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 46,
+     46, 34, 95,108,111, 99, 97,108, 34, 41, 10, 32, 32,111,117,
+    116,112,117,116, 40, 34, 92,110,115,116, 97,116,105, 99, 32,
+    105,110,116, 34, 44,115,101,108,102, 46, 99,110, 97,109,101,
+     46, 46, 34, 95,108,111, 99, 97,108, 34, 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, 32,101,108,115,101, 10, 32, 32,111,117,
+    116,112,117,116, 40, 34, 35,105,102,110,100,101,102, 32, 84,
+     79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 95, 34, 46,
+     46,115,101,108,102, 46, 99,110, 97,109,101, 41, 10, 32, 32,
+    111,117,116,112,117,116, 40, 34, 92,110,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, 32,101,110,
+    100, 10, 32,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,
+     10, 32, 45, 45, 32, 99,104,101, 99,107, 32,116,121,112,101,
+    115, 10,  9,105,102, 32,111,118,101,114,108,111, 97,100, 32,
+     60, 32, 48, 32,116,104,101,110, 10,  9, 32,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,
+      9,101,110,100, 10,  9,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, 32,111,117,116,112,
+    117,116, 40, 39, 32,105,102, 32, 40, 92,110, 39, 41, 10, 32,
+     45, 45, 32, 99,104,101, 99,107, 32,115,101,108,102, 10, 32,
+    108,111, 99, 97,108, 32,110, 97,114,103, 10, 32,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, 32,105,102, 32, 99,108, 97,115,115, 32,116,
+    104,101,110, 10,  9,  9,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,  9,  9,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,  9,  9,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,  9,  9,  9,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,  9,  9,  9,116,121,112,101, 32,
+     61, 32,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,
+    121,112,101, 10,  9,  9,101,110,100, 10,  9,  9,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,  9,  9,  9,116,121,112,101, 32,
+     61, 32, 34, 99,111,110,115,116, 32, 34, 46, 46,116,121,112,
+    101, 10,  9,  9,101,110,100, 10,  9,  9,111,117,116,112,117,
+    116, 40, 39, 32, 32, 32, 32, 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, 92,
+    110, 39, 41, 10, 32,101,110,100, 10, 32, 45, 45, 32, 99,104,
+    101, 99,107, 32, 97,114,103,115, 10, 32,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, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,
+    119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115,
+     91,105, 93, 32,100,111, 10, 32, 32, 32,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, 32, 32, 32,105,102, 32, 98,116,121,
+    112,101, 32,126, 61, 32, 39,118, 97,108,117,101, 39, 32, 97,
+    110,100, 32, 98,116,121,112,101, 32,126, 61, 32, 39,115,116,
+     97,116,101, 39, 32,116,104,101,110, 10, 32, 32, 32, 32,111,
+    117,116,112,117,116, 40, 39, 32, 32, 32, 32, 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, 41, 46, 46, 39, 32,124,124, 92,110, 39, 41, 10, 32, 32,
+     32,101,110,100, 10, 32, 32, 32,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,  9, 32, 32, 32,110, 97,114,103, 32, 61, 32,110,
+     97,114,103, 43, 49, 10, 32, 32, 32,101,110,100, 10, 32, 32,
+     32,105, 32, 61, 32,105, 43, 49, 10, 32, 32,101,110,100, 10,
+     32,101,110,100, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,
+    101,110,100, 32,111,102, 32,108,105,115,116, 10, 32,111,117,
+    116,112,117,116, 40, 39, 32, 32, 32, 32, 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, 32, 41,
+     39, 41, 10,  9,111,117,116,112,117,116, 40, 39, 32, 32,103,
+    111,116,111, 32,116,111,108,117, 97, 95,108,101,114,114,111,
+    114, 59, 39, 41, 10, 10, 32,111,117,116,112,117,116, 40, 39,
+     32,101,108,115,101, 92,110, 39, 41, 10,  9,105,102, 32,111,
+    118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,
+    110, 10,  9, 32,111,117,116,112,117,116, 40, 39, 35,101,110,
+    100,105,102, 92,110, 39, 41, 10,  9,101,110,100, 10,  9,111,
+    117,116,112,117,116, 40, 39, 32,123, 39, 41, 10, 10, 32, 45,
+     45, 32,100,101, 99,108, 97,114,101, 32,115,101,108,102, 44,
+     32,105,102, 32,116,104,101, 32, 99, 97,115,101, 10, 32,108,
+    111, 99, 97,108, 32,110, 97,114,103, 10, 32,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, 32,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, 32, 32,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, 32, 32,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, 32, 32,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, 32,101,108,115,101,105,102, 32,
+    115,116, 97,116,105, 99, 32,116,104,101,110, 10, 32, 32, 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, 32,101,110,100, 10, 32,
+     45, 45, 32,100,101, 99,108, 97,114,101, 32,112, 97,114, 97,
+    109,101,116,101,114,115, 10, 32,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, 32,
+     32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,119,104,
+    105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105,
+     93, 32,100,111, 10, 32, 32, 32,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, 32, 32, 32,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,  9, 32, 32, 32,110, 97,
+    114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10, 32, 32, 32,
+    101,110,100, 10, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10,
+     32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45,
+     32, 99,104,101, 99,107, 32,115,101,108,102, 10, 32,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,  9, 32,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, 32, 32,111,117,116,
+    112,117,116, 40, 39, 32, 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,  9, 32,111,117,116,112,
+    117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,
+     32,101,110,100, 10, 10, 32, 45, 45, 32,103,101,116, 32, 97,
+    114,114, 97,121, 32,101,108,101,109,101,110,116, 32,118, 97,
+    108,117,101,115, 10, 32,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, 32,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, 32, 32,108,111, 99, 97,108, 32,105, 61,
+     49, 10, 32, 32,119,104,105,108,101, 32,115,101,108,102, 46,
+     97,114,103,115, 91,105, 93, 32,100,111, 10, 32, 32, 32,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, 32, 32, 32,
+    110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10, 32,
+     32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32,101,110,100,
+     10, 32,101,110,100, 10, 10, 32,108,111, 99, 97,108, 32,111,
+    117,116, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,
+    100, 40,115,101,108,102, 46,109,111,100, 44, 32, 34,116,111,
+    108,117, 97, 95,111,117,116,115,105,100,101, 34, 41, 10, 32,
+     45, 45, 32, 99, 97,108,108, 32,102,117,110, 99,116,105,111,
+    110, 10, 32,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, 32, 32,111,117,
+    116,112,117,116, 40, 39, 32, 32,100,101,108,101,116,101, 32,
+    115,101,108,102, 59, 39, 41, 10, 32,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, 32, 32,
+    105,102, 32,102,108, 97,103,115, 91, 39, 49, 39, 93, 32,116,
+    104,101,110, 32, 45, 45, 32,102,111,114, 32, 99,111,109,112,
+     97,116,105, 98,105,108,105,116,121, 32,119,105,116,104, 32,
+    116,111,108,117, 97, 53, 32, 63, 10,  9,111,117,116,112,117,
+    116, 40, 39, 32, 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, 32,
+     32,101,108,115,101, 10, 32, 32, 32, 32,111,117,116,112,117,
+    116, 40, 39, 32, 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, 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, 32, 32,101,
+    110,100, 10, 32,101,108,115,101, 10, 32, 32,111,117,116,112,
+    117,116, 40, 39, 32, 32,123, 39, 41, 10, 32, 32,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,
+     32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 39, 44,
+    115,101,108,102, 46,109,111,100, 44,115,101,108,102, 46,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, 32,
+     32, 32,111,117,116,112,117,116, 40, 39, 40, 39, 44,115,101,
+    108,102, 46,109,111,100, 44,115,101,108,102, 46,116,121,112,
+    101, 44,115,101,108,102, 46,112,116,114, 44, 39, 41, 32, 39,
+     41, 10, 32, 32,101,108,115,101, 10, 32, 32, 32,111,117,116,
+    112,117,116, 40, 39, 32, 32, 39, 41, 10, 32, 32,101,110,100,
+     10, 32, 32,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, 32, 32, 32,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, 32, 32,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,  9,105,102, 32,111,
+    117,116, 32,116,104,101,110, 10,  9,  9,111,117,116,112,117,
+    116, 40,115,101,108,102, 46,110, 97,109,101, 44, 39, 40, 39,
+     41, 10,  9,101,108,115,101, 10,  9,  9,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,
+      9,101,110,100, 10, 32, 32,101,108,115,101,105,102, 32, 99,
+    108, 97,115,115, 32,116,104,101,110, 10,  9,105,102, 32,111,
+    117,116, 32,116,104,101,110, 10,  9,  9,111,117,116,112,117,
+    116, 40,115,101,108,102, 46,110, 97,109,101, 44, 39, 40, 39,
+     41, 10,  9,101,108,115,101, 10,  9, 32, 32,105,102, 32,115,
+    101,108,102, 46, 99, 97,115,116, 95,111,112,101,114, 97,116,
+    111,114, 32,116,104,101,110, 10,  9, 32, 32,  9,111,117,116,
+    112,117,116, 40, 39,115,116, 97,116,105, 99, 95, 99, 97,115,
+    116, 60, 39, 44,115,101,108,102, 46,109,111,100, 44,115,101,
+    108,102, 46,116,121,112,101, 44,115,101,108,102, 46,112,116,
+    114, 44, 39, 62, 40, 42,115,101,108,102, 39, 41, 10,  9, 32,
+     32,101,108,115,101, 10,  9,  9,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,  9, 32, 32,101,110,
+    100, 10,  9,101,110,100, 10, 32, 32,101,108,115,101, 10, 32,
+     32, 32,111,117,116,112,117,116, 40,115,101,108,102, 46,110,
+     97,109,101, 44, 39, 40, 39, 41, 10, 32, 32,101,110,100, 10,
+     10, 32, 32,105,102, 32,111,117,116, 32, 97,110,100, 32,110,
+    111,116, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,
+     32, 32,  9,111,117,116,112,117,116, 40, 39,115,101,108,102,
+     39, 41, 10,  9,105,102, 32,115,101,108,102, 46, 97,114,103,
+    115, 91, 49, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97,
+    114,103,115, 91, 49, 93, 46,110, 97,109,101, 32,126, 61, 32,
+     39, 39, 32,116,104,101,110, 10,  9,  9,111,117,116,112,117,
+    116, 40, 39, 44, 39, 41, 10,  9,101,110,100, 10, 32, 32,101,
+    110,100, 10, 32, 32, 45, 45, 32,119,114,105,116,101, 32,112,
+     97,114, 97,109,101,116,101,114,115, 10, 32, 32,108,111, 99,
+     97,108, 32,105, 61, 49, 10, 32, 32,119,104,105,108,101, 32,
+    115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111,
+     10, 32, 32, 32,115,101,108,102, 46, 97,114,103,115, 91,105,
+     93, 58,112, 97,115,115,112, 97,114, 40, 41, 10, 32, 32, 32,
+    105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,105,102, 32,115,
+    101,108,102, 46, 97,114,103,115, 91,105, 93, 32,116,104,101,
+    110, 10, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 44,
+     39, 41, 10, 32, 32, 32,101,110,100, 10, 32, 32,101,110,100,
+     10, 10, 32, 32,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, 97,110,
+    100, 32,102,108, 97,103,115, 91, 39, 49, 39, 93, 32,116,104,
+    101,110, 10,  9,111,117,116,112,117,116, 40, 39, 45, 49, 41,
+     59, 39, 41, 10, 32, 32,101,108,115,101, 10,  9,111,117,116,
+    112,117,116, 40, 39, 41, 59, 39, 41, 10, 32, 32,101,110,100,
+     10, 10, 32, 32, 45, 45, 32,114,101,116,117,114,110, 32,118,
+     97,108,117,101,115, 10, 32, 32,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, 32, 32, 32,110,
+    114,101,116, 32, 61, 32,110,114,101,116, 32, 43, 32, 49, 10,
+     32, 32, 32,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, 32, 32, 32,105,102, 32,116, 32,116,104,
+    101,110, 10, 32, 32, 32,  9,105,102, 32,115,101,108,102, 46,
+     99, 97,115,116, 95,111,112,101,114, 97,116,111,114, 32, 97,
+    110,100, 32, 95, 98, 97,115,105, 99, 95,114, 97,119, 95,112,
+    117,115,104, 91,116, 93, 32,116,104,101,110, 10,  9,  9,111,
+    117,116,112,117,116, 40, 39, 32, 32, 32, 39, 44, 95, 98, 97,
+    115,105, 99, 95,114, 97,119, 95,112,117,115,104, 91,116, 93,
+     44, 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, 32, 32, 32,  9,101,108,115,101, 10,  9, 32, 32,
+     32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 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,  9,101,110,100, 10, 32, 32, 32,101,108,115,101, 10,  9,
+      9,  9, 32,116, 32, 61, 32,115,101,108,102, 46,116,121,112,
+    101, 10,  9,  9,  9, 32,110,101,119, 95,116, 32, 61, 32,115,
+    116,114,105,110,103, 46,103,115,117, 98, 40,116, 44, 32, 34,
+     99,111,110,115,116, 37,115, 43, 34, 44, 32, 34, 34, 41, 10,
+     32, 32, 32, 32,105,102, 32,115,101,108,102, 46,112,116,114,
+     32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10, 32, 32, 32,
+     32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,123, 39,
+     41, 10, 32, 32, 32, 32, 32,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, 32, 32, 32, 32, 32,111,117,
+    116,112,117,116, 40, 39, 32, 32, 32, 32,118,111,105,100, 42,
+     32,116,111,108,117, 97, 95,111, 98,106, 32, 61, 32,110,101,
+    119, 39, 44,110,101,119, 95,116, 44, 39, 40,116,111,108,117,
+     97, 95,114,101,116, 41, 59, 39, 41, 10, 32, 32, 32, 32, 32,
+    111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,116,111,108,
+    117, 97, 95,112,117,115,104,117,115,101,114,116,121,112,101,
+     95, 97,110,100, 95,116, 97,107,101,111,119,110,101,114,115,
+    104,105,112, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,
+    117, 97, 95,111, 98,106, 44, 34, 39, 44,116, 44, 39, 34, 41,
+     59, 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,112,117,116,
+     40, 39, 35,101,108,115,101, 92,110, 39, 41, 10, 32, 32, 32,
+     32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 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, 32, 32, 32,
+     32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,116,
+    111,108,117, 97, 95,112,117,115,104,117,115,101,114,116,121,
+    112,101, 95, 97,110,100, 95,116, 97,107,101,111,119,110,101,
+    114,115,104,105,112, 40,116,111,108,117, 97, 95, 83, 44,116,
+    111,108,117, 97, 95,111, 98,106, 44, 34, 39, 44,116, 44, 39,
+     34, 41, 59, 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,112,
+    117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,
+     32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,
+     32,125, 39, 41, 10, 32, 32, 32, 32,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, 32, 32, 32, 32, 32,111,117,116,
+    112,117,116, 40, 39, 32, 32, 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, 32, 32, 32, 32,101,108,115,101, 10, 32,
+     32, 32, 32,  9,105,102, 32,108,111, 99, 97,108, 95, 99,111,
+    110,115,116,114,117, 99,116,111,114, 32,116,104,101,110, 10,
+      9, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,116,
+    111,108,117, 97, 95,112,117,115,104,117,115,101,114,116,121,
+    112,101, 95, 97,110,100, 95,116, 97,107,101,111,119,110,101,
+    114,115,104,105,112, 40,116,111,108,117, 97, 95, 83, 44, 40,
+    118,111,105,100, 32, 42, 41,116,111,108,117, 97, 95,114,101,
+    116, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10, 32,
+     32, 32, 32,  9,101,108,115,101, 10,  9,  9, 32, 32, 32, 32,
+     32,111,117,116,112,117,116, 40, 39, 32, 32, 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,  9, 32, 32, 32, 32,101,110,
+    100, 10, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32,101,110,
+    100, 10, 32, 32,101,110,100, 10, 32, 32,108,111, 99, 97,108,
+     32,105, 61, 49, 10, 32, 32,119,104,105,108,101, 32,115,101,
+    108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10, 32,
+     32, 32,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, 32, 32, 32,105, 32,
+     61, 32,105, 43, 49, 10, 32, 32,101,110,100, 10, 32, 32,111,
+    117,116,112,117,116, 40, 39, 32, 32,125, 39, 41, 10, 10, 32,
+     32, 45, 45, 32,115,101,116, 32, 97,114,114, 97,121, 32,101,
+    108,101,109,101,110,116, 32,118, 97,108,117,101,115, 10, 32,
+     32,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, 32, 32,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, 32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,
+     32, 32,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,
+    103,115, 91,105, 93, 32,100,111, 10, 32, 32, 32, 32,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, 32, 32, 32, 32,
+    110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10, 32,
+     32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,101,
+    110,100, 10, 32, 32,101,110,100, 10, 10, 32, 32, 45, 45, 32,
+    102,114,101,101, 32,100,121,110, 97,109,105, 99, 97,108,108,
+    121, 32, 97,108,108,111, 99, 97,116,101,100, 32, 97,114,114,
+     97,121, 10, 32, 32,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, 32, 32, 32,108,
+    111, 99, 97,108, 32,105, 61, 49, 10, 32, 32, 32,119,104,105,
+    108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93,
+     32,100,111, 10, 32, 32, 32, 32,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, 32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10,
+     32, 32, 32,101,110,100, 10, 32, 32,101,110,100, 10, 32,101,
+    110,100, 10, 10, 32,111,117,116,112,117,116, 40, 39, 32,125,
+     39, 41, 10, 32,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, 10, 32, 45, 45, 32, 99, 97,108,108, 32,111,
+    118,101,114,108,111, 97,100,101,100, 32,102,117,110, 99,116,
+    105,111,110, 32,111,114, 32,103,101,110,101,114, 97,116,101,
+     32,101,114,114,111,114, 10,  9,105,102, 32,111,118,101,114,
+    108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,110, 10, 10,
+      9,  9,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,  9,  9,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,  9,  9,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,  9,  9,111,117,116,112,117,116, 40, 39, 32,
+    114,101,116,117,114,110, 32, 48, 59, 39, 41, 10,  9,  9,111,
+    117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110,
+     39, 41, 10,  9,101,108,115,101, 10,  9,  9,108,111, 99, 97,
+    108, 32, 95,108,111, 99, 97,108, 32, 61, 32, 34, 34, 10,  9,
+      9,105,102, 32,108,111, 99, 97,108, 95, 99,111,110,115,116,
+    114,117, 99,116,111,114, 32,116,104,101,110, 10,  9,  9,  9,
+     95,108,111, 99, 97,108, 32, 61, 32, 34, 95,108,111, 99, 97,
+    108, 34, 10,  9,  9,101,110,100, 10,  9,  9,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,  9,  9,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, 95,108,111, 99, 97,108, 46, 46, 39, 40,116,111,
+    108,117, 97, 95, 83, 41, 59, 39, 41, 10,  9,101,110,100, 10,
+     32,111,117,116,112,117,116, 40, 39,125, 39, 41, 10, 32,111,
+    117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 32, 47,
+     47, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95,
+     68, 73, 83, 65, 66, 76, 69, 92,110, 39, 41, 10, 32,111,117,
+    116,112,117,116, 40, 39, 92,110, 39, 41, 10, 10,  9, 45, 45,
+     32,114,101, 99,117,114,115,105,118,101, 32, 99, 97,108,108,
+     32,116,111, 32,119,114,105,116,101, 32,108,111, 99, 97,108,
+     32, 99,111,110,115,116,114,117, 99,116,111,114, 10,  9,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, 97,
+    110,100, 32,110,111,116, 32,108,111, 99, 97,108, 95, 99,111,
+    110,115,116,114,117, 99,116,111,114, 32,116,104,101,110, 10,
+     10,  9,  9,115,101,108,102, 58,115,117,112, 99,111,100,101,
+     40, 49, 41, 10,  9,101,110,100, 10, 10,101,110,100, 10, 10,
+     10, 45, 45, 32,114,101,103,105,115,116,101,114, 32,102,117,
+    110, 99,116,105,111,110, 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,112,114,101, 41, 10,
+     10,  9,105,102, 32,110,111,116, 32,115,101,108,102, 58, 99,
+    104,101, 99,107, 95,112,117, 98,108,105, 99, 95, 97, 99, 99,
+    101,115,115, 40, 41, 32,116,104,101,110, 10,  9,  9,114,101,
+    116,117,114,110, 10,  9,101,110,100, 10, 10, 32,  9,105,102,
+     32,115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39,
+    110,101,119, 39, 32, 97,110,100, 32,115,101,108,102, 46,112,
+     97,114,101,110,116, 46,102,108, 97,103,115, 46,112,117,114,
+    101, 95,118,105,114,116,117, 97,108, 32,116,104,101,110, 10,
+     32,  9,  9, 45, 45, 32,110,111, 32, 99,111,110,115,116,114,
+    117, 99,116,111,114, 32,102,111,114, 32, 99,108, 97,115,115,
+    101,115, 32,119,105,116,104, 32,112,117,114,101, 32,118,105,
+    114,116,117, 97,108, 32,109,101,116,104,111,100,115, 10, 32,
+      9,  9,114,101,116,117,114,110, 10, 32,  9,101,110,100, 10,
+     10, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,
+    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, 32, 32,105,102, 32,115,101,108,102, 46,110, 97,
+    109,101, 32, 61, 61, 32, 39,110,101,119, 39, 32,116,104,101,
+    110, 10,  9, 32, 32,111,117,116,112,117,116, 40,112,114,101,
+     46, 46, 39,116,111,108,117, 97, 95,102,117,110, 99,116,105,
+    111,110, 40,116,111,108,117, 97, 95, 83, 44, 34,110,101,119,
+     95,108,111, 99, 97,108, 34, 44, 39, 46, 46,115,101,108,102,
+     46, 99,110, 97,109,101, 46, 46, 39, 95,108,111, 99, 97,108,
+     41, 59, 39, 41, 10,  9, 32, 32,111,117,116,112,117,116, 40,
+    112,114,101, 46, 46, 39,116,111,108,117, 97, 95,102,117,110,
+     99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 34,
+     46, 99, 97,108,108, 34, 44, 39, 46, 46,115,101,108,102, 46,
+     99,110, 97,109,101, 46, 46, 39, 95,108,111, 99, 97,108, 41,
+     59, 39, 41, 10,  9, 32, 32, 45, 45,111,117,116,112,117,116,
+     40, 39, 32,116,111,108,117, 97, 95,115,101,116, 95, 99, 97,
+    108,108, 95,101,118,101,110,116, 40,116,111,108,117, 97, 95,
+     83, 44, 39, 46, 46,115,101,108,102, 46, 99,110, 97,109,101,
+     46, 46, 39, 95,108,111, 99, 97,108, 44, 32, 34, 39, 46, 46,
+    115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,
+    101, 46, 46, 39, 34, 41, 59, 39, 41, 10, 32, 32,101,110,100,
+     10,101,110,100, 10, 10, 45, 45, 32, 80,114,105,110,116, 32,
+    109,101,116,104,111,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, 32,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, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+     46, 34, 32,109,111,100, 32, 32, 61, 32, 39, 34, 46, 46,115,
+    101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,
+     32,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, 32,
+    112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+    112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+     46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10, 32,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, 32,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, 32,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, 32,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, 32,
+    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,
+     32,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, 32,108,111,
+     99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,101, 32,
+    115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111,
+     10, 32, 32,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, 32, 34, 44, 34, 44, 34, 41, 10, 32, 32,105, 32, 61, 32,
+    105, 43, 49, 10, 32,101,110,100, 10, 32,112,114,105,110,116,
+     40,105,100,101,110,116, 46, 46, 34, 32,125, 34, 41, 10, 32,
+    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, 10,
+     45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,105,116, 32,
+    114,101,116,117,114,110,115, 32, 97,110, 32,111, 98,106,101,
+     99,116, 32, 98,121, 32,118, 97,108,117,101, 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,  9,108,111,
+     99, 97,108, 32,114, 32, 61, 32,102, 97,108,115,101, 10,  9,
+    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,  9,  9,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, 43, 34, 44, 34, 34, 41, 10,  9, 32,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, 99,108,
+    101, 97,110, 95,116,101,109,112,108, 97,116,101, 40,116,121,
+    112,101, 41, 10,  9, 32,114, 32, 61, 32,116,114,117,101, 10,
+      9,101,110,100, 10,  9,108,111, 99, 97,108, 32,105, 61, 49,
+     10,  9,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,
+    103,115, 91,105, 93, 32,100,111, 10,  9,  9,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,  9,  9,105, 32, 61, 32,
+    105, 43, 49, 10,  9,101,110,100, 10,  9,114,101,116,117,114,
+    110, 32,114, 10,101,110,100, 10, 10, 45, 45, 32,100,101,116,
+    101,114,109,105,110,101, 32,108,117, 97, 32,102,117,110, 99,
+    116,105,111,110, 32,110, 97,109,101, 32,111,118,101,114,108,
+    111, 97,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, 32,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, 10, 10,102,117,110, 99,
+    116,105,111,110, 32,112, 97,114, 97,109, 95,111, 98,106,101,
+     99,116, 40,112, 97,114, 41, 32, 45, 45, 32,114,101,116,117,
+    114,110,115, 32,116,114,117,101, 32,105,102, 32,116,104,101,
+     32,112, 97,114, 97,109,101,116,101,114, 32,104, 97,115, 32,
+     97,110, 32,111, 98,106,101, 99,116, 32, 97,115, 32,105,116,
+    115, 32,100,101,102, 97,117,108,116, 32,118, 97,108,117,101,
+     10, 10,  9,105,102, 32,110,111,116, 32,115,116,114,105,110,
+    103, 46,102,105,110,100, 40,112, 97,114, 44, 32, 39, 61, 39,
+     41, 32,116,104,101,110, 32,114,101,116,117,114,110, 32,102,
+     97,108,115,101, 32,101,110,100, 32, 45, 45, 32,105,116, 32,
+    104, 97,115, 32,110,111, 32,100,101,102, 97,117,108,116, 32,
+    118, 97,108,117,101, 10, 10,  9,108,111, 99, 97,108, 32, 95,
+     44, 95, 44,100,101,102, 32, 61, 32,115,116,114,105,110,103,
+     46,102,105,110,100, 40,112, 97,114, 44, 32, 34, 61, 40, 46,
+     42, 41, 36, 34, 41, 10, 10,  9,105,102, 32,115,116,114,105,
+    110,103, 46,102,105,110,100, 40,112, 97,114, 44, 32, 34,124,
+     34, 41, 32,116,104,101,110, 32, 45, 45, 32, 97, 32,108,105,
+    115,116, 32,111,102, 32,102,108, 97,103,115, 10, 10,  9,  9,
+    114,101,116,117,114,110, 32,116,114,117,101, 10,  9,101,110,
+    100, 10, 10,  9,105,102, 32,115,116,114,105,110,103, 46,102,
+    105,110,100, 40,112, 97,114, 44, 32, 34, 37, 42, 34, 41, 32,
+    116,104,101,110, 32, 45, 45, 32,105,116, 39,115, 32, 97, 32,
+    112,111,105,110,116,101,114, 32,119,105,116,104, 32, 97, 32,
+    100,101,102, 97,117,108,116, 32,118, 97,108,117,101, 10, 10,
+      9,  9,105,102, 32,115,116,114,105,110,103, 46,102,105,110,
+    100, 40,112, 97,114, 44, 32, 39, 61, 37,115, 42,110,101,119,
+     39, 41, 32,116,104,101,110, 32, 45, 45, 32,105,116, 39,115,
+     32, 97, 32,112,111,105,110,116,101,114, 32,119,105,116,104,
+     32, 97,110, 32,105,110,115,116, 97,110, 99,101, 32, 97,115,
+     32,100,101,102, 97,117,108,116, 32,112, 97,114, 97,109,101,
+    116,101,114, 46, 46, 32,105,115, 32,116,104, 97,116, 32,118,
+     97,108,105,100, 63, 10,  9,  9,  9,114,101,116,117,114,110,
+     32,116,114,117,101, 10,  9,  9,101,110,100, 10,  9,  9,114,
+    101,116,117,114,110, 32,102, 97,108,115,101, 32, 45, 45, 32,
+    100,101,102, 97,117,108,116, 32,118, 97,108,117,101, 32,105,
+    115, 32, 39, 78, 85, 76, 76, 39, 32,111,114, 32,115,111,109,
+    101,116,104,105,110,103, 10,  9,101,110,100, 10, 10, 10,  9,
+    105,102, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+    112, 97,114, 44, 32, 34, 91, 37, 40, 38, 93, 34, 41, 32,116,
+    104,101,110, 10,  9,  9,114,101,116,117,114,110, 32,116,114,
+    117,101, 10,  9,101,110,100, 32, 45, 45, 32,100,101,102, 97,
+    117,108,116, 32,118, 97,108,117,101, 32,105,115, 32, 97, 32,
+     99,111,110,115,116,114,117, 99,116,111,114, 32, 99, 97,108,
+    108, 32, 40,109,111,115,116, 32,108,105,107,101,108,121, 32,
+    102,111,114, 32, 97, 32, 99,111,110,115,116, 32,114,101,102,
+    101,114,101,110, 99,101, 41, 10, 10,  9, 45, 45,105,102, 32,
+    115,116,114,105,110,103, 46,102,105,110,100, 40,112, 97,114,
+     44, 32, 34, 38, 34, 41, 32,116,104,101,110, 10, 10,  9, 45,
+     45,  9,105,102, 32,115,116,114,105,110,103, 46,102,105,110,
+    100, 40,100,101,102, 44, 32, 34, 58, 34, 41, 32,111,114, 32,
+    115,116,114,105,110,103, 46,102,105,110,100, 40,100,101,102,
+     44, 32, 34, 94, 37,115, 42,110,101,119, 37,115, 43, 34, 41,
+     32,116,104,101,110, 10, 10,  9, 45, 45,  9,  9, 45, 45, 32,
+    105,116, 39,115, 32, 97, 32,114,101,102,101,114,101,110, 99,
+    101, 32,119,105,116,104, 32,100,101,102, 97,117,108,116, 32,
+    116,111, 32,115,111,109,101,116,104,105,110,103, 32,108,105,
+    107,101, 32, 67,108, 97,115,115, 58, 58,109,101,109, 98,101,
+    114, 44, 32,111,114, 32, 39,110,101,119, 32, 67,108, 97,115,
+    115, 39, 10,  9, 45, 45,  9,  9,114,101,116,117,114,110, 32,
+    116,114,117,101, 10,  9, 45, 45,  9,101,110,100, 10,  9, 45,
+     45,101,110,100, 10, 10,  9,114,101,116,117,114,110, 32,102,
+     97,108,115,101, 32, 45, 45, 32, 63, 10,101,110,100, 10, 10,
+    102,117,110, 99,116,105,111,110, 32,115,116,114,105,112, 95,
+    108, 97,115,116, 95, 97,114,103, 40, 97,108,108, 95, 97,114,
+    103,115, 44, 32,108, 97,115,116, 95, 97,114,103, 41, 32, 45,
+     45, 32,115,116,114,105,112,115, 32,116,104,101, 32,100,101,
+    102, 97,117,108,116, 32,118, 97,108,117,101, 32,102,114,111,
+    109, 32,116,104,101, 32,108, 97,115,116, 32, 97,114,103,117,
+    109,101,110,116, 10, 10,  9,108,111, 99, 97,108, 32, 95, 44,
+     95, 44,115, 95, 97,114,103, 32, 61, 32,115,116,114,105,110,
+    103, 46,102,105,110,100, 40,108, 97,115,116, 95, 97,114,103,
+     44, 32, 34, 94, 40, 91, 94, 61, 93, 43, 41, 34, 41, 10,  9,
+    108, 97,115,116, 95, 97,114,103, 32, 61, 32,115,116,114,105,
+    110,103, 46,103,115,117, 98, 40,108, 97,115,116, 95, 97,114,
+    103, 44, 32, 34, 40, 91, 37, 37, 37, 40, 37, 41, 93, 41, 34,
+     44, 32, 34, 37, 37, 37, 49, 34, 41, 59, 10,  9, 97,108,108,
+     95, 97,114,103,115, 32, 61, 32,115,116,114,105,110,103, 46,
+    103,115,117, 98, 40, 97,108,108, 95, 97,114,103,115, 44, 32,
+     34, 37,115, 42, 44, 37,115, 42, 34, 46, 46,108, 97,115,116,
+     95, 97,114,103, 46, 46, 34, 37,115, 42, 37, 41, 37,115, 42,
+     36, 34, 44, 32, 34, 41, 34, 41, 10,  9,114,101,116,117,114,
+    110, 32, 97,108,108, 95, 97,114,103,115, 44, 32,115, 95, 97,
+    114,103, 10,101,110,100, 10, 10, 10, 10, 45, 45, 32, 73,110,
+    116,101,114,110, 97,108, 32, 99,111,110,115,116,114,117, 99,
+    116,111,114, 10,102,117,110, 99,116,105,111,110, 32, 95, 70,
+    117,110, 99,116,105,111,110, 32, 40,116, 41, 10, 32,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, 10, 32,
+    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,
+     32, 32,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, 32,101,110,
+    100, 10, 10, 32, 97,112,112,101,110,100, 40,116, 41, 10, 32,
+    105,102, 32,116, 58,105,110, 99,108, 97,115,115, 40, 41, 32,
+    116,104,101,110, 10, 32, 45, 45,112,114,105,110,116, 32, 40,
+     39,116, 46,110, 97,109,101, 32,105,115, 32, 39, 46, 46,116,
+     46,110, 97,109,101, 46, 46, 39, 44, 32,112, 97,114,101,110,
+    116, 46,110, 97,109,101, 32,105,115, 32, 39, 46, 46,116, 46,
+    112, 97,114,101,110,116, 46,110, 97,109,101, 41, 10, 32, 32,
+    105,102, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+    116, 46,110, 97,109,101, 44, 32, 34, 37, 98, 60, 62, 34, 44,
+     32, 34, 34, 41, 32, 61, 61, 32,115,116,114,105,110,103, 46,
+    103,115,117, 98, 40,116, 46,112, 97,114,101,110,116, 46,111,
+    114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,111,114,
+     32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 44,
+     32, 34, 37, 98, 60, 62, 34, 44, 32, 34, 34, 41, 32,116,104,
+    101,110, 10, 32, 32, 32,116, 46,110, 97,109,101, 32, 61, 32,
+     39,110,101,119, 39, 10, 32, 32, 32,116, 46,108,110, 97,109,
+    101, 32, 61, 32, 39,110,101,119, 39, 10, 32, 32, 32,116, 46,
+    112, 97,114,101,110,116, 46, 95,110,101,119, 32, 61, 32,116,
+    114,117,101, 10, 32, 32, 32,116, 46,116,121,112,101, 32, 61,
+     32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 10,
+     32, 32, 32,116, 46,112,116,114, 32, 61, 32, 39, 42, 39, 10,
+     32, 32,101,108,115,101,105,102, 32,115,116,114,105,110,103,
+     46,103,115,117, 98, 40,116, 46,110, 97,109,101, 44, 32, 34,
+     37, 98, 60, 62, 34, 44, 32, 34, 34, 41, 32, 61, 61, 32, 39,
+    126, 39, 46, 46,115,116,114,105,110,103, 46,103,115,117, 98,
+     40,116, 46,112, 97,114,101,110,116, 46,111,114,105,103,105,
+    110, 97,108, 95,110, 97,109,101, 32,111,114, 32,116, 46,112,
+     97,114,101,110,116, 46,110, 97,109,101, 44, 32, 34, 37, 98,
+     60, 62, 34, 44, 32, 34, 34, 41, 32,116,104,101,110, 10, 32,
+     32, 32,116, 46,110, 97,109,101, 32, 61, 32, 39,100,101,108,
+    101,116,101, 39, 10, 32, 32, 32,116, 46,108,110, 97,109,101,
+     32, 61, 32, 39,100,101,108,101,116,101, 39, 10, 32, 32, 32,
+    116, 46,112, 97,114,101,110,116, 46, 95,100,101,108,101,116,
+    101, 32, 61, 32,116,114,117,101, 10, 32, 32,101,110,100, 10,
+     32,101,110,100, 10, 32,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, 32,114,101,116,117,114,110, 32,
+    116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,115,116,
+    114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,101, 99,
+    116,115, 32,116,104,114,101,101, 32,115,116,114,105,110,103,
+    115, 58, 32,111,110,101, 32,114,101,112,114,101,115,101,110,
+    116,105,110,103, 32,116,104,101, 32,102,117,110, 99,116,105,
+    111,110, 32,100,101, 99,108, 97,114, 97,116,105,111,110, 44,
+     10, 45, 45, 32, 97,110,111,116,104,101,114, 32,114,101,112,
+    114,101,115,101,110,116,105,110,103, 32,116,104,101, 32, 97,
+    114,103,117,109,101,110,116, 32,108,105,115,116, 44, 32, 97,
+    110,100, 32,116,104,101, 32,116,104,105,114,100, 32,114,101,
+    112,114,101,115,101,110,116,105,110,103, 10, 45, 45, 32,116,
+    104,101, 32, 34, 99,111,110,115,116, 34, 32,111,114, 32,101,
+    109,112,116,121, 32,115,116,114,105,110,103, 46, 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, 32, 45, 45,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, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+     32, 98,114, 97, 99,101,115, 10, 32, 45, 45,108,111, 99, 97,
+    108, 32,116, 32, 61, 32,115,112,108,105,116, 95,112, 97,114,
+     97,109,115, 40,115,116,114,115,117, 98, 40, 97, 44, 50, 44,
+     45, 50, 41, 41, 10, 10,  9,105,102, 32,110,111,116, 32,102,
+    108, 97,103,115, 91, 39, 87, 39, 93, 32, 97,110,100, 32,115,
+    116,114,105,110,103, 46,102,105,110,100, 40, 97, 44, 32, 34,
+     37, 46, 37, 46, 37, 46, 37,115, 42, 37, 41, 34, 41, 32,116,
+    104,101,110, 10, 10,  9,  9,119, 97,114,110,105,110,103, 40,
+     34, 70,117,110, 99,116,105,111,110,115, 32,119,105,116,104,
+     32,118, 97,114,105, 97, 98,108,101, 32, 97,114,103,117,109,
+    101,110,116,115, 32, 40, 96, 46, 46, 46, 39, 41, 32, 97,114,
+    101, 32,110,111,116, 32,115,117,112,112,111,114,116,101,100,
+     46, 32, 73,103,110,111,114,105,110,103, 32, 34, 46, 46,100,
+     46, 46, 97, 46, 46, 99, 41, 10,  9,  9,114,101,116,117,114,
+    110, 32,110,105,108, 10,  9,101,110,100, 10, 10, 10, 32,108,
+    111, 99, 97,108, 32,105, 61, 49, 10, 32,108,111, 99, 97,108,
+     32,108, 32, 61, 32,123,110, 61, 48,125, 10, 10, 32,  9, 97,
+     32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+     97, 44, 32, 34, 37,115, 42, 40, 91, 37, 40, 37, 41, 93, 41,
+     37,115, 42, 34, 44, 32, 34, 37, 49, 34, 41, 10,  9,108,111,
+     99, 97,108, 32,116, 44,115,116,114,105,112, 44,108, 97,115,
+    116, 32, 61, 32,115,116,114,105,112, 95,112, 97,114,115, 40,
+    115,116,114,115,117, 98, 40, 97, 44, 50, 44, 45, 50, 41, 41,
+     59, 10,  9,105,102, 32,115,116,114,105,112, 32,116,104,101,
+    110, 10,  9,  9, 45, 45,108,111, 99, 97,108, 32,110,115, 32,
+     61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,115,116,
+    114,115,117, 98, 40, 97, 44, 49, 44, 45, 50, 41, 44, 32, 49,
+     44, 32, 45, 40,115,116,114,105,110,103, 46,108,101,110, 40,
+    108, 97,115,116, 41, 43, 49, 41, 41, 10,  9,  9,108,111, 99,
+     97,108, 32,110,115, 32, 61, 32,106,111,105,110, 40,116, 44,
+     32, 34, 44, 34, 44, 32, 49, 44, 32,108, 97,115,116, 45, 49,
+     41, 10, 10,  9,  9,110,115, 32, 61, 32, 34, 40, 34, 46, 46,
+    115,116,114,105,110,103, 46,103,115,117, 98, 40,110,115, 44,
+     32, 34, 37,115, 42, 44, 37,115, 42, 36, 34, 44, 32, 34, 34,
+     41, 46, 46, 39, 41, 39, 10,  9,  9, 45, 45,110,115, 32, 61,
+     32,115,116,114,105,112, 95,100,101,102, 97,117,108,116,115,
+     40,110,115, 41, 10, 10,  9,  9, 70,117,110, 99,116,105,111,
+    110, 40,100, 44, 32,110,115, 44, 32, 99, 41, 10,  9,  9,102,
+    111,114, 32,105, 61, 49, 44,108, 97,115,116, 32,100,111, 10,
+      9,  9,  9,116, 91,105, 93, 32, 61, 32,115,116,114,105,110,
+    103, 46,103,115,117, 98, 40,116, 91,105, 93, 44, 32, 34, 61,
+     46, 42, 36, 34, 44, 32, 34, 34, 41, 10,  9,  9,101,110,100,
+     10,  9,101,110,100, 10, 10, 32,119,104,105,108,101, 32,116,
+     91,105, 93, 32,100,111, 10, 32, 32,108, 46,110, 32, 61, 32,
+    108, 46,110, 43, 49, 10, 32, 32,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, 44,116,114,117,101, 41,
+     10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100,
+     10, 32,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, 32,102, 46, 97,114,103,115, 32, 61, 32,108,
+     10, 32,102, 46, 99,111,110,115,116, 32, 61, 32, 99, 10, 32,
+    114,101,116,117,114,110, 32, 95, 70,117,110, 99,116,105,111,
+    110, 40,102, 41, 10,101,110,100, 10, 10,102,117,110, 99,116,
+    105,111,110, 32,106,111,105,110, 40,116, 44, 32,115,101,112,
+     44, 32,102,105,114,115,116, 44, 32,108, 97,115,116, 41, 10,
+     10,  9,102,105,114,115,116, 32, 61, 32,102,105,114,115,116,
+     32,111,114, 32, 49, 10,  9,108, 97,115,116, 32, 61, 32,108,
+     97,115,116, 32,111,114, 32,116, 97, 98,108,101, 46,103,101,
+    116,110, 40,116, 41, 10,  9,108,111, 99, 97,108, 32,108,115,
+    101,112, 32, 61, 32, 34, 34, 10,  9,108,111, 99, 97,108, 32,
+    114,101,116, 32, 61, 32, 34, 34, 10,  9,108,111, 99, 97,108,
+     32,108,111,111,112, 32, 61, 32,102, 97,108,115,101, 10,  9,
+    102,111,114, 32,105, 32, 61, 32,102,105,114,115,116, 44,108,
+     97,115,116, 32,100,111, 10, 10,  9,  9,114,101,116, 32, 61,
+     32,114,101,116, 46, 46,108,115,101,112, 46, 46,116, 91,105,
+     93, 10,  9,  9,108,115,101,112, 32, 61, 32,115,101,112, 10,
+      9,  9,108,111,111,112, 32, 61, 32,116,114,117,101, 10,  9,
+    101,110,100, 10,  9,105,102, 32,110,111,116, 32,108,111,111,
+    112, 32,116,104,101,110, 10,  9,  9,114,101,116,117,114,110,
+     32, 34, 34, 10,  9,101,110,100, 10, 10,  9,114,101,116,117,
+    114,110, 32,114,101,116, 10,101,110,100, 10, 10,102,117,110,
+     99,116,105,111,110, 32,115,116,114,105,112, 95,112, 97,114,
+    115, 40,115, 41, 10, 10,  9,108,111, 99, 97,108, 32,116, 32,
+     61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,101,110,
+    115, 40,115, 44, 32, 39, 44, 39, 41, 10,  9,108,111, 99, 97,
+    108, 32,115,116,114,105,112, 32, 61, 32,102, 97,108,115,101,
+     10,  9,108,111, 99, 97,108, 32,108, 97,115,116, 10, 10,  9,
+    102,111,114, 32,105, 61,116, 46,110, 44, 49, 44, 45, 49, 32,
+    100,111, 10, 10,  9,  9,105,102, 32,110,111,116, 32,115,116,
+    114,105,112, 32, 97,110,100, 32,112, 97,114, 97,109, 95,111,
+     98,106,101, 99,116, 40,116, 91,105, 93, 41, 32,116,104,101,
+    110, 10,  9,  9,  9,108, 97,115,116, 32, 61, 32,105, 10,  9,
+      9,  9,115,116,114,105,112, 32, 61, 32,116,114,117,101, 10,
+      9,  9,101,110,100, 10,  9,  9, 45, 45,105,102, 32,115,116,
+    114,105,112, 32,116,104,101,110, 10,  9,  9, 45, 45,  9,116,
+     91,105, 93, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+    117, 98, 40,116, 91,105, 93, 44, 32, 34, 61, 46, 42, 36, 34,
+     44, 32, 34, 34, 41, 10,  9,  9, 45, 45,101,110,100, 10,  9,
+    101,110,100, 10, 10,  9,114,101,116,117,114,110, 32,116, 44,
+    115,116,114,105,112, 44,108, 97,115,116, 10, 10,101,110,100,
+     10, 10,102,117,110, 99,116,105,111,110, 32,115,116,114,105,
+    112, 95,100,101,102, 97,117,108,116,115, 40,115, 41, 10, 10,
+      9,115, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+     98, 40,115, 44, 32, 34, 94, 37, 40, 34, 44, 32, 34, 34, 41,
+     10,  9,115, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+    117, 98, 40,115, 44, 32, 34, 37, 41, 36, 34, 44, 32, 34, 34,
+     41, 10, 10,  9,108,111, 99, 97,108, 32,116, 32, 61, 32,115,
+    112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,115,
+     44, 32, 34, 44, 34, 41, 10,  9,108,111, 99, 97,108, 32,115,
+    101,112, 44, 32,114,101,116, 32, 61, 32, 34, 34, 44, 34, 34,
+     10,  9,102,111,114, 32,105, 61, 49, 44,116, 46,110, 32,100,
+    111, 10,  9,  9,116, 91,105, 93, 32, 61, 32,115,116,114,105,
+    110,103, 46,103,115,117, 98, 40,116, 91,105, 93, 44, 32, 34,
+     61, 46, 42, 36, 34, 44, 32, 34, 34, 41, 10,  9,  9,114,101,
+    116, 32, 61, 32,114,101,116, 46, 46,115,101,112, 46, 46,116,
+     91,105, 93, 10,  9,  9,115,101,112, 32, 61, 32, 34, 44, 34,
+     10,  9,101,110,100, 10, 10,  9,114,101,116,117,114,110, 32,
+     34, 40, 34, 46, 46,114,101,116, 46, 46, 34, 41, 34, 10,101,
+    110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/function.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32,111,112,101,114, 97,
+    116,111,114, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+    105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+     97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+     71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+     32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+    100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+    111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+    116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+    114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+     32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+    105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+    119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+    101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+     97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+    115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+    117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+    108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+    118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+    101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+     97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+    101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+    102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45,
+     32, 79,112,101,114, 97,116,111,114, 32, 99,108, 97,115,115,
+     10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32,
+     97,110, 32,111,112,101,114, 97,116,111,114, 32,102,117,110,
+     99,116,105,111,110, 32,111,114, 32, 97, 32, 99,108, 97,115,
+    115, 32,111,112,101,114, 97,116,111,114, 32,109,101,116,104,
+    111,100, 46, 10, 45, 45, 32, 73,116, 32,115,116,111,114,101,
+    115, 32,116,104,101, 32,115, 97,109,101, 32,102,105,101,108,
+    100,115, 32, 97,115, 32,102,117,110, 99,116,105,111,110,115,
+     32,100,111, 32,112,108,117,115, 58, 10, 45, 45, 32, 32,107,
+    105,110,100, 32, 61, 32,115,101,116, 32,111,102, 32, 99,104,
+     97,114, 97, 99,116,101,114, 32,114,101,112,114,101,115,101,
+    110,116,105,110,103, 32,116,104,101, 32,111,112,101,114, 97,
+    116,111,114, 32, 40, 97,115, 32,105,116, 32, 97,112,112,101,
+    114,115, 32,105,110, 32, 67, 43, 43, 32, 99,111,100,101, 41,
+     10, 99,108, 97,115,115, 79,112,101,114, 97,116,111,114, 32,
+     61, 32,123, 10, 32,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, 10, 45, 45, 32,116, 97, 98,
+    108,101, 32,116,111, 32,116,114, 97,110,115,102,111,114,109,
+     32,111,112,101,114, 97,116,111,114, 32,107,105,110,100, 32,
+    105,110,116,111, 32,116,104,101, 32, 97,112,112,114,111,112,
+    114,105, 97,116,101, 32,116, 97,103, 32,109,101,116,104,111,
+    100, 32,110, 97,109,101, 10, 95, 84, 77, 32, 61, 32,123, 91,
+     39, 43, 39, 93, 32, 61, 32, 39, 97,100,100, 39, 44, 10, 32,
+     32, 32, 32, 32, 32, 32, 91, 39, 45, 39, 93, 32, 61, 32, 39,
+    115,117, 98, 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39,
+     42, 39, 93, 32, 61, 32, 39,109,117,108, 39, 44, 10, 32, 32,
+     32, 32, 32, 32, 32, 91, 39, 47, 39, 93, 32, 61, 32, 39,100,
+    105,118, 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39, 60,
+     39, 93, 32, 61, 32, 39,108,116, 39, 44, 10, 32, 32, 32, 32,
+     32, 32, 32, 91, 39, 60, 61, 39, 93, 32, 61, 32, 39,108,101,
+     39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39, 61, 61, 39,
+     93, 32, 61, 32, 39,101,113, 39, 44, 10, 32, 32, 32, 32, 32,
+     32, 32, 91, 39, 91, 93, 39, 93, 32, 61, 32, 39,103,101,116,
+    105, 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39, 38, 91,
+     93, 39, 93, 32, 61, 32, 39,115,101,116,105, 39, 44, 10, 32,
+     32, 32, 32, 32, 32, 32, 45, 45, 91, 39, 45, 62, 39, 93, 32,
+     61, 32, 39,102,108,101, 99,104,105,116, 97, 39, 44, 10, 32,
+     32, 32, 32, 32, 32,125, 10, 10, 10, 45, 45, 32, 80,114,105,
+    110,116, 32,109,101,116,104,111,100, 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, 32,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, 32,112,114,105,110,116, 40,105,100,101,
+    110,116, 46, 46, 34, 32,107,105,110,100, 32, 32, 61, 32, 39,
+     34, 46, 46,115,101,108,102, 46,107,105,110,100, 46, 46, 34,
+     39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+    110,116, 46, 46, 34, 32,109,111,100, 32, 32, 61, 32, 39, 34,
+     46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44,
+     34, 41, 10, 32,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, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+     46, 34, 32,112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,115,
+    101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,
+     32,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, 32,
+    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,
+     32,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, 32,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, 32,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, 32,
+    108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,
+    101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,
+    100,111, 10, 32, 32,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, 32, 34, 44, 34, 44, 34, 41, 10, 32, 32,105, 32,
+     61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,114,105,
+    110,116, 40,105,100,101,110,116, 46, 46, 34, 32,125, 34, 41,
+     10, 32,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, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+    115, 79,112,101,114, 97,116,111,114, 58,115,117,112, 99,111,
+    100,101, 95,116,109,112, 40, 41, 10, 10,  9,105,102, 32,110,
+    111,116, 32, 95, 84, 77, 91,115,101,108,102, 46,107,105,110,
+    100, 93, 32,116,104,101,110, 10,  9,  9,114,101,116,117,114,
+    110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110,
+     46,115,117,112, 99,111,100,101, 40,115,101,108,102, 41, 10,
+      9,101,110,100, 10, 10,  9, 45, 45, 32,110,111, 32,111,118,
+    101,114,108,111, 97,100, 44, 32,110,111, 32,112, 97,114, 97,
+    109,101,116,101,114,115, 44, 32, 97,108,119, 97,121,115, 32,
+    105,110, 99,108, 97,115,115, 10,  9,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,115,101,108,102, 58,105,110, 99,
+    108, 97,115,115, 40, 41, 44, 34, 32, 42, 47, 34, 41, 10, 10,
+      9,111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,
+    102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69,
+     95, 34, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 41,
+     10,  9,111,117,116,112,117,116, 40, 34, 92,110,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, 10,
+      9,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32,
+     48, 32,116,104,101,110, 10,  9, 32,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,  9,101,
+    110,100, 10,  9,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,  9,111,117,116,112,117,116,
+     40, 39, 32,105,102, 32, 40, 92,110, 39, 41, 10,  9, 45, 45,
+     32, 99,104,101, 99,107, 32,115,101,108,102, 10,  9,111,117,
+    116,112,117,116, 40, 39, 32, 32, 32, 32, 32, 33, 39, 46, 46,
+     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, 49, 44, 34, 39,
+     46, 46,115,101,108,102, 46,112, 97,114,101,110,116, 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, 92,110, 39, 41, 10,  9,
+    111,117,116,112,117,116, 40, 39, 32, 32, 32, 32, 32, 33,116,
+    111,108,117, 97, 95,105,115,110,111,111, 98,106, 40,116,111,
+    108,117, 97, 95, 83, 44, 50, 44, 38,116,111,108,117, 97, 95,
+    101,114,114, 41, 92,110, 32, 41, 39, 41, 10,  9,111,117,116,
+    112,117,116, 40, 39, 32, 32,103,111,116,111, 32,116,111,108,
+    117, 97, 95,108,101,114,114,111,114, 59, 39, 41, 10, 10,  9,
+    111,117,116,112,117,116, 40, 39, 32,101,108,115,101, 92,110,
+     39, 41, 10,  9,111,117,116,112,117,116, 40, 39, 35,101,110,
+    100,105,102, 92,110, 39, 41, 32, 45, 45, 32,116,111,108,117,
+     97, 95,114,101,108,101, 97,115,101, 10,  9,111,117,116,112,
+    117,116, 40, 39, 32,123, 39, 41, 10, 10,  9, 45, 45, 32,100,
+    101, 99,108, 97,114,101, 32,115,101,108,102, 10,  9,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,  9,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,  9,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, 10,  9, 45, 45, 32, 99,104,101, 99,
+    107, 32,115,101,108,102, 10,  9,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,  9,111,117,
+    116,112,117,116, 40, 39, 32, 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,  9,111,117,116,112,
+    117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,
+     10,  9, 45, 45, 32, 99, 97,115,116, 32,115,101,108,102, 10,
+      9,111,117,116,112,117,116, 40, 39, 32, 32, 39, 44,115,101,
+    108,102, 46,109,111,100, 44,115,101,108,102, 46,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,  9,111,117,
+    116,112,117,116, 40, 39, 40, 39, 44,115,101,108,102, 46,109,
+    111,100, 44,115,101,108,102, 46,116,121,112,101, 44,115,101,
+    108,102, 46,112,116,114, 44, 39, 41, 40, 42,115,101,108,102,
+     41, 59, 39, 41, 10, 10,  9, 45, 45, 32,114,101,116,117,114,
+    110, 32,118, 97,108,117,101, 10,  9,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,  9,105,102, 32,
+    116, 32,116,104,101,110, 10,  9,  9,111,117,116,112,117,116,
+     40, 39, 32, 32, 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,  9,101,108,115,101, 10,  9,
+      9,116, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,
+      9,  9,110,101,119, 95,116, 32, 61, 32,115,116,114,105,110,
+    103, 46,103,115,117, 98, 40,116, 44, 32, 34, 99,111,110,115,
+    116, 37,115, 43, 34, 44, 32, 34, 34, 41, 10,  9,  9,105,102,
+     32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39,
+     32,116,104,101,110, 10,  9,  9,  9,111,117,116,112,117,116,
+     40, 39, 32, 32, 32,123, 39, 41, 10,  9,  9,  9,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,  9,  9,
+      9,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,118,111,
+    105,100, 42, 32,116,111,108,117, 97, 95,111, 98,106, 32, 61,
+     32,110,101,119, 39, 44,110,101,119, 95,116, 44, 39, 40,116,
+    111,108,117, 97, 95,114,101,116, 41, 59, 39, 41, 10,  9,  9,
+      9,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,116,111,
+    108,117, 97, 95,112,117,115,104,117,115,101,114,116,121,112,
+    101, 95, 97,110,100, 95,116, 97,107,101,111,119,110,101,114,
+    115,104,105,112, 40,116,111,108,117, 97, 95, 83, 44,116,111,
+    108,117, 97, 95,111, 98,106, 44, 34, 39, 44,116, 44, 39, 34,
+     41, 59, 39, 41, 10,  9,  9,  9,111,117,116,112,117,116, 40,
+     39, 35,101,108,115,101, 92,110, 39, 41, 10,  9,  9,  9,111,
+    117,116,112,117,116, 40, 39, 32, 32, 32, 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,  9,  9,  9,111,117,116,
+    112,117,116, 40, 39, 32, 32, 32, 32,116,111,108,117, 97, 95,
+    112,117,115,104,117,115,101,114,116,121,112,101, 95, 97,110,
+    100, 95,116, 97,107,101,111,119,110,101,114,115,104,105,112,
+     40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,
+    111, 98,106, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41,
+     10,  9,  9,  9,111,117,116,112,117,116, 40, 39, 35,101,110,
+    100,105,102, 92,110, 39, 41, 10,  9,  9,  9,111,117,116,112,
+    117,116, 40, 39, 32, 32, 32,125, 39, 41, 10,  9,  9,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,  9,  9,  9,111,
+    117,116,112,117,116, 40, 39, 32, 32, 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,  9,  9,101,108,115,101, 10,  9,
+      9,  9,105,102, 32,108,111, 99, 97,108, 95, 99,111,110,115,
+    116,114,117, 99,116,111,114, 32,116,104,101,110, 10,  9,  9,
+      9,  9,111,117,116,112,117,116, 40, 39, 32, 32, 32,116,111,
+    108,117, 97, 95,112,117,115,104,117,115,101,114,116,121,112,
+    101, 95, 97,110,100, 95,116, 97,107,101,111,119,110,101,114,
+    115,104,105,112, 40,116,111,108,117, 97, 95, 83, 44, 40,118,
+    111,105,100, 32, 42, 41,116,111,108,117, 97, 95,114,101,116,
+     44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,  9,  9,
+      9,101,108,115,101, 10,  9,  9,  9,  9,111,117,116,112,117,
+    116, 40, 39, 32, 32, 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,  9,  9,  9,101,110,100, 10,  9,  9,101,110,100, 10,
+      9,101,110,100, 10, 10,  9,111,117,116,112,117,116, 40, 39,
+     32, 32,125, 39, 41, 10,  9,111,117,116,112,117,116, 40, 39,
+     32,114,101,116,117,114,110, 32, 49, 59, 39, 41, 10, 10,  9,
+    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,  9,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,  9,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,
+      9,111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,
+    110, 32, 48, 59, 39, 41, 10,  9,111,117,116,112,117,116, 40,
+     39, 35,101,110,100,105,102, 92,110, 39, 41, 10, 10, 10,  9,
+    111,117,116,112,117,116, 40, 39,125, 39, 41, 10,  9,111,117,
+    116,112,117,116, 40, 39, 35,101,110,100,105,102, 32, 47, 47,
+     35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68,
+     73, 83, 65, 66, 76, 69, 92,110, 39, 41, 10,  9,111,117,116,
+    112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10, 10,
+     45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,111,110,
+    115,116,114,117, 99,116,111,114, 10,102,117,110, 99,116,105,
+    111,110, 32, 95, 79,112,101,114, 97,116,111,114, 32, 40,116,
+     41, 10, 32,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, 10, 32,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, 32, 32,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, 32,101,110,100, 10, 10, 32, 97,112,112,101,110,100,
+     40,116, 41, 10, 32,105,102, 32,110,111,116, 32,116, 58,105,
+    110, 99,108, 97,115,115, 40, 41, 32,116,104,101,110, 10, 32,
+     32,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, 32,101,110,100,
+     10, 10, 32, 45, 45,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, 40, 95, 84, 77, 91,116, 46,107,105,110,100, 93, 32,111,
+    114, 32,116, 46,107,105,110,100, 41, 10, 32,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, 32,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, 32, 32, 45,
+     45, 32,115,101,116, 32, 97,112,112,114,111,112,114,105, 97,
+    116,101, 32, 99, 97,108,108,105,110,103, 32,110, 97,109,101,
+     10, 32,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,
+     10, 45, 45, 32, 67,111,110,115,116,114,117, 99,116,111,114,
+     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, 10,
+      9,108,111, 99, 97,108, 32,111,112, 95,107, 32, 61, 32,115,
+    116,114,105,110,103, 46,103,115,117, 98, 40,107, 44, 32, 34,
+     94, 37,115, 42, 34, 44, 32, 34, 34, 41, 10,  9,111,112, 95,
+    107, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98,
+     40,107, 44, 32, 34, 37,115, 42, 36, 34, 44, 32, 34, 34, 41,
+     10,  9, 45, 45,105,102, 32,115,116,114,105,110,103, 46,102,
+    105,110,100, 40,107, 44, 32, 34, 94, 91, 37,119, 95, 58, 37,
+    100, 60, 62, 37, 42, 37, 38, 93, 43, 36, 34, 41, 32,116,104,
+    101,110, 10,  9,105,102, 32,100, 32, 61, 61, 32, 34,111,112,
+    101,114, 97,116,111,114, 34, 32, 97,110,100, 32,107, 32,126,
+     61, 32, 39, 39, 32,116,104,101,110, 10, 10,  9,  9,100, 32,
+     61, 32,107, 46, 46, 34, 32,111,112,101,114, 97,116,111,114,
+     34, 10,  9,101,108,115,101,105,102, 32,110,111,116, 32, 95,
+     84, 77, 91,111,112, 95,107, 93, 32,116,104,101,110, 10, 10,
+      9,  9,105,102, 32,102,108, 97,103,115, 91, 39, 87, 39, 93,
+     32,116,104,101,110, 10,  9,  9,  9,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,  9,
+      9,101,108,115,101, 10,  9,  9,  9,119, 97,114,110,105,110,
+    103, 40, 34, 78,111, 32,115,117,112,112,111,114,116, 32,102,
+    111,114, 32,111,112,101,114, 97,116,111,114, 32, 34, 46, 46,
+    111,112, 95,107, 46, 46, 34, 44, 32,105,103,110,111,114,105,
+    110,103, 34, 41, 10,  9,  9,  9,114,101,116,117,114,110, 32,
+    110,105,108, 10,  9,  9,101,110,100, 10,  9,101,110,100, 10,
+     10,  9,108,111, 99, 97,108, 32,114,101,102, 32, 61, 32, 39,
+     39, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,
+    108,105,116, 95, 99, 95,116,111,107,101,110,115, 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, 32, 45, 45, 32,
+    101,108,105,109,105,110, 97,116,101, 32, 98,114, 97, 99,101,
+    115, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,108,
+    111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,
+     32,119,104,105,108,101, 32,116, 91,105, 93, 32,100,111, 10,
+     32, 32,108, 46,110, 32, 61, 32,108, 46,110, 43, 49, 10, 32,
+     32,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, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,
+    101,110,100, 10, 32,105,102, 32,107, 32, 61, 61, 32, 39, 91,
+     93, 39, 32,116,104,101,110, 10,  9, 32,108,111, 99, 97,108,
+     32, 95, 10,  9, 32, 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, 32, 32,100, 32, 61, 32,103,115,117, 98, 40,
+    100, 44, 39, 38, 39, 44, 39, 39, 41, 10, 32,101,108,115,101,
+    105,102, 32,107, 61, 61, 39, 38, 91, 93, 39, 32,116,104,101,
+    110, 10, 32, 32,108, 46,110, 32, 61, 32,108, 46,110, 43, 49,
+     10, 32, 32,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, 32, 32,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, 32,101,110,100, 10, 32,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, 32,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, 32, 32,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, 32,101,110,100, 10, 32,102, 46, 97,114,103,
+    115, 32, 61, 32,108, 10, 32,102, 46, 99,111,110,115,116, 32,
+     61, 32, 99, 10, 32,102, 46,107,105,110,100, 32, 61, 32,111,
+    112, 95,107, 10, 32,102, 46,108,110, 97,109,101, 32, 61, 32,
+     34, 46, 34, 46, 46, 40, 95, 84, 77, 91,102, 46,107,105,110,
+    100, 93, 32,111,114, 32,102, 46,107,105,110,100, 41, 10, 32,
+    105,102, 32,110,111,116, 32, 95, 84, 77, 91,102, 46,107,105,
+    110,100, 93, 32,116,104,101,110, 10, 32,  9,102, 46, 99, 97,
+    115,116, 95,111,112,101,114, 97,116,111,114, 32, 61, 32,116,
+    114,117,101, 10, 32,101,110,100, 10, 32,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, 32, 32, 79,112,101,114, 97,116,
+    111,114, 40,100, 44, 39, 38, 39, 46, 46,107, 44, 97, 44, 99,
+     41, 32,  9, 45, 45, 32, 99,114,101, 97,116,101, 32, 99,111,
+    114,114,101,115,112,111,100,105,110,103, 32,115,101,116, 32,
+    111,112,101,114, 97,116,111,114, 10, 32,101,110,100, 10, 32,
+    114,101,116,117,114,110, 32, 95, 79,112,101,114, 97,116,111,
+    114, 40,102, 41, 10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/operator.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,116,111,108,117, 97, 58, 32, 99,108, 97,115,115,
+     32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,
+    101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32,
+     67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,
+    102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,
+    108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58, 32,
+     36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101,
+     32,105,115, 32,102,114,101,101, 32,115,111,102,116,119, 97,
+    114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,
+    105,115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,
+    100, 47,111,114, 32,109,111,100,105,102,121, 32,105,116, 46,
+     10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,
+    101, 32,112,114,111,118,105,100,101,100, 32,104,101,114,101,
+    117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32,
+     34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32,
+     97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,
+    111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103,
+     97,116,105,111,110, 32,116,111, 32,112,114,111,118,105,100,
+    101, 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,
+    115,117,112,112,111,114,116, 44, 32,117,112,100, 97,116,101,
+    115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,
+    110,116,115, 44, 32,111,114, 32,109,111,100,105,102,105, 99,
+     97,116,105,111,110,115, 46, 10, 10, 10, 45, 45, 32, 67,108,
+     97,115,115, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,
+    112,114,101,115,101,110,116,115, 32, 97, 32, 99,108, 97,115,
+    115, 32,100,101,102,105,110,105,116,105,111,110, 46, 10, 45,
+     45, 32, 83,116,111,114,101,115, 32,116,104,101, 32,102,111,
+    108,108,111,119,105,110,103, 32,102,105,101,108,100,115, 58,
+     10, 45, 45, 32, 32, 32, 32,110, 97,109,101, 32, 61, 32, 99,
+    108, 97,115,115, 32,110, 97,109,101, 10, 45, 45, 32, 32, 32,
+     32, 98, 97,115,101, 32, 61, 32, 99,108, 97,115,115, 32, 98,
+     97,115,101, 44, 32,105,102, 32, 97,110,121, 32, 40,111,110,
+    108,121, 32,115,105,110,103,108,101, 32,105,110,104,101,114,
+    105,116, 97,110, 99,101, 32,105,115, 32,115,117,112,112,111,
+    114,116,101,100, 41, 10, 45, 45, 32, 32, 32, 32,123,105,125,
+     32, 32, 61, 32,108,105,115,116, 32,111,102, 32,109,101,109,
+     98,101,114,115, 10, 99,108, 97,115,115, 67,108, 97,115,115,
+     32, 61, 32,123, 10, 32, 99,108, 97,115,115,116,121,112,101,
+     32, 61, 32, 39, 99,108, 97,115,115, 39, 44, 10, 32,110, 97,
+    109,101, 32, 61, 32, 39, 39, 44, 10, 32, 98, 97,115,101, 32,
+     61, 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32, 39,
+     39, 44, 10, 32, 98,116,121,112,101, 32, 61, 32, 39, 39, 44,
+     10, 32, 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, 10, 10,
+     45, 45, 32,114,101,103,105,115,116,101,114, 32, 99,108, 97,
+    115,115, 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,112,114,101, 41, 10,  9,105,102, 32,110,111,116,
+     32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117, 98,
+    108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,
+    101,110, 10,  9,  9,114,101,116,117,114,110, 10,  9,101,110,
+    100, 10, 10, 32,112,114,101, 32, 61, 32,112,114,101, 32,111,
+    114, 32, 39, 39, 10, 32,112,117,115,104, 40,115,101,108,102,
+     41, 10,  9,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,  9,  9,111,117,116,112,117,116, 40,112,114,101, 44, 39,
+     35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112,
+    108,117,115, 92,110, 39, 41, 10, 32, 32,111,117,116,112,117,
+    116, 40,112,114,101, 46, 46, 39,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,  9,  9,111,117,116,
+    112,117,116, 40,112,114,101, 44, 39, 35,101,108,115,101, 92,
+    110, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40,112,114,
+    101, 46, 46, 39,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,
+      9,  9,111,117,116,112,117,116, 40,112,114,101, 44, 39, 35,
+    101,110,100,105,102, 92,110, 39, 41, 10,  9,101,108,115,101,
+     10, 32, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46,
+     39,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,  9,101,110,
+    100, 10,  9,105,102, 32,115,101,108,102, 46,101,120,116,114,
+     97, 95, 98, 97,115,101,115, 32,116,104,101,110, 10,  9,  9,
+    102,111,114, 32,107, 44, 98, 97,115,101, 32,105,110, 32,105,
+    112, 97,105,114,115, 40,115,101,108,102, 46,101,120,116,114,
+     97, 95, 98, 97,115,101,115, 41, 32,100,111, 10,  9,  9,  9,
+     45, 45, 32,110,111,116, 32,110,111,119, 10, 32, 32, 32, 45,
+     45,111,117,116,112,117,116, 40,112,114,101, 46, 46, 39, 32,
+    116,111,108,117, 97, 95, 97,100,100, 98, 97,115,101, 40,116,
+    111,108,117, 97, 95, 83, 44, 32, 34, 39, 46, 46,115,101,108,
+    102, 46,116,121,112,101, 46, 46, 39, 34, 44, 32, 34, 39, 46,
+     46, 98, 97,115,101, 46, 46, 39, 34, 41, 59, 39, 41, 10,  9,
+      9,101,110,100, 10,  9,101,110,100, 10, 32,111,117,116,112,
+    117,116, 40,112,114,101, 46, 46, 39,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, 32,108,
+    111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,101,
+     32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32, 32,115,
+    101,108,102, 91,105, 93, 58,114,101,103,105,115,116,101,114,
+     40,112,114,101, 46, 46, 39, 32, 39, 41, 10, 32, 32,105, 32,
+     61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,111,117,116,
+    112,117,116, 40,112,114,101, 46, 46, 39,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,  9,112,111,112, 40, 41, 10,
+    101,110,100, 10, 10, 45, 45, 32,114,101,116,117,114,110, 32,
+     99,111,108,108,101, 99,116,105,111,110, 32,114,101,113,117,
+    105,114,101,109,101,110,116, 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,  9,105,102, 32,115,101,108,102, 46,102,
+    108, 97,103,115, 46,112,114,111,116,101, 99,116,101,100, 95,
+    100,101,115,116,114,117, 99,116,111,114, 32,116,104,101,110,
+     10,  9,  9,114,101,116,117,114,110, 32,102, 97,108,115,101,
+     10,  9,101,110,100, 10, 32,112,117,115,104, 40,115,101,108,
+    102, 41, 10,  9,108,111, 99, 97,108, 32,114, 32, 61, 32,102,
+     97,108,115,101, 10, 32,108,111, 99, 97,108, 32,105, 61, 49,
+     10, 32,119,104,105,108,101, 32,115,101,108,102, 91,105, 93,
+     32,100,111, 10, 32, 32,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, 32,
+     32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10,  9,
+    112,111,112, 40, 41, 10,  9, 45, 45, 32,111,110,108,121, 32,
+     99,108, 97,115,115, 32,116,104, 97,116, 32,101,120,112,111,
+    114,116,115, 32,100,101,115,116,114,117, 99,116,111,114, 32,
+     99, 97,110, 32, 98,101, 32, 97,112,112,114,111,112,114,105,
+     97,116,101,108,121, 32, 99,111,108,108,101, 99,116,101,100,
+     10,  9, 45, 45, 32, 99,108, 97,115,115,101,115, 32,116,104,
+     97,116, 32,101,120,112,111,114,116, 32, 99,111,110,115,116,
+    114,117, 99,116,111,114,115, 32,110,101,101,100, 32,116,111,
+     32,104, 97,118,101, 32, 97, 32, 99,111,108,108,101, 99,116,
+    111,114, 32, 40,111,118,101,114,114,105,100,101,100, 32, 98,
+    121, 32, 45, 68, 32,102,108, 97,103, 32,111,110, 32, 99,111,
+    109,109, 97,110,100, 32,108,105,110,101, 41, 10,  9,105,102,
+     32,115,101,108,102, 46, 95,100,101,108,101,116,101, 32,111,
+    114, 32, 40, 40,110,111,116, 32,102,108, 97,103,115, 91, 39,
+     68, 39, 93, 41, 32, 97,110,100, 32,115,101,108,102, 46, 95,
+    110,101,119, 41, 32,116,104,101,110, 10,  9,  9, 45, 45,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,  9,
+      9,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, 99,108,101, 97,110, 95,116,101,109,
+    112,108, 97,116,101, 40,115,101,108,102, 46,116,121,112,101,
+     41, 10,  9,  9,114, 32, 61, 32,116,114,117,101, 10,  9,101,
+    110,100, 10, 32,114,101,116,117,114,110, 32,114, 10,101,110,
+    100, 10, 10, 45, 45, 32,111,117,116,112,117,116, 32,116, 97,
+    103,115, 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, 32,112,117,115,104, 40,115,101,108,102,
+     41, 10,  9,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,111,114,
+    105,103,105,110, 97,108, 95,110, 97,109,101, 32,111,114, 32,
+    115,101,108,102, 46,110, 97,109,101, 41, 10,  9,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,  9,
+    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,  9,105,102, 32,115,101,108,102, 46,101,120,116,
+    114, 97, 95, 98, 97,115,101,115, 32,116,104,101,110, 10,  9,
+      9,102,111,114, 32,105, 61, 49, 44,116, 97, 98,108,101, 46,
+    103,101,116,110, 40,115,101,108,102, 46,101,120,116,114, 97,
+     95, 98, 97,115,101,115, 41, 32,100,111, 10,  9,  9,  9,115,
+    101,108,102, 46,101,120,116,114, 97, 95, 98, 97,115,101,115,
+     91,105, 93, 32, 61, 32,116,121,112,101,118, 97,114, 40,115,
+    101,108,102, 46,101,120,116,114, 97, 95, 98, 97,115,101,115,
+     91,105, 93, 41, 10,  9,  9,101,110,100, 10,  9,101,110,100,
+     10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,
+    105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,
+     32, 32,115,101,108,102, 91,105, 93, 58,100,101, 99,108,116,
+    121,112,101, 40, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
+     10, 32,101,110,100, 10,  9,112,111,112, 40, 41, 10,101,110,
+    100, 10, 10, 10, 45, 45, 32, 80,114,105,110,116, 32,109,101,
+    116,104,111,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,
+     32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+     67,108, 97,115,115,123, 34, 41, 10, 32,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, 32,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, 32,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, 32,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, 32,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, 32,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, 32,108,111, 99, 97,108,
+     32,105, 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,
+    102, 91,105, 93, 32,100,111, 10, 32, 32,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, 32, 32,105, 32, 61,
+     32,105, 43, 49, 10, 32,101,110,100, 10, 32,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, 10,102,117,110, 99,
+    116,105,111,110, 32, 99,108, 97,115,115, 67,108, 97,115,115,
+     58,115,101,116, 95,112,114,111,116,101, 99,116,101,100, 95,
+    100,101,115,116,114,117, 99,116,111,114, 40,112, 41, 10,  9,
+    115,101,108,102, 46,102,108, 97,103,115, 46,112,114,111,116,
+    101, 99,116,101,100, 95,100,101,115,116,114,117, 99,116,111,
+    114, 32, 61, 32,115,101,108,102, 46,102,108, 97,103,115, 46,
+    112,114,111,116,101, 99,116,101,100, 95,100,101,115,116,114,
+    117, 99,116,111,114, 32,111,114, 32,112, 10,101,110,100, 10,
+     10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,111,
+    110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,116,
+    105,111,110, 32, 95, 67,108, 97,115,115, 32, 40,116, 41, 10,
+     32,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, 32,116,
+     58, 98,117,105,108,100,110, 97,109,101,115, 40, 41, 10, 32,
+     97,112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,117,
+    114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,
+    110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,
+    112,101, 99,116,115, 32,116,104,101, 32,110, 97,109,101, 44,
+     32,116,104,101, 32, 98, 97,115,101, 32, 40, 97,114,114, 97,
+    121, 41, 32, 97,110,100, 32,116,104,101, 32, 98,111,100,121,
+     32,111,102, 32,116,104,101, 32, 99,108, 97,115,115, 46, 10,
+    102,117,110, 99,116,105,111,110, 32, 67,108, 97,115,115, 32,
+     40,110, 44,112, 44, 98, 41, 10, 10,  9,105,102, 32,116, 97,
+     98,108,101, 46,103,101,116,110, 40,112, 41, 32, 62, 32, 49,
+     32,116,104,101,110, 10,  9,  9, 98, 32, 61, 32,115,116,114,
+    105,110,103, 46,115,117, 98, 40, 98, 44, 32, 49, 44, 32, 45,
+     50, 41, 10,  9,  9,102,111,114, 32,105, 61, 50, 44,116, 97,
+     98,108,101, 46,103,101,116,110, 40,112, 41, 44, 49, 32,100,
+    111, 10,  9,  9,  9, 98, 32, 61, 32, 98, 46, 46, 34, 92,110,
+     32,116,111,108,117, 97, 95,105,110,104,101,114,105,116,115,
+     32, 34, 46, 46,112, 91,105, 93, 46, 46, 34, 32, 95, 95, 34,
+     46, 46,112, 91,105, 93, 46, 46, 34, 95, 95, 59, 92,110, 34,
+     10,  9,  9,101,110,100, 10,  9,  9, 98, 32, 61, 32, 98, 46,
+     46, 34, 92,110,125, 34, 10,  9,101,110,100, 10, 10,  9, 45,
+     45, 32, 99,104,101, 99,107, 32,102,111,114, 32,116,101,109,
+    112,108, 97,116,101, 10,  9, 98, 32, 61, 32,115,116,114,105,
+    110,103, 46,103,115,117, 98, 40, 98, 44, 32, 34, 94,123, 37,
+    115, 42, 84, 69, 77, 80, 76, 65, 84, 69, 95, 66, 73, 78, 68,
+     34, 44, 32, 34,123, 92,110, 84, 79, 76, 85, 65, 95, 84, 69,
+     77, 80, 76, 65, 84, 69, 95, 66, 73, 78, 68, 34, 41, 10,  9,
+    108,111, 99, 97,108, 32,116, 44, 95, 44, 84, 44, 73, 32, 61,
+     32,115,116,114,105,110,103, 46,102,105,110,100, 40, 98, 44,
+     32, 34, 94,123, 37,115, 42, 84, 79, 76, 85, 65, 95, 84, 69,
+     77, 80, 76, 65, 84, 69, 95, 66, 73, 78, 68, 37,115, 42, 37,
+     40, 43, 37,115, 42, 92, 34, 63, 40, 91, 94, 92, 34, 44, 93,
+     42, 41, 92, 34, 63, 37,115, 42, 44, 37,115, 42, 40, 91, 94,
+     37, 41, 93, 42, 41, 37,115, 42, 37, 41, 43, 34, 41, 10,  9,
+    105,102, 32,116, 32,116,104,101,110, 10, 10,  9,  9, 45, 45,
+     32,114,101,109,111,118,101, 32,113,117,111,116,101,115, 10,
+      9,  9, 73, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+    117, 98, 40, 73, 44, 32, 34, 92, 34, 34, 44, 32, 34, 34, 41,
+     10,  9,  9, 84, 32, 61, 32,115,116,114,105,110,103, 46,103,
+    115,117, 98, 40, 84, 44, 32, 34, 92, 34, 34, 44, 32, 34, 34,
+     41, 10,  9,  9, 45, 45, 32,103,101,116, 32,116,121,112,101,
+     32,108,105,115,116, 10,  9,  9,108,111, 99, 97,108, 32,116,
+    121,112,101,115, 32, 61, 32,115,112,108,105,116, 95, 99, 95,
+    116,111,107,101,110,115, 40, 73, 44, 32, 34, 44, 34, 41, 10,
+      9,  9, 45, 45, 32,114,101,109,111,118,101, 32, 84, 69, 77,
+     80, 76, 65, 84, 69, 95, 66, 73, 78, 68, 32,108,105,110,101,
+     10,  9,  9,108,111, 99, 97,108, 32, 98,115, 32, 61, 32,115,
+    116,114,105,110,103, 46,103,115,117, 98, 40, 98, 44, 32, 34,
+     94,123, 37,115, 42, 84, 79, 76, 85, 65, 95, 84, 69, 77, 80,
+     76, 65, 84, 69, 95, 66, 73, 78, 68, 91, 94, 92,110, 93, 42,
+     92,110, 34, 44, 32, 34,123, 92,110, 34, 41, 10, 10,  9,  9,
+     45, 45, 32,114,101,112,108, 97, 99,101, 10,  9,  9,102,111,
+    114, 32,105, 32, 61, 49, 32, 44, 32,116,121,112,101,115, 46,
+    110, 32,100,111, 10, 10,  9,  9,  9,108,111, 99, 97,108, 32,
+     84,108, 32, 61, 32,115,112,108,105,116, 40, 84, 44, 32, 34,
+     32, 34, 41, 10,  9,  9,  9,108,111, 99, 97,108, 32, 73,108,
+     32, 61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,101,
+    110,115, 40,116,121,112,101,115, 91,105, 93, 44, 32, 34, 32,
+     34, 41, 10,  9,  9,  9,108,111, 99, 97,108, 32, 98, 73, 32,
+     61, 32, 98,115, 10,  9,  9,  9,108,111, 99, 97,108, 32,112,
+     73, 32, 61, 32,123,125, 10,  9,  9,  9,102,111,114, 32,106,
+     32, 61, 32, 49, 44, 84,108, 46,110, 32,100,111, 10,  9,  9,
+      9,  9, 84,108, 91,106, 93, 32, 61, 32,102,105,110,100,116,
+    121,112,101, 40, 84,108, 91,106, 93, 41, 32,111,114, 32, 84,
+    108, 91,106, 93, 10,  9,  9,  9,  9, 98, 73, 32, 61, 32,115,
+    116,114,105,110,103, 46,103,115,117, 98, 40, 98, 73, 44, 32,
+     34, 40, 91, 94, 95, 37,119, 93, 41, 34, 46, 46, 84,108, 91,
+    106, 93, 46, 46, 34, 40, 91, 94, 95, 37,119, 93, 41, 34, 44,
+     32, 34, 37, 49, 34, 46, 46, 73,108, 91,106, 93, 46, 46, 34,
+     37, 50, 34, 41, 10,  9,  9,  9,  9,105,102, 32,112, 32,116,
+    104,101,110, 10,  9,  9,  9,  9,  9,102,111,114, 32,105, 61,
+     49, 44,116, 97, 98,108,101, 46,103,101,116,110, 40,112, 41,
+     32,100,111, 10,  9,  9,  9,  9,  9,  9,112, 73, 91,105, 93,
+     32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+    112, 91,105, 93, 44, 32, 34, 40, 91, 94, 95, 37,119, 93, 63,
+     41, 34, 46, 46, 84,108, 91,106, 93, 46, 46, 34, 40, 91, 94,
+     95, 37,119, 93, 63, 41, 34, 44, 32, 34, 37, 49, 34, 46, 46,
+     73,108, 91,106, 93, 46, 46, 34, 37, 50, 34, 41, 10,  9,  9,
+      9,  9,  9,101,110,100, 10,  9,  9,  9,  9,101,110,100, 10,
+      9,  9,  9,101,110,100, 10,  9,  9,  9, 45, 45,108,111, 99,
+     97,108, 32, 97,112,112,101,110,100, 32, 61, 32, 34, 60, 34,
+     46, 46,115,116,114,105,110,103, 46,103,115,117, 98, 40,116,
+    121,112,101,115, 91,105, 93, 44, 32, 34, 37,115, 43, 34, 44,
+     32, 34, 44, 34, 41, 46, 46, 34, 62, 34, 10,  9,  9,  9,108,
+    111, 99, 97,108, 32, 97,112,112,101,110,100, 32, 61, 32, 34,
+     60, 34, 46, 46, 99,111,110, 99, 97,116, 40, 73,108, 44, 32,
+     49, 44, 32,116, 97, 98,108,101, 46,103,101,116,110, 40, 73,
+    108, 41, 44, 32, 34, 44, 34, 41, 46, 46, 34, 62, 34, 10,  9,
+      9,  9, 97,112,112,101,110,100, 32, 61, 32,115,116,114,105,
+    110,103, 46,103,115,117, 98, 40, 97,112,112,101,110,100, 44,
+     32, 34, 37,115, 42, 44, 37,115, 42, 34, 44, 32, 34, 44, 34,
+     41, 10,  9,  9,  9, 97,112,112,101,110,100, 32, 61, 32,115,
+    116,114,105,110,103, 46,103,115,117, 98, 40, 97,112,112,101,
+    110,100, 44, 32, 34, 62, 62, 34, 44, 32, 34, 62, 32, 62, 34,
+     41, 10,  9,  9,  9,102,111,114, 32,105, 61, 49, 44,116, 97,
+     98,108,101, 46,103,101,116,110, 40,112, 73, 41, 32,100,111,
+     10,  9,  9,  9,  9, 45, 45,112, 73, 91,105, 93, 32, 61, 32,
+    115,116,114,105,110,103, 46,103,115,117, 98, 40,112, 73, 91,
+    105, 93, 44, 32, 34, 62, 62, 34, 44, 32, 34, 62, 32, 62, 34,
+     41, 10,  9,  9,  9,  9,112, 73, 91,105, 93, 32, 61, 32,114,
+    101,115,111,108,118,101, 95,116,101,109,112,108, 97,116,101,
+     95,116,121,112,101,115, 40,112, 73, 91,105, 93, 41, 10,  9,
+      9,  9,101,110,100, 10,  9,  9,  9, 98, 73, 32, 61, 32,115,
+    116,114,105,110,103, 46,103,115,117, 98, 40, 98, 73, 44, 32,
+     34, 62, 62, 34, 44, 32, 34, 62, 32, 62, 34, 41, 10,  9,  9,
+      9, 67,108, 97,115,115, 40,110, 46, 46, 97,112,112,101,110,
+    100, 44, 32,112, 73, 44, 32, 98, 73, 41, 10,  9,  9,101,110,
+    100, 10,  9,  9,114,101,116,117,114,110, 10,  9,101,110,100,
+     10, 10,  9,108,111, 99, 97,108, 32,109, 98, 97,115,101, 10,
+     10,  9,105,102, 32,112, 32,116,104,101,110, 10,  9,  9,109,
+     98, 97,115,101, 32, 61, 32,116, 97, 98,108,101, 46,114,101,
+    109,111,118,101, 40,112, 44, 32, 49, 41, 10,  9,  9,105,102,
+     32,110,111,116, 32,112, 91, 49, 93, 32,116,104,101,110, 32,
+    112, 32, 61, 32,110,105,108, 32,101,110,100, 10,  9,101,110,
+    100, 10, 10,  9,109, 98, 97,115,101, 32, 61, 32,109, 98, 97,
+    115,101, 32, 97,110,100, 32,114,101,115,111,108,118,101, 95,
+    116,101,109,112,108, 97,116,101, 95,116,121,112,101,115, 40,
+    109, 98, 97,115,101, 41, 10, 10,  9,108,111, 99, 97,108, 32,
+     99, 10,  9,108,111, 99, 97,108, 32,111,110, 97,109,101, 32,
+     61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,110,
+     44, 32, 34, 64, 46, 42, 36, 34, 44, 32, 34, 34, 41, 10,  9,
+    111,110, 97,109,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, 46, 46,111,110,
+     97,109,101, 10, 10,  9,105,102, 32, 95,103,108,111, 98, 97,
+    108, 95, 99,108, 97,115,115,101,115, 91,111,110, 97,109,101,
+     93, 32,116,104,101,110, 10,  9,  9, 99, 32, 61, 32, 95,103,
+    108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,111,
+    110, 97,109,101, 93, 10,  9,  9,105,102, 32,109, 98, 97,115,
+    101, 32, 97,110,100, 32, 40, 40,110,111,116, 32, 99, 46, 98,
+     97,115,101, 41, 32,111,114, 32, 99, 46, 98, 97,115,101, 32,
+     61, 61, 32, 34, 34, 41, 32,116,104,101,110, 10,  9,  9,  9,
+     99, 46, 98, 97,115,101, 32, 61, 32,109, 98, 97,115,101, 10,
+      9,  9,101,110,100, 10,  9,101,108,115,101, 10,  9,  9, 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,109, 98, 97,115,101, 44, 32,101,120,116,114,
+     97, 95, 98, 97,115,101,115, 61,112,125, 41, 10, 10,  9,  9,
+    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, 46,112, 97,114,101,
+    110,116, 41, 46, 46, 99, 46,111,114,105,103,105,110, 97,108,
+     95,110, 97,109,101, 10,  9,  9, 97,112,112,101,110,100, 95,
+    103,108,111, 98, 97,108, 95,116,121,112,101, 40,102,116, 44,
+     32, 99, 41, 10,  9,101,110,100, 10, 10,  9,112,117,115,104,
+     40, 99, 41, 10,  9, 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, 32, 45, 45, 32,101,108,105,109,
+    105,110, 97,116,101, 32, 98,114, 97, 99,101,115, 10,  9,112,
+    111,112, 40, 41, 10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/class.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32,109, 97,114,107, 32,117,112, 32, 99,111,109,109,
+    101,110,116,115, 32, 97,110,100, 32,115,116,114,105,110,103,
+    115, 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, 32, 61, 32, 34, 92, 48, 48, 53, 34, 10, 65, 78, 89,
+     32, 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, 10, 77, 65, 83, 75, 32, 61, 32,123, 32, 45, 45,
+     32,116,104,101, 32,115,117, 98,115,116,105,116,117,116,105,
+    111,110, 32,111,114,100,101,114, 32,105,115, 32,105,109,112,
+    111,114,116, 97,110,116, 10, 32,123, 69, 83, 67, 49, 44, 32,
+     34, 92, 92, 39, 34,125, 44, 10, 32,123, 69, 83, 67, 50, 44,
+     32, 39, 92, 92, 34, 39,125, 44, 10, 32,123, 83, 84, 82, 49,
+     44, 32, 34, 39, 34,125, 44, 10, 32,123, 83, 84, 82, 50, 44,
+     32, 39, 34, 39,125, 44, 10, 32,123, 83, 84, 82, 51, 44, 32,
+     34, 37, 91, 37, 91, 34,125, 44, 10, 32,123, 83, 84, 82, 52,
+     44, 32, 34, 37, 93, 37, 93, 34,125, 44, 10, 32,123, 82, 69,
+     77, 32, 44, 32, 34, 37, 45, 37, 45, 34,125, 44, 10,125, 10,
+     10,102,117,110, 99,116,105,111,110, 32,109, 97,115,107, 32,
+     40,115, 41, 10, 32,102,111,114, 32,105, 32, 61, 32, 49, 44,
+    103,101,116,110, 40, 77, 65, 83, 75, 41, 32, 32,100,111, 10,
+     32, 32,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, 32,101,110,100, 10, 32,114,101,116,
+    117,114,110, 32,115, 10,101,110,100, 10, 10,102,117,110, 99,
+    116,105,111,110, 32,117,110,109, 97,115,107, 32, 40,115, 41,
+     10, 32,102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,
+    110, 40, 77, 65, 83, 75, 41, 32, 32,100,111, 10, 32, 32,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, 50,
+     93, 41, 10, 32,101,110,100, 10, 32,114,101,116,117,114,110,
+     32,115, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,
+    110, 32, 99,108,101, 97,110, 32, 40,115, 41, 10, 32, 45, 45,
+     32, 99,104,101, 99,107, 32,102,111,114, 32, 99,111,109,112,
+    105,108, 97,116,105,111,110, 32,101,114,114,111,114, 10, 32,
+    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, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34,
+     92,110, 32,101,110,100, 34, 10, 32,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, 32, 32,114,101,116,117,114,110, 32,
+    110,105,108, 10, 32,101,110,100, 10, 10, 32,105,102, 32,102,
+    108, 97,103,115, 91, 39, 67, 39, 93, 32,116,104,101,110, 10,
+     32,  9,114,101,116,117,114,110, 32,115, 10, 32,101,110,100,
+     10, 10, 32,108,111, 99, 97,108, 32, 83, 32, 61, 32, 34, 34,
+     32, 45, 45, 32,115, 97,118,101,100, 32,115,116,114,105,110,
+    103, 10, 10, 32,115, 32, 61, 32,109, 97,115,107, 40,115, 41,
+     10, 10, 32, 45, 45, 32,114,101,109,111,118,101, 32, 98,108,
+     97,110,107,115, 32, 97,110,100, 32, 99,111,109,109,101,110,
+    116,115, 10, 32,119,104,105,108,101, 32, 49, 32,100,111, 10,
+     32, 32,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, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10, 32, 32,
+     32, 83, 32, 61, 32, 83, 46, 46,115,116,114,115,117, 98, 40,
+    115, 44, 49, 44, 98, 45, 49, 41, 10, 32, 32, 32,115, 32, 61,
+     32,115,116,114,115,117, 98, 40,115, 44, 98, 43, 49, 41, 10,
+     32, 32, 32,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,
+     32, 32, 32, 32,101, 32, 61, 32,115,116,114,102,105,110,100,
+     40,115, 44,100, 41, 10, 32, 32, 32, 32, 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, 32, 32, 32, 32,115, 32, 61, 32,115,116,
+    114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32, 32,
+    101,108,115,101,105,102, 32,100, 61, 61, 83, 84, 82, 51, 32,
+    116,104,101,110, 10, 32, 32, 32, 32,101, 32, 61, 32,115,116,
+    114,102,105,110,100, 40,115, 44, 83, 84, 82, 52, 41, 10, 32,
+     32, 32, 32, 83, 32, 61, 32, 83, 46, 46,100, 46, 46,115,116,
+    114,115,117, 98, 40,115, 44, 49, 44,101, 41, 10, 32, 32, 32,
+     32,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44,101,
+     43, 49, 41, 10, 32, 32, 32,101,108,115,101,105,102, 32,100,
+     61, 61, 82, 69, 77, 32,116,104,101,110, 10, 32, 32, 32, 32,
+    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, 32, 32, 32,101,110,100, 10, 32, 32,101,108,115,
+    101, 10, 32, 32, 32, 83, 32, 61, 32, 83, 46, 46,115, 10, 32,
+     32, 32, 98,114,101, 97,107, 10, 32, 32,101,110,100, 10, 32,
+    101,110,100, 10, 32, 45, 45, 32,101,108,105,109,105,110, 97,
+    116,101, 32,117,110,101, 99,101,115,115, 97,114,121, 32,115,
+    112, 97, 99,101,115, 10, 32, 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, 32, 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,  9, 83, 32, 61, 32,103,115,117,
+     98, 40, 83, 44, 34, 92,110, 43, 34, 44, 34, 92,110, 34, 41,
+     10, 32, 83, 32, 61, 32,117,110,109, 97,115,107, 40, 83, 41,
+     10, 32,114,101,116,117,114,110, 32, 83, 10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/clean.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   static unsigned char B[] = {
+    45, 45, 32, 71,101,110,101,114, 97,116,101, 32, 98,105,110,
+    100,105,110,103, 32, 99,111,100,101, 10, 45, 45, 32, 87,114,
+    105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+     97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+     71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+     32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 76, 97,
+    115,116, 32,117,112,100, 97,116,101, 58, 32, 65,112,114, 32,
+     50, 48, 48, 51, 10, 45, 45, 32, 36, 73,100, 58, 32, 36, 10,
+     10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,
+    105,115, 32,102,114,101,101, 32,115,111,102,116,119, 97,114,
+    101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,105,
+    115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,100,
+     47,111,114, 32,109,111,100,105,102,121, 32,105,116, 46, 10,
+     45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,101,
+     32,112,114,111,118,105,100,101,100, 32,104,101,114,101,117,
+    110,100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32, 34,
+     97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,
+    110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,111,
+    114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103, 97,
+    116,105,111,110, 32,116,111, 32,112,114,111,118,105,100,101,
+     32,109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,115,
+    117,112,112,111,114,116, 44, 32,117,112,100, 97,116,101,115,
+     44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,110,
+    116,115, 44, 32,111,114, 32,109,111,100,105,102,105, 99, 97,
+    116,105,111,110,115, 46, 10, 10,102,117,110, 99,116,105,111,
+    110, 32,112, 97,114,115,101, 95,101,120,116,114, 97, 40, 41,
+     10, 10,  9,102,111,114, 32,107, 44,118, 32,105,110, 32,105,
+    112, 97,105,114,115, 40, 95,101,120,116,114, 97, 95,112, 97,
+    114, 97,109,101,116,101,114,115, 32,111,114, 32,123,125, 41,
+     32,100,111, 10,  9,  9, 10,  9,  9,108,111, 99, 97,108, 32,
+     98, 44,101, 44,110, 97,109,101, 44,118, 97,108,117,101, 32,
+     61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,118,
+     44, 32, 34, 94, 40, 91, 94, 61, 93, 41, 61, 40, 46, 42, 41,
+     36, 34, 41, 10,  9,  9,105,102, 32, 98, 32,116,104,101,110,
+     10,  9,  9,  9, 95,101,120,116,114, 97, 95,112, 97,114, 97,
+    109,101,116,101,114,115, 91,110, 97,109,101, 93, 32, 61, 32,
+    118, 97,108,117,101, 10,  9,  9,101,108,115,101, 10,  9,  9,
+      9, 95,101,120,116,114, 97, 95,112, 97,114, 97,109,101,116,
+    101,114,115, 91,118, 93, 32, 61, 32,116,114,117,101, 10,  9,
+      9,101,110,100, 10,  9,101,110,100, 10,101,110,100, 10, 10,
+    102,117,110, 99,116,105,111,110, 32,100,111,105,116, 32, 40,
+     41, 10,  9, 45, 45, 32,100,101,102,105,110,101, 32,112, 97,
+     99,107, 97,103,101, 32,110, 97,109,101, 44, 32,105,102, 32,
+    110,111,116, 32,112,114,111,118,105,100,101,100, 10,  9,105,
+    102, 32,110,111,116, 32,102,108, 97,103,115, 46,110, 32,116,
+    104,101,110, 10,  9,  9,105,102, 32,102,108, 97,103,115, 46,
+    102, 32,116,104,101,110, 10,  9,  9,  9,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, 36, 34, 44, 34, 34, 41, 10,
+      9,  9,  9, 95, 44, 95, 44,102,108, 97,103,115, 46,110, 32,
+     61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,102,
+    108, 97,103,115, 46,110, 44, 32, 34, 40, 91, 94, 47, 92, 92,
+     93, 42, 41, 36, 34, 41, 10,  9,  9,101,108,115,101, 10,  9,
+      9,  9,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,  9,  9,101,110,100, 10,  9,101,
+    110,100, 10, 10,  9, 45, 45, 32,112, 97,114,115,101, 32,116,
+     97, 98,108,101, 32,119,105,116,104, 32,101,120,116,114, 97,
+     32,112, 97,114, 97,109,116,101,114,115, 10,  9,112, 97,114,
+    115,101, 95,101,120,116,114, 97, 40, 41, 10, 10,  9, 45, 45,
+     32,100,111, 32,116,104,105,115, 32, 97,102,116,101,114, 32,
+    115,101,116,116,105,110,103, 32,116,104,101, 32,112, 97, 99,
+    107, 97,103,101, 32,110, 97,109,101, 10,  9,105,102, 32,102,
+    108, 97,103,115, 91, 39, 76, 39, 93, 32,116,104,101,110, 10,
+      9,  9,100,111,102,105,108,101, 40,102,108, 97,103,115, 91,
+     39, 76, 39, 93, 41, 10,  9,101,110,100, 10, 10,  9, 45, 45,
+     32, 97,100,100, 32, 99,112,112,115,116,114,105,110,103, 10,
+      9,105,102, 32,110,111,116, 32,102,108, 97,103,115, 91, 39,
+     83, 39, 93, 32,116,104,101,110, 10,  9,  9, 95, 98, 97,115,
+    105, 99, 91, 39,115,116,114,105,110,103, 39, 93, 32, 61, 32,
+     39, 99,112,112,115,116,114,105,110,103, 39, 10,  9,  9, 95,
+     98, 97,115,105, 99, 91, 39,115,116,100, 58, 58,115,116,114,
+    105,110,103, 39, 93, 32, 61, 32, 39, 99,112,112,115,116,114,
+    105,110,103, 39, 10,  9,  9, 95, 98, 97,115,105, 99, 95, 99,
+    116,121,112,101, 46, 99,112,112,115,116,114,105,110,103, 32,
+     61, 32, 39, 99,111,110,115,116, 32, 99,104, 97,114, 42, 39,
+     10,  9,101,110,100, 10, 10,  9, 45, 45, 32,112,114,111, 99,
+     99,101,115,115, 32,112, 97, 99,107, 97,103,101, 10,  9,108,
+    111, 99, 97,108, 32,112, 32, 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, 10,  9,105,102, 32,102,108, 97,103,115,
+     46,112, 32,116,104,101,110, 10,  9,  9,114,101,116,117,114,
+    110, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,111,110,108,
+    121, 32,112, 97,114,115,101, 10,  9,101,110,100, 10, 10,  9,
+    105,102, 32,102,108, 97,103,115, 46,111, 32,116,104,101,110,
+     10,  9,  9,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,  9,  9,105,102, 32,110,111,116, 32,115,
+    116, 32,116,104,101,110, 10,  9,  9,  9,101,114,114,111,114,
+     40, 39, 35, 39, 46, 46,109,115,103, 41, 10,  9,  9,101,110,
+    100, 10,  9,101,110,100, 10, 10,  9,112, 58,100,101, 99,108,
+    116,121,112,101, 40, 41, 10,  9,105,102, 32,102,108, 97,103,
+    115, 46, 80, 32,116,104,101,110, 10,  9,  9,112, 58,112,114,
+    105,110,116, 40, 41, 10,  9,101,108,115,101, 10,  9,  9,112,
+     58,112,114,101, 97,109, 98,108,101, 40, 41, 10,  9,  9,112,
+     58,115,117,112, 99,111,100,101, 40, 41, 10,  9,  9,112, 58,
+    114,101,103,105,115,116,101,114, 40, 41, 10,  9,  9,112,117,
+    115,104, 40,112, 41, 10,  9,  9,112,111,115,116, 95,111,117,
+    116,112,117,116, 95,104,111,111,107, 40,112, 41, 10,  9,  9,
+    112,111,112, 40, 41, 10,  9,101,110,100, 10, 10,  9,105,102,
+     32,102,108, 97,103,115, 46,111, 32,116,104,101,110, 10,  9,
+      9,119,114,105,116,101,116,111, 40, 41, 10,  9,101,110,100,
+     10, 10,  9, 45, 45, 32,119,114,105,116,101, 32,104,101, 97,
+    100,101,114, 32,102,105,108,101, 10,  9,105,102, 32,110,111,
+    116, 32,102,108, 97,103,115, 46, 80, 32,116,104,101,110, 10,
+      9,  9,105,102, 32,102,108, 97,103,115, 46, 72, 32,116,104,
+    101,110, 10,  9,  9,  9,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,  9,  9,  9,105,102, 32,110,
+    111,116, 32,115,116, 32,116,104,101,110, 10,  9,  9,  9,  9,
+    101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,103, 41,
+     10,  9,  9,  9,101,110,100, 10,  9,  9,  9,112, 58,104,101,
+     97,100,101,114, 40, 41, 10,  9,  9,  9,119,114,105,116,101,
+    116,111, 40, 41, 10,  9,  9,101,110,100, 10,  9,101,110,100,
+     10,101,110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/doit.lua");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+
+  { /* begin embedded lua code */
+   int top = lua_gettop(tolua_S);
+   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,
+     32,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, 32,116,111,108,117, 97,
+     95,101,114,114,111,114, 40,109,115,103, 44,108, 97, 98,101,
+    108, 41, 10, 32,112,114,105,110,116, 40,100,101, 98,117,103,
+     46,116,114, 97, 99,101, 98, 97, 99,107, 40, 41, 41, 10,101,
+    110,100,32
+   };
+   tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code 22");
+   lua_settop(tolua_S, top);
+  } /* end of embedded lua code */
+
+ tolua_endmodule(tolua_S);
+ return 1;
+}
+
+
+#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 501
+ TOLUA_API int luaopen_tolua (lua_State* tolua_S) {
+ return tolua_tolua_open(tolua_S);
+};
+#endif
+
Index: code/trunk/src/util/tolua/toluabind.h
===================================================================
--- code/trunk/src/util/tolua/toluabind.h	(revision 1045)
+++ code/trunk/src/util/tolua/toluabind.h	(revision 1045)
@@ -0,0 +1,8 @@
+/*
+** Lua binding: tolua
+** Generated automatically by tolua++-1.0.91 on Wed Apr 26 22:30:15 2006.
+*/
+
+/* Exported function */
+TOLUA_API int  tolua_tolua_open (lua_State* tolua_S);
+
Index: code/trunk/src/util/tolua/toluabind_default.h
===================================================================
--- code/trunk/src/util/tolua/toluabind_default.h	(revision 1045)
+++ code/trunk/src/util/tolua/toluabind_default.h	(revision 1045)
@@ -0,0 +1,8 @@
+/*
+** Lua binding: tolua
+** Generated automatically by tolua++-1.0.8pre2 on Tue Dec 13 01:43:55 2005.
+*/
+
+/* Exported function */
+TOLUA_API int  tolua_tolua_open (lua_State* tolua_S);
+
