Module:Ustring

p = {}

for k, v in pairs(mw.ustring) do	p[k] = function(frame) local args, esc = {}, string.char(127,4,127,2) for _, v in ipairs(frame.args) do			table.insert(args, tonumber(v) or v:gsub("\\\\",esc):gsub("\\", ""):gsub(esc, "\\")) end if frame.args.tag then local tag = {name = frame.args.tag, content = mw.ustring[k](unpack(args)), args = {}} for x, y in pairs(frame.args) do				if type(x)~='number' and x~='tag' and not tag[x] then tag.args[x] = y end end return frame:extensionTag(tag) end return (mw.ustring[k](unpack(args))) end end

return p