int min_expand(int soff, int poff, int ep) {
			for (;;) {
				int res = match(soff, ep + 1);
				if (res != -1)
					return res;
				else if (soff < s.length() && singlematch(s.luaByte(soff), poff, ep))
					soff++;
				else
					return -1;
			}
		}