do local l=29 local function d()local d=l%2 l=bit32_bxor((l-d)/2,142*d)return d end for l=1,24,1 do local Z,z=0,nil for l=1,6,1 do z=z and(z*z)*2 or 1 Z=Z+d()*z end local w=d()*z sha3_RC_hi[l],sha3_RC_lo[l]=w,Z+w*hi_factor_keccak end end

do
	local sh_reg = 29
	local function next_bit()
		local r = sh_reg % 2
		sh_reg = bit32_bxor((sh_reg - r) / 2, 142 * r)
		return r
	end

	for idx = 1, 24 do
		local lo, m = 0, nil
		for _ = 1, 6 do
			m = m and m * m * 2 or 1
			lo = lo + next_bit() * m
		end

		local hi = next_bit() * m
		sha3_RC_hi[idx], sha3_RC_lo[idx] = hi, lo + hi * hi_factor_keccak
	end
end
