select toValidUTF8('') from system.numbers limit 10;
select toValidUTF8('some text') from system.numbers limit 10;
select toValidUTF8('какой-то текст') from system.numbers limit 10;
select toValidUTF8('\x00') from system.numbers limit 10;
select toValidUTF8('\x66') from system.numbers limit 10;
select toValidUTF8('\x7F') from system.numbers limit 10;
select toValidUTF8('\x00\x7F') from system.numbers limit 10;
select toValidUTF8('\x7F\x00') from system.numbers limit 10;
select toValidUTF8('\xC2\x80') from system.numbers limit 10;
select toValidUTF8('\xDF\xBF') from system.numbers limit 10;
select toValidUTF8('\xE0\xA0\x80') from system.numbers limit 10;
select toValidUTF8('\xE0\xA0\xBF') from system.numbers limit 10;
select toValidUTF8('\xED\x9F\x80') from system.numbers limit 10;
select toValidUTF8('\xEF\x80\xBF') from system.numbers limit 10;
select toValidUTF8('\xF0\x90\xBF\x80') from system.numbers limit 10;
select toValidUTF8('\xF2\x81\xBE\x99') from system.numbers limit 10;
select toValidUTF8('\xF4\x8F\x88\xAA') from system.numbers limit 10;

select toValidUTF8('a') from system.numbers limit 10;
select toValidUTF8('\xc3\xb1') from system.numbers limit 10;
select toValidUTF8('\xe2\x82\xa1') from system.numbers limit 10;
select toValidUTF8('\xf0\x90\x8c\xbc') from system.numbers limit 10;
select toValidUTF8('안녕하세요, 세상') from system.numbers limit 10;

select toValidUTF8('\xc3\x28') from system.numbers limit 10;
select toValidUTF8('\xa0\xa1') from system.numbers limit 10;
select toValidUTF8('\xe2\x28\xa1') from system.numbers limit 10;
select toValidUTF8('\xe2\x82\x28') from system.numbers limit 10;
select toValidUTF8('\xf0\x28\x8c\xbc') from system.numbers limit 10;
select toValidUTF8('\xf0\x90\x28\xbc') from system.numbers limit 10;
select toValidUTF8('\xf0\x28\x8c\x28') from system.numbers limit 10;
select toValidUTF8('\xc0\x9f') from system.numbers limit 10;
select toValidUTF8('\xf5\xff\xff\xff') from system.numbers limit 10;
select toValidUTF8('\xed\xa0\x81') from system.numbers limit 10;
select toValidUTF8('\xf8\x90\x80\x80\x80') from system.numbers limit 10;
select toValidUTF8('12345678901234\xed') from system.numbers limit 10;
select toValidUTF8('123456789012345\xed') from system.numbers limit 10;
select toValidUTF8('123456789012345\xed123456789012345\xed') from system.numbers limit 10;
select toValidUTF8('123456789012345\xed\xed\xed\xed\xed\xed\xff\xff\xff\xff\xff\xff123456789012345\xed') from system.numbers limit 10;
select toValidUTF8('123456789012345\xf1') from system.numbers limit 10;
select toValidUTF8('123456789012345\xc2') from system.numbers limit 10;
select toValidUTF8('\xC2\x7F') from system.numbers limit 10;

select toValidUTF8('\x80') from system.numbers limit 10;
select toValidUTF8('\xBF') from system.numbers limit 10;
select toValidUTF8('\xC0\x80') from system.numbers limit 10;
select toValidUTF8('\xC1\x00') from system.numbers limit 10;
select toValidUTF8('\xC2\x7F') from system.numbers limit 10;
select toValidUTF8('\xDF\xC0') from system.numbers limit 10;
select toValidUTF8('\xE0\x9F\x80') from system.numbers limit 10;
select toValidUTF8('\xE0\xC2\x80') from system.numbers limit 10;
select toValidUTF8('\xED\xA0\x80') from system.numbers limit 10;
select toValidUTF8('\xED\x7F\x80') from system.numbers limit 10;
select toValidUTF8('\xEF\x80\x00') from system.numbers limit 10;
select toValidUTF8('\xF0\x8F\x80\x80') from system.numbers limit 10;
select toValidUTF8('\xF0\xEE\x80\x80') from system.numbers limit 10;
select toValidUTF8('\xF2\x90\x91\x7F') from system.numbers limit 10;
select toValidUTF8('\xF4\x90\x88\xAA') from system.numbers limit 10;
select toValidUTF8('\xF4\x00\xBF\xBF') from system.numbers limit 10;
select toValidUTF8('\x00\x00\x00\x00\x00\xC2\x80\x00\x00\x00\xE1\x80\x80\x00\x00\xC2\xC2\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') from system.numbers limit 10;
select toValidUTF8('\x00\x00\x00\x00\x00\xC2\xC2\x80\x00\x00\xE1\x80\x80\x00\x00\x00') from system.numbers limit 10;
select toValidUTF8('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF1\x80') from system.numbers limit 10;
select toValidUTF8('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF1') from system.numbers limit 10;
select toValidUTF8('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF1\x80\x80') from system.numbers limit 10;
select toValidUTF8('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF1\x80\xC2\x80') from system.numbers limit 10;
select toValidUTF8('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF0\x80\x80\x80') from system.numbers limit 10;


select 1 = isValidUTF8(toValidUTF8('')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('some text')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('какой-то текст')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x00')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x66')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x7F')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x00\x7F')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x7F\x00')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xC2\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xDF\xBF')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xE0\xA0\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xE0\xA0\xBF')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xED\x9F\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xEF\x80\xBF')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xF0\x90\xBF\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xF2\x81\xBE\x99')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xF4\x8F\x88\xAA')) from system.numbers limit 10;

select 1 = isValidUTF8(toValidUTF8('a')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xc3\xb1')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xe2\x82\xa1')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xf0\x90\x8c\xbc')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('안녕하세요, 세상')) from system.numbers limit 10;

select 1 = isValidUTF8(toValidUTF8('\xc3\x28')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xa0\xa1')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xe2\x28\xa1')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xe2\x82\x28')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xf0\x28\x8c\xbc')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xf0\x90\x28\xbc')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xf0\x28\x8c\x28')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xc0\x9f')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xf5\xff\xff\xff')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xed\xa0\x81')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xf8\x90\x80\x80\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('12345678901234\xed')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('123456789012345\xed')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('123456789012345\xed123456789012345\xed')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('123456789012345\xed\xed\xed\xed\xed\xed\xff\xff\xff\xff\xff\xff123456789012345\xed')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('123456789012345\xf1')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('123456789012345\xc2')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xC2\x7F')) from system.numbers limit 10;

select 1 = isValidUTF8(toValidUTF8('\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xBF')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xC0\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xC1\x00')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xC2\x7F')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xDF\xC0')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xE0\x9F\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xE0\xC2\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xED\xA0\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xED\x7F\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xEF\x80\x00')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xF0\x8F\x80\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xF0\xEE\x80\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xF2\x90\x91\x7F')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xF4\x90\x88\xAA')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\xF4\x00\xBF\xBF')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x00\x00\x00\x00\x00\xC2\x80\x00\x00\x00\xE1\x80\x80\x00\x00\xC2\xC2\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x00\x00\x00\x00\x00\xC2\xC2\x80\x00\x00\xE1\x80\x80\x00\x00\x00')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF1\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF1')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF1\x80\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF1\x80\xC2\x80')) from system.numbers limit 10;
select 1 = isValidUTF8(toValidUTF8('\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xF0\x80\x80\x80')) from system.numbers limit 10;

