From 122143b13a2ae7eefc33ed91280cd66f18333763 Mon Sep 17 00:00:00 2001 From: bjorn Date: Tue, 16 Jul 2019 20:22:52 -0700 Subject: [PATCH] vec4; --- src/api/api.h | 1 + src/api/l_math.c | 18 + src/api/l_vectors.c | 428 +++- src/modules/math/pool.c | 1 + src/modules/math/pool.h | 1 + src/resources/math.lua | 300 ++- src/resources/math.lua.h | 4783 +++++++++++++++++++++----------------- 7 files changed, 3442 insertions(+), 2090 deletions(-) diff --git a/src/api/api.h b/src/api/api.h index e1ecfa2c..0efa7e34 100644 --- a/src/api/api.h +++ b/src/api/api.h @@ -48,6 +48,7 @@ extern const luaL_Reg lovrTexture[]; extern const luaL_Reg lovrTextureData[]; extern const luaL_Reg lovrThread[]; extern const luaL_Reg lovrVec2[]; +extern const luaL_Reg lovrVec4[]; extern const luaL_Reg lovrVec3[]; extern const luaL_Reg lovrWorld[]; diff --git a/src/api/l_math.c b/src/api/l_math.c index 82d591bc..b2ae5fd5 100644 --- a/src/api/l_math.c +++ b/src/api/l_math.c @@ -15,6 +15,7 @@ int l_lovrRandomGeneratorGetSeed(lua_State* L); int l_lovrRandomGeneratorSetSeed(lua_State* L); int l_lovrVec2Set(lua_State* L); int l_lovrVec3Set(lua_State* L); +int l_lovrVec4Set(lua_State* L); int l_lovrQuatSet(lua_State* L); int l_lovrMat4Set(lua_State* L); @@ -23,6 +24,7 @@ static LOVR_THREAD_LOCAL Pool* pool; static const luaL_Reg* lovrVectorMetatables[] = { [V_VEC2] = lovrVec2, [V_VEC3] = lovrVec3, + [V_VEC4] = lovrVec4, [V_QUAT] = lovrQuat, [V_MAT4] = lovrMat4 }; @@ -30,6 +32,7 @@ static const luaL_Reg* lovrVectorMetatables[] = { static int lovrVectorMetatableRefs[] = { [V_VEC2] = LUA_REFNIL, [V_VEC3] = LUA_REFNIL, + [V_VEC4] = LUA_REFNIL, [V_QUAT] = LUA_REFNIL, [V_MAT4] = LUA_REFNIL }; @@ -37,6 +40,7 @@ static int lovrVectorMetatableRefs[] = { static const char* lovrVectorTypeNames[] = { [V_VEC2] = "vec2", [V_VEC3] = "vec3", + [V_VEC4] = "vec4", [V_QUAT] = "quat", [V_MAT4] = "mat4" }; @@ -229,6 +233,12 @@ static int l_lovrMathNewVec3(lua_State* L) { return l_lovrVec3Set(L); } +static int l_lovrMathNewVec4(lua_State* L) { + luax_newvector(L, V_VEC4, 4); + lua_insert(L, 1); + return l_lovrVec4Set(L); +} + static int l_lovrMathNewQuat(lua_State* L) { luax_newvector(L, V_QUAT, 4); lua_insert(L, 1); @@ -253,6 +263,12 @@ static int l_lovrMathVec3(lua_State* L) { return l_lovrVec3Set(L); } +static int l_lovrMathVec4(lua_State* L) { + luax_newtempvector(L, V_VEC4); + lua_insert(L, 1); + return l_lovrVec4Set(L); +} + static int l_lovrMathQuat(lua_State* L) { luax_newtempvector(L, V_QUAT); lua_insert(L, 1); @@ -282,10 +298,12 @@ static const luaL_Reg lovrMath[] = { { "linearToGamma", l_lovrMathLinearToGamma }, { "newVec2", l_lovrMathNewVec2 }, { "newVec3", l_lovrMathNewVec3 }, + { "newVec4", l_lovrMathNewVec4 }, { "newQuat", l_lovrMathNewQuat }, { "newMat4", l_lovrMathNewMat4 }, { "vec2", l_lovrMathVec2 }, { "vec3", l_lovrMathVec3 }, + { "vec4", l_lovrMathVec4 }, { "quat", l_lovrMathQuat }, { "mat4", l_lovrMathMat4 }, { "drain", l_lovrMathDrain }, diff --git a/src/api/l_vectors.c b/src/api/l_vectors.c index 5653a3ee..43741f33 100644 --- a/src/api/l_vectors.c +++ b/src/api/l_vectors.c @@ -433,12 +433,19 @@ static int l_lovrVec2__index(lua_State* L) { out[1] = v[swizzles[2][key[1]] - 1]; out[2] = v[swizzles[2][key[2]] - 1]; return 1; + } else if (length == 4 && swizzles[2][key[0]] && swizzles[2][key[1]] && swizzles[2][key[2]] && swizzles[2][key[3]]) { + float* out = luax_newtempvector(L, V_VEC4); + out[0] = v[swizzles[2][key[0]] - 1]; + out[1] = v[swizzles[2][key[1]] - 1]; + out[2] = v[swizzles[2][key[2]] - 1]; + out[3] = v[swizzles[2][key[3]] - 1]; + return 1; } } lua_getglobal(L, "tostring"); lua_pushvalue(L, 2); lua_call(L, 1, 1); - return luaL_error(L, "attempt to index property %q of vec2 (invalid property)", lua_tostring(L, -1)); + return luaL_error(L, "attempt to index field %q of vec2 (invalid property)", lua_tostring(L, -1)); } const luaL_Reg lovrVec2[] = { @@ -758,12 +765,19 @@ static int l_lovrVec3__index(lua_State* L) { out[1] = v[swizzles[3][key[1]] - 1]; out[2] = v[swizzles[3][key[2]] - 1]; return 1; + } else if (length == 4 && swizzles[3][key[0]] && swizzles[3][key[1]] && swizzles[3][key[2]] && swizzles[3][key[3]]) { + float* out = luax_newtempvector(L, V_VEC4); + out[0] = v[swizzles[3][key[0]] - 1]; + out[1] = v[swizzles[3][key[1]] - 1]; + out[2] = v[swizzles[3][key[2]] - 1]; + out[3] = v[swizzles[3][key[3]] - 1]; + return 1; } } lua_getglobal(L, "tostring"); lua_pushvalue(L, 2); lua_call(L, 1, 1); - return luaL_error(L, "attempt to index property %q of vec2 (invalid property)", lua_tostring(L, -1)); + return luaL_error(L, "attempt to index field %q of vec3 (invalid property)", lua_tostring(L, -1)); } const luaL_Reg lovrVec3[] = { @@ -791,6 +805,412 @@ const luaL_Reg lovrVec3[] = { { NULL, NULL } }; +// vec4 + +static int l_lovrVec4Unpack(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + lua_pushnumber(L, v[0]); + lua_pushnumber(L, v[1]); + lua_pushnumber(L, v[2]); + lua_pushnumber(L, v[3]); + return 4; +} + +int l_lovrVec4Set(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + if (lua_isnoneornil(L, 2) || lua_type(L, 2) == LUA_TNUMBER) { + v[0] = luax_optfloat(L, 2, 0.f); + v[1] = luax_optfloat(L, 3, v[0]); + v[2] = luax_optfloat(L, 4, v[0]); + v[3] = luax_optfloat(L, 5, v[0]); + } else { + float* u = luax_checkvector(L, 2, V_VEC4, "vec4 or number"); + v[0] = u[0]; + v[1] = u[1]; + v[2] = u[2]; + v[3] = u[3]; + } + lua_settop(L, 1); + return 1; +} + +static int l_lovrVec4Add(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + if (lua_type(L, 2) == LUA_TNUMBER) { + float x = lua_tonumber(L, 2); + v[0] += x; + v[1] += x; + v[2] += x; + v[3] += x; + } else { + float* u = luax_checkvector(L, 2, V_VEC4, "vec4 or number"); + v[0] += u[0]; + v[1] += u[1]; + v[2] += u[2]; + v[3] += u[3]; + } + lua_settop(L, 1); + return 1; +} + +static int l_lovrVec4Sub(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + if (lua_type(L, 2) == LUA_TNUMBER) { + float x = lua_tonumber(L, 2); + v[0] -= x; + v[1] -= x; + v[2] -= x; + v[3] -= x; + } else { + float* u = luax_checkvector(L, 2, V_VEC4, "vec4 or number"); + v[0] -= u[0]; + v[1] -= u[1]; + v[2] -= u[2]; + v[3] -= u[3]; + } + lua_settop(L, 1); + return 1; +} + +static int l_lovrVec4Mul(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + if (lua_type(L, 2) == LUA_TNUMBER) { + float x = lua_tonumber(L, 2); + v[0] *= x; + v[1] *= x; + v[2] *= x; + v[3] *= x; + } else { + float* u = luax_checkvector(L, 2, V_VEC4, "vec4 or number"); + v[0] *= u[0]; + v[1] *= u[1]; + v[2] *= u[2]; + v[3] *= u[3]; + } + lua_settop(L, 1); + return 1; +} + +static int l_lovrVec4Div(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + if (lua_type(L, 2) == LUA_TNUMBER) { + float x = lua_tonumber(L, 2); + v[0] /= x; + v[1] /= x; + v[2] /= x; + v[3] /= x; + } else { + float* u = luax_checkvector(L, 2, V_VEC4, "vec4 or number"); + v[0] /= u[0]; + v[1] /= u[1]; + v[2] /= u[2]; + v[3] /= u[3]; + } + lua_settop(L, 1); + return 1; +} + +static int l_lovrVec4Length(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + lua_pushnumber(L, sqrtf(v[0] * v[0] + v[1] * v[1] + v[2] * v[2] + v[3] * v[3])); + return 1; +} + +static int l_lovrVec4Normalize(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float length = v[0] * v[0] + v[1] * v[1] + v[2] * v[2] + v[3] * v[3]; + if (length != 0.f) { + length = 1.f / sqrtf(length); + v[0] *= length; + v[1] *= length; + v[2] *= length; + v[3] *= length; + } + lua_settop(L, 1); + return 1; +} + +static int l_lovrVec4Distance(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float* u = luax_checkvector(L, 2, V_VEC4, NULL); + float dx = v[0] - u[0]; + float dy = v[1] - u[1]; + float dz = v[2] - u[2]; + float dw = v[3] - u[3]; + lua_pushnumber(L, sqrtf(dx * dx + dy * dy + dz * dz + dw * dw)); + return 1; +} + +static int l_lovrVec4Dot(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float* u = luax_checkvector(L, 2, V_VEC4, NULL); + lua_pushnumber(L, v[0] * u[0] + v[1] * u[1] + v[2] * u[2] + v[3] * u[3]); + return 1; +} + +static int l_lovrVec4Lerp(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float* u = luax_checkvector(L, 2, V_VEC4, NULL); + float t = luax_checkfloat(L, 3); + v[0] = v[0] + (u[0] - v[0]) * t; + v[1] = v[1] + (u[1] - v[1]) * t; + v[2] = v[2] + (u[2] - v[2]) * t; + v[3] = v[3] + (u[3] - v[3]) * t; + lua_settop(L, 1); + return 1; +} + +static int l_lovrVec4__add(lua_State* L) { + float* out = luax_newtempvector(L, V_VEC4); + if (lua_type(L, 1) == LUA_TNUMBER) { + float x = lua_tonumber(L, 1); + float* u = luax_checkvector(L, 2, V_VEC4, NULL); + out[0] = u[0] + x; + out[1] = u[1] + x; + out[2] = u[2] + x; + out[3] = u[3] + x; + } else if (lua_type(L, 2) == LUA_TNUMBER) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float x = lua_tonumber(L, 2); + out[0] = v[0] + x; + out[1] = v[1] + x; + out[2] = v[2] + x; + out[3] = v[3] + x; + } else { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float* u = luax_checkvector(L, 2, V_VEC4, "vec4 or number"); + out[0] = v[0] + u[0]; + out[1] = v[1] + u[1]; + out[2] = v[2] + u[2]; + out[3] = v[3] + u[3]; + } + return 1; +} + +static int l_lovrVec4__sub(lua_State* L) { + float* out = luax_newtempvector(L, V_VEC4); + if (lua_type(L, 1) == LUA_TNUMBER) { + float x = lua_tonumber(L, 1); + float* u = luax_checkvector(L, 2, V_VEC4, NULL); + out[0] = u[0] - x; + out[1] = u[1] - x; + out[2] = u[2] - x; + out[3] = u[3] - x; + } else if (lua_type(L, 2) == LUA_TNUMBER) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float x = lua_tonumber(L, 2); + out[0] = v[0] - x; + out[1] = v[1] - x; + out[2] = v[2] - x; + out[3] = v[3] - x; + } else { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float* u = luax_checkvector(L, 2, V_VEC4, "vec4 or number"); + out[0] = v[0] - u[0]; + out[1] = v[1] - u[1]; + out[2] = v[2] - u[2]; + out[3] = v[3] - u[3]; + } + return 1; +} + +static int l_lovrVec4__mul(lua_State* L) { + float* out = luax_newtempvector(L, V_VEC4); + if (lua_type(L, 1) == LUA_TNUMBER) { + float x = lua_tonumber(L, 1); + float* u = luax_checkvector(L, 2, V_VEC4, NULL); + out[0] = u[0] * x; + out[1] = u[1] * x; + out[2] = u[2] * x; + out[3] = u[3] * x; + } else if (lua_type(L, 2) == LUA_TNUMBER) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float x = lua_tonumber(L, 2); + out[0] = v[0] * x; + out[1] = v[1] * x; + out[2] = v[2] * x; + out[3] = v[3] * x; + } else { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float* u = luax_checkvector(L, 2, V_VEC4, "vec4 or number"); + out[0] = v[0] * u[0]; + out[1] = v[1] * u[1]; + out[2] = v[2] * u[2]; + out[3] = v[3] * u[3]; + } + return 1; +} + +static int l_lovrVec4__div(lua_State* L) { + float* out = luax_newtempvector(L, V_VEC4); + if (lua_type(L, 1) == LUA_TNUMBER) { + float x = lua_tonumber(L, 1); + float* u = luax_checkvector(L, 2, V_VEC4, NULL); + out[0] = u[0] / x; + out[1] = u[1] / x; + out[2] = u[2] / x; + out[3] = u[3] / x; + } else if (lua_type(L, 2) == LUA_TNUMBER) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float x = lua_tonumber(L, 2); + out[0] = v[0] / x; + out[1] = v[1] / x; + out[2] = v[2] / x; + out[3] = v[3] / x; + } else { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float* u = luax_checkvector(L, 2, V_VEC4, "vec4 or number"); + out[0] = v[0] / u[0]; + out[1] = v[1] / u[1]; + out[2] = v[2] / u[2]; + out[3] = v[3] / u[3]; + } + return 1; +} + +static int l_lovrVec4__unm(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + float* out = luax_newtempvector(L, V_VEC4); + out[0] = -v[0]; + out[1] = -v[1]; + out[2] = -v[2]; + out[3] = -v[3]; + return 1; +} + +static int l_lovrVec4__len(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + lua_pushnumber(L, sqrtf(v[0] * v[0] + v[1] * v[1] + v[2] * v[2] + v[3] * v[3])); + return 1; +} + +static int l_lovrVec4__tostring(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + lua_pushfstring(L, "(%f, %f, %f, %f)", v[0], v[1], v[2], v[3]); + return 1; +} + +static int l_lovrVec4__newindex(lua_State* L) { + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + if (lua_type(L, 2) == LUA_TNUMBER) { + int index = lua_tointeger(L, 2); + if (index >= 1 && index <= 4) { + float x = luax_checkfloat(L, 3); + v[index - 1] = x; + return 0; + } + } else if (lua_type(L, 2) == LUA_TSTRING) { + size_t length; + const char* str = lua_tolstring(L, 2, &length); + const unsigned char* key = (const unsigned char*) str; + + if (length == 1 && swizzles[4][key[0]]) { + v[swizzles[4][key[0]] - 1] = luax_checkfloat(L, 3); + return 0; + } else if (length == 2 && swizzles[4][key[0]] && swizzles[4][key[1]]) { + float* u = luax_checkvector(L, 3, V_VEC2, NULL); + for (size_t i = 0; i < length; i++) { + v[swizzles[4][key[i]] - 1] = u[i]; + } + return 0; + } else if (length == 3 && swizzles[4][key[0]] && swizzles[4][key[1]] && swizzles[4][key[2]]) { + float* u = luax_checkvector(L, 3, V_VEC3, NULL); + for (size_t i = 0; i < length; i++) { + v[swizzles[4][key[i]] - 1] = u[i]; + } + return 0; + } else if (length == 4 && swizzles[4][key[0]] && swizzles[4][key[1]] && swizzles[4][key[2]] && swizzles[4][key[3]]) { + float* u = luax_checkvector(L, 3, V_VEC4, NULL); + for (size_t i = 0; i < length; i++) { + v[swizzles[4][key[i]] - 1] = u[i]; + } + return 0; + } + } + lua_getglobal(L, "tostring"); + lua_pushvalue(L, 2); + lua_call(L, 1, 1); + return luaL_error(L, "attempt to assign property %q of vec4 (invalid property)", lua_tostring(L, -1)); +} + +static int l_lovrVec4__index(lua_State* L) { + if (lua_type(L, 1) == LUA_TUSERDATA) { + lua_getmetatable(L, 1); + lua_pushvalue(L, 2); + lua_rawget(L, -2); + if (!lua_isnil(L, -1)) { + return 1; + } else { + lua_pop(L, 2); + } + } + + float* v = luax_checkvector(L, 1, V_VEC4, NULL); + int type = lua_type(L, 2); + if (type == LUA_TNUMBER) { + int index = lua_tointeger(L, 2); + if (index >= 1 && index <= 4) { + lua_pushnumber(L, v[index - 1]); + return 1; + } + } else if (type == LUA_TSTRING) { + size_t length; + const char* str = lua_tolstring(L, 2, &length); + const unsigned char* key = (const unsigned char*) str; + + if (length == 1 && swizzles[4][key[0]]) { + lua_pushnumber(L, v[swizzles[4][key[0]] - 1]); + return 1; + } else if (length == 2 && swizzles[4][key[0]] && swizzles[4][key[1]]) { + float* out = luax_newtempvector(L, V_VEC2); + out[0] = v[swizzles[4][key[0]] - 1]; + out[1] = v[swizzles[4][key[1]] - 1]; + return 1; + } else if (length == 3 && swizzles[4][key[0]] && swizzles[4][key[1]] && swizzles[4][key[2]]) { + float* out = luax_newtempvector(L, V_VEC3); + out[0] = v[swizzles[4][key[0]] - 1]; + out[1] = v[swizzles[4][key[1]] - 1]; + out[2] = v[swizzles[4][key[2]] - 1]; + return 1; + } else if (length == 4 && swizzles[4][key[0]] && swizzles[4][key[1]] && swizzles[4][key[2]] && swizzles[4][key[3]]) { + float* out = luax_newtempvector(L, V_VEC4); + out[0] = v[swizzles[4][key[0]] - 1]; + out[1] = v[swizzles[4][key[1]] - 1]; + out[2] = v[swizzles[4][key[2]] - 1]; + out[3] = v[swizzles[4][key[3]] - 1]; + return 1; + } + } + lua_getglobal(L, "tostring"); + lua_pushvalue(L, 2); + lua_call(L, 1, 1); + return luaL_error(L, "attempt to index field %q of vec4 (invalid property)", lua_tostring(L, -1)); +} + +const luaL_Reg lovrVec4[] = { + { "unpack", l_lovrVec4Unpack }, + { "set", l_lovrVec4Set }, + { "add", l_lovrVec4Add }, + { "sub", l_lovrVec4Sub }, + { "mul", l_lovrVec4Mul }, + { "div", l_lovrVec4Div }, + { "length", l_lovrVec4Length }, + { "normalize", l_lovrVec4Normalize }, + { "distance", l_lovrVec4Distance }, + { "dot", l_lovrVec4Dot }, + { "lerp", l_lovrVec4Lerp }, + { "__add", l_lovrVec4__add }, + { "__sub", l_lovrVec4__sub }, + { "__mul", l_lovrVec4__mul }, + { "__div", l_lovrVec4__div }, + { "__unm", l_lovrVec4__unm }, + { "__len", l_lovrVec4__len }, + { "__tostring", l_lovrVec4__tostring }, + { "__newindex", l_lovrVec4__newindex }, + { "__index", l_lovrVec4__index }, + { NULL, NULL } +}; + // quat static int l_lovrQuatUnpack(lua_State* L) { @@ -987,7 +1407,7 @@ static int l_lovrQuat__index(lua_State* L) { lua_getglobal(L, "tostring"); lua_pushvalue(L, 2); lua_call(L, 1, 1); - return luaL_error(L, "attempt to index property %q of quat (invalid property)", lua_tostring(L, -1)); + return luaL_error(L, "attempt to index field %q of quat (invalid property)", lua_tostring(L, -1)); } const luaL_Reg lovrQuat[] = { @@ -1242,7 +1662,7 @@ static int l_lovrMat4__index(lua_State* L) { lua_getglobal(L, "tostring"); lua_pushvalue(L, 2); lua_call(L, 1, 1); - return luaL_error(L, "attempt to index property %q of mat4 (invalid property)", lua_tostring(L, -1)); + return luaL_error(L, "attempt to index field %q of mat4 (invalid property)", lua_tostring(L, -1)); } const luaL_Reg lovrMat4[] = { diff --git a/src/modules/math/pool.c b/src/modules/math/pool.c index 59768e71..84180fd3 100644 --- a/src/modules/math/pool.c +++ b/src/modules/math/pool.c @@ -6,6 +6,7 @@ static const size_t vectorComponents[] = { [V_VEC2] = 2, [V_VEC3] = 4, + [V_VEC4] = 4, [V_QUAT] = 4, [V_MAT4] = 16 }; diff --git a/src/modules/math/pool.h b/src/modules/math/pool.h index adcc631f..92bc9c23 100644 --- a/src/modules/math/pool.h +++ b/src/modules/math/pool.h @@ -8,6 +8,7 @@ typedef enum { V_NONE, V_VEC2, V_VEC3, + V_VEC4, V_QUAT, V_MAT4, MAX_VECTOR_TYPES diff --git a/src/resources/math.lua b/src/resources/math.lua index b6713359..6829356e 100644 --- a/src/resources/math.lua +++ b/src/resources/math.lua @@ -10,12 +10,14 @@ typedef enum { NONE, VEC2, VEC3, + VEC4, QUAT, MAT4 } VectorType; typedef struct { uint8_t type; uint8_t generation; uint16_t index; } vec2; typedef struct { uint8_t type; uint8_t generation; uint16_t index; } vec3; +typedef struct { uint8_t type; uint8_t generation; uint16_t index; } vec4; typedef struct { uint8_t type; uint8_t generation; uint16_t index; } quat; typedef struct { uint8_t type; uint8_t generation; uint16_t index; } mat4; @@ -75,18 +77,21 @@ end local vec2_t = ffi.typeof('vec2') local vec3_t = ffi.typeof('vec3') +local vec4_t = ffi.typeof('vec4') local quat_t = ffi.typeof('quat') local mat4_t = ffi.typeof('mat4') local checkvec2 = checktype(C.VEC2, 'vec2') local checkvec3 = checktype(C.VEC3, 'vec3') +local checkvec4 = checktype(C.VEC4, 'vec4') local checkquat = checktype(C.QUAT, 'quat') local checkmat4 = checktype(C.MAT4, 'mat4') local isvec2 = istype(C.VEC2, 'vec2') local isvec3 = istype(C.VEC3, 'vec3') +local isvec4 = istype(C.VEC4, 'vec4') local isquat = istype(C.QUAT, 'quat') local ismat4 = istype(C.MAT4, 'mat4') -local vec2, vec3, quat, mat4 +local vec2, vec3, vec4, quat, mat4 vec2 = { unpack = function(self) @@ -299,6 +304,11 @@ vec2 = { if a and b and c then return lovr_math.vec3(v[a], v[b], v[c]) end + elseif #key == 4 then + local a, b, c, d = swizzles[key:sub(1, 1)], swizzles[key:sub(2, 2)], swizzles[key:sub(3, 3)], swizzles[key:sub(4, 4)] + if a and b and c and d then + return lovr_math.vec4(v[a], v[b], v[c], v[d]) + end end elseif key == 1 or key == 2 then return v[key - 1] @@ -554,15 +564,295 @@ vec3 = { if a and b and c then return lovr_math.vec3(v[a], v[b], v[c]) end + elseif #key == 4 then + local a, b, c, d = swizzles[key:sub(1, 1)], swizzles[key:sub(2, 2)], swizzles[key:sub(3, 3)], swizzles[key:sub(4, 4)] + if a and b and c and d then + return lovr_math.vec4(v[a], v[b], v[c], v[d]) + end end elseif type(key) == 'number' and key >= 1 and key <= 3 then return v[key - 1] end - error(string.format('attempt to index vec3 using %s (invalid type)', type(key)), 2) + error(string.format('attempt to index field %q of vec3 (invalid property)', type(key)), 2) end } +vec4 = { + unpack = function(self) + local v = checkvec4(self) + return v[0], v[1], v[2], v[3] + end, + + set = function(self, x, y, z, w) + local v = checkvec4(self) + if x == nil then + v[0], v[1], v[2], v[3] = 0, 0, 0, 0 + elseif type(x) == 'number' then + v[0], v[1], v[2], v[3] = x, y or x, z or x, w or x + else + local u = checkvec4(x, 1, 'vec4 or number') + v[0], v[1], v[2], v[3] = u[0], u[1], u[2], u[3] + end + return self + end, + + add = function(self, x) + local v = checkvec3(self) + if type(x) == 'number' then + v[0] = v[0] + x + v[1] = v[1] + x + v[2] = v[2] + x + v[3] = v[3] + x + else + local u = checkvec4(x, 1, 'vec4 or number') + v[0] = v[0] + u[0] + v[1] = v[1] + u[1] + v[2] = v[2] + u[2] + v[3] = v[3] + u[3] + end + return self + end, + + sub = function(self, x) + local v = checkvec4(self) + if type(x) == 'number' then + v[0] = v[0] - x + v[1] = v[1] - x + v[2] = v[2] - x + v[3] = v[3] - x + else + local u = checkvec4(x, 1, 'vec4 or number') + v[0] = v[0] - u[0] + v[1] = v[1] - u[1] + v[2] = v[2] - u[2] + v[3] = v[3] - u[3] + end + return self + end, + + mul = function(self, x) + local v = checkvec4(self) + if type(x) == 'number' then + v[0] = v[0] * x + v[1] = v[1] * x + v[2] = v[2] * x + v[3] = v[3] * x + else + local u = checkvec4(x, 1, 'vec4 or number') + v[0] = v[0] * u[0] + v[1] = v[1] * u[1] + v[2] = v[2] * u[2] + v[3] = v[3] * u[3] + end + return self + end, + + div = function(self, x) + local v = checkvec4(self) + if type(x) == 'number' then + v[0] = v[0] / x + v[1] = v[1] / x + v[2] = v[2] / x + v[3] = v[3] / x + else + local u = checkvec4(x, 1, 'vec4 or number') + v[0] = v[0] / u[0] + v[1] = v[1] / u[1] + v[2] = v[2] / u[2] + v[3] = v[3] / u[3] + end + return self + end, + + length = function(self) + local v = checkvec4(self) + return math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2] + v[3] * v[3]) + end, + + normalize = function(self) + local v = checkvec4(self) + local length2 = v[0] * v[0] + v[1] * v[1] + v[2] * v[2] + v[3] * v[3] + if length2 ~= 0 then + local n = 1 / math.sqrt(length2) + v[0] = v[0] * n + v[1] = v[1] * n + v[2] = v[2] * n + v[3] = v[3] * n + end + return self + end, + + distance = function(self, other) + local v = checkvec4(self) + local u = checkvec4(other, 1) + local dx = v[0] - u[0] + local dy = v[1] - u[1] + local dz = v[2] - u[2] + local dw = v[3] - u[3] + return math.sqrt(dx * dx + dy * dy + dz * dz + dw * dw) + end, + + dot = function(self, other) + local v = checkvec4(self) + local u = checkvec4(other, 1) + return v[0] * u[0] + v[1] * u[1] + v[2] * u[2] + u[3] * v[3] + end, + + lerp = function(self, other, t) + local v = checkvec4(self) + local u = checkvec4(other, 1) + v[0] = v[0] + (u[0] - v[0]) * t + v[1] = v[1] + (u[1] - v[1]) * t + v[2] = v[2] + (u[2] - v[2]) * t + v[3] = v[3] + (u[3] - v[3]) * t + return self + end, + + __add = function(a, b) + checkvec4(a, 1) + return lovr_math.vec4(a):add(b) + end, + + __sub = function(a, b) + checkvec4(a, 1) + return lovr_math.vec4(a):sub(b) + end, + + __mul = function(a, b) + checkvec4(a, 1) + return lovr_math.vec4(a):mul(b) + end, + + __div = function(a, b) + checkvec4(a, 1) + return lovr_math.vec4(a):div(b) + end, + + __unm = function(self) + checkvec4(self) + return lovr_math.vec4(self):mul(-1) + end, + + __len = function(self) + checkvec4(self) + return self:length() + end, + + __tostring = function(self) + local v = checkvec4(self) + return string.format('(%f, %f, %f, %f)', v[0], v[1], v[2], v[3]) + end, + + __newindex = function(self, key, value) + local v = checkvec3(self) + + local swizzles = { + x = 0, + y = 1, + z = 2, + w = 3, + r = 0, + g = 1, + b = 2, + a = 3, + s = 0, + t = 1, + p = 2, + q = 3 + } + + if type(key) == 'string' then + if #key == 1 then + local a = swizzles[key:sub(1, 1)] + if a then + v[a] = value + return + end + elseif #key == 2 then + local a, b = swizzles[key:sub(1, 1)], swizzles[key:sub(2, 2)] + if a and b then + local u = checkvec2(value, 1) + v[a], v[b] = u[0], u[1] + return + end + elseif #key == 3 then + local a, b, c = swizzles[key:sub(1, 1)], swizzles[key:sub(2, 2)], swizzles[key:sub(3, 3)] + if a and b and c then + local u = checkvec3(value, 1) + v[a], v[b], v[c] = u[0], u[1], u[2] + return + end + elseif #key == 4 then + local a, b, c, d = swizzles[key:sub(1, 1)], swizzles[key:sub(2, 2)], swizzles[key:sub(3, 3)], swizzles[key:sub(4, 4)] + if a and b and c and d then + local u = checkvec4(value, 1) + v[a], v[b], v[c], v[d] = u[0], u[1], u[2], u[3] + return + end + end + elseif type(key) == 'number' then + if key >= 1 and key <= 4 then + v[key - 1] = value + end + end + + error(string.format('attempt to assign property %q of vec4 (invalid property)', key), 2) + end, + + __index = function(self, key) + if vec4[key] then + return vec4[key] + end + + local v = checkvec4(self) + + if type(key) == 'string' then + local swizzles = { + x = 0, + y = 1, + z = 2, + w = 3, + r = 0, + g = 1, + b = 2, + a = 3, + s = 0, + t = 1, + p = 2, + q = 3 + } + + if #key == 1 then + local a = swizzles[key:sub(1, 1)] + if a then + return v[a] + end + elseif #key == 2 then + local a, b = swizzles[key:sub(1, 1)], swizzles[key:sub(2, 2)] + if a and b then + return lovr_math.vec2(v[a], v[b]) + end + elseif #key == 3 then + local a, b, c = swizzles[key:sub(1, 1)], swizzles[key:sub(2, 2)], swizzles[key:sub(3, 3)] + if a and b and c then + return lovr_math.vec3(v[a], v[b], v[c]) + end + elseif #key == 4 then + local a, b, c, d = swizzles[key:sub(1, 1)], swizzles[key:sub(2, 2)], swizzles[key:sub(3, 3)], swizzles[key:sub(4, 4)] + if a and b and c and d then + return lovr_math.vec4(v[a], v[b], v[c], v[d]) + end + end + elseif type(key) == 'number' and key >= 1 and key <= 4 then + return v[key - 1] + end + + error(string.format('attempt to index field %q of vec4 (invalid property)', type(key)), 2) + end +} + + quat = { unpack = function(self, raw) local q = checkquat(self) @@ -748,7 +1038,7 @@ quat = { return q[3] end - error(string.format('attempt to index property %q of quat (invalid property)', key), 2) + error(string.format('attempt to index field %q of quat (invalid property)', key), 2) end } @@ -1062,18 +1352,20 @@ mat4 = { return m[key - 1] end - error(string.format('attempt to index property %q of mat4 (invalid property)', key), 2) + error(string.format('attempt to index field %q of mat4 (invalid property)', key), 2) end } ffi.metatype(vec2_t, vec2) ffi.metatype(vec3_t, vec3) +ffi.metatype(vec4_t, vec4) ffi.metatype(quat_t, quat) ffi.metatype(mat4_t, mat4) local new = ffi.new lovr_math.vec2 = function(...) return allocate(vec2_t, C.VEC2, 2):set(...) end lovr_math.vec3 = function(...) return allocate(vec3_t, C.VEC3, 4):set(...) end +lovr_math.vec4 = function(...) return allocate(vec4_t, C.VEC4, 4):set(...) end lovr_math.quat = function(...) return allocate(quat_t, C.QUAT, 4):set(...) end lovr_math.mat4 = function(...) return allocate(mat4_t, C.MAT4, 16):set(...) end lovr_math.drain = function() diff --git a/src/resources/math.lua.h b/src/resources/math.lua.h index 44232bc9..665d8bb0 100644 --- a/src/resources/math.lua.h +++ b/src/resources/math.lua.h @@ -17,786 +17,844 @@ unsigned char math_lua[] = { 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x4e, 0x4f, 0x4e, 0x45, 0x2c, 0x0a, 0x20, 0x20, 0x56, 0x45, 0x43, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x56, 0x45, 0x43, 0x33, - 0x2c, 0x0a, 0x20, 0x20, 0x51, 0x55, 0x41, 0x54, 0x2c, 0x0a, 0x20, 0x20, - 0x4d, 0x41, 0x54, 0x34, 0x0a, 0x7d, 0x20, 0x56, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x54, 0x79, 0x70, 0x65, 0x3b, 0x0a, 0x0a, 0x74, 0x79, 0x70, 0x65, + 0x2c, 0x0a, 0x20, 0x20, 0x56, 0x45, 0x43, 0x34, 0x2c, 0x0a, 0x20, 0x20, + 0x51, 0x55, 0x41, 0x54, 0x2c, 0x0a, 0x20, 0x20, 0x4d, 0x41, 0x54, 0x34, + 0x0a, 0x7d, 0x20, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x3b, 0x0a, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x7b, 0x20, 0x75, 0x69, 0x6e, + 0x74, 0x38, 0x5f, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3b, 0x20, 0x75, + 0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, + 0x36, 0x5f, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x20, 0x7d, + 0x20, 0x76, 0x65, 0x63, 0x32, 0x3b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, + 0x65, 0x66, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x7b, 0x20, + 0x75, 0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, + 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x20, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x20, 0x75, 0x69, + 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x3b, 0x20, 0x7d, 0x20, 0x76, 0x65, 0x63, 0x33, 0x3b, 0x0a, 0x74, 0x79, + 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x20, 0x7b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, + 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3b, + 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x3b, 0x20, 0x7d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x3b, + 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x20, 0x7b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x38, 0x5f, + 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, + 0x38, 0x5f, 0x74, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, + 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x20, 0x7d, 0x20, 0x71, 0x75, + 0x61, 0x74, 0x3b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, + 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x7b, 0x20, 0x75, 0x69, 0x6e, + 0x74, 0x38, 0x5f, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3b, 0x20, 0x75, + 0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, + 0x36, 0x5f, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x20, 0x7d, + 0x20, 0x6d, 0x61, 0x74, 0x34, 0x3b, 0x0a, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x7b, - 0x20, 0x75, 0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x20, 0x75, - 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x3b, 0x20, 0x7d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x3b, 0x0a, 0x74, - 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, - 0x74, 0x20, 0x7b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x20, - 0x74, 0x79, 0x70, 0x65, 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x38, 0x5f, + 0x0a, 0x20, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x2a, 0x20, 0x64, 0x61, 0x74, + 0x61, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x73, 0x69, + 0x7a, 0x65, 0x5f, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3b, 0x0a, + 0x20, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x20, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x20, 0x7d, 0x20, 0x76, 0x65, 0x63, 0x33, - 0x3b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x20, 0x7b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x38, - 0x5f, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3b, 0x20, 0x75, 0x69, 0x6e, - 0x74, 0x38, 0x5f, 0x74, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, - 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x20, 0x7d, 0x20, 0x71, - 0x75, 0x61, 0x74, 0x3b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, - 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, 0x7b, 0x20, 0x75, 0x69, - 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3b, 0x20, - 0x75, 0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x20, 0x75, 0x69, 0x6e, 0x74, - 0x31, 0x36, 0x5f, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3b, 0x20, - 0x7d, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x3b, 0x0a, 0x0a, 0x74, 0x79, 0x70, - 0x65, 0x64, 0x65, 0x66, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x2a, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x3b, 0x0a, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x73, 0x3b, 0x0a, 0x20, 0x20, 0x73, - 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x3b, - 0x0a, 0x20, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x20, 0x63, 0x75, - 0x72, 0x73, 0x6f, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x73, 0x69, 0x7a, 0x65, - 0x5f, 0x74, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x3b, 0x0a, 0x7d, 0x20, 0x50, 0x6f, 0x6f, 0x6c, 0x3b, 0x0a, 0x0a, - 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x50, 0x6f, 0x6f, - 0x6c, 0x47, 0x72, 0x6f, 0x77, 0x28, 0x50, 0x6f, 0x6f, 0x6c, 0x2a, 0x20, - 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, - 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x0a, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x66, 0x72, - 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x34, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x2a, 0x20, 0x71, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, - 0x6d, 0x29, 0x3b, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x71, - 0x75, 0x61, 0x74, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x28, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x71, 0x2c, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x76, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x2a, 0x20, 0x75, 0x29, 0x3b, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, - 0x71, 0x75, 0x61, 0x74, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x28, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x71, 0x2c, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x76, 0x29, 0x3b, 0x0a, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x2a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, - 0x61, 0x74, 0x65, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, - 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x78, 0x2c, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x79, 0x2c, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x7a, 0x29, 0x3b, 0x0a, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x69, 0x6e, - 0x76, 0x65, 0x72, 0x74, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, - 0x6d, 0x29, 0x3b, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, - 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, - 0x61, 0x74, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, 0x2c, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x71, 0x29, 0x3b, 0x0a, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x5f, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x28, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x2a, 0x20, 0x6d, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x2a, 0x20, 0x6e, 0x29, 0x3b, 0x0a, 0x5d, 0x5d, 0x0a, 0x0a, 0x70, 0x6f, - 0x6f, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x66, 0x69, 0x2e, 0x63, 0x61, 0x73, - 0x74, 0x28, 0x27, 0x50, 0x6f, 0x6f, 0x6c, 0x2a, 0x27, 0x2c, 0x20, 0x70, - 0x6f, 0x6f, 0x6c, 0x29, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6c, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x65, 0x28, 0x63, 0x74, 0x79, 0x70, 0x65, 0x2c, - 0x20, 0x74, 0x2c, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x0a, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x75, 0x72, - 0x73, 0x6f, 0x72, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, - 0x3e, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x20, 0x2d, 0x20, 0x34, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x43, 0x2e, 0x6c, 0x6f, 0x76, 0x72, 0x50, 0x6f, 0x6f, 0x6c, - 0x47, 0x72, 0x6f, 0x77, 0x28, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x20, 0x70, - 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2a, 0x20, - 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x20, 0x3d, 0x20, 0x66, 0x66, 0x69, 0x2e, 0x6e, 0x65, 0x77, 0x28, 0x63, - 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x74, 0x2c, 0x20, 0x70, 0x6f, 0x6f, - 0x6c, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2c, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x75, 0x72, 0x73, 0x6f, - 0x72, 0x29, 0x0a, 0x20, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x75, - 0x72, 0x73, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, - 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65, 0x28, 0x74, 0x2c, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, - 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, - 0x63, 0x64, 0x61, 0x74, 0x61, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, - 0x20, 0x74, 0x29, 0x20, 0x6f, 0x72, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, - 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, - 0x75, 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x27, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x5f, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, - 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, + 0x3b, 0x0a, 0x7d, 0x20, 0x50, 0x6f, 0x6f, 0x6c, 0x3b, 0x0a, 0x0a, 0x76, + 0x6f, 0x69, 0x64, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x50, 0x6f, 0x6f, 0x6c, + 0x47, 0x72, 0x6f, 0x77, 0x28, 0x50, 0x6f, 0x6f, 0x6c, 0x2a, 0x20, 0x70, + 0x6f, 0x6f, 0x6c, 0x2c, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x74, 0x20, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x3b, 0x0a, 0x0a, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x2a, 0x20, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x66, 0x72, 0x6f, + 0x6d, 0x4d, 0x61, 0x74, 0x34, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, + 0x20, 0x71, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, + 0x29, 0x3b, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x71, 0x75, + 0x61, 0x74, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x28, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x71, 0x2c, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x2a, 0x20, 0x76, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x2a, 0x20, 0x75, 0x29, 0x3b, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x71, + 0x75, 0x61, 0x74, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x28, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x71, 0x2c, 0x20, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x2a, 0x20, 0x76, 0x29, 0x3b, 0x0a, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x2a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61, + 0x74, 0x65, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, 0x2c, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x6e, 0x67, 0x6c, 0x65, + 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x78, 0x2c, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x79, 0x2c, 0x20, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x20, 0x61, 0x7a, 0x29, 0x3b, 0x0a, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x2a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x69, 0x6e, 0x76, + 0x65, 0x72, 0x74, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, + 0x29, 0x3b, 0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, 0x61, + 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x61, + 0x74, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, 0x2c, 0x20, + 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x71, 0x29, 0x3b, 0x0a, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x28, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x2a, 0x20, 0x6d, 0x2c, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2a, + 0x20, 0x6e, 0x29, 0x3b, 0x0a, 0x5d, 0x5d, 0x0a, 0x0a, 0x70, 0x6f, 0x6f, + 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x66, 0x69, 0x2e, 0x63, 0x61, 0x73, 0x74, + 0x28, 0x27, 0x50, 0x6f, 0x6f, 0x6c, 0x2a, 0x27, 0x2c, 0x20, 0x70, 0x6f, + 0x6f, 0x6c, 0x29, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6c, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x65, 0x28, 0x63, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, + 0x74, 0x2c, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x29, 0x0a, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x75, 0x72, 0x73, + 0x6f, 0x72, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x3e, + 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, + 0x2d, 0x20, 0x34, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x43, 0x2e, 0x6c, 0x6f, 0x76, 0x72, 0x50, 0x6f, 0x6f, 0x6c, 0x47, + 0x72, 0x6f, 0x77, 0x28, 0x70, 0x6f, 0x6f, 0x6c, 0x2c, 0x20, 0x70, 0x6f, + 0x6f, 0x6c, 0x2e, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2a, 0x20, 0x32, + 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, + 0x3d, 0x20, 0x66, 0x66, 0x69, 0x2e, 0x6e, 0x65, 0x77, 0x28, 0x63, 0x74, + 0x79, 0x70, 0x65, 0x2c, 0x20, 0x74, 0x2c, 0x20, 0x70, 0x6f, 0x6f, 0x6c, + 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, + 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, + 0x29, 0x0a, 0x20, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x75, 0x72, + 0x73, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x63, + 0x75, 0x72, 0x73, 0x6f, 0x72, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x74, 0x79, 0x70, 0x65, 0x28, - 0x74, 0x2c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x63, 0x74, 0x79, - 0x70, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x63, 0x64, 0x61, 0x74, - 0x61, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, - 0x73, 0x65, 0x72, 0x74, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, - 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x27, 0x77, 0x72, 0x6f, 0x6e, 0x67, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x73, 0x20, 0x2b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, - 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x75, 0x73, 0x65, 0x72, + 0x6e, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65, 0x28, 0x74, 0x2c, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x28, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x63, 0x64, 0x61, 0x74, 0x61, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2e, 0x5f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, - 0x3d, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x66, 0x66, 0x69, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x28, 0x27, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x2a, 0x27, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x28, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x66, 0x6e, 0x20, 0x3d, 0x20, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, - 0x67, 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x28, 0x32, 0x2c, 0x20, 0x27, - 0x6e, 0x27, 0x29, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x72, 0x67, - 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x28, 0x27, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, - 0x23, 0x27, 0x20, 0x2e, 0x2e, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, - 0x20, 0x6f, 0x72, 0x20, 0x27, 0x73, 0x65, 0x6c, 0x66, 0x27, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x65, - 0x78, 0x70, 0x20, 0x3d, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x67, 0x6f, 0x74, - 0x20, 0x3d, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x61, 0x6c, 0x75, + 0x6c, 0x75, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, + 0x74, 0x29, 0x20, 0x6f, 0x72, 0x20, 0x28, 0x74, 0x79, 0x70, 0x65, 0x28, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x75, + 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x27, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x5f, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x0a, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x74, 0x79, 0x70, 0x65, 0x28, 0x74, + 0x2c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x63, 0x74, 0x79, 0x70, + 0x65, 0x29, 0x0a, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x63, 0x64, 0x61, 0x74, 0x61, + 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x20, 0x3d, 0x3d, 0x20, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x72, 0x74, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x3d, 0x20, + 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x27, 0x77, 0x72, 0x6f, 0x6e, 0x67, 0x20, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x66, 0x6c, 0x6f, 0x61, 0x74, + 0x73, 0x20, 0x2b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x75, 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x2e, 0x5f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x72, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x28, 0x27, 0x42, 0x61, 0x64, 0x20, 0x25, 0x73, 0x20, 0x74, - 0x6f, 0x20, 0x25, 0x73, 0x20, 0x28, 0x25, 0x73, 0x20, 0x65, 0x78, 0x70, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x25, - 0x73, 0x29, 0x27, 0x2c, 0x20, 0x61, 0x72, 0x67, 0x2c, 0x20, 0x66, 0x6e, - 0x2c, 0x20, 0x65, 0x78, 0x70, 0x2c, 0x20, 0x67, 0x6f, 0x74, 0x29, 0x2c, - 0x20, 0x33, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, - 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x5f, 0x74, 0x20, - 0x3d, 0x20, 0x66, 0x66, 0x69, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, - 0x28, 0x27, 0x76, 0x65, 0x63, 0x32, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x5f, 0x74, 0x20, 0x3d, 0x20, - 0x66, 0x66, 0x69, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x28, 0x27, - 0x76, 0x65, 0x63, 0x33, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x66, - 0x69, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x28, 0x27, 0x71, 0x75, - 0x61, 0x74, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, - 0x61, 0x74, 0x34, 0x5f, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x66, 0x69, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x28, 0x27, 0x6d, 0x61, 0x74, 0x34, - 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x74, 0x79, 0x70, 0x65, 0x28, 0x43, 0x2e, 0x56, 0x45, 0x43, - 0x32, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, 0x27, 0x29, 0x0a, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, - 0x63, 0x33, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x74, 0x79, - 0x70, 0x65, 0x28, 0x43, 0x2e, 0x56, 0x45, 0x43, 0x33, 0x2c, 0x20, 0x27, - 0x76, 0x65, 0x63, 0x33, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x20, 0x3d, - 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x74, 0x79, 0x70, 0x65, 0x28, 0x43, - 0x2e, 0x51, 0x55, 0x41, 0x54, 0x2c, 0x20, 0x27, 0x71, 0x75, 0x61, 0x74, - 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x74, 0x79, 0x70, 0x65, 0x28, 0x43, 0x2e, 0x4d, 0x41, 0x54, - 0x34, 0x2c, 0x20, 0x27, 0x6d, 0x61, 0x74, 0x34, 0x27, 0x29, 0x0a, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x76, 0x65, 0x63, 0x32, 0x20, - 0x3d, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65, 0x28, 0x43, 0x2e, 0x56, - 0x45, 0x43, 0x32, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, 0x27, 0x29, - 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x76, 0x65, 0x63, - 0x33, 0x20, 0x3d, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65, 0x28, 0x43, - 0x2e, 0x56, 0x45, 0x43, 0x33, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, - 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x71, - 0x75, 0x61, 0x74, 0x20, 0x3d, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65, - 0x28, 0x43, 0x2e, 0x51, 0x55, 0x41, 0x54, 0x2c, 0x20, 0x27, 0x71, 0x75, - 0x61, 0x74, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, - 0x73, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x3d, 0x20, 0x69, 0x73, 0x74, 0x79, - 0x70, 0x65, 0x28, 0x43, 0x2e, 0x4d, 0x41, 0x54, 0x34, 0x2c, 0x20, 0x27, - 0x6d, 0x61, 0x74, 0x34, 0x27, 0x29, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, - 0x2c, 0x20, 0x71, 0x75, 0x61, 0x74, 0x2c, 0x20, 0x6d, 0x61, 0x74, 0x34, - 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x20, 0x3d, 0x20, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, - 0x76, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, - 0x0a, 0x20, 0x20, 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, - 0x78, 0x2c, 0x20, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x78, 0x20, 0x3d, 0x3d, 0x20, - 0x6e, 0x69, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, - 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, - 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, - 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x20, 0x6f, 0x72, 0x20, - 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, - 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, - 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, - 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x75, 0x5b, 0x30, 0x5d, - 0x2c, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x61, 0x64, 0x64, 0x20, 0x3d, 0x20, 0x66, + 0x75, 0x65, 0x2e, 0x5f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x3d, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x66, 0x66, 0x69, 0x2e, 0x63, 0x61, 0x73, 0x74, 0x28, 0x27, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x2a, 0x27, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x67, 0x65, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x28, + 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x66, 0x6e, 0x20, 0x3d, 0x20, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x67, + 0x65, 0x74, 0x69, 0x6e, 0x66, 0x6f, 0x28, 0x32, 0x2c, 0x20, 0x27, 0x6e, + 0x27, 0x29, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x72, 0x67, 0x20, + 0x3d, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x28, 0x27, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x23, + 0x27, 0x20, 0x2e, 0x2e, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, + 0x6f, 0x72, 0x20, 0x27, 0x73, 0x65, 0x6c, 0x66, 0x27, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x65, 0x78, + 0x70, 0x20, 0x3d, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x67, 0x6f, 0x74, 0x20, + 0x3d, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x75, 0x73, 0x65, 0x72, 0x64, 0x61, + 0x74, 0x61, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x2e, 0x5f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x72, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x28, 0x27, 0x42, 0x61, 0x64, 0x20, 0x25, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x25, 0x73, 0x20, 0x28, 0x25, 0x73, 0x20, 0x65, 0x78, 0x70, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x25, 0x73, + 0x29, 0x27, 0x2c, 0x20, 0x61, 0x72, 0x67, 0x2c, 0x20, 0x66, 0x6e, 0x2c, + 0x20, 0x65, 0x78, 0x70, 0x2c, 0x20, 0x67, 0x6f, 0x74, 0x29, 0x2c, 0x20, + 0x33, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x5f, 0x74, 0x20, 0x3d, + 0x20, 0x66, 0x66, 0x69, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x28, + 0x27, 0x76, 0x65, 0x63, 0x32, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x5f, 0x74, 0x20, 0x3d, 0x20, 0x66, + 0x66, 0x69, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x28, 0x27, 0x76, + 0x65, 0x63, 0x33, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x76, 0x65, 0x63, 0x34, 0x5f, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x66, 0x69, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x6f, 0x66, 0x28, 0x27, 0x76, 0x65, 0x63, + 0x34, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x75, + 0x61, 0x74, 0x5f, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x66, 0x69, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x6f, 0x66, 0x28, 0x27, 0x71, 0x75, 0x61, 0x74, 0x27, + 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x61, 0x74, 0x34, + 0x5f, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x66, 0x69, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x6f, 0x66, 0x28, 0x27, 0x6d, 0x61, 0x74, 0x34, 0x27, 0x29, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, + 0x65, 0x63, 0x32, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x74, + 0x79, 0x70, 0x65, 0x28, 0x43, 0x2e, 0x56, 0x45, 0x43, 0x32, 0x2c, 0x20, + 0x27, 0x76, 0x65, 0x63, 0x32, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x74, 0x79, 0x70, 0x65, 0x28, + 0x43, 0x2e, 0x56, 0x45, 0x43, 0x33, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, + 0x33, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x74, 0x79, 0x70, 0x65, 0x28, 0x43, 0x2e, 0x56, 0x45, + 0x43, 0x34, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x34, 0x27, 0x29, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, + 0x75, 0x61, 0x74, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x74, + 0x79, 0x70, 0x65, 0x28, 0x43, 0x2e, 0x51, 0x55, 0x41, 0x54, 0x2c, 0x20, + 0x27, 0x71, 0x75, 0x61, 0x74, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x74, 0x79, 0x70, 0x65, 0x28, + 0x43, 0x2e, 0x4d, 0x41, 0x54, 0x34, 0x2c, 0x20, 0x27, 0x6d, 0x61, 0x74, + 0x34, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, + 0x76, 0x65, 0x63, 0x32, 0x20, 0x3d, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70, + 0x65, 0x28, 0x43, 0x2e, 0x56, 0x45, 0x43, 0x32, 0x2c, 0x20, 0x27, 0x76, + 0x65, 0x63, 0x32, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x69, 0x73, 0x76, 0x65, 0x63, 0x33, 0x20, 0x3d, 0x20, 0x69, 0x73, 0x74, + 0x79, 0x70, 0x65, 0x28, 0x43, 0x2e, 0x56, 0x45, 0x43, 0x33, 0x2c, 0x20, + 0x27, 0x76, 0x65, 0x63, 0x33, 0x27, 0x29, 0x0a, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x69, 0x73, 0x76, 0x65, 0x63, 0x34, 0x20, 0x3d, 0x20, 0x69, + 0x73, 0x74, 0x79, 0x70, 0x65, 0x28, 0x43, 0x2e, 0x56, 0x45, 0x43, 0x34, + 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x34, 0x27, 0x29, 0x0a, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x71, 0x75, 0x61, 0x74, 0x20, 0x3d, + 0x20, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65, 0x28, 0x43, 0x2e, 0x51, 0x55, + 0x41, 0x54, 0x2c, 0x20, 0x27, 0x71, 0x75, 0x61, 0x74, 0x27, 0x29, 0x0a, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x34, + 0x20, 0x3d, 0x20, 0x69, 0x73, 0x74, 0x79, 0x70, 0x65, 0x28, 0x43, 0x2e, + 0x4d, 0x41, 0x54, 0x34, 0x2c, 0x20, 0x27, 0x6d, 0x61, 0x74, 0x34, 0x27, + 0x29, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x65, 0x63, + 0x32, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x2c, 0x20, 0x76, 0x65, 0x63, + 0x34, 0x2c, 0x20, 0x71, 0x75, 0x61, 0x74, 0x2c, 0x20, 0x6d, 0x61, 0x74, + 0x34, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, - 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, - 0x20, 0x2b, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, + 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, + 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, + 0x20, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x78, 0x20, 0x3d, 0x3d, + 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, + 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, + 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x20, 0x6f, 0x72, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, - 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x75, 0x5b, - 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, - 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x75, - 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, - 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, - 0x20, 0x20, 0x73, 0x75, 0x62, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, - 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, - 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, - 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, - 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, - 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x78, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, - 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x78, - 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6f, - 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, - 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x31, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, - 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6d, - 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, - 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, - 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, - 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x78, 0x2c, 0x20, 0x31, - 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6f, 0x72, 0x20, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, - 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, - 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, 0x69, 0x76, 0x20, - 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, - 0x5b, 0x30, 0x5d, 0x20, 0x2f, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, - 0x5d, 0x20, 0x2f, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, - 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x76, 0x65, 0x63, 0x32, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, - 0x76, 0x65, 0x63, 0x32, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2f, - 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, - 0x2f, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, - 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x76, - 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, - 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x31, 0x5d, - 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, - 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x3d, 0x20, + 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x75, 0x5b, 0x30, + 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x61, 0x64, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, + 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, + 0x5d, 0x20, 0x2b, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, + 0x2b, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, + 0x63, 0x32, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, + 0x63, 0x32, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x75, + 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, + 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, + 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x73, 0x75, 0x62, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, + 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, - 0x2a, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x20, 0x7e, 0x3d, - 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x20, 0x3d, 0x20, - 0x31, 0x20, 0x2f, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, - 0x74, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x29, 0x0a, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, + 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, + 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2d, + 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x78, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, + 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, 0x20, + 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x30, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x31, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, + 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, + 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, + 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, + 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x78, 0x2c, 0x20, + 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6f, 0x72, 0x20, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, + 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, + 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, 0x69, 0x76, + 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, + 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2f, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, - 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, - 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2d, - 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, - 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x68, - 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x64, 0x78, 0x20, 0x2a, 0x20, 0x64, - 0x78, 0x20, 0x2b, 0x20, 0x64, 0x79, 0x20, 0x2a, 0x20, 0x64, 0x79, 0x29, - 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, - 0x6f, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x31, 0x5d, 0x20, 0x2f, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, + 0x27, 0x76, 0x65, 0x63, 0x32, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, + 0x2f, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, + 0x20, 0x2f, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, + 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, + 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x31, + 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, + 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, + 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, + 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, + 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x20, 0x7e, + 0x3d, 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x20, 0x3d, + 0x20, 0x31, 0x20, 0x2f, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, + 0x72, 0x74, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, + 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, - 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x30, - 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x75, - 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, - 0x20, 0x20, 0x6c, 0x65, 0x72, 0x70, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, - 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, - 0x65, 0x63, 0x32, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, - 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, 0x27, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, - 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, - 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, - 0x76, 0x5b, 0x31, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, - 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, - 0x5f, 0x5f, 0x61, 0x64, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, - 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, - 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x32, 0x28, 0x61, 0x29, 0x3a, - 0x61, 0x64, 0x64, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x73, 0x75, 0x62, 0x20, 0x3d, - 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, - 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, - 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, - 0x32, 0x28, 0x61, 0x29, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x62, 0x29, 0x0a, - 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, - 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x61, - 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x76, 0x65, 0x63, 0x32, 0x28, 0x61, 0x29, 0x3a, 0x6d, 0x75, - 0x6c, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, - 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x69, 0x76, 0x20, 0x3d, 0x20, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, - 0x65, 0x63, 0x32, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, - 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x32, 0x28, - 0x61, 0x29, 0x3a, 0x64, 0x69, 0x76, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x75, 0x6e, - 0x6d, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x3a, 0x6d, - 0x75, 0x6c, 0x28, 0x2d, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6c, 0x65, 0x6e, 0x20, 0x3d, - 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, - 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, - 0x65, 0x6c, 0x66, 0x3a, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x29, - 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, - 0x5f, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, - 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x28, - 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x29, 0x27, 0x2c, 0x20, 0x76, 0x5b, - 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x29, 0x0a, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6e, 0x65, - 0x77, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, - 0x6b, 0x65, 0x79, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, - 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, - 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, - 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x79, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x67, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, 0x20, 0x3d, - 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x73, 0x77, - 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, - 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x20, 0x3d, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, - 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x74, 0x68, 0x65, - 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x73, - 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, - 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, - 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, - 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, - 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, - 0x20, 0x3d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x31, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, - 0x65, 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x31, - 0x20, 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, - 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x5b, 0x6b, 0x65, 0x79, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x20, 0x3d, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x20, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x25, 0x71, 0x20, - 0x6f, 0x66, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x28, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x2c, 0x20, 0x32, + 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, + 0x2d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x76, 0x5b, + 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, + 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x64, 0x78, 0x20, 0x2a, 0x20, + 0x64, 0x78, 0x20, 0x2b, 0x20, 0x64, 0x79, 0x20, 0x2a, 0x20, 0x64, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, - 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x64, 0x6f, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, + 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, + 0x32, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, + 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, + 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x72, 0x70, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, - 0x20, 0x6b, 0x65, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, - 0x20, 0x76, 0x65, 0x63, 0x32, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x32, 0x5b, 0x6b, 0x65, - 0x79, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, - 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, - 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, + 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x76, 0x65, 0x63, 0x32, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, + 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x32, 0x27, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, + 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x30, 0x5d, 0x20, 0x2d, + 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, + 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x31, 0x5d, 0x20, 0x2d, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, + 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, + 0x20, 0x5f, 0x5f, 0x61, 0x64, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, + 0x32, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x32, 0x28, 0x61, 0x29, + 0x3a, 0x61, 0x64, 0x64, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x73, 0x75, 0x62, 0x20, + 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, + 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, + 0x63, 0x32, 0x28, 0x61, 0x29, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x62, 0x29, + 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, + 0x5f, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, + 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x32, 0x28, 0x61, 0x29, 0x3a, 0x6d, + 0x75, 0x6c, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, + 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x69, 0x76, 0x20, 0x3d, 0x20, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, + 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x76, 0x65, 0x63, 0x32, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, + 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x32, + 0x28, 0x61, 0x29, 0x3a, 0x64, 0x69, 0x76, 0x28, 0x62, 0x29, 0x0a, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x75, + 0x6e, 0x6d, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, + 0x2e, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x3a, + 0x6d, 0x75, 0x6c, 0x28, 0x2d, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6c, 0x65, 0x6e, 0x20, + 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, + 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, + 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, + 0x5f, 0x5f, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, + 0x65, 0x63, 0x32, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, + 0x28, 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x29, 0x27, 0x2c, 0x20, 0x76, + 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x29, 0x0a, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6e, + 0x65, 0x77, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, + 0x20, 0x6b, 0x65, 0x79, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, + 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, + 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, + 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x67, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, 0x20, - 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, - 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x20, 0x3d, 0x20, - 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, - 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, - 0x20, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x20, - 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, - 0x65, 0x79, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x61, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, - 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, - 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, - 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, - 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, - 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, - 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, - 0x2e, 0x76, 0x65, 0x63, 0x32, 0x28, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, - 0x76, 0x5b, 0x62, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, - 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x61, 0x2c, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x73, 0x77, - 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, - 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, - 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, - 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x2c, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x73, + 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x61, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x20, 0x3d, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, + 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, - 0x3a, 0x73, 0x75, 0x62, 0x28, 0x33, 0x2c, 0x20, 0x33, 0x29, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, - 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, - 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, - 0x33, 0x28, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, - 0x2c, 0x20, 0x76, 0x5b, 0x63, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, + 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, + 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, + 0x5d, 0x20, 0x3d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x75, 0x5b, + 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x6b, 0x65, - 0x79, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x25, 0x71, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x65, - 0x63, 0x32, 0x20, 0x28, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x29, 0x27, 0x2c, 0x20, - 0x6b, 0x65, 0x79, 0x29, 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x7d, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x33, 0x20, 0x3d, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x20, - 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, - 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, - 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, - 0x20, 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x2c, - 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x78, 0x20, 0x3d, 0x3d, - 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, - 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x30, - 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, - 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, - 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x79, - 0x20, 0x6f, 0x72, 0x20, 0x78, 0x2c, 0x20, 0x7a, 0x20, 0x6f, 0x72, 0x20, - 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, - 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, - 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, - 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, - 0x3d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x31, 0x5d, - 0x2c, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x61, 0x64, 0x64, 0x20, 0x3d, 0x20, 0x66, + 0x20, 0x76, 0x5b, 0x6b, 0x65, 0x79, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, + 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, + 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x25, 0x71, + 0x20, 0x6f, 0x66, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x28, 0x69, 0x6e, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x2c, 0x20, + 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, + 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, - 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, - 0x20, 0x2b, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, - 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, - 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x78, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, - 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, - 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, 0x20, - 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, - 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x75, 0x5b, 0x30, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, - 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x75, 0x5b, 0x31, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, - 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x75, 0x5b, - 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, - 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, - 0x20, 0x73, 0x75, 0x62, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, + 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x76, 0x65, 0x63, 0x32, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x32, 0x5b, 0x6b, + 0x65, 0x79, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, - 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, - 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, - 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x78, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, - 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x78, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, - 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, + 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, + 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, + 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x31, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x20, 0x3d, + 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x67, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, + 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, + 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, + 0x6b, 0x65, 0x79, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, + 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x5d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, + 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x74, 0x68, 0x65, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x73, 0x77, + 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, + 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, + 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, + 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, + 0x68, 0x2e, 0x76, 0x65, 0x63, 0x32, 0x28, 0x76, 0x5b, 0x61, 0x5d, 0x2c, + 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, + 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x61, 0x2c, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x73, + 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, + 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, + 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, + 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x2c, + 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, + 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x33, 0x2c, 0x20, 0x33, 0x29, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x63, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, + 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x63, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, + 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x20, 0x74, 0x68, 0x65, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x2c, 0x20, + 0x64, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, + 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, + 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, + 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, + 0x20, 0x32, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, + 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x33, + 0x2c, 0x20, 0x33, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, + 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, + 0x34, 0x2c, 0x20, 0x34, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x62, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, + 0x63, 0x34, 0x28, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, + 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x63, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x64, + 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, + 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x6f, 0x72, 0x20, + 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x6b, 0x65, 0x79, 0x20, 0x2d, 0x20, 0x31, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x69, + 0x6e, 0x64, 0x65, 0x78, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x25, + 0x71, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x28, 0x69, + 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x2c, + 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x7d, 0x0a, + 0x0a, 0x76, 0x65, 0x63, 0x33, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, + 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, + 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x65, 0x74, 0x20, + 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, + 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, + 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, + 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, + 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, + 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, + 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, + 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, + 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x20, 0x6f, 0x72, 0x20, 0x78, + 0x2c, 0x20, 0x7a, 0x20, 0x6f, 0x72, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, - 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, - 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, - 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, - 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6d, 0x75, 0x6c, - 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, - 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, - 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, - 0x20, 0x2a, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, - 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, - 0x65, 0x63, 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, - 0x65, 0x63, 0x33, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, - 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, - 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, - 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, - 0x2a, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, 0x69, 0x76, 0x20, 0x3d, 0x20, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, - 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, - 0x20, 0x2f, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2f, - 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, - 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2f, 0x20, 0x78, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, - 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, - 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, 0x20, - 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, - 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2f, 0x20, 0x75, 0x5b, 0x30, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, - 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2f, 0x20, 0x75, 0x5b, 0x31, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, - 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2f, 0x20, 0x75, 0x5b, - 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, - 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, - 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, - 0x71, 0x72, 0x74, 0x28, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x76, - 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, - 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, 0x5d, - 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, - 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x20, 0x3d, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, - 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x31, - 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x76, - 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x20, 0x7e, 0x3d, 0x20, 0x30, 0x20, - 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x2f, - 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, - 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, - 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, - 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, - 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, + 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x75, 0x5b, 0x30, + 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x32, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, - 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x66, + 0x61, 0x64, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, + 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, + 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x78, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x78, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, + 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, + 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, + 0x20, 0x2b, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, + 0x5d, 0x20, 0x2b, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, + 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x75, 0x62, 0x20, + 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, + 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, + 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, + 0x5d, 0x20, 0x2d, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, + 0x2d, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, + 0x63, 0x33, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x75, + 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, + 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, + 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, + 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2d, + 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, + 0x0a, 0x0a, 0x20, 0x20, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, + 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, + 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, + 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, + 0x2a, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, + 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, + 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, + 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, + 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, 0x20, 0x6f, + 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, + 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x31, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x32, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, + 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, + 0x64, 0x69, 0x76, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, + 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, + 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2f, 0x20, 0x78, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2f, 0x20, 0x78, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, + 0x5b, 0x32, 0x5d, 0x20, 0x2f, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, + 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, + 0x20, 0x2f, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, + 0x5d, 0x20, 0x2f, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, + 0x32, 0x5d, 0x20, 0x2f, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x6e, 0x67, + 0x74, 0x68, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x76, + 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x31, 0x5d, + 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, + 0x32, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, + 0x20, 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, + 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, + 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x32, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, + 0x2a, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, + 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x76, + 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x32, 0x20, 0x7e, 0x3d, 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x6e, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x2f, 0x20, 0x6d, 0x61, 0x74, 0x68, + 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x32, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, + 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, 0x69, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, + 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x76, + 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x79, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x31, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x64, 0x7a, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, + 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, + 0x74, 0x28, 0x64, 0x78, 0x20, 0x2a, 0x20, 0x64, 0x78, 0x20, 0x2b, 0x20, + 0x64, 0x79, 0x20, 0x2a, 0x20, 0x64, 0x79, 0x20, 0x2b, 0x20, 0x64, 0x7a, + 0x20, 0x2a, 0x20, 0x64, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, 0x6f, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, @@ -804,247 +862,648 @@ unsigned char math_lua[] = { 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, - 0x78, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x75, - 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, - 0x2d, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x7a, 0x20, 0x3d, 0x20, 0x76, 0x5b, - 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x64, 0x78, 0x20, 0x2a, 0x20, - 0x64, 0x78, 0x20, 0x2b, 0x20, 0x64, 0x79, 0x20, 0x2a, 0x20, 0x64, 0x79, - 0x20, 0x2b, 0x20, 0x64, 0x7a, 0x20, 0x2a, 0x20, 0x64, 0x7a, 0x29, 0x0a, - 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, 0x6f, - 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x20, + 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x31, + 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x75, + 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, + 0x20, 0x20, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, + 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, - 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, - 0x75, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, - 0x2a, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, - 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x63, 0x72, 0x6f, 0x73, 0x73, - 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, - 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x63, 0x78, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, - 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x76, 0x5b, - 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x79, 0x20, 0x3d, - 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x30, 0x5d, - 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, - 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x63, 0x7a, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, - 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x31, 0x5d, - 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, - 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x63, 0x78, 0x2c, 0x20, 0x63, - 0x79, 0x2c, 0x20, 0x63, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x72, 0x70, - 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, - 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, - 0x20, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, - 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, - 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x76, 0x5b, - 0x30, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, - 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x76, 0x5b, - 0x31, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, - 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x76, 0x5b, - 0x32, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, + 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, + 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x78, + 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, + 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, + 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x63, 0x79, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, + 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x76, 0x5b, + 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x7a, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x31, 0x5d, + 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, + 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, + 0x3d, 0x20, 0x63, 0x78, 0x2c, 0x20, 0x63, 0x79, 0x2c, 0x20, 0x63, 0x7a, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x72, 0x70, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, + 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, + 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, + 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, + 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x29, 0x20, 0x2a, + 0x20, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, + 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x29, 0x20, 0x2a, + 0x20, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, + 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x29, 0x20, 0x2a, + 0x20, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x61, 0x64, 0x64, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, + 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, + 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, + 0x33, 0x28, 0x61, 0x29, 0x3a, 0x61, 0x64, 0x64, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, - 0x61, 0x64, 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x73, 0x75, 0x62, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x61, 0x29, 0x3a, 0x61, 0x64, - 0x64, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, - 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x73, 0x75, 0x62, 0x20, 0x3d, 0x20, 0x66, + 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x61, 0x29, 0x3a, 0x73, 0x75, + 0x62, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, - 0x61, 0x29, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6d, 0x75, - 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x29, 0x3a, 0x6d, 0x75, 0x6c, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x69, + 0x76, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x76, 0x65, 0x63, 0x33, 0x28, 0x61, 0x29, 0x3a, 0x6d, 0x75, 0x6c, 0x28, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x61, 0x29, 0x3a, 0x64, 0x69, 0x76, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, - 0x20, 0x5f, 0x5f, 0x64, 0x69, 0x76, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, + 0x20, 0x5f, 0x5f, 0x75, 0x6e, 0x6d, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, - 0x33, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, - 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x61, 0x29, - 0x3a, 0x64, 0x69, 0x76, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, - 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x75, 0x6e, 0x6d, 0x20, - 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, - 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x3a, 0x6d, 0x75, 0x6c, - 0x28, 0x2d, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, - 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, - 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, - 0x66, 0x3a, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x29, 0x0a, 0x20, - 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x74, - 0x6f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x28, 0x25, 0x66, - 0x2c, 0x20, 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x29, 0x27, 0x2c, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, - 0x76, 0x5b, 0x32, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, - 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6e, 0x65, 0x77, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x2c, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x29, 0x3a, 0x6d, 0x75, 0x6c, 0x28, 0x2d, 0x31, 0x29, 0x0a, + 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, + 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, + 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, + 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x20, 0x3d, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x20, 0x3d, 0x20, - 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x20, 0x3d, - 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7a, 0x20, - 0x3d, 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x67, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x62, 0x20, 0x3d, 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x70, 0x20, 0x3d, 0x20, 0x32, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, 0x20, 0x3d, 0x3d, - 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, 0x20, 0x74, 0x68, - 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68, - 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, - 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, - 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x74, 0x68, - 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, - 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x61, 0x2c, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, - 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, - 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, - 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, - 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, - 0x63, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x31, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x20, 0x3d, 0x20, - 0x75, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, - 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, - 0x20, 0x33, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, - 0x20, 0x62, 0x2c, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, - 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, - 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, - 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, - 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, - 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, - 0x75, 0x62, 0x28, 0x33, 0x2c, 0x20, 0x33, 0x29, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x62, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x20, 0x74, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x27, 0x28, 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x2c, + 0x20, 0x25, 0x66, 0x29, 0x27, 0x2c, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x29, + 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, + 0x5f, 0x6e, 0x65, 0x77, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x77, 0x69, 0x7a, + 0x7a, 0x6c, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x32, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x30, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x20, 0x3d, 0x20, 0x31, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x20, 0x3d, 0x20, + 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, + 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, + 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, + 0x20, 0x3d, 0x20, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, + 0x6b, 0x65, 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, + 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x61, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, + 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, + 0x31, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x61, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x61, 0x5d, + 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, + 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, + 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, + 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, + 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, + 0x32, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x76, 0x61, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, - 0x76, 0x5b, 0x62, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x63, 0x5d, 0x20, 0x3d, - 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x2c, - 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x62, 0x5d, 0x20, 0x3d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x2c, + 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, - 0x28, 0x6b, 0x65, 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, - 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, - 0x20, 0x3c, 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x6b, 0x65, 0x79, - 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x20, 0x25, 0x71, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, - 0x28, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, - 0x29, 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, - 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, + 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x2c, 0x20, 0x63, + 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, + 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, + 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, + 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, + 0x32, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, + 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x33, 0x2c, + 0x20, 0x33, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x63, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, + 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x2c, + 0x20, 0x76, 0x5b, 0x63, 0x5d, 0x20, 0x3d, 0x20, 0x75, 0x5b, 0x30, 0x5d, + 0x2c, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x32, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, + 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3c, 0x3d, 0x20, 0x33, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x5b, 0x6b, 0x65, 0x79, 0x20, 0x2d, 0x20, 0x31, 0x5d, + 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, + 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x20, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x25, 0x71, 0x20, 0x6f, + 0x66, 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x28, 0x69, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x2c, 0x20, 0x32, 0x29, + 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, + 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, + 0x6b, 0x65, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x33, 0x5b, 0x6b, 0x65, 0x79, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, + 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, 0x20, 0x3d, + 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, + 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x32, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x20, + 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x67, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x32, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x30, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, + 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x70, 0x20, 0x3d, 0x20, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x73, 0x77, + 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, + 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x61, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, + 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, + 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, + 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, + 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, + 0x32, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, + 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x32, 0x28, + 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, + 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x2c, 0x20, + 0x63, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, + 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, + 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, + 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, + 0x20, 0x32, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, + 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x33, + 0x2c, 0x20, 0x33, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x76, 0x5b, 0x61, 0x5d, + 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x63, 0x5d, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x34, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, + 0x2c, 0x20, 0x63, 0x2c, 0x20, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, + 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, + 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, + 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, + 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x2c, 0x20, 0x73, + 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, + 0x73, 0x75, 0x62, 0x28, 0x33, 0x2c, 0x20, 0x33, 0x29, 0x5d, 0x2c, 0x20, + 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, + 0x3a, 0x73, 0x75, 0x62, 0x28, 0x34, 0x2c, 0x20, 0x34, 0x29, 0x5d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x34, 0x28, 0x76, 0x5b, 0x61, 0x5d, + 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x63, 0x5d, + 0x2c, 0x20, 0x76, 0x5b, 0x64, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, + 0x73, 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, + 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3e, + 0x3d, 0x20, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, + 0x3c, 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, + 0x5b, 0x6b, 0x65, 0x79, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, + 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x25, 0x71, 0x20, 0x6f, 0x66, + 0x20, 0x76, 0x65, 0x63, 0x33, 0x20, 0x28, 0x69, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x29, + 0x27, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, + 0x29, 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x7d, 0x0a, 0x0a, 0x76, 0x65, 0x63, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x0a, + 0x20, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x20, 0x3d, 0x20, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, + 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x2c, + 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, + 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, + 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, + 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, + 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, + 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, + 0x32, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, + 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, + 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x76, 0x5b, + 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x20, 0x6f, 0x72, + 0x20, 0x78, 0x2c, 0x20, 0x7a, 0x20, 0x6f, 0x72, 0x20, 0x78, 0x2c, 0x20, + 0x77, 0x20, 0x6f, 0x72, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, + 0x27, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, + 0x76, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x3d, + 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x2c, + 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x33, 0x5d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, + 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x61, 0x64, + 0x64, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x78, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, + 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, + 0x5d, 0x20, 0x2b, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, + 0x2b, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, + 0x63, 0x34, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, + 0x63, 0x34, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x75, + 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, + 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, + 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, + 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2b, + 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, + 0x2b, 0x20, 0x75, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x75, 0x62, 0x20, 0x3d, 0x20, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x76, 0x65, 0x63, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, + 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, + 0x20, 0x2d, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, + 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2d, + 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x78, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x2d, 0x20, 0x78, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x78, 0x2c, + 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x34, 0x20, 0x6f, 0x72, + 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, + 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, + 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x32, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x33, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, + 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, + 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, + 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, + 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, + 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x33, + 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, + 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x76, 0x65, 0x63, 0x34, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, + 0x76, 0x65, 0x63, 0x34, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, + 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, + 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, + 0x2a, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, + 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x33, + 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, 0x69, 0x76, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, + 0x28, 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, + 0x30, 0x5d, 0x20, 0x2f, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, + 0x20, 0x2f, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, + 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2f, + 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x33, + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x2f, 0x20, 0x78, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, + 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x34, 0x20, + 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2f, 0x20, 0x75, 0x5b, 0x30, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2f, 0x20, 0x75, 0x5b, 0x31, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, + 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2f, 0x20, 0x75, 0x5b, + 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x33, + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x2f, 0x20, 0x75, + 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, + 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, + 0x20, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, + 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, + 0x73, 0x71, 0x72, 0x74, 0x28, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, + 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, + 0x2a, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, + 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x76, + 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x29, 0x0a, + 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6e, 0x6f, + 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, + 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, + 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, + 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, + 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, + 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, + 0x2a, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x33, + 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x20, + 0x7e, 0x3d, 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x20, + 0x3d, 0x20, 0x31, 0x20, 0x2f, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, + 0x71, 0x72, 0x74, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, + 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, + 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x33, 0x5d, + 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x76, 0x65, 0x63, 0x33, 0x5b, 0x6b, 0x65, - 0x79, 0x5d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x65, 0x63, - 0x33, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, - 0x65, 0x63, 0x33, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, + 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, + 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, + 0x2d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x76, 0x5b, + 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x7a, 0x20, 0x3d, + 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x75, 0x5b, 0x32, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, + 0x77, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x2d, 0x20, 0x75, + 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, + 0x28, 0x64, 0x78, 0x20, 0x2a, 0x20, 0x64, 0x78, 0x20, 0x2b, 0x20, 0x64, + 0x79, 0x20, 0x2a, 0x20, 0x64, 0x79, 0x20, 0x2b, 0x20, 0x64, 0x7a, 0x20, + 0x2a, 0x20, 0x64, 0x7a, 0x20, 0x2b, 0x20, 0x64, 0x77, 0x20, 0x2a, 0x20, + 0x64, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, + 0x20, 0x20, 0x64, 0x6f, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, 0x30, + 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, + 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x20, 0x2b, + 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x75, 0x5b, 0x32, 0x5d, + 0x20, 0x2b, 0x20, 0x75, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x76, 0x5b, + 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, + 0x20, 0x6c, 0x65, 0x72, 0x70, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, + 0x63, 0x34, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, + 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x30, 0x5d, + 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, + 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x31, 0x5d, + 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, + 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x32, 0x5d, + 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, + 0x76, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x28, 0x75, 0x5b, 0x33, 0x5d, + 0x20, 0x2d, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x29, 0x20, 0x2a, 0x20, 0x74, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x61, 0x64, 0x64, 0x20, 0x3d, 0x20, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, + 0x65, 0x63, 0x34, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, + 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x34, 0x28, + 0x61, 0x29, 0x3a, 0x61, 0x64, 0x64, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x73, 0x75, + 0x62, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x61, 0x2c, 0x20, + 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, + 0x76, 0x65, 0x63, 0x34, 0x28, 0x61, 0x29, 0x3a, 0x73, 0x75, 0x62, 0x28, + 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, + 0x20, 0x5f, 0x5f, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, + 0x34, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x34, 0x28, 0x61, 0x29, + 0x3a, 0x6d, 0x75, 0x6c, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x64, 0x69, 0x76, 0x20, + 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, + 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, + 0x63, 0x34, 0x28, 0x61, 0x29, 0x3a, 0x64, 0x69, 0x76, 0x28, 0x62, 0x29, + 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, + 0x5f, 0x75, 0x6e, 0x6d, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x3a, 0x6d, 0x75, 0x6c, 0x28, 0x2d, 0x31, 0x29, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6c, 0x65, + 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, + 0x20, 0x20, 0x5f, 0x5f, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x28, 0x27, 0x28, 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x2c, 0x20, 0x25, + 0x66, 0x2c, 0x20, 0x25, 0x66, 0x29, 0x27, 0x2c, 0x20, 0x76, 0x5b, 0x30, + 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, + 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x33, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6e, 0x65, 0x77, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6b, + 0x65, 0x79, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, + 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, + 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, + 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x79, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x77, 0x20, 0x3d, 0x20, 0x33, 0x2c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x67, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x32, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x33, 0x2c, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x30, + 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, + 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x20, 0x3d, + 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x20, + 0x3d, 0x20, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x77, 0x69, - 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x20, 0x3d, - 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7a, 0x20, 0x3d, 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x20, 0x3d, 0x20, 0x31, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x20, 0x3d, - 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x73, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x20, 0x3d, 0x20, 0x32, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, @@ -1052,1178 +1511,1338 @@ unsigned char math_lua[] = { 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, - 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x61, 0x2c, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, - 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, - 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, - 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, - 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x76, 0x65, 0x63, 0x32, 0x28, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, - 0x5b, 0x62, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, + 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x20, + 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, + 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, + 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, + 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, + 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x32, 0x28, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, + 0x5b, 0x62, 0x5d, 0x20, 0x3d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x2c, 0x20, + 0x75, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, + 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x20, + 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, + 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, + 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, + 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, + 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, + 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x33, 0x2c, 0x20, + 0x33, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x63, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, + 0x65, 0x63, 0x33, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x31, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x2c, 0x20, + 0x76, 0x5b, 0x63, 0x5d, 0x20, 0x3d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x2c, + 0x20, 0x75, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, - 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x3d, 0x20, 0x34, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, - 0x2c, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, - 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, - 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, - 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, - 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x2c, 0x20, 0x73, + 0x2c, 0x20, 0x62, 0x2c, 0x20, 0x63, 0x2c, 0x20, 0x64, 0x20, 0x3d, 0x20, + 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, + 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, + 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, + 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, + 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, + 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x33, 0x2c, 0x20, 0x33, 0x29, + 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, + 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x34, 0x2c, 0x20, 0x34, + 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x63, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x34, 0x28, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, + 0x5b, 0x62, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x63, 0x5d, 0x2c, 0x20, 0x76, + 0x5b, 0x64, 0x5d, 0x20, 0x3d, 0x20, 0x75, 0x5b, 0x30, 0x5d, 0x2c, 0x20, + 0x75, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x75, 0x5b, 0x32, 0x5d, 0x2c, 0x20, + 0x75, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, + 0x6b, 0x65, 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3e, + 0x3d, 0x20, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, + 0x3c, 0x3d, 0x20, 0x34, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x6b, 0x65, 0x79, 0x20, + 0x2d, 0x20, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x25, 0x71, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x28, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, + 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x76, 0x65, 0x63, 0x34, 0x5b, 0x6b, 0x65, 0x79, + 0x5d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x34, + 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, + 0x63, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, + 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x77, 0x69, 0x7a, + 0x7a, 0x6c, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x20, 0x3d, 0x20, + 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7a, + 0x20, 0x3d, 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x77, 0x20, 0x3d, 0x20, 0x33, 0x2c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x20, 0x3d, 0x20, + 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, + 0x20, 0x3d, 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x33, 0x2c, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x20, 0x3d, 0x20, + 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, + 0x20, 0x3d, 0x20, 0x32, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, - 0x73, 0x75, 0x62, 0x28, 0x33, 0x2c, 0x20, 0x33, 0x29, 0x5d, 0x0a, 0x20, + 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, + 0x61, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, + 0x32, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, + 0x62, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, + 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, + 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, + 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, + 0x20, 0x32, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, - 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, - 0x28, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x2c, - 0x20, 0x76, 0x5b, 0x63, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, - 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, - 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3e, 0x3d, - 0x20, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3c, - 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x5b, - 0x6b, 0x65, 0x79, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, - 0x76, 0x65, 0x63, 0x33, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x25, - 0x73, 0x20, 0x28, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x29, 0x27, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, - 0x6b, 0x65, 0x79, 0x29, 0x29, 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x0a, 0x7d, 0x0a, 0x0a, 0x71, 0x75, 0x61, 0x74, 0x20, - 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, - 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, - 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x72, 0x61, 0x77, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, - 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x72, 0x61, 0x77, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x71, 0x5b, - 0x30, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, 0x5b, - 0x32, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x6d, 0x61, - 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x31, 0x20, 0x2d, 0x20, - 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x73, - 0x20, 0x3c, 0x20, 0x2e, 0x30, 0x30, 0x30, 0x31, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x31, 0x20, 0x6f, 0x72, 0x20, 0x31, 0x20, 0x2f, 0x20, 0x73, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x61, 0x63, - 0x6f, 0x73, 0x28, 0x71, 0x5b, 0x33, 0x5d, 0x29, 0x2c, 0x20, 0x71, 0x5b, - 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, - 0x20, 0x2a, 0x20, 0x73, 0x2c, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, - 0x20, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, - 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x65, 0x74, - 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, - 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, - 0x7a, 0x2c, 0x20, 0x77, 0x2c, 0x20, 0x72, 0x61, 0x77, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, - 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x74, 0x68, 0x65, - 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, - 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x32, 0x5d, - 0x2c, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, - 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, - 0x78, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x72, 0x61, 0x77, 0x20, 0x74, 0x68, 0x65, - 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, - 0x30, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, 0x5b, - 0x32, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x78, - 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, - 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x69, 0x6e, 0x28, - 0x78, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x20, - 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x73, 0x28, 0x78, - 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x79, 0x20, 0x2a, 0x20, 0x79, 0x20, - 0x2b, 0x20, 0x7a, 0x20, 0x2a, 0x20, 0x7a, 0x20, 0x2b, 0x20, 0x77, 0x20, - 0x2a, 0x20, 0x77, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x3e, 0x20, - 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x20, 0x2f, - 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x31, - 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x33, - 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x20, 0x2a, 0x20, 0x79, 0x2c, 0x20, 0x73, - 0x20, 0x2a, 0x20, 0x7a, 0x2c, 0x20, 0x73, 0x20, 0x2a, 0x20, 0x77, 0x2c, - 0x20, 0x63, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, - 0x69, 0x73, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x29, 0x20, 0x74, 0x68, - 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, - 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2c, - 0x20, 0x76, 0x65, 0x63, 0x33, 0x2c, 0x20, 0x71, 0x75, 0x61, 0x74, 0x2c, - 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x27, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x79, 0x20, 0x3d, 0x3d, - 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, 0x74, - 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x28, 0x6c, 0x6f, 0x76, - 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, - 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x2d, 0x31, 0x29, 0x2c, 0x20, 0x76, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x76, 0x65, 0x63, 0x33, 0x28, 0x79, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x27, - 0x6e, 0x69, 0x6c, 0x20, 0x6f, 0x72, 0x20, 0x76, 0x65, 0x63, 0x33, 0x27, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, - 0x71, 0x75, 0x61, 0x74, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, - 0x28, 0x71, 0x2c, 0x20, 0x76, 0x2c, 0x20, 0x75, 0x29, 0x20, 0x2d, 0x2d, - 0x20, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, - 0x73, 0x65, 0x69, 0x66, 0x20, 0x69, 0x73, 0x71, 0x75, 0x61, 0x74, 0x28, - 0x78, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x20, 0x3d, 0x20, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x78, 0x2c, - 0x20, 0x31, 0x2c, 0x20, 0x27, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x2c, 0x20, - 0x71, 0x75, 0x61, 0x74, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x74, - 0x34, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, - 0x30, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, 0x5b, - 0x32, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x72, - 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x72, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x72, - 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x78, 0x2c, 0x20, - 0x31, 0x2c, 0x20, 0x27, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x2c, 0x20, 0x71, - 0x75, 0x61, 0x74, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x74, 0x34, - 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x71, - 0x75, 0x61, 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x34, - 0x28, 0x71, 0x2c, 0x20, 0x6d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x32, + 0x28, 0x76, 0x5b, 0x61, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, + 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x2c, + 0x20, 0x63, 0x20, 0x3d, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, + 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x31, 0x2c, + 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, + 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x32, + 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x2c, 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, + 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, + 0x33, 0x2c, 0x20, 0x33, 0x29, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x62, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x20, 0x74, 0x68, 0x65, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, + 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x76, 0x5b, 0x61, + 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x63, + 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x69, 0x66, 0x20, 0x23, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, + 0x34, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x2c, 0x20, + 0x62, 0x2c, 0x20, 0x63, 0x2c, 0x20, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x77, + 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, 0x73, + 0x75, 0x62, 0x28, 0x31, 0x2c, 0x20, 0x31, 0x29, 0x5d, 0x2c, 0x20, 0x73, + 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, 0x3a, + 0x73, 0x75, 0x62, 0x28, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x5d, 0x2c, 0x20, + 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, 0x79, + 0x3a, 0x73, 0x75, 0x62, 0x28, 0x33, 0x2c, 0x20, 0x33, 0x29, 0x5d, 0x2c, + 0x20, 0x73, 0x77, 0x69, 0x7a, 0x7a, 0x6c, 0x65, 0x73, 0x5b, 0x6b, 0x65, + 0x79, 0x3a, 0x73, 0x75, 0x62, 0x28, 0x34, 0x2c, 0x20, 0x34, 0x29, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x63, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, + 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x34, 0x28, 0x76, 0x5b, 0x61, + 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x62, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x63, + 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x64, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, + 0x65, 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, + 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, + 0x20, 0x3c, 0x3d, 0x20, 0x34, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x76, 0x5b, 0x6b, 0x65, 0x79, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, + 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x65, + 0x78, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x25, 0x71, 0x20, 0x6f, + 0x66, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x28, 0x69, 0x6e, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x29, 0x27, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, + 0x29, 0x29, 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x0a, 0x7d, 0x0a, 0x0a, 0x0a, 0x71, 0x75, 0x61, 0x74, 0x20, 0x3d, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x2c, 0x20, 0x72, 0x61, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, - 0x71, 0x75, 0x61, 0x74, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x20, - 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x71, 0x75, 0x61, 0x74, 0x20, 0x6f, - 0x72, 0x20, 0x76, 0x65, 0x63, 0x33, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, 0x20, 0x3d, - 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x33, 0x5d, - 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, - 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, - 0x72, 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, - 0x2a, 0x20, 0x72, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x71, - 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x20, 0x2b, - 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x31, 0x5d, - 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, - 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, - 0x72, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x32, - 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x71, - 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x32, 0x5d, 0x20, 0x2b, - 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x31, 0x5d, - 0x20, 0x2d, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, - 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x77, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, - 0x2a, 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x20, 0x2d, 0x20, 0x71, 0x5b, 0x30, - 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x71, - 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x31, 0x5d, 0x20, 0x2d, - 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x32, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x2c, - 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x2c, - 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x79, - 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, - 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x71, - 0x75, 0x61, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x76, 0x65, 0x63, 0x33, 0x27, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x71, 0x75, - 0x61, 0x74, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x28, 0x71, 0x2c, - 0x20, 0x76, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, - 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, - 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x71, 0x5b, 0x30, 0x5d, - 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, - 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, - 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, - 0x2b, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x33, - 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, - 0x20, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x3d, + 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x72, 0x61, + 0x77, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x71, 0x5b, 0x30, 0x5d, + 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x32, 0x5d, + 0x2c, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, + 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x31, 0x20, 0x2d, 0x20, 0x71, 0x5b, + 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x20, 0x3c, + 0x20, 0x2e, 0x30, 0x30, 0x30, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x31, + 0x20, 0x6f, 0x72, 0x20, 0x31, 0x20, 0x2f, 0x20, 0x73, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x32, + 0x20, 0x2a, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x61, 0x63, 0x6f, 0x73, + 0x28, 0x71, 0x5b, 0x33, 0x5d, 0x29, 0x2c, 0x20, 0x71, 0x5b, 0x30, 0x5d, + 0x20, 0x2a, 0x20, 0x73, 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, + 0x20, 0x73, 0x2c, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x73, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, - 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, - 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x32, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, + 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, + 0x20, 0x77, 0x2c, 0x20, 0x72, 0x61, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x78, 0x20, + 0x3d, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x2c, 0x20, + 0x71, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x2c, 0x20, + 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, + 0x20, 0x30, 0x2c, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, + 0x73, 0x65, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, + 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x72, 0x61, 0x77, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, + 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x32, 0x5d, + 0x2c, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, + 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x20, 0x3d, + 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x69, 0x6e, 0x28, 0x78, 0x20, + 0x2a, 0x20, 0x2e, 0x35, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x20, 0x3d, 0x20, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x63, 0x6f, 0x73, 0x28, 0x78, 0x20, 0x2a, + 0x20, 0x2e, 0x35, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x20, 0x3d, 0x20, 0x79, 0x20, 0x2a, 0x20, 0x79, 0x20, 0x2b, 0x20, + 0x7a, 0x20, 0x2a, 0x20, 0x7a, 0x20, 0x2b, 0x20, 0x77, 0x20, 0x2a, 0x20, + 0x77, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x3e, 0x20, 0x30, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x73, 0x20, 0x2f, 0x20, 0x6d, + 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, + 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, + 0x3d, 0x20, 0x73, 0x20, 0x2a, 0x20, 0x79, 0x2c, 0x20, 0x73, 0x20, 0x2a, + 0x20, 0x7a, 0x2c, 0x20, 0x73, 0x20, 0x2a, 0x20, 0x77, 0x2c, 0x20, 0x63, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x69, 0x73, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x6e, 0x69, + 0x6c, 0x2c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2c, 0x20, 0x76, + 0x65, 0x63, 0x33, 0x2c, 0x20, 0x71, 0x75, 0x61, 0x74, 0x2c, 0x20, 0x6f, + 0x72, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x6e, + 0x69, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x62, + 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x28, 0x6c, 0x6f, 0x76, 0x72, 0x5f, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x30, 0x2c, + 0x20, 0x30, 0x2c, 0x20, 0x2d, 0x31, 0x29, 0x2c, 0x20, 0x76, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x75, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x79, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x27, 0x6e, 0x69, + 0x6c, 0x20, 0x6f, 0x72, 0x20, 0x76, 0x65, 0x63, 0x33, 0x27, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x71, 0x75, + 0x61, 0x74, 0x5f, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x28, 0x71, + 0x2c, 0x20, 0x76, 0x2c, 0x20, 0x75, 0x29, 0x20, 0x2d, 0x2d, 0x20, 0x69, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, + 0x69, 0x66, 0x20, 0x69, 0x73, 0x71, 0x75, 0x61, 0x74, 0x28, 0x78, 0x29, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x78, 0x2c, 0x20, 0x31, + 0x2c, 0x20, 0x27, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x2c, 0x20, 0x71, 0x75, + 0x61, 0x74, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x27, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, + 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x32, 0x5d, + 0x2c, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x72, 0x5b, 0x30, + 0x5d, 0x2c, 0x20, 0x72, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x72, 0x5b, 0x32, + 0x5d, 0x2c, 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, + 0x20, 0x27, 0x6e, 0x69, 0x6c, 0x2c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x2c, 0x20, 0x71, 0x75, 0x61, + 0x74, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x27, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, + 0x74, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x4d, 0x61, 0x74, 0x34, 0x28, 0x71, + 0x2c, 0x20, 0x6d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, 0x71, 0x75, + 0x61, 0x74, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x72, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x71, 0x75, 0x61, 0x74, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, + 0x31, 0x2c, 0x20, 0x27, 0x71, 0x75, 0x61, 0x74, 0x20, 0x6f, 0x72, 0x20, + 0x76, 0x65, 0x63, 0x33, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x71, + 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x20, 0x2b, + 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x30, 0x5d, + 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, + 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, + 0x72, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x31, + 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x71, + 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x31, 0x5d, 0x20, 0x2b, + 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x30, 0x5d, + 0x20, 0x2d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, + 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, + 0x2a, 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x33, + 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x71, + 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x31, 0x5d, 0x20, 0x2d, + 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x30, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x77, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, + 0x72, 0x5b, 0x33, 0x5d, 0x20, 0x2d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, + 0x2a, 0x20, 0x72, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x71, 0x5b, 0x31, + 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x71, + 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x32, 0x5d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x71, + 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x71, + 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, + 0x7a, 0x2c, 0x20, 0x77, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x71, 0x75, 0x61, + 0x74, 0x20, 0x6f, 0x72, 0x20, 0x76, 0x65, 0x63, 0x33, 0x27, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x71, 0x75, 0x61, 0x74, + 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x28, 0x71, 0x2c, 0x20, 0x76, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x3d, 0x20, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, + 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x68, + 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, - 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x20, 0x7e, 0x3d, 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x6e, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x2f, 0x20, 0x6d, 0x61, 0x74, 0x68, - 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, - 0x32, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, - 0x5d, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6e, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, - 0x3d, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, + 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x29, + 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x3d, 0x20, 0x66, + 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, + 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x32, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x71, + 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, + 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x32, 0x5d, + 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, + 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x66, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, + 0x7e, 0x3d, 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x20, + 0x3d, 0x20, 0x31, 0x20, 0x2f, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, + 0x71, 0x72, 0x74, 0x28, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, + 0x3d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, + 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x71, 0x5b, + 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x33, 0x5d, + 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x78, + 0x20, 0x3d, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, + 0x2a, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, + 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x31, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, + 0x79, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x31, 0x5d, + 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, 0x32, 0x20, + 0x2a, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x30, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x64, 0x7a, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x2d, 0x20, 0x32, 0x20, 0x2a, + 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x30, 0x5d, + 0x20, 0x2d, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, + 0x2a, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2d, 0x64, 0x78, 0x2c, 0x20, 0x2d, + 0x64, 0x79, 0x2c, 0x20, 0x2d, 0x64, 0x7a, 0x0a, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x6a, 0x75, 0x67, + 0x61, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, + 0x3d, 0x20, 0x2d, 0x71, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x71, 0x5b, 0x31, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, + 0x2d, 0x71, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x6c, 0x65, 0x72, + 0x70, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, + 0x2c, 0x20, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x20, 0x3d, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x6f, 0x74, 0x20, + 0x3d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x30, + 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x72, + 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, + 0x20, 0x72, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x33, 0x5d, + 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x0a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x61, 0x62, 0x73, + 0x28, 0x64, 0x6f, 0x74, 0x29, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x64, 0x6f, 0x74, + 0x20, 0x3c, 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x2d, + 0x71, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, + 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x71, 0x5b, 0x31, 0x5d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x3d, + 0x20, 0x2d, 0x71, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x71, 0x5b, 0x33, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x74, 0x20, + 0x3d, 0x20, 0x2d, 0x64, 0x6f, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x54, 0x68, 0x65, 0x74, 0x61, 0x20, + 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x61, 0x63, 0x6f, 0x73, 0x28, + 0x64, 0x6f, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x73, 0x69, 0x6e, 0x48, 0x61, 0x6c, 0x66, 0x54, 0x68, + 0x65, 0x74, 0x61, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, + 0x69, 0x6e, 0x28, 0x31, 0x20, 0x2d, 0x20, 0x64, 0x6f, 0x74, 0x20, 0x2a, + 0x20, 0x64, 0x6f, 0x74, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x61, 0x62, 0x73, 0x28, 0x73, + 0x69, 0x6e, 0x48, 0x61, 0x6c, 0x66, 0x54, 0x68, 0x65, 0x74, 0x61, 0x29, + 0x20, 0x3c, 0x20, 0x2e, 0x30, 0x30, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, + 0x3d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x20, + 0x2b, 0x20, 0x72, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x3d, + 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x20, 0x2b, + 0x20, 0x72, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, - 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x71, 0x5b, - 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x20, 0x2b, 0x20, + 0x72, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x71, + 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x20, 0x2b, 0x20, 0x72, + 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, + 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x20, + 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x69, 0x6e, 0x28, 0x28, + 0x31, 0x20, 0x2d, 0x20, 0x74, 0x29, 0x20, 0x2a, 0x20, 0x68, 0x61, 0x6c, + 0x66, 0x54, 0x68, 0x65, 0x74, 0x61, 0x29, 0x20, 0x2f, 0x20, 0x73, 0x69, + 0x6e, 0x48, 0x61, 0x6c, 0x66, 0x54, 0x68, 0x65, 0x74, 0x61, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x20, 0x3d, + 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x69, 0x6e, 0x28, 0x74, 0x20, + 0x2a, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x54, 0x68, 0x65, 0x74, 0x61, 0x29, + 0x20, 0x2f, 0x20, 0x73, 0x69, 0x6e, 0x48, 0x61, 0x6c, 0x66, 0x54, 0x68, + 0x65, 0x74, 0x61, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, + 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x61, 0x20, + 0x2b, 0x20, 0x72, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x62, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x71, 0x5b, + 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x61, 0x20, 0x2b, 0x20, 0x72, 0x5b, 0x31, + 0x5d, 0x20, 0x2a, 0x20, 0x62, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, + 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, + 0x61, 0x20, 0x2b, 0x20, 0x72, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x62, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, + 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x61, 0x20, 0x2b, 0x20, 0x72, + 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x62, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, + 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, + 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x61, + 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x69, 0x73, 0x71, 0x75, 0x61, 0x74, 0x28, 0x62, 0x29, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, + 0x68, 0x2e, 0x71, 0x75, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3a, 0x6d, 0x75, + 0x6c, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x69, 0x66, 0x20, 0x69, 0x73, 0x76, 0x65, 0x63, 0x33, 0x28, 0x62, + 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x3a, 0x6d, 0x75, + 0x6c, 0x28, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x62, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, + 0x20, 0x61, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x20, + 0x6f, 0x6e, 0x20, 0x71, 0x75, 0x61, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x25, 0x73, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x29, 0x27, 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, + 0x62, 0x29, 0x29, 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6c, 0x65, 0x6e, 0x20, + 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, + 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x6c, 0x65, 0x6e, + 0x67, 0x74, 0x68, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, + 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x74, 0x6f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x64, 0x78, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x30, - 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, - 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, - 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x71, 0x5b, - 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2d, 0x20, - 0x32, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x71, - 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x64, 0x7a, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x2d, 0x20, 0x32, - 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, - 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x31, - 0x5d, 0x20, 0x2a, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x2d, 0x64, 0x78, 0x2c, - 0x20, 0x2d, 0x64, 0x79, 0x2c, 0x20, 0x2d, 0x64, 0x7a, 0x0a, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x6a, - 0x75, 0x67, 0x61, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, - 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, - 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x71, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x71, 0x5b, - 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, - 0x3d, 0x20, 0x2d, 0x71, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, - 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x6c, - 0x65, 0x72, 0x70, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x2c, 0x20, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x28, 0x27, 0x28, 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x2c, + 0x20, 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x29, 0x27, 0x2c, 0x20, 0x71, + 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x71, + 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x29, 0x0a, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6e, + 0x65, 0x77, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, + 0x20, 0x6b, 0x65, 0x79, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, - 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x6f, - 0x74, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x72, - 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, - 0x20, 0x72, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, 0x32, 0x5d, - 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x71, 0x5b, - 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x0a, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x61, - 0x62, 0x73, 0x28, 0x64, 0x6f, 0x74, 0x29, 0x20, 0x3e, 0x3d, 0x20, 0x31, + 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x78, + 0x27, 0x20, 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, + 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, + 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x79, 0x27, 0x20, + 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, + 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x6b, + 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x7a, 0x27, 0x20, 0x6f, 0x72, + 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x32, + 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, + 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x77, 0x27, 0x20, 0x6f, 0x72, 0x20, 0x6b, + 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x20, 0x74, 0x68, 0x65, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, + 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, + 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x20, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x25, 0x71, 0x20, + 0x6f, 0x66, 0x20, 0x71, 0x75, 0x61, 0x74, 0x20, 0x28, 0x69, 0x6e, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x2c, 0x20, 0x32, + 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, + 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, + 0x20, 0x6b, 0x65, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, + 0x20, 0x71, 0x75, 0x61, 0x74, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x71, 0x75, 0x61, 0x74, 0x5b, 0x6b, 0x65, + 0x79, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, + 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, + 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x78, 0x27, + 0x20, 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x64, - 0x6f, 0x74, 0x20, 0x3c, 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x3d, - 0x20, 0x2d, 0x71, 0x5b, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x71, 0x5b, 0x31, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x32, 0x5d, - 0x20, 0x3d, 0x20, 0x2d, 0x71, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x71, - 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x6f, - 0x74, 0x20, 0x3d, 0x20, 0x2d, 0x64, 0x6f, 0x74, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x54, 0x68, 0x65, 0x74, - 0x61, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x61, 0x63, 0x6f, - 0x73, 0x28, 0x64, 0x6f, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x69, 0x6e, 0x48, 0x61, 0x6c, 0x66, - 0x54, 0x68, 0x65, 0x74, 0x61, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, - 0x2e, 0x73, 0x69, 0x6e, 0x28, 0x31, 0x20, 0x2d, 0x20, 0x64, 0x6f, 0x74, - 0x20, 0x2a, 0x20, 0x64, 0x6f, 0x74, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x61, 0x62, 0x73, - 0x28, 0x73, 0x69, 0x6e, 0x48, 0x61, 0x6c, 0x66, 0x54, 0x68, 0x65, 0x74, - 0x61, 0x29, 0x20, 0x3c, 0x20, 0x2e, 0x30, 0x30, 0x31, 0x20, 0x74, 0x68, - 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, - 0x5d, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x2e, - 0x35, 0x20, 0x2b, 0x20, 0x72, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x2e, - 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x31, 0x5d, - 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, - 0x20, 0x2b, 0x20, 0x72, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, - 0x3d, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x20, - 0x2b, 0x20, 0x72, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x3d, - 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x20, 0x2b, - 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x0a, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x6b, + 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x79, 0x27, 0x20, 0x6f, 0x72, + 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, + 0x3d, 0x3d, 0x20, 0x27, 0x7a, 0x27, 0x20, 0x6f, 0x72, 0x20, 0x6b, 0x65, + 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, + 0x73, 0x65, 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, + 0x27, 0x77, 0x27, 0x20, 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, + 0x3d, 0x20, 0x34, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x71, 0x5b, + 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, + 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, + 0x25, 0x71, 0x20, 0x6f, 0x66, 0x20, 0x71, 0x75, 0x61, 0x74, 0x20, 0x28, + 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, + 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x7d, + 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, + 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, + 0x20, 0x72, 0x61, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x72, 0x61, 0x77, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, + 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6d, + 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6d, + 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6d, + 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x6d, + 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, + 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, + 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, + 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, + 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, 0x20, + 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x73, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, + 0x71, 0x72, 0x74, 0x28, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6d, + 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x2a, + 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x32, 0x5d, + 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x79, 0x20, + 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, + 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, + 0x2b, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x35, + 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x2a, 0x20, 0x6d, + 0x5b, 0x36, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x61, + 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x6d, 0x5b, 0x38, 0x5d, + 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, + 0x39, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x2b, 0x20, + 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x31, 0x30, + 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x6d, + 0x61, 0x74, 0x68, 0x2e, 0x61, 0x63, 0x6f, 0x73, 0x28, 0x28, 0x6d, 0x5b, + 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, + 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x20, 0x2f, + 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x61, 0x78, 0x2c, 0x20, 0x61, 0x79, 0x2c, 0x20, + 0x61, 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x2d, 0x20, + 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x2d, + 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, + 0x2d, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, + 0x74, 0x28, 0x61, 0x78, 0x20, 0x2a, 0x20, 0x61, 0x78, 0x20, 0x2b, 0x20, + 0x61, 0x79, 0x20, 0x2a, 0x20, 0x61, 0x79, 0x20, 0x2b, 0x20, 0x61, 0x7a, + 0x20, 0x2a, 0x20, 0x61, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x3e, + 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x61, 0x78, 0x20, 0x3d, 0x20, 0x61, 0x78, 0x20, + 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x79, 0x20, 0x3d, 0x20, 0x61, 0x79, + 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x7a, 0x20, 0x3d, 0x20, 0x61, + 0x7a, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x78, 0x2c, + 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x73, 0x78, 0x2c, 0x20, 0x73, + 0x79, 0x2c, 0x20, 0x73, 0x7a, 0x2c, 0x20, 0x61, 0x6e, 0x67, 0x6c, 0x65, + 0x2c, 0x20, 0x61, 0x78, 0x2c, 0x20, 0x61, 0x79, 0x2c, 0x20, 0x61, 0x7a, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x65, + 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x65, 0x74, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x28, 0x27, 0x23, 0x27, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, + 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x2e, 0x2e, + 0x2e, 0x20, 0x3d, 0x3d, 0x20, 0x6e, 0x69, 0x6c, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x6c, 0x66, + 0x3a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x28, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, + 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x2e, 0x2e, 0x2e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, + 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x32, + 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x20, 0x3d, 0x20, + 0x78, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x20, + 0x6d, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x2c, + 0x20, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x20, 0x3d, 0x20, 0x30, 0x2c, + 0x20, 0x78, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, + 0x39, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, + 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x30, + 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x33, + 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, + 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, + 0x30, 0x2c, 0x20, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x3d, 0x3d, + 0x20, 0x31, 0x36, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, + 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x33, + 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x35, + 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x37, + 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x39, + 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, + 0x31, 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, 0x20, + 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, + 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x2e, 0x2e, + 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, + 0x20, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x2e, 0x2e, 0x2e, 0x29, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x2e, 0x2e, 0x2e, 0x2c, + 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x66, + 0x69, 0x2e, 0x63, 0x6f, 0x70, 0x79, 0x28, 0x6d, 0x2c, 0x20, 0x6e, 0x2c, + 0x20, 0x36, 0x34, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x74, 0x79, 0x28, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x2d, 0x2d, 0x20, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x2e, + 0x2e, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, + 0x69, 0x73, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x29, 0x20, 0x74, 0x68, + 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, + 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, 0x6d, + 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, + 0x69, 0x20, 0x2b, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x33, + 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x78, + 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x69, 0x20, 0x2b, 0x20, 0x33, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x20, 0x53, 0x63, 0x61, + 0x6c, 0x65, 0x20, 0x2f, 0x20, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, + 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x69, 0x2c, + 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x66, 0x20, 0x69, 0x73, 0x71, 0x75, 0x61, 0x74, 0x28, 0x78, 0x29, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x78, 0x2c, + 0x20, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, + 0x65, 0x51, 0x75, 0x61, 0x74, 0x28, 0x6d, 0x2c, 0x20, 0x71, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x2d, 0x2d, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, + 0x79, 0x20, 0x34, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, + 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2c, 0x20, 0x61, 0x73, 0x73, 0x75, + 0x6d, 0x65, 0x20, 0x5b, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x61, + 0x78, 0x2c, 0x20, 0x61, 0x79, 0x2c, 0x20, 0x61, 0x7a, 0x5d, 0x20, 0x28, + 0x59, 0x49, 0x4b, 0x45, 0x53, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x28, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x20, 0x2d, 0x20, 0x69, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x33, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x77, 0x29, + 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, + 0x61, 0x74, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, + 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, + 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x69, 0x66, 0x20, 0x69, 0x73, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, + 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, + 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, + 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x2c, + 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, + 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, + 0x3d, 0x20, 0x69, 0x20, 0x2b, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x35, + 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x78, + 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x69, 0x20, 0x2b, 0x20, 0x33, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x20, 0x52, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x69, 0x66, 0x20, 0x73, 0x63, + 0x61, 0x6c, 0x65, 0x64, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, + 0x7a, 0x2c, 0x20, 0x77, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x28, 0x69, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, 0x71, 0x75, 0x61, + 0x74, 0x28, 0x78, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, + 0x74, 0x28, 0x78, 0x2c, 0x20, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, + 0x6f, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x61, 0x74, 0x28, 0x6d, 0x2c, + 0x20, 0x71, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, + 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, + 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, + 0x28, 0x6d, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, + 0x20, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, + 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, + 0x20, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x34, + 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x6e, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, + 0x74, 0x34, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, + 0x34, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x79, 0x28, 0x6d, + 0x2c, 0x20, 0x6e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, + 0x65, 0x69, 0x66, 0x20, 0x69, 0x73, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, + 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, + 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, + 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, + 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, + 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, + 0x2a, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, + 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, + 0x2a, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, + 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x76, + 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x2b, + 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x76, + 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x2b, + 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x36, 0x5d, + 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, + 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, + 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x3d, + 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x74, + 0x68, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, + 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, + 0x20, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, + 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x31, + 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x20, 0x6d, + 0x5b, 0x33, 0x5d, 0x20, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x20, 0x30, 0x2c, + 0x20, 0x30, 0x2c, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, + 0x34, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x20, + 0x6d, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, + 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x30, 0x2c, 0x20, + 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x2c, 0x20, + 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x30, + 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x30, + 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x30, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, + 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x2c, 0x20, 0x6d, + 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, + 0x20, 0x30, 0x2c, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x69, 0x6e, 0x76, 0x65, + 0x72, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, + 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x28, 0x6d, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, + 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, + 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x73, 0x65, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, + 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x31, 0x2c, 0x20, + 0x6d, 0x32, 0x2c, 0x20, 0x6d, 0x33, 0x2c, 0x20, 0x6d, 0x36, 0x2c, 0x20, + 0x6d, 0x37, 0x2c, 0x20, 0x6d, 0x31, 0x31, 0x20, 0x3d, 0x20, 0x6d, 0x5b, + 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, + 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, + 0x37, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x34, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x3d, + 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, + 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x31, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x3d, 0x20, + 0x6d, 0x5b, 0x39, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x37, + 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x32, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x3d, 0x20, 0x6d, + 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, + 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x33, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x6d, + 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x20, + 0x3d, 0x20, 0x6d, 0x31, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x78, + 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x28, 0x78, 0x29, 0x20, 0x7e, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, + 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, + 0x33, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x2c, 0x20, 0x79, + 0x2c, 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x78, 0x2e, 0x78, 0x2c, 0x20, 0x78, + 0x2e, 0x79, 0x2c, 0x20, 0x78, 0x2e, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, + 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x78, + 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x2a, 0x20, 0x79, 0x20, + 0x2b, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x2a, 0x20, 0x7a, 0x20, 0x2b, + 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, + 0x2a, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x2a, + 0x20, 0x79, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x2a, 0x20, + 0x7a, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, + 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x36, + 0x5d, 0x20, 0x2a, 0x20, 0x79, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x30, + 0x5d, 0x20, 0x2a, 0x20, 0x7a, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x34, + 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, + 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x20, 0x2b, + 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x2a, 0x20, 0x79, 0x20, 0x2b, 0x20, + 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x7a, 0x20, 0x2b, 0x20, + 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x72, 0x6f, 0x74, 0x61, + 0x74, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x61, 0x6e, 0x67, 0x6c, + 0x65, 0x2c, 0x20, 0x61, 0x78, 0x2c, 0x20, 0x61, 0x79, 0x2c, 0x20, 0x61, + 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, + 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x61, 0x6e, 0x67, + 0x6c, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, + 0x74, 0x61, 0x74, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x61, 0x6e, 0x67, 0x6c, + 0x65, 0x2c, 0x20, 0x61, 0x78, 0x2c, 0x20, 0x61, 0x79, 0x2c, 0x20, 0x61, + 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, + 0x75, 0x61, 0x74, 0x28, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x31, + 0x2c, 0x20, 0x27, 0x71, 0x75, 0x61, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, + 0x61, 0x74, 0x65, 0x51, 0x75, 0x61, 0x74, 0x28, 0x6d, 0x2c, 0x20, 0x61, + 0x6e, 0x67, 0x6c, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, + 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, + 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x3d, 0x20, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x2c, 0x20, 0x73, 0x78, 0x2c, 0x20, 0x73, 0x79, 0x2c, 0x20, 0x73, + 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, + 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x73, 0x78, 0x29, + 0x20, 0x7e, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, + 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x73, 0x78, + 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, 0x20, 0x6f, + 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x78, 0x2c, 0x20, 0x73, 0x79, 0x2c, + 0x20, 0x73, 0x7a, 0x20, 0x3d, 0x20, 0x73, 0x78, 0x2e, 0x78, 0x2c, 0x20, + 0x73, 0x78, 0x2e, 0x79, 0x2c, 0x20, 0x73, 0x78, 0x2e, 0x7a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x2a, + 0x20, 0x73, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, + 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x78, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, + 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x78, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, + 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x2a, + 0x20, 0x73, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x35, 0x5d, + 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x79, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x3d, 0x20, + 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x79, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x37, + 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x2a, + 0x20, 0x73, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x39, 0x5d, + 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x7a, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, + 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x7a, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x3d, 0x20, + 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x7a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, + 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, + 0x20, 0x6f, 0x72, 0x74, 0x68, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, + 0x63, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x2c, + 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x2c, + 0x20, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x2c, 0x20, 0x6e, 0x65, 0x61, + 0x72, 0x2c, 0x20, 0x66, 0x61, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x72, 0x6c, 0x20, 0x3d, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x2d, + 0x20, 0x6c, 0x65, 0x66, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x74, 0x62, 0x20, 0x3d, 0x20, 0x74, 0x6f, 0x70, + 0x20, 0x2d, 0x20, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x66, 0x6e, 0x20, 0x3d, + 0x20, 0x66, 0x61, 0x72, 0x20, 0x2d, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x32, + 0x20, 0x2f, 0x20, 0x72, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, + 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x2f, + 0x20, 0x74, 0x62, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x36, 0x5d, + 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x37, + 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, + 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x39, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x32, 0x20, 0x2f, + 0x20, 0x66, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x31, + 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, + 0x31, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x28, 0x6c, 0x65, 0x66, 0x74, + 0x20, 0x2b, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x29, 0x20, 0x2f, 0x20, + 0x72, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, + 0x20, 0x3d, 0x20, 0x2d, 0x28, 0x74, 0x6f, 0x70, 0x20, 0x2b, 0x20, 0x62, + 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x29, 0x20, 0x2f, 0x20, 0x74, 0x62, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, + 0x2d, 0x28, 0x66, 0x61, 0x72, 0x20, 0x2b, 0x20, 0x6e, 0x65, 0x61, 0x72, + 0x29, 0x20, 0x2f, 0x20, 0x66, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, + 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x70, + 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x2c, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x2c, 0x20, 0x66, 0x61, + 0x72, 0x2c, 0x20, 0x66, 0x6f, 0x76, 0x2c, 0x20, 0x61, 0x73, 0x70, 0x65, + 0x63, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, + 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x61, 0x6e, 0x67, + 0x65, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x74, 0x61, 0x6e, + 0x28, 0x66, 0x6f, 0x76, 0x20, 0x2a, 0x20, 0x2e, 0x35, 0x29, 0x20, 0x2a, + 0x20, 0x6e, 0x65, 0x61, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x73, 0x78, 0x20, 0x3d, 0x20, 0x28, 0x32, 0x20, + 0x2a, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x29, 0x20, 0x2f, 0x20, 0x28, 0x72, + 0x61, 0x6e, 0x67, 0x65, 0x20, 0x2a, 0x20, 0x61, 0x73, 0x70, 0x65, 0x63, + 0x74, 0x20, 0x2b, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x2a, 0x20, + 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x79, 0x20, 0x3d, 0x20, 0x6e, + 0x65, 0x61, 0x72, 0x20, 0x2f, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x7a, + 0x20, 0x3d, 0x20, 0x2d, 0x28, 0x66, 0x61, 0x72, 0x20, 0x2b, 0x20, 0x6e, + 0x65, 0x61, 0x72, 0x29, 0x20, 0x2f, 0x20, 0x28, 0x66, 0x61, 0x72, 0x20, + 0x2d, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x7a, 0x20, 0x3d, 0x20, 0x28, + 0x2d, 0x32, 0x20, 0x2a, 0x20, 0x66, 0x61, 0x72, 0x20, 0x2a, 0x20, 0x6e, + 0x65, 0x61, 0x72, 0x29, 0x20, 0x2f, 0x20, 0x28, 0x66, 0x61, 0x72, 0x20, + 0x2d, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x78, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, + 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x3d, + 0x20, 0x73, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x36, 0x5d, + 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x37, + 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, + 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x39, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x7a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x2d, + 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x20, + 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x33, + 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, + 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x70, 0x7a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, + 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, + 0x20, 0x66, 0x6f, 0x76, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6c, 0x65, + 0x66, 0x74, 0x2c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x75, + 0x70, 0x2c, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x2c, 0x20, 0x6e, 0x65, 0x61, + 0x72, 0x2c, 0x20, 0x66, 0x61, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, + 0x69, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x2f, 0x20, 0x28, 0x72, + 0x69, 0x67, 0x68, 0x74, 0x20, 0x2d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x29, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, + 0x64, 0x79, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x2f, 0x20, 0x28, 0x64, 0x6f, + 0x77, 0x6e, 0x20, 0x2d, 0x20, 0x75, 0x70, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x7a, 0x20, 0x3d, + 0x20, 0x31, 0x20, 0x2f, 0x20, 0x28, 0x66, 0x61, 0x72, 0x20, 0x2d, 0x20, + 0x6e, 0x65, 0x61, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x73, 0x78, 0x20, 0x3d, 0x20, 0x72, 0x69, 0x67, + 0x68, 0x74, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x79, 0x20, 0x3d, + 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x2b, 0x20, 0x75, 0x70, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x32, 0x20, + 0x2a, 0x20, 0x69, 0x64, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, + 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x2a, + 0x20, 0x69, 0x64, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x36, + 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, + 0x37, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x78, 0x20, 0x2a, 0x20, 0x69, + 0x64, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, + 0x3d, 0x20, 0x73, 0x79, 0x20, 0x2a, 0x20, 0x69, 0x64, 0x79, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x2d, + 0x66, 0x61, 0x72, 0x20, 0x2a, 0x20, 0x69, 0x64, 0x7a, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x31, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x3d, + 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, + 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, + 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x66, 0x61, 0x72, 0x20, 0x2a, 0x20, + 0x6e, 0x65, 0x61, 0x72, 0x20, 0x2a, 0x20, 0x69, 0x64, 0x7a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x30, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, + 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x41, 0x74, 0x20, 0x3d, 0x20, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, + 0x66, 0x2c, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x2c, 0x20, 0x74, 0x6f, 0x2c, + 0x20, 0x75, 0x70, 0x29, 0x20, 0x2d, 0x2d, 0x20, 0x46, 0x72, 0x6f, 0x6d, + 0x20, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65, 0x2f, 0x63, + 0x70, 0x6d, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, + 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x7a, 0x20, 0x3d, 0x20, + 0x28, 0x74, 0x6f, 0x20, 0x2d, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x29, 0x3a, + 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, 0x20, + 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, + 0x76, 0x65, 0x63, 0x33, 0x28, 0x75, 0x70, 0x29, 0x3a, 0x63, 0x72, 0x6f, + 0x73, 0x73, 0x28, 0x7a, 0x29, 0x3a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, + 0x69, 0x7a, 0x65, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, + 0x63, 0x61, 0x6c, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x7a, 0x3a, 0x63, 0x72, + 0x6f, 0x73, 0x73, 0x28, 0x78, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2e, 0x78, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x79, 0x2e, 0x78, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, + 0x7a, 0x2e, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x33, 0x5d, + 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x34, + 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2e, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x79, 0x2e, 0x79, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x3d, 0x20, 0x7a, 0x2e, + 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x3d, + 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, + 0x3d, 0x20, 0x78, 0x2e, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, + 0x39, 0x5d, 0x20, 0x3d, 0x20, 0x79, 0x2e, 0x7a, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x7a, 0x2e, 0x7a, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x3d, + 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, + 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, + 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, + 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x31, 0x0a, 0x20, + 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6d, + 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, + 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6f, + 0x74, 0x68, 0x65, 0x72, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x61, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x69, 0x6e, - 0x28, 0x28, 0x31, 0x20, 0x2d, 0x20, 0x74, 0x29, 0x20, 0x2a, 0x20, 0x68, - 0x61, 0x6c, 0x66, 0x54, 0x68, 0x65, 0x74, 0x61, 0x29, 0x20, 0x2f, 0x20, - 0x73, 0x69, 0x6e, 0x48, 0x61, 0x6c, 0x66, 0x54, 0x68, 0x65, 0x74, 0x61, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x62, - 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x69, 0x6e, 0x28, - 0x74, 0x20, 0x2a, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x54, 0x68, 0x65, 0x74, - 0x61, 0x29, 0x20, 0x2f, 0x20, 0x73, 0x69, 0x6e, 0x48, 0x61, 0x6c, 0x66, - 0x54, 0x68, 0x65, 0x74, 0x61, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, - 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, - 0x61, 0x20, 0x2b, 0x20, 0x72, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x62, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, - 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x61, 0x20, 0x2b, 0x20, 0x72, - 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x62, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x71, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x20, - 0x2a, 0x20, 0x61, 0x20, 0x2b, 0x20, 0x72, 0x5b, 0x32, 0x5d, 0x20, 0x2a, - 0x20, 0x62, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, - 0x3d, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x61, 0x20, 0x2b, - 0x20, 0x72, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x62, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, - 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, - 0x5f, 0x5f, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, - 0x28, 0x61, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x69, 0x73, 0x71, 0x75, 0x61, 0x74, 0x28, 0x62, 0x29, 0x20, - 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, - 0x61, 0x74, 0x68, 0x2e, 0x71, 0x75, 0x61, 0x74, 0x28, 0x61, 0x29, 0x3a, - 0x6d, 0x75, 0x6c, 0x28, 0x62, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x69, 0x73, 0x76, 0x65, 0x63, 0x33, - 0x28, 0x62, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x3a, - 0x6d, 0x75, 0x6c, 0x28, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x62, 0x29, 0x29, 0x0a, 0x20, + 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x6d, 0x61, + 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x3a, 0x6d, 0x75, 0x6c, + 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x69, 0x73, 0x76, 0x65, 0x63, + 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x6d, 0x75, 0x6c, 0x28, + 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, + 0x63, 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x65, 0x74, 0x69, - 0x63, 0x20, 0x6f, 0x6e, 0x20, 0x71, 0x75, 0x61, 0x74, 0x20, 0x61, 0x6e, + 0x63, 0x20, 0x6f, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x25, 0x73, 0x20, 0x28, 0x75, 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x29, 0x27, 0x2c, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x28, 0x62, 0x29, 0x29, 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6c, 0x65, - 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x6c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, - 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x74, 0x6f, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x73, 0x65, - 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x28, 0x25, 0x66, 0x2c, 0x20, 0x25, - 0x66, 0x2c, 0x20, 0x25, 0x66, 0x2c, 0x20, 0x25, 0x66, 0x29, 0x27, 0x2c, - 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x2c, - 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x71, 0x5b, 0x33, 0x5d, 0x29, - 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, - 0x5f, 0x6e, 0x65, 0x77, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, - 0x61, 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, - 0x27, 0x78, 0x27, 0x20, 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, - 0x3d, 0x20, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x71, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, - 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x79, - 0x27, 0x20, 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, - 0x32, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, - 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x7a, 0x27, 0x20, - 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, - 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, - 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x6b, - 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x77, 0x27, 0x20, 0x6f, 0x72, - 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x20, 0x74, 0x68, - 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x71, 0x5b, 0x33, - 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x25, - 0x71, 0x20, 0x6f, 0x66, 0x20, 0x71, 0x75, 0x61, 0x74, 0x20, 0x28, 0x69, - 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x2c, - 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, - 0x20, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x71, 0x75, 0x61, 0x74, 0x5b, 0x6b, 0x65, 0x79, 0x5d, - 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x71, 0x75, 0x61, 0x74, 0x5b, - 0x6b, 0x65, 0x79, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, - 0x74, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, - 0x78, 0x27, 0x20, 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, - 0x20, 0x31, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x71, 0x5b, 0x30, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, - 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x79, 0x27, 0x20, - 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x32, 0x20, - 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x71, 0x5b, 0x31, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x6b, 0x65, - 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x7a, 0x27, 0x20, 0x6f, 0x72, 0x20, - 0x6b, 0x65, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x74, 0x68, 0x65, - 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x71, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3d, - 0x3d, 0x20, 0x27, 0x77, 0x27, 0x20, 0x6f, 0x72, 0x20, 0x6b, 0x65, 0x79, - 0x20, 0x3d, 0x3d, 0x20, 0x34, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x71, 0x5b, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, - 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x20, 0x25, 0x71, 0x20, 0x6f, 0x66, 0x20, 0x71, - 0x75, 0x61, 0x74, 0x20, 0x28, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x65, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x29, 0x2c, 0x20, 0x32, + 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, + 0x5f, 0x5f, 0x6e, 0x65, 0x77, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, + 0x6c, 0x66, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x2c, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, + 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, + 0x65, 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, + 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, + 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x36, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x6b, 0x65, 0x79, 0x20, + 0x2d, 0x20, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, + 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x20, 0x25, 0x71, 0x20, 0x6f, 0x66, 0x20, 0x6d, + 0x61, 0x74, 0x34, 0x20, 0x28, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x0a, 0x7d, 0x0a, 0x0a, 0x6d, 0x61, 0x74, 0x34, 0x20, - 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, - 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, - 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x72, 0x61, 0x77, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, - 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, - 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x72, 0x61, 0x77, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x5b, - 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, - 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, - 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, - 0x36, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, - 0x38, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, - 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x2c, 0x20, - 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, - 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, - 0x35, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x5b, - 0x31, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, - 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x78, 0x20, 0x3d, 0x20, 0x6d, - 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x6d, 0x5b, 0x30, - 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x6d, - 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x2b, - 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x32, 0x5d, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x73, 0x79, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, - 0x73, 0x71, 0x72, 0x74, 0x28, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x2a, 0x20, - 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, - 0x2a, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x36, - 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x7a, - 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, - 0x28, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x38, 0x5d, - 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, - 0x39, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2a, - 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x6e, 0x67, 0x6c, - 0x65, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x61, 0x63, 0x6f, - 0x73, 0x28, 0x28, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, - 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2d, - 0x20, 0x31, 0x29, 0x20, 0x2f, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x61, 0x78, 0x2c, - 0x20, 0x61, 0x79, 0x2c, 0x20, 0x61, 0x7a, 0x20, 0x3d, 0x20, 0x6d, 0x5b, - 0x36, 0x5d, 0x20, 0x2d, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x6d, - 0x5b, 0x38, 0x5d, 0x20, 0x2d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, - 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x73, 0x71, 0x72, 0x74, 0x28, 0x61, 0x78, 0x20, 0x2a, 0x20, - 0x61, 0x78, 0x20, 0x2b, 0x20, 0x61, 0x79, 0x20, 0x2a, 0x20, 0x61, 0x79, - 0x20, 0x2b, 0x20, 0x61, 0x7a, 0x20, 0x2a, 0x20, 0x61, 0x7a, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x74, 0x68, 0x65, 0x6e, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x78, 0x20, - 0x3d, 0x20, 0x61, 0x78, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x79, - 0x20, 0x3d, 0x20, 0x61, 0x79, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, - 0x7a, 0x20, 0x3d, 0x20, 0x61, 0x7a, 0x20, 0x2f, 0x20, 0x6c, 0x65, 0x6e, - 0x67, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, - 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, - 0x73, 0x78, 0x2c, 0x20, 0x73, 0x79, 0x2c, 0x20, 0x73, 0x7a, 0x2c, 0x20, - 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x61, 0x78, 0x2c, 0x20, 0x61, - 0x79, 0x2c, 0x20, 0x61, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, - 0x64, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, - 0x73, 0x65, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, - 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, - 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x27, 0x23, 0x27, - 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x3d, 0x3d, 0x20, 0x6e, 0x69, - 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x73, 0x65, 0x6c, 0x66, 0x3a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, - 0x65, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x3d, 0x3d, - 0x20, 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, - 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, 0x20, - 0x3d, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, - 0x20, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x33, - 0x5d, 0x20, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, - 0x2c, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, - 0x34, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x20, - 0x6d, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, - 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x2c, 0x20, - 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x38, 0x5d, - 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, - 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x3d, - 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x30, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, - 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x34, - 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x30, - 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x78, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x20, 0x3d, 0x3d, 0x20, 0x31, 0x36, 0x20, 0x74, 0x68, 0x65, - 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, - 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x32, 0x5d, - 0x2c, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x34, 0x5d, - 0x2c, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x36, 0x5d, - 0x2c, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x38, 0x5d, - 0x2c, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x30, - 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, - 0x31, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, - 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, - 0x20, 0x3d, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x69, 0x73, 0x6d, 0x61, 0x74, 0x34, - 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, - 0x28, 0x2e, 0x2e, 0x2e, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x66, 0x66, 0x69, 0x2e, 0x63, 0x6f, 0x70, 0x79, 0x28, - 0x6d, 0x2c, 0x20, 0x6e, 0x2c, 0x20, 0x36, 0x34, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x31, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x3a, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x28, 0x29, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x20, 0x50, 0x6f, 0x73, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, - 0x7a, 0x20, 0x3d, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, 0x76, 0x65, 0x63, 0x33, 0x28, - 0x78, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, - 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, - 0x78, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, - 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, - 0x76, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x20, 0x3d, 0x20, 0x69, 0x20, 0x2b, 0x20, 0x31, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x2c, - 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x34, - 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, - 0x69, 0x20, 0x2b, 0x20, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, - 0x2d, 0x20, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x2f, 0x20, 0x52, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, - 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x28, 0x69, 0x2c, 0x20, 0x2e, 0x2e, 0x2e, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, 0x71, 0x75, - 0x61, 0x74, 0x28, 0x78, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, - 0x61, 0x74, 0x28, 0x78, 0x2c, 0x20, 0x69, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, - 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x61, 0x74, 0x28, 0x6d, - 0x2c, 0x20, 0x71, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x2d, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x65, - 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x34, 0x20, 0x61, 0x72, 0x67, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2c, - 0x20, 0x61, 0x73, 0x73, 0x75, 0x6d, 0x65, 0x20, 0x5b, 0x61, 0x6e, 0x67, - 0x6c, 0x65, 0x2c, 0x20, 0x61, 0x78, 0x2c, 0x20, 0x61, 0x79, 0x2c, 0x20, - 0x61, 0x7a, 0x5d, 0x20, 0x28, 0x59, 0x49, 0x4b, 0x45, 0x53, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, - 0x20, 0x28, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2d, 0x20, 0x69, 0x29, - 0x20, 0x3d, 0x3d, 0x20, 0x33, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x28, 0x77, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, - 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x28, 0x6d, 0x2c, 0x20, - 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x69, 0x73, 0x76, - 0x65, 0x63, 0x33, 0x28, 0x78, 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, - 0x65, 0x63, 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, - 0x6d, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, - 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, - 0x2c, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x69, 0x20, 0x2b, 0x20, 0x31, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, - 0x2c, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x30, - 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x20, 0x3d, 0x20, - 0x69, 0x20, 0x2b, 0x20, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, - 0x2d, 0x20, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, - 0x69, 0x66, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x78, - 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x20, 0x3d, 0x20, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x69, 0x2c, 0x20, 0x2e, 0x2e, - 0x2e, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, - 0x69, 0x73, 0x71, 0x75, 0x61, 0x74, 0x28, 0x78, 0x29, 0x20, 0x74, 0x68, - 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x71, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x78, 0x2c, 0x20, 0x69, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, - 0x61, 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, - 0x61, 0x74, 0x28, 0x6d, 0x2c, 0x20, 0x71, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x72, - 0x6f, 0x74, 0x61, 0x74, 0x65, 0x28, 0x6d, 0x2c, 0x20, 0x78, 0x2c, 0x20, - 0x79, 0x2c, 0x20, 0x7a, 0x2c, 0x20, 0x77, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, - 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, - 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, - 0x73, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, - 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x20, 0x3d, 0x20, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x2c, 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x43, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, - 0x70, 0x6c, 0x79, 0x28, 0x6d, 0x2c, 0x20, 0x6e, 0x29, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, 0x69, 0x73, 0x76, - 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x2c, - 0x20, 0x31, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, - 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, - 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, - 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, - 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x79, 0x20, 0x3d, 0x20, - 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, - 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x35, - 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x6d, - 0x5b, 0x39, 0x5d, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x7a, 0x20, 0x3d, 0x20, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x6d, - 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x20, 0x2a, - 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x76, 0x5b, 0x32, 0x5d, - 0x20, 0x2a, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x6d, - 0x5b, 0x31, 0x34, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, - 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x76, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x76, - 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, - 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, - 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x2c, - 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x32, - 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x20, 0x3d, 0x20, - 0x31, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, - 0x35, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x20, - 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x31, - 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x2c, 0x20, - 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x31, - 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x2c, - 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, - 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, - 0x34, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, - 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, - 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, - 0x20, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x43, - 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x69, 0x6e, 0x76, 0x65, 0x72, 0x74, - 0x28, 0x6d, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, - 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x70, - 0x6f, 0x73, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x6d, 0x31, 0x2c, 0x20, 0x6d, 0x32, 0x2c, 0x20, 0x6d, 0x33, 0x2c, - 0x20, 0x6d, 0x36, 0x2c, 0x20, 0x6d, 0x37, 0x2c, 0x20, 0x6d, 0x31, 0x31, - 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x32, - 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x36, - 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x6d, 0x5b, 0x31, - 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, - 0x3d, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, - 0x31, 0x32, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x34, 0x5d, - 0x20, 0x3d, 0x20, 0x6d, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, - 0x36, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, - 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, - 0x3d, 0x20, 0x6d, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x39, - 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x36, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x3d, - 0x20, 0x6d, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x33, - 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x37, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x31, 0x31, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, - 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, - 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x3d, - 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, - 0x6c, 0x66, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x78, 0x29, 0x20, 0x7e, 0x3d, - 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, - 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x76, 0x65, 0x63, 0x33, 0x28, 0x78, 0x2c, 0x20, 0x31, 0x2c, - 0x20, 0x27, 0x76, 0x65, 0x63, 0x33, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x78, - 0x2e, 0x78, 0x2c, 0x20, 0x78, 0x2e, 0x79, 0x2c, 0x20, 0x78, 0x2e, 0x7a, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x30, - 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x34, 0x5d, - 0x20, 0x2a, 0x20, 0x79, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, - 0x2a, 0x20, 0x7a, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x3d, 0x20, - 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x6d, - 0x5b, 0x35, 0x5d, 0x20, 0x2a, 0x20, 0x79, 0x20, 0x2b, 0x20, 0x6d, 0x5b, - 0x39, 0x5d, 0x20, 0x2a, 0x20, 0x7a, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, - 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, - 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, 0x78, 0x20, - 0x2b, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x2a, 0x20, 0x79, 0x20, 0x2b, - 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x7a, 0x20, 0x2b, - 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, - 0x2a, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x2a, - 0x20, 0x79, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x2a, - 0x20, 0x7a, 0x20, 0x2b, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, - 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, - 0x20, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, - 0x20, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x61, 0x78, 0x2c, 0x20, - 0x61, 0x79, 0x2c, 0x20, 0x61, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x28, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x29, 0x20, 0x3d, 0x3d, 0x20, - 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, - 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, - 0x74, 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x28, 0x6d, 0x2c, - 0x20, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x2c, 0x20, 0x61, 0x78, 0x2c, 0x20, - 0x61, 0x79, 0x2c, 0x20, 0x61, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x71, 0x75, 0x61, 0x74, 0x28, 0x61, 0x6e, 0x67, - 0x6c, 0x65, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x71, 0x75, 0x61, 0x74, - 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x2e, 0x6d, 0x61, 0x74, - 0x34, 0x5f, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x61, 0x74, - 0x28, 0x6d, 0x2c, 0x20, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, - 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x73, 0x63, 0x61, - 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x73, 0x78, 0x2c, 0x20, - 0x73, 0x79, 0x2c, 0x20, 0x73, 0x7a, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x28, 0x73, 0x78, 0x29, 0x20, 0x7e, 0x3d, 0x20, 0x27, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x76, 0x65, - 0x63, 0x33, 0x28, 0x73, 0x78, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x27, 0x76, - 0x65, 0x63, 0x33, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x27, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x78, - 0x2c, 0x20, 0x73, 0x79, 0x2c, 0x20, 0x73, 0x7a, 0x20, 0x3d, 0x20, 0x73, - 0x78, 0x2e, 0x78, 0x2c, 0x20, 0x73, 0x78, 0x2e, 0x79, 0x2c, 0x20, 0x73, - 0x78, 0x2e, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x6d, - 0x5b, 0x30, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x78, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x5d, - 0x20, 0x2a, 0x20, 0x73, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, - 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x2a, 0x20, - 0x73, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, - 0x3d, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x78, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x6d, - 0x5b, 0x34, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x79, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x35, 0x5d, - 0x20, 0x2a, 0x20, 0x73, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, - 0x36, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x2a, 0x20, - 0x73, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, - 0x3d, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x79, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x6d, - 0x5b, 0x38, 0x5d, 0x20, 0x2a, 0x20, 0x73, 0x7a, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x39, 0x5d, - 0x20, 0x2a, 0x20, 0x73, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, - 0x31, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, - 0x2a, 0x20, 0x73, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, - 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x2a, - 0x20, 0x73, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, - 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6f, 0x72, 0x74, 0x68, 0x6f, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, - 0x6c, 0x65, 0x66, 0x74, 0x2c, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, - 0x20, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, - 0x2c, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x2c, 0x20, 0x66, 0x61, 0x72, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x72, 0x6c, 0x20, 0x3d, 0x20, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x20, 0x2d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x74, 0x62, 0x20, - 0x3d, 0x20, 0x74, 0x6f, 0x70, 0x20, 0x2d, 0x20, 0x62, 0x6f, 0x74, 0x74, - 0x6f, 0x6d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x66, 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x72, 0x20, 0x2d, 0x20, - 0x6e, 0x65, 0x61, 0x72, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, - 0x5d, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x2f, 0x20, 0x72, 0x6c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x30, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, - 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x3d, - 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, - 0x3d, 0x20, 0x32, 0x20, 0x2f, 0x20, 0x74, 0x62, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x3d, 0x20, 0x30, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, - 0x20, 0x2d, 0x32, 0x20, 0x2f, 0x20, 0x66, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x2d, - 0x28, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x2b, 0x20, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x29, 0x20, 0x2f, 0x20, 0x72, 0x6c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x28, 0x74, 0x6f, - 0x70, 0x20, 0x2b, 0x20, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x29, 0x20, - 0x2f, 0x20, 0x74, 0x62, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, - 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x28, 0x66, 0x61, 0x72, 0x20, 0x2b, - 0x20, 0x6e, 0x65, 0x61, 0x72, 0x29, 0x20, 0x2f, 0x20, 0x66, 0x6e, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x3d, 0x20, - 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, - 0x0a, 0x0a, 0x20, 0x20, 0x70, 0x65, 0x72, 0x73, 0x70, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6e, 0x65, 0x61, - 0x72, 0x2c, 0x20, 0x66, 0x61, 0x72, 0x2c, 0x20, 0x66, 0x6f, 0x76, 0x2c, - 0x20, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x6d, 0x61, 0x74, - 0x68, 0x2e, 0x74, 0x61, 0x6e, 0x28, 0x66, 0x6f, 0x76, 0x20, 0x2a, 0x20, - 0x2e, 0x35, 0x29, 0x20, 0x2a, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x78, 0x20, - 0x3d, 0x20, 0x28, 0x32, 0x20, 0x2a, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x29, - 0x20, 0x2f, 0x20, 0x28, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x2a, 0x20, - 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x20, 0x2b, 0x20, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x20, 0x2a, 0x20, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, - 0x79, 0x20, 0x3d, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x20, 0x2f, 0x20, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x73, 0x7a, 0x20, 0x3d, 0x20, 0x2d, 0x28, 0x66, 0x61, - 0x72, 0x20, 0x2b, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x29, 0x20, 0x2f, 0x20, - 0x28, 0x66, 0x61, 0x72, 0x20, 0x2d, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, - 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x2d, 0x32, 0x20, 0x2a, 0x20, 0x66, 0x61, - 0x72, 0x20, 0x2a, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x29, 0x20, 0x2f, 0x20, - 0x28, 0x66, 0x61, 0x72, 0x20, 0x2d, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, - 0x73, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, - 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x32, 0x5d, - 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x33, - 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, - 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x5b, 0x35, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x79, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x3d, 0x20, 0x30, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x3d, - 0x20, 0x73, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x31, - 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x70, - 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, - 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, 0x65, 0x6e, - 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x66, 0x6f, 0x76, 0x20, 0x3d, 0x20, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x2c, 0x20, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x2c, 0x20, 0x75, 0x70, 0x2c, 0x20, 0x64, 0x6f, 0x77, 0x6e, - 0x2c, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x2c, 0x20, 0x66, 0x61, 0x72, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x2f, 0x20, 0x28, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x2d, 0x20, - 0x6c, 0x65, 0x66, 0x74, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x20, 0x69, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x2f, 0x20, 0x28, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x2d, 0x20, 0x75, 0x70, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, - 0x69, 0x64, 0x7a, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x2f, 0x20, 0x28, 0x66, - 0x61, 0x72, 0x20, 0x2d, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x78, 0x20, - 0x3d, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x2b, 0x20, 0x6c, 0x65, - 0x66, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x73, 0x79, 0x20, 0x3d, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x2b, - 0x20, 0x75, 0x70, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, - 0x20, 0x3d, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x69, 0x64, 0x78, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x30, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, - 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x3d, - 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, - 0x3d, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x69, 0x64, 0x79, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6d, 0x5b, 0x36, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x37, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x73, - 0x78, 0x20, 0x2a, 0x20, 0x69, 0x64, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x79, 0x20, 0x2a, 0x20, - 0x69, 0x64, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x30, - 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x66, 0x61, 0x72, 0x20, 0x2a, 0x20, 0x69, - 0x64, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x31, 0x5d, - 0x20, 0x3d, 0x20, 0x2d, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, - 0x31, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x2d, 0x66, - 0x61, 0x72, 0x20, 0x2a, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x20, 0x2a, 0x20, - 0x69, 0x64, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x35, - 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, 0x0a, 0x20, 0x20, - 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, - 0x41, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x66, 0x72, 0x6f, 0x6d, - 0x2c, 0x20, 0x74, 0x6f, 0x2c, 0x20, 0x75, 0x70, 0x29, 0x20, 0x2d, 0x2d, - 0x20, 0x46, 0x72, 0x6f, 0x6d, 0x20, 0x65, 0x78, 0x63, 0x65, 0x73, 0x73, - 0x69, 0x76, 0x65, 0x2f, 0x63, 0x70, 0x6d, 0x6c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x20, 0x7a, 0x20, 0x3d, 0x20, 0x28, 0x74, 0x6f, 0x20, 0x2d, 0x20, 0x66, - 0x72, 0x6f, 0x6d, 0x29, 0x3a, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, - 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x75, 0x70, - 0x29, 0x3a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x28, 0x7a, 0x29, 0x3a, 0x6e, - 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x79, 0x20, 0x3d, - 0x20, 0x7a, 0x3a, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x28, 0x78, 0x29, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x30, 0x5d, 0x20, 0x3d, 0x20, 0x78, - 0x2e, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x5d, 0x20, - 0x3d, 0x20, 0x79, 0x2e, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, - 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x7a, 0x2e, 0x78, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6d, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2e, 0x79, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x35, 0x5d, 0x20, 0x3d, 0x20, - 0x79, 0x2e, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x36, 0x5d, - 0x20, 0x3d, 0x20, 0x7a, 0x2e, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x5b, 0x37, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6d, 0x5b, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x2e, 0x7a, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x39, 0x5d, 0x20, 0x3d, 0x20, 0x79, 0x2e, - 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x30, 0x5d, 0x20, - 0x3d, 0x20, 0x7a, 0x2e, 0x7a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, - 0x31, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6d, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x3d, 0x20, - 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x5b, 0x31, 0x35, 0x5d, 0x20, - 0x3d, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, - 0x20, 0x20, 0x5f, 0x5f, 0x6d, 0x75, 0x6c, 0x20, 0x3d, 0x20, 0x66, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, - 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x69, 0x73, 0x6d, - 0x61, 0x74, 0x34, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, - 0x74, 0x68, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x29, 0x3a, 0x6d, 0x75, 0x6c, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x29, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x69, 0x66, 0x20, - 0x69, 0x73, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x29, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x65, 0x6c, 0x66, - 0x3a, 0x6d, 0x75, 0x6c, 0x28, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, - 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x28, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x29, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, - 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, - 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x72, 0x69, 0x74, - 0x68, 0x6d, 0x65, 0x74, 0x69, 0x63, 0x20, 0x6f, 0x6e, 0x20, 0x6d, 0x61, - 0x74, 0x34, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x25, 0x73, 0x20, 0x28, 0x75, - 0x6e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x29, 0x27, - 0x2c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x29, 0x29, 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, - 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x6e, 0x65, 0x77, 0x69, 0x6e, + 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, 0x2c, 0x20, 0x6b, 0x65, 0x79, - 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, - 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, - 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x36, 0x20, - 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x5b, 0x6b, 0x65, 0x79, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x20, 0x3d, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, - 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, - 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x20, 0x74, 0x6f, - 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x25, 0x71, - 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x28, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x2c, 0x20, - 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x2c, 0x0a, 0x0a, 0x20, - 0x20, 0x5f, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x73, 0x65, 0x6c, 0x66, - 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x66, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x20, - 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x5b, 0x6b, - 0x65, 0x79, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, - 0x20, 0x3d, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, - 0x28, 0x73, 0x65, 0x6c, 0x66, 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, - 0x20, 0x3d, 0x3d, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3e, 0x3d, 0x20, - 0x31, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3c, 0x3d, - 0x20, 0x31, 0x36, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x5b, - 0x6b, 0x65, 0x79, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x28, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x25, 0x71, 0x20, - 0x6f, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x28, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, 0x29, 0x2c, 0x20, 0x32, - 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x7d, 0x0a, 0x0a, 0x66, - 0x66, 0x69, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x28, - 0x76, 0x65, 0x63, 0x32, 0x5f, 0x74, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, - 0x29, 0x0a, 0x66, 0x66, 0x69, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x74, 0x79, - 0x70, 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x5f, 0x74, 0x2c, 0x20, 0x76, - 0x65, 0x63, 0x33, 0x29, 0x0a, 0x66, 0x66, 0x69, 0x2e, 0x6d, 0x65, 0x74, - 0x61, 0x74, 0x79, 0x70, 0x65, 0x28, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x74, - 0x2c, 0x20, 0x71, 0x75, 0x61, 0x74, 0x29, 0x0a, 0x66, 0x66, 0x69, 0x2e, - 0x6d, 0x65, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x28, 0x6d, 0x61, 0x74, - 0x34, 0x5f, 0x74, 0x2c, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x29, 0x0a, 0x0a, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x3d, 0x20, - 0x66, 0x66, 0x69, 0x2e, 0x6e, 0x65, 0x77, 0x0a, 0x6c, 0x6f, 0x76, 0x72, - 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x32, 0x20, 0x3d, - 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x2e, 0x2e, - 0x2e, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x28, 0x76, 0x65, 0x63, 0x32, 0x5f, - 0x74, 0x2c, 0x20, 0x43, 0x2e, 0x56, 0x45, 0x43, 0x32, 0x2c, 0x20, 0x32, - 0x29, 0x3a, 0x73, 0x65, 0x74, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x65, - 0x6e, 0x64, 0x0a, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, - 0x2e, 0x76, 0x65, 0x63, 0x33, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, + 0x29, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x6d, 0x61, 0x74, + 0x34, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x6d, 0x61, 0x74, 0x34, 0x5b, 0x6b, 0x65, 0x79, 0x5d, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x20, 0x3d, 0x20, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x74, 0x34, 0x28, 0x73, 0x65, 0x6c, 0x66, + 0x29, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, + 0x70, 0x65, 0x28, 0x6b, 0x65, 0x79, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x27, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x6b, 0x65, 0x79, 0x20, 0x3e, 0x3d, 0x20, 0x31, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x6b, 0x65, 0x79, 0x20, 0x3c, 0x3d, 0x20, 0x31, 0x36, 0x20, 0x74, + 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6d, 0x5b, 0x6b, 0x65, 0x79, 0x20, 0x2d, + 0x20, 0x31, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x28, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x28, 0x27, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, + 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x20, 0x25, 0x71, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, + 0x28, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x29, 0x27, 0x2c, 0x20, 0x6b, 0x65, 0x79, + 0x29, 0x2c, 0x20, 0x32, 0x29, 0x0a, 0x20, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x7d, 0x0a, 0x0a, 0x66, 0x66, 0x69, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x74, + 0x79, 0x70, 0x65, 0x28, 0x76, 0x65, 0x63, 0x32, 0x5f, 0x74, 0x2c, 0x20, + 0x76, 0x65, 0x63, 0x32, 0x29, 0x0a, 0x66, 0x66, 0x69, 0x2e, 0x6d, 0x65, + 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x5f, + 0x74, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x33, 0x29, 0x0a, 0x66, 0x66, 0x69, + 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, 0x28, 0x76, 0x65, + 0x63, 0x34, 0x5f, 0x74, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x34, 0x29, 0x0a, + 0x66, 0x66, 0x69, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x74, 0x79, 0x70, 0x65, + 0x28, 0x71, 0x75, 0x61, 0x74, 0x5f, 0x74, 0x2c, 0x20, 0x71, 0x75, 0x61, + 0x74, 0x29, 0x0a, 0x66, 0x66, 0x69, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x74, + 0x79, 0x70, 0x65, 0x28, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x74, 0x2c, 0x20, + 0x6d, 0x61, 0x74, 0x34, 0x29, 0x0a, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, + 0x20, 0x6e, 0x65, 0x77, 0x20, 0x3d, 0x20, 0x66, 0x66, 0x69, 0x2e, 0x6e, + 0x65, 0x77, 0x0a, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, + 0x2e, 0x76, 0x65, 0x63, 0x32, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x65, 0x28, 0x76, 0x65, 0x63, 0x33, 0x5f, 0x74, 0x2c, 0x20, 0x43, 0x2e, - 0x56, 0x45, 0x43, 0x33, 0x2c, 0x20, 0x34, 0x29, 0x3a, 0x73, 0x65, 0x74, + 0x65, 0x28, 0x76, 0x65, 0x63, 0x32, 0x5f, 0x74, 0x2c, 0x20, 0x43, 0x2e, + 0x56, 0x45, 0x43, 0x32, 0x2c, 0x20, 0x32, 0x29, 0x3a, 0x73, 0x65, 0x74, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x6c, 0x6f, - 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x71, 0x75, 0x61, 0x74, + 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x33, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x28, 0x71, 0x75, 0x61, - 0x74, 0x5f, 0x74, 0x2c, 0x20, 0x43, 0x2e, 0x51, 0x55, 0x41, 0x54, 0x2c, + 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x28, 0x76, 0x65, 0x63, + 0x33, 0x5f, 0x74, 0x2c, 0x20, 0x43, 0x2e, 0x56, 0x45, 0x43, 0x33, 0x2c, 0x20, 0x34, 0x29, 0x3a, 0x73, 0x65, 0x74, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, - 0x74, 0x68, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x3d, 0x20, 0x66, 0x75, + 0x74, 0x68, 0x2e, 0x76, 0x65, 0x63, 0x34, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x65, 0x28, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x74, 0x2c, 0x20, - 0x43, 0x2e, 0x4d, 0x41, 0x54, 0x34, 0x2c, 0x20, 0x31, 0x36, 0x29, 0x3a, - 0x73, 0x65, 0x74, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x65, 0x6e, 0x64, - 0x0a, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x64, - 0x72, 0x61, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x70, 0x6f, 0x6f, 0x6c, - 0x2e, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x30, 0x0a, - 0x20, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x62, 0x69, 0x74, 0x2e, - 0x62, 0x61, 0x6e, 0x64, 0x28, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2b, 0x20, 0x31, - 0x2c, 0x20, 0x32, 0x35, 0x35, 0x29, 0x0a, 0x65, 0x6e, 0x64, 0x0a + 0x61, 0x74, 0x65, 0x28, 0x76, 0x65, 0x63, 0x34, 0x5f, 0x74, 0x2c, 0x20, + 0x43, 0x2e, 0x56, 0x45, 0x43, 0x34, 0x2c, 0x20, 0x34, 0x29, 0x3a, 0x73, + 0x65, 0x74, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, + 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x71, 0x75, + 0x61, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x28, 0x71, + 0x75, 0x61, 0x74, 0x5f, 0x74, 0x2c, 0x20, 0x43, 0x2e, 0x51, 0x55, 0x41, + 0x54, 0x2c, 0x20, 0x34, 0x29, 0x3a, 0x73, 0x65, 0x74, 0x28, 0x2e, 0x2e, + 0x2e, 0x29, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x6c, 0x6f, 0x76, 0x72, 0x5f, + 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x3d, 0x20, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x2e, 0x2e, 0x2e, + 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x6c, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x65, 0x28, 0x6d, 0x61, 0x74, 0x34, 0x5f, 0x74, + 0x2c, 0x20, 0x43, 0x2e, 0x4d, 0x41, 0x54, 0x34, 0x2c, 0x20, 0x31, 0x36, + 0x29, 0x3a, 0x73, 0x65, 0x74, 0x28, 0x2e, 0x2e, 0x2e, 0x29, 0x20, 0x65, + 0x6e, 0x64, 0x0a, 0x6c, 0x6f, 0x76, 0x72, 0x5f, 0x6d, 0x61, 0x74, 0x68, + 0x2e, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x66, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x29, 0x0a, 0x20, 0x20, 0x70, 0x6f, + 0x6f, 0x6c, 0x2e, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x20, 0x3d, 0x20, + 0x30, 0x0a, 0x20, 0x20, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x62, 0x69, + 0x74, 0x2e, 0x62, 0x61, 0x6e, 0x64, 0x28, 0x70, 0x6f, 0x6f, 0x6c, 0x2e, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2b, + 0x20, 0x31, 0x2c, 0x20, 0x32, 0x35, 0x35, 0x29, 0x0a, 0x65, 0x6e, 0x64, + 0x0a }; -unsigned int math_lua_len = 26711; +unsigned int math_lua_len = 34129;