At the cost of making things slower yet..
T24YPQ4CQPMCXHRYVV6HBCJIJ6JLHSIEB5J76Y5NS5HXR6OQKT4AC
YSVXUISTXGRAN6MVGTECPEWD7ETCLCVPH4VSJCNZMJ7PI5AENRPQC
OOUCNHXBSUYBBBMBWWJZX3CRPXI2KNQWO24UJOO3IYORXK2MLAJQC
D7D6T2F3FRMONF627F2NV227T5KTZ4FOHZKROEIIA236U7FVASTQC
GQBUV2XOMEPMTXMPCBQWGGIUXGQDX77VTGPFIG6YT7G64ASOYHXQC
WRW43ITLCVJQ37KYCE4YKIW5XGRD2Q6XVLCPSH6M2YBRKSQVQ5CQC
RMJWZNWEUBCMCSB6D77IZHHBKSEKU66RJPOV6773GGHBATNF42IQC
end
end
function split(s)
local result = {}
for sub in s:gmatch("%S+") do
table.insert(result, sub)
end
return result
end
function match_all(s, subs)
for _,sub in ipairs(subs) do
if s:find(sub, 1, --[[literal pattern]] true) == nil then
return false
end
end
return true
end
function find_any(s, subs, start)
local result = nil
for _,sub in ipairs(subs) do
local i = s:find(sub, start, --[[literal pattern]] true)
if i then
if result == nil then
result = i
elseif i < result then
result = i
end
end