local t_insert, t_remove, t_concat = table.insert, table.remove, table.concat;
local error, setmetatable, type = error, setmetatable, type;
-local ipairs, pairs, select, unpack = ipairs, pairs, select, unpack;
+local ipairs, pairs, select = ipairs, pairs, select;
+local unpack = table.unpack or unpack;
local tonumber, tostring = tonumber, tostring;
local require = require;
local ipairs, pairs, type, tostring, t_insert = ipairs, pairs, type, tostring, table.insert;
local debug_traceback = debug.traceback;
-local unpack, select = unpack, select;
+local select = select;
+local unpack = table.unpack or unpack;
local pcall = function(f, ...)
local n = select("#", ...);
local params = {...};