]> git.nihav.org Git - nihav.git/commitdiff
ultimotion: split out data arrays for the upcoming encoder
authorKostya Shishkov <kostya.shishkov@gmail.com>
Thu, 9 Apr 2026 16:03:55 +0000 (18:03 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Thu, 9 Apr 2026 16:03:55 +0000 (18:03 +0200)
nihav-misc/src/codecs/mod.rs
nihav-misc/src/codecs/ultidata.rs [copied from nihav-misc/src/codecs/ultimotion.rs with 91% similarity]
nihav-misc/src/codecs/ultimotion.rs

index 3144bf9a5caa090cf31568282ea0f1c750dea658..5e784fafedfd296e3b60596404faccede50a8120 100644 (file)
@@ -41,6 +41,8 @@ mod tealvid;
 
 #[cfg(feature="decoder_ultimotion")]
 mod ultimotion;
+#[cfg(feature="decoder_ultimotion")]
+mod ultidata;
 
 const DECODERS: &[DecoderInfo] = &[
 #[cfg(feature="decoder_adorage")]
similarity index 91%
copy from nihav-misc/src/codecs/ultimotion.rs
copy to nihav-misc/src/codecs/ultidata.rs
index ee540147faf1aceff5c40bf75bead1d97a667d28..b6e0f88ce60a8e7afc281776fb6ae9779f655ad9 100644 (file)
@@ -1,270 +1,4 @@
-use nihav_core::io::byteio::{ByteIO,MemoryReader};
-use nihav_core::io::bitreader::*;
-use nihav_core::codecs::*;
-use nihav_codec_support::codecs::HAMShuffler;
-
-trait ReadLuma {
-    fn read_y(&mut self) -> DecoderResult<u8>;
-}
-
-impl<'a> ReadLuma for BitReader<'a> {
-    fn read_y(&mut self) -> DecoderResult<u8> {
-        Ok(LUMA_MAP[self.read(6)? as usize])
-    }
-}
-
-struct UltimotionDecoder {
-    info:       NACodecInfoRef,
-    frmmgr:     HAMShuffler<u8>,
-    width:      usize,
-    height:     usize,
-}
-
-impl UltimotionDecoder {
-    fn new() -> Self {
-        Self {
-            info:       NACodecInfo::new_dummy(),
-            frmmgr:     HAMShuffler::new(),
-            width:      0,
-            height:     0,
-        }
-    }
-}
-
-fn paint_gradient(dst: &mut [u8], xoff: usize, yoff: usize, stride: usize, angle: u8, yy: [u8; 4]) {
-    for (row, prow) in dst.chunks_exact_mut(stride).skip(yoff)
-            .zip(PATTERN[usize::from(angle)].chunks_exact(4)) {
-        for (el, &idx) in row[xoff..][..4].iter_mut().zip(prow.iter()) {
-            *el = yy[usize::from(idx)];
-        }
-    }
-}
-
-impl NADecoder for UltimotionDecoder {
-    fn init(&mut self, _supp: &mut NADecoderSupport, info: NACodecInfoRef) -> DecoderResult<()> {
-        if let NACodecTypeInfo::Video(vinfo) = info.get_properties() {
-            let w = vinfo.get_width();
-            let h = vinfo.get_height();
-            self.width = w;
-            self.height = h;
-            let myinfo = NACodecTypeInfo::Video(NAVideoInfo::new(w, h, false, YUV410_FORMAT));
-            self.info = NACodecInfo::new_ref(info.get_name(), myinfo, info.get_extradata()).into_ref();
-            Ok(())
-        } else {
-            Err(DecoderError::InvalidData)
-        }
-    }
-    fn decode(&mut self, _supp: &mut NADecoderSupport, pkt: &NAPacket) -> DecoderResult<NAFrameRef> {
-        let src = pkt.get_buffer();
-        validate!(!src.is_empty() && src[src.len() - 1] == 0x73);
-        let mut br = MemoryReader::new_read(&src);
-
-        let mut buf = if pkt.is_keyframe() {
-                let vinfo = self.info.get_properties().get_video_info().unwrap();
-                let bufinfo = alloc_video_buffer(vinfo, 3)?;
-                bufinfo.get_vbuf().unwrap()
-            } else if let Some(vbuf) = self.frmmgr.clone_ref() {
-                vbuf
-            } else {
-                return Err(DecoderError::MissingReference);
-            };
-        let frm = NASimpleVideoFrame::from_video_buf(&mut buf).unwrap();
-        let uvsplit = frm.offset[1].min(frm.offset[2]);
-        let (luma, chroma) = frm.data.split_at_mut(uvsplit);
-        let mut mode0 = true;
-        let mut uniq_c = false;
-        let mut uniq_c_perm = false;
-        let mut to_skip = 0;
-        let mut is_intra = true;
-        let mut uoff = frm.offset[1] - uvsplit;
-        let mut voff = frm.offset[2] - uvsplit;
-        let mut ybuf = [0; 12];
-        'dec: for ystrip in luma.chunks_exact_mut(frm.stride[0] * 8)
-                .take(self.height / 8) {
-            'row_loop: for x in (0..self.width).step_by(8) {
-                if to_skip > 0 {
-                    to_skip -= 1;
-                    continue;
-                }
-                let mut mode;
-                loop {
-                    mode = br.read_byte()?;
-                    if (mode & 0xF8) != 0x70 {
-                        break;
-                    }
-                    match mode & 0x7 {
-                        0 => {
-                            let new_mode = br.read_byte()?;
-                            validate!(new_mode < 2);
-                            mode0 = new_mode == 0;
-                        },
-                        1 => {
-                            uniq_c = true;
-                        },
-                        2 => {
-                            uniq_c_perm = !uniq_c_perm;
-                        },
-                        3 => {
-                            is_intra = false;
-                            break 'dec;
-                        },
-                        4 => {
-                            to_skip = br.read_byte()?;
-                            validate!(to_skip > 0);
-                            to_skip -= 1;
-                            is_intra = false;
-                            continue 'row_loop;
-                        },
-                        _ => {
-                            println!("unknown opcode {mode:02X}");
-                            return Err(DecoderError::InvalidData);
-                        },
-                    }
-                }
-                uniq_c |= uniq_c_perm;
-                let mut cval = if !uniq_c && mode != 0 { br.read_byte()? } else { 0 };
-                for (quad, &(xoff, yoff)) in [(0, 0), (0, 4), (4, 4), (4, 0)].iter().enumerate() {
-                    let qmode = (mode << (quad * 2)) >> 6;
-                    if uniq_c && qmode != 0 {
-                        cval = br.read_byte()?;
-                    }
-                    if qmode != 0 {
-                        chroma[uoff + (x + xoff) / 4 + (yoff / 4) * frm.stride[1]] = CHROMA_MAP[usize::from(cval >> 4)];
-                        chroma[voff + (x + xoff) / 4 + (yoff / 4) * frm.stride[2]] = CHROMA_MAP[usize::from(cval & 0xF)];
-                    }
-                    match (qmode, mode0) {
-                        (0, _) => { // unchanged quadrant
-                            is_intra = false;
-                        },
-                        (1, _) => { // homogeneous/shallow LTC quadrant
-                            const ANGLES: [u8; 4] = [0x0, 0x2, 0x6, 0xC];
-                            let m2 = br.read_byte()?;
-                            let mut angle = ANGLES[usize::from(m2 >> 6)];
-                            let y0 = usize::from(m2 & 0x3F);
-                            let y2 = if angle != 0 { (y0 + 1).min(0x3F) } else { y0 };
-                            let y0 = LUMA_MAP[y0];
-                            let y2 = LUMA_MAP[y2];
-                            let mut yy = [y0, y0, y2, y2];
-                            if (angle & 8) != 0 {
-                                yy.swap(0, 3);
-                                yy.swap(1, 2);
-                                angle &= 7;
-                            }
-                            paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], angle, yy);
-                        },
-                        (2, true) => { // LTC quadrant
-                            let m2 = br.read_u16be()?;
-                            let mut angle = (m2 >> 12) as u8;
-                            let mut yy = CODEBOOK[usize::from(m2 & 0xFFF)];
-                            for el in yy.iter_mut() {
-                                *el = LUMA_MAP[usize::from(*el)];
-                            }
-                            if (angle & 8) != 0 {
-                                yy.swap(0, 3);
-                                yy.swap(1, 2);
-                                angle &= 7;
-                            }
-                            paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], angle, yy);
-                        },
-                        (2, false) => { // subsampled 4-luminance quadrant
-                            br.read_buf(&mut ybuf[..3])?;
-                            let mut bbr = BitReader::new(&ybuf, BitReaderMode::BE);
-                            let mut yy = [0; 4];
-                            for el in yy.iter_mut() {
-                                *el = bbr.read_y()?;
-                            }
-                            paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], 0xA, yy);
-                        },
-                        (3, true) => { // statistical/extended LTC quadrant
-                            br.read_buf(&mut ybuf[..2])?;
-                            let mut bbr = BitReader::new(&ybuf, BitReaderMode::BE);
-                            let yone = LUMA_MAP[usize::from(br.read_byte()?.min(0x3F))];
-                            let ytwo = LUMA_MAP[usize::from(br.read_byte()?.min(0x3F))];
-                            if bbr.read_bool()? {
-                                let angle = bbr.read(3)? as u8;
-                                let mut yy = [0; 4];
-                                yy[0] = bbr.read_y()?;
-                                yy[1] = bbr.read_y()?;
-                                yy[2] = yone;
-                                yy[3] = ytwo;
-                                paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], angle, yy);
-                            } else {
-                                let mut pattern = bbr.read(15)? as usize;
-                                let yy = [yone, ytwo];
-                                for row in ystrip.chunks_exact_mut(frm.stride[0])
-                                        .skip(yoff).take(4) {
-                                    for el in row[x + xoff..][..4].iter_mut() {
-                                        *el = yy[(pattern >> 15) & 1];
-                                        pattern <<= 1;
-                                    }
-                                }
-                            }
-                        },
-                        (3, false) => { // 16-luminance quadrant
-                            br.read_buf(&mut ybuf)?;
-                            let mut bbr = BitReader::new(&ybuf, BitReaderMode::BE);
-                            for row in ystrip.chunks_exact_mut(frm.stride[0])
-                                    .skip(yoff).take(4) {
-                                for el in row[x + xoff..][..4].iter_mut() {
-                                    *el = bbr.read_y()?;
-                                }
-                            }
-                        },
-                        _ => unreachable!(),
-                    }
-                }
-                uniq_c = false;
-            }
-            uoff += 2 * frm.stride[1];
-            voff += 2 * frm.stride[2];
-        }
-        self.frmmgr.add_frame(buf.clone());
-
-        let mut frm = NAFrame::new_from_pkt(pkt, self.info.clone(), NABufferType::Video(buf));
-        frm.set_keyframe(is_intra);
-        frm.set_frame_type(if is_intra { FrameType::I } else { FrameType::P });
-        Ok(frm.into_ref())
-    }
-    fn flush(&mut self) {
-        self.frmmgr.clear();
-    }
-}
-
-impl NAOptionHandler for UltimotionDecoder {
-    fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] }
-    fn set_options(&mut self, _options: &[NAOption]) { }
-    fn query_option_value(&self, _name: &str) -> Option<NAValue> { None }
-}
-
-pub fn get_decoder() -> Box<dyn NADecoder + Send> {
-    Box::new(UltimotionDecoder::new())
-}
-
-#[cfg(test)]
-mod test {
-    use nihav_core::codecs::RegisteredDecoders;
-    use nihav_core::demuxers::RegisteredDemuxers;
-    use nihav_codec_support::test::dec_video::*;
-    use crate::*;
-    use nihav_commonfmt::generic_register_all_demuxers;
-    #[test]
-    fn test_ultimotion() {
-        let mut dmx_reg = RegisteredDemuxers::new();
-        generic_register_all_demuxers(&mut dmx_reg);
-        let mut dec_reg = RegisteredDecoders::new();
-        misc_register_all_decoders(&mut dec_reg);
-
-        // sample from https://samples.mplayerhq.hu/V-codecs/ULTI/hit12w.avi
-        test_decoding("avi", "ultimotion", "assets/Misc/hit12w.avi", Some(3), &dmx_reg,
-                     &dec_reg, ExpectedTestResult::MD5Frames(vec![
-                            [0x3e420232, 0x3575f4e3, 0x8cd70d09, 0x76b6ec33],
-                            [0xd0802190, 0x79769f38, 0xd6c9def3, 0xda61fe43],
-                            [0xc56c1aff, 0x4a8de0b0, 0xce778675, 0x81fe7265],
-                            [0x27c87c55, 0xa8c9077a, 0x1780fedf, 0x9f45d71b]]));
-    }
-}
-
-const LUMA_MAP: [u8; 64] = [
+pub static LUMA_MAP: [u8; 64] = [
     0x10, 0x13, 0x17, 0x1A, 0x1E, 0x21, 0x25, 0x28,
     0x2C, 0x2F, 0x33, 0x36, 0x3A, 0x3D, 0x41, 0x44,
     0x48, 0x4B, 0x4F, 0x52, 0x56, 0x59, 0x5C, 0x60,
@@ -274,12 +8,12 @@ const LUMA_MAP: [u8; 64] = [
     0xB7, 0xBA, 0xBE, 0xC1, 0xC5, 0xC8, 0xCC, 0xCF,
     0xD3, 0xD6, 0xDA, 0xDD, 0xE1, 0xE4, 0xE8, 0xEB
 ];
-const CHROMA_MAP: [u8; 16] = [
+pub static CHROMA_MAP: [u8; 16] = [
     0x60, 0x67, 0x6D, 0x73, 0x7A, 0x80, 0x86, 0x8D,
     0x93, 0x99, 0xA0, 0xA6, 0xAC, 0xB3, 0xB9, 0xC0
 ];
 
-static PATTERN: [[u8; 16]; 11] = [
+pub static PATTERN: [[u8; 16]; 11] = [
   [ // 0 - 0 degrees
     0, 1, 2, 3,
     0, 1, 2, 3,
@@ -338,7 +72,7 @@ static PATTERN: [[u8; 16]; 11] = [
   ]
 ];
 
-static CODEBOOK: [[u8; 4]; 4096] = [
+pub static CODEBOOK: [[u8; 4]; 4096] = [
     [ 0x00, 0x01, 0x01, 0x02 ],
     [ 0x00, 0x01, 0x02, 0x03 ],
     [ 0x00, 0x02, 0x03, 0x04 ],
dissimilarity index 91%
index ee540147faf1aceff5c40bf75bead1d97a667d28..1bc5a05ad2c7811acf7aa50e69412322d18459a4 100644 (file)
-use nihav_core::io::byteio::{ByteIO,MemoryReader};
-use nihav_core::io::bitreader::*;
-use nihav_core::codecs::*;
-use nihav_codec_support::codecs::HAMShuffler;
-
-trait ReadLuma {
-    fn read_y(&mut self) -> DecoderResult<u8>;
-}
-
-impl<'a> ReadLuma for BitReader<'a> {
-    fn read_y(&mut self) -> DecoderResult<u8> {
-        Ok(LUMA_MAP[self.read(6)? as usize])
-    }
-}
-
-struct UltimotionDecoder {
-    info:       NACodecInfoRef,
-    frmmgr:     HAMShuffler<u8>,
-    width:      usize,
-    height:     usize,
-}
-
-impl UltimotionDecoder {
-    fn new() -> Self {
-        Self {
-            info:       NACodecInfo::new_dummy(),
-            frmmgr:     HAMShuffler::new(),
-            width:      0,
-            height:     0,
-        }
-    }
-}
-
-fn paint_gradient(dst: &mut [u8], xoff: usize, yoff: usize, stride: usize, angle: u8, yy: [u8; 4]) {
-    for (row, prow) in dst.chunks_exact_mut(stride).skip(yoff)
-            .zip(PATTERN[usize::from(angle)].chunks_exact(4)) {
-        for (el, &idx) in row[xoff..][..4].iter_mut().zip(prow.iter()) {
-            *el = yy[usize::from(idx)];
-        }
-    }
-}
-
-impl NADecoder for UltimotionDecoder {
-    fn init(&mut self, _supp: &mut NADecoderSupport, info: NACodecInfoRef) -> DecoderResult<()> {
-        if let NACodecTypeInfo::Video(vinfo) = info.get_properties() {
-            let w = vinfo.get_width();
-            let h = vinfo.get_height();
-            self.width = w;
-            self.height = h;
-            let myinfo = NACodecTypeInfo::Video(NAVideoInfo::new(w, h, false, YUV410_FORMAT));
-            self.info = NACodecInfo::new_ref(info.get_name(), myinfo, info.get_extradata()).into_ref();
-            Ok(())
-        } else {
-            Err(DecoderError::InvalidData)
-        }
-    }
-    fn decode(&mut self, _supp: &mut NADecoderSupport, pkt: &NAPacket) -> DecoderResult<NAFrameRef> {
-        let src = pkt.get_buffer();
-        validate!(!src.is_empty() && src[src.len() - 1] == 0x73);
-        let mut br = MemoryReader::new_read(&src);
-
-        let mut buf = if pkt.is_keyframe() {
-                let vinfo = self.info.get_properties().get_video_info().unwrap();
-                let bufinfo = alloc_video_buffer(vinfo, 3)?;
-                bufinfo.get_vbuf().unwrap()
-            } else if let Some(vbuf) = self.frmmgr.clone_ref() {
-                vbuf
-            } else {
-                return Err(DecoderError::MissingReference);
-            };
-        let frm = NASimpleVideoFrame::from_video_buf(&mut buf).unwrap();
-        let uvsplit = frm.offset[1].min(frm.offset[2]);
-        let (luma, chroma) = frm.data.split_at_mut(uvsplit);
-        let mut mode0 = true;
-        let mut uniq_c = false;
-        let mut uniq_c_perm = false;
-        let mut to_skip = 0;
-        let mut is_intra = true;
-        let mut uoff = frm.offset[1] - uvsplit;
-        let mut voff = frm.offset[2] - uvsplit;
-        let mut ybuf = [0; 12];
-        'dec: for ystrip in luma.chunks_exact_mut(frm.stride[0] * 8)
-                .take(self.height / 8) {
-            'row_loop: for x in (0..self.width).step_by(8) {
-                if to_skip > 0 {
-                    to_skip -= 1;
-                    continue;
-                }
-                let mut mode;
-                loop {
-                    mode = br.read_byte()?;
-                    if (mode & 0xF8) != 0x70 {
-                        break;
-                    }
-                    match mode & 0x7 {
-                        0 => {
-                            let new_mode = br.read_byte()?;
-                            validate!(new_mode < 2);
-                            mode0 = new_mode == 0;
-                        },
-                        1 => {
-                            uniq_c = true;
-                        },
-                        2 => {
-                            uniq_c_perm = !uniq_c_perm;
-                        },
-                        3 => {
-                            is_intra = false;
-                            break 'dec;
-                        },
-                        4 => {
-                            to_skip = br.read_byte()?;
-                            validate!(to_skip > 0);
-                            to_skip -= 1;
-                            is_intra = false;
-                            continue 'row_loop;
-                        },
-                        _ => {
-                            println!("unknown opcode {mode:02X}");
-                            return Err(DecoderError::InvalidData);
-                        },
-                    }
-                }
-                uniq_c |= uniq_c_perm;
-                let mut cval = if !uniq_c && mode != 0 { br.read_byte()? } else { 0 };
-                for (quad, &(xoff, yoff)) in [(0, 0), (0, 4), (4, 4), (4, 0)].iter().enumerate() {
-                    let qmode = (mode << (quad * 2)) >> 6;
-                    if uniq_c && qmode != 0 {
-                        cval = br.read_byte()?;
-                    }
-                    if qmode != 0 {
-                        chroma[uoff + (x + xoff) / 4 + (yoff / 4) * frm.stride[1]] = CHROMA_MAP[usize::from(cval >> 4)];
-                        chroma[voff + (x + xoff) / 4 + (yoff / 4) * frm.stride[2]] = CHROMA_MAP[usize::from(cval & 0xF)];
-                    }
-                    match (qmode, mode0) {
-                        (0, _) => { // unchanged quadrant
-                            is_intra = false;
-                        },
-                        (1, _) => { // homogeneous/shallow LTC quadrant
-                            const ANGLES: [u8; 4] = [0x0, 0x2, 0x6, 0xC];
-                            let m2 = br.read_byte()?;
-                            let mut angle = ANGLES[usize::from(m2 >> 6)];
-                            let y0 = usize::from(m2 & 0x3F);
-                            let y2 = if angle != 0 { (y0 + 1).min(0x3F) } else { y0 };
-                            let y0 = LUMA_MAP[y0];
-                            let y2 = LUMA_MAP[y2];
-                            let mut yy = [y0, y0, y2, y2];
-                            if (angle & 8) != 0 {
-                                yy.swap(0, 3);
-                                yy.swap(1, 2);
-                                angle &= 7;
-                            }
-                            paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], angle, yy);
-                        },
-                        (2, true) => { // LTC quadrant
-                            let m2 = br.read_u16be()?;
-                            let mut angle = (m2 >> 12) as u8;
-                            let mut yy = CODEBOOK[usize::from(m2 & 0xFFF)];
-                            for el in yy.iter_mut() {
-                                *el = LUMA_MAP[usize::from(*el)];
-                            }
-                            if (angle & 8) != 0 {
-                                yy.swap(0, 3);
-                                yy.swap(1, 2);
-                                angle &= 7;
-                            }
-                            paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], angle, yy);
-                        },
-                        (2, false) => { // subsampled 4-luminance quadrant
-                            br.read_buf(&mut ybuf[..3])?;
-                            let mut bbr = BitReader::new(&ybuf, BitReaderMode::BE);
-                            let mut yy = [0; 4];
-                            for el in yy.iter_mut() {
-                                *el = bbr.read_y()?;
-                            }
-                            paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], 0xA, yy);
-                        },
-                        (3, true) => { // statistical/extended LTC quadrant
-                            br.read_buf(&mut ybuf[..2])?;
-                            let mut bbr = BitReader::new(&ybuf, BitReaderMode::BE);
-                            let yone = LUMA_MAP[usize::from(br.read_byte()?.min(0x3F))];
-                            let ytwo = LUMA_MAP[usize::from(br.read_byte()?.min(0x3F))];
-                            if bbr.read_bool()? {
-                                let angle = bbr.read(3)? as u8;
-                                let mut yy = [0; 4];
-                                yy[0] = bbr.read_y()?;
-                                yy[1] = bbr.read_y()?;
-                                yy[2] = yone;
-                                yy[3] = ytwo;
-                                paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], angle, yy);
-                            } else {
-                                let mut pattern = bbr.read(15)? as usize;
-                                let yy = [yone, ytwo];
-                                for row in ystrip.chunks_exact_mut(frm.stride[0])
-                                        .skip(yoff).take(4) {
-                                    for el in row[x + xoff..][..4].iter_mut() {
-                                        *el = yy[(pattern >> 15) & 1];
-                                        pattern <<= 1;
-                                    }
-                                }
-                            }
-                        },
-                        (3, false) => { // 16-luminance quadrant
-                            br.read_buf(&mut ybuf)?;
-                            let mut bbr = BitReader::new(&ybuf, BitReaderMode::BE);
-                            for row in ystrip.chunks_exact_mut(frm.stride[0])
-                                    .skip(yoff).take(4) {
-                                for el in row[x + xoff..][..4].iter_mut() {
-                                    *el = bbr.read_y()?;
-                                }
-                            }
-                        },
-                        _ => unreachable!(),
-                    }
-                }
-                uniq_c = false;
-            }
-            uoff += 2 * frm.stride[1];
-            voff += 2 * frm.stride[2];
-        }
-        self.frmmgr.add_frame(buf.clone());
-
-        let mut frm = NAFrame::new_from_pkt(pkt, self.info.clone(), NABufferType::Video(buf));
-        frm.set_keyframe(is_intra);
-        frm.set_frame_type(if is_intra { FrameType::I } else { FrameType::P });
-        Ok(frm.into_ref())
-    }
-    fn flush(&mut self) {
-        self.frmmgr.clear();
-    }
-}
-
-impl NAOptionHandler for UltimotionDecoder {
-    fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] }
-    fn set_options(&mut self, _options: &[NAOption]) { }
-    fn query_option_value(&self, _name: &str) -> Option<NAValue> { None }
-}
-
-pub fn get_decoder() -> Box<dyn NADecoder + Send> {
-    Box::new(UltimotionDecoder::new())
-}
-
-#[cfg(test)]
-mod test {
-    use nihav_core::codecs::RegisteredDecoders;
-    use nihav_core::demuxers::RegisteredDemuxers;
-    use nihav_codec_support::test::dec_video::*;
-    use crate::*;
-    use nihav_commonfmt::generic_register_all_demuxers;
-    #[test]
-    fn test_ultimotion() {
-        let mut dmx_reg = RegisteredDemuxers::new();
-        generic_register_all_demuxers(&mut dmx_reg);
-        let mut dec_reg = RegisteredDecoders::new();
-        misc_register_all_decoders(&mut dec_reg);
-
-        // sample from https://samples.mplayerhq.hu/V-codecs/ULTI/hit12w.avi
-        test_decoding("avi", "ultimotion", "assets/Misc/hit12w.avi", Some(3), &dmx_reg,
-                     &dec_reg, ExpectedTestResult::MD5Frames(vec![
-                            [0x3e420232, 0x3575f4e3, 0x8cd70d09, 0x76b6ec33],
-                            [0xd0802190, 0x79769f38, 0xd6c9def3, 0xda61fe43],
-                            [0xc56c1aff, 0x4a8de0b0, 0xce778675, 0x81fe7265],
-                            [0x27c87c55, 0xa8c9077a, 0x1780fedf, 0x9f45d71b]]));
-    }
-}
-
-const LUMA_MAP: [u8; 64] = [
-    0x10, 0x13, 0x17, 0x1A, 0x1E, 0x21, 0x25, 0x28,
-    0x2C, 0x2F, 0x33, 0x36, 0x3A, 0x3D, 0x41, 0x44,
-    0x48, 0x4B, 0x4F, 0x52, 0x56, 0x59, 0x5C, 0x60,
-    0x63, 0x67, 0x6A, 0x6E, 0x71, 0x75, 0x78, 0x7C,
-    0x7F, 0x83, 0x86, 0x8A, 0x8D, 0x91, 0x94, 0x98,
-    0x9B, 0x9F, 0xA2, 0xA5, 0xA9, 0xAC, 0xB0, 0xB3,
-    0xB7, 0xBA, 0xBE, 0xC1, 0xC5, 0xC8, 0xCC, 0xCF,
-    0xD3, 0xD6, 0xDA, 0xDD, 0xE1, 0xE4, 0xE8, 0xEB
-];
-const CHROMA_MAP: [u8; 16] = [
-    0x60, 0x67, 0x6D, 0x73, 0x7A, 0x80, 0x86, 0x8D,
-    0x93, 0x99, 0xA0, 0xA6, 0xAC, 0xB3, 0xB9, 0xC0
-];
-
-static PATTERN: [[u8; 16]; 11] = [
-  [ // 0 - 0 degrees
-    0, 1, 2, 3,
-    0, 1, 2, 3,
-    0, 1, 2, 3,
-    0, 1, 2, 3
-  ], [ // 1 - 22.5 degrees
-    1, 2, 3, 3,
-    0, 1, 2, 3,
-    0, 1, 2, 3,
-    0, 0, 1, 2
-  ], [ // 2 - 45 degrees
-    1, 2, 3, 3,
-    1, 2, 2, 3,
-    0, 1, 1, 2,
-    0, 0, 1, 2
-  ], [ // 3 - 67.5 degrees
-    2, 3, 3, 3,
-    1, 2, 2, 3,
-    0, 1, 1, 2,
-    0, 0, 0, 1
-  ], [ // 4 - 90 degrees
-    3, 3, 3, 3,
-    2, 2, 2, 2,
-    1, 1, 1, 1,
-    0, 0, 0, 0
-  ], [ // 5 - 112.5 degrees
-    3, 3, 3, 2,
-    3, 2, 2, 1,
-    2, 1, 1, 0,
-    1, 0, 0, 0
-  ], [ // 6 - 135 degrees
-    3, 3, 2, 2,
-    3, 2, 1, 1,
-    2, 2, 1, 0,
-    1, 1, 0, 0
-  ], [ // 7 - 157.5 degrees
-    3, 3, 2, 1,
-    3, 2, 1, 0,
-    3, 2, 1, 0,
-    2, 1, 0, 0
-  ], [ // special 0 - homogeneous
-    0, 0, 0, 0,
-    0, 0, 0, 0,
-    0, 0, 0, 0,
-    0, 0, 0, 0
-  ], [ // special 1 - 270 degrees
-    0, 0, 0, 0,
-    1, 1, 1, 1,
-    2, 2, 2, 2,
-    3, 3, 3, 3,
-  ], [ // special 2 - subsampled
-    0, 0, 1, 1,
-    0, 0, 1, 1,
-    2, 2, 3, 3,
-    2, 2, 3, 3
-  ]
-];
-
-static CODEBOOK: [[u8; 4]; 4096] = [
-    [ 0x00, 0x01, 0x01, 0x02 ],
-    [ 0x00, 0x01, 0x02, 0x03 ],
-    [ 0x00, 0x02, 0x03, 0x04 ],
-    [ 0x00, 0x01, 0x03, 0x04 ],
-    [ 0x00, 0x01, 0x02, 0x04 ],
-    [ 0x00, 0x02, 0x03, 0x05 ],
-    [ 0x00, 0x02, 0x04, 0x05 ],
-    [ 0x00, 0x01, 0x04, 0x05 ],
-    [ 0x00, 0x01, 0x03, 0x05 ],
-    [ 0x00, 0x02, 0x04, 0x06 ],
-    [ 0x00, 0x03, 0x05, 0x06 ],
-    [ 0x00, 0x01, 0x05, 0x06 ],
-    [ 0x00, 0x01, 0x03, 0x06 ],
-    [ 0x00, 0x06, 0x06, 0x06 ],
-    [ 0x00, 0x00, 0x06, 0x06 ],
-    [ 0x00, 0x00, 0x00, 0x06 ],
-    [ 0x00, 0x03, 0x04, 0x07 ],
-    [ 0x00, 0x03, 0x06, 0x07 ],
-    [ 0x00, 0x01, 0x06, 0x07 ],
-    [ 0x00, 0x01, 0x04, 0x07 ],
-    [ 0x00, 0x03, 0x05, 0x08 ],
-    [ 0x00, 0x04, 0x06, 0x08 ],
-    [ 0x00, 0x02, 0x06, 0x08 ],
-    [ 0x00, 0x02, 0x04, 0x08 ],
-    [ 0x00, 0x08, 0x08, 0x08 ],
-    [ 0x00, 0x00, 0x08, 0x08 ],
-    [ 0x00, 0x00, 0x00, 0x08 ],
-    [ 0x00, 0x04, 0x07, 0x0B ],
-    [ 0x00, 0x05, 0x09, 0x0B ],
-    [ 0x00, 0x02, 0x09, 0x0B ],
-    [ 0x00, 0x02, 0x06, 0x0B ],
-    [ 0x00, 0x0B, 0x0B, 0x0B ],
-    [ 0x00, 0x00, 0x0B, 0x0B ],
-    [ 0x00, 0x00, 0x00, 0x0B ],
-    [ 0x00, 0x05, 0x09, 0x0E ],
-    [ 0x00, 0x07, 0x0B, 0x0E ],
-    [ 0x00, 0x03, 0x0B, 0x0E ],
-    [ 0x00, 0x03, 0x07, 0x0E ],
-    [ 0x00, 0x0E, 0x0E, 0x0E ],
-    [ 0x00, 0x00, 0x0E, 0x0E ],
-    [ 0x00, 0x00, 0x00, 0x0E ],
-    [ 0x00, 0x06, 0x0B, 0x11 ],
-    [ 0x00, 0x08, 0x0D, 0x11 ],
-    [ 0x00, 0x04, 0x0D, 0x11 ],
-    [ 0x00, 0x04, 0x09, 0x11 ],
-    [ 0x00, 0x11, 0x11, 0x11 ],
-    [ 0x00, 0x00, 0x11, 0x11 ],
-    [ 0x00, 0x00, 0x00, 0x11 ],
-    [ 0x00, 0x07, 0x0D, 0x14 ],
-    [ 0x00, 0x0A, 0x0F, 0x14 ],
-    [ 0x00, 0x05, 0x0F, 0x14 ],
-    [ 0x00, 0x05, 0x0A, 0x14 ],
-    [ 0x00, 0x14, 0x14, 0x14 ],
-    [ 0x00, 0x00, 0x14, 0x14 ],
-    [ 0x00, 0x00, 0x00, 0x14 ],
-    [ 0x00, 0x0B, 0x12, 0x17 ],
-    [ 0x00, 0x05, 0x12, 0x17 ],
-    [ 0x00, 0x05, 0x0C, 0x17 ],
-    [ 0x00, 0x17, 0x17, 0x17 ],
-    [ 0x00, 0x00, 0x17, 0x17 ],
-    [ 0x00, 0x00, 0x00, 0x17 ],
-    [ 0x00, 0x0D, 0x14, 0x1A ],
-    [ 0x00, 0x06, 0x14, 0x1A ],
-    [ 0x00, 0x06, 0x0D, 0x1A ],
-    [ 0x00, 0x1A, 0x1A, 0x1A ],
-    [ 0x00, 0x00, 0x1A, 0x1A ],
-    [ 0x00, 0x00, 0x00, 0x1A ],
-    [ 0x00, 0x0E, 0x16, 0x1D ],
-    [ 0x00, 0x07, 0x16, 0x1D ],
-    [ 0x00, 0x07, 0x0F, 0x1D ],
-    [ 0x00, 0x1D, 0x1D, 0x1D ],
-    [ 0x00, 0x00, 0x1D, 0x1D ],
-    [ 0x00, 0x00, 0x00, 0x1D ],
-    [ 0x00, 0x10, 0x18, 0x20 ],
-    [ 0x00, 0x08, 0x18, 0x20 ],
-    [ 0x00, 0x08, 0x10, 0x20 ],
-    [ 0x00, 0x20, 0x20, 0x20 ],
-    [ 0x00, 0x00, 0x20, 0x20 ],
-    [ 0x00, 0x00, 0x00, 0x20 ],
-    [ 0x00, 0x23, 0x23, 0x23 ],
-    [ 0x00, 0x00, 0x23, 0x23 ],
-    [ 0x00, 0x00, 0x00, 0x23 ],
-    [ 0x00, 0x12, 0x1B, 0x24 ],
-    [ 0x00, 0x09, 0x1B, 0x24 ],
-    [ 0x00, 0x09, 0x12, 0x24 ],
-    [ 0x00, 0x28, 0x28, 0x28 ],
-    [ 0x00, 0x00, 0x28, 0x28 ],
-    [ 0x00, 0x00, 0x00, 0x28 ],
-    [ 0x00, 0x2E, 0x2E, 0x2E ],
-    [ 0x00, 0x00, 0x2E, 0x2E ],
-    [ 0x00, 0x00, 0x00, 0x2E ],
-    [ 0x01, 0x02, 0x02, 0x03 ],
-    [ 0x01, 0x02, 0x03, 0x04 ],
-    [ 0x01, 0x03, 0x04, 0x05 ],
-    [ 0x01, 0x02, 0x04, 0x05 ],
-    [ 0x01, 0x02, 0x03, 0x05 ],
-    [ 0x01, 0x03, 0x04, 0x06 ],
-    [ 0x01, 0x03, 0x05, 0x06 ],
-    [ 0x01, 0x02, 0x05, 0x06 ],
-    [ 0x01, 0x02, 0x04, 0x06 ],
-    [ 0x01, 0x03, 0x05, 0x07 ],
-    [ 0x01, 0x04, 0x06, 0x07 ],
-    [ 0x01, 0x02, 0x06, 0x07 ],
-    [ 0x01, 0x02, 0x04, 0x07 ],
-    [ 0x01, 0x07, 0x07, 0x07 ],
-    [ 0x01, 0x01, 0x07, 0x07 ],
-    [ 0x01, 0x01, 0x01, 0x07 ],
-    [ 0x01, 0x04, 0x05, 0x08 ],
-    [ 0x01, 0x04, 0x07, 0x08 ],
-    [ 0x01, 0x02, 0x07, 0x08 ],
-    [ 0x01, 0x02, 0x05, 0x08 ],
-    [ 0x01, 0x04, 0x06, 0x09 ],
-    [ 0x01, 0x05, 0x07, 0x09 ],
-    [ 0x01, 0x03, 0x07, 0x09 ],
-    [ 0x01, 0x03, 0x05, 0x09 ],
-    [ 0x01, 0x09, 0x09, 0x09 ],
-    [ 0x01, 0x01, 0x09, 0x09 ],
-    [ 0x01, 0x01, 0x01, 0x09 ],
-    [ 0x01, 0x05, 0x08, 0x0C ],
-    [ 0x01, 0x06, 0x0A, 0x0C ],
-    [ 0x01, 0x03, 0x0A, 0x0C ],
-    [ 0x01, 0x03, 0x07, 0x0C ],
-    [ 0x01, 0x0C, 0x0C, 0x0C ],
-    [ 0x01, 0x01, 0x0C, 0x0C ],
-    [ 0x01, 0x01, 0x01, 0x0C ],
-    [ 0x01, 0x06, 0x0A, 0x0F ],
-    [ 0x01, 0x08, 0x0C, 0x0F ],
-    [ 0x01, 0x04, 0x0C, 0x0F ],
-    [ 0x01, 0x04, 0x08, 0x0F ],
-    [ 0x01, 0x0F, 0x0F, 0x0F ],
-    [ 0x01, 0x01, 0x0F, 0x0F ],
-    [ 0x01, 0x01, 0x01, 0x0F ],
-    [ 0x01, 0x07, 0x0C, 0x12 ],
-    [ 0x01, 0x09, 0x0E, 0x12 ],
-    [ 0x01, 0x05, 0x0E, 0x12 ],
-    [ 0x01, 0x05, 0x0A, 0x12 ],
-    [ 0x01, 0x12, 0x12, 0x12 ],
-    [ 0x01, 0x01, 0x12, 0x12 ],
-    [ 0x01, 0x01, 0x01, 0x12 ],
-    [ 0x01, 0x08, 0x0E, 0x15 ],
-    [ 0x01, 0x0B, 0x10, 0x15 ],
-    [ 0x01, 0x06, 0x10, 0x15 ],
-    [ 0x01, 0x06, 0x0B, 0x15 ],
-    [ 0x01, 0x15, 0x15, 0x15 ],
-    [ 0x01, 0x01, 0x15, 0x15 ],
-    [ 0x01, 0x01, 0x01, 0x15 ],
-    [ 0x01, 0x0C, 0x13, 0x18 ],
-    [ 0x01, 0x06, 0x13, 0x18 ],
-    [ 0x01, 0x06, 0x0D, 0x18 ],
-    [ 0x01, 0x18, 0x18, 0x18 ],
-    [ 0x01, 0x01, 0x18, 0x18 ],
-    [ 0x01, 0x01, 0x01, 0x18 ],
-    [ 0x01, 0x0E, 0x15, 0x1B ],
-    [ 0x01, 0x07, 0x15, 0x1B ],
-    [ 0x01, 0x07, 0x0E, 0x1B ],
-    [ 0x01, 0x1B, 0x1B, 0x1B ],
-    [ 0x01, 0x01, 0x1B, 0x1B ],
-    [ 0x01, 0x01, 0x01, 0x1B ],
-    [ 0x01, 0x0F, 0x17, 0x1E ],
-    [ 0x01, 0x08, 0x17, 0x1E ],
-    [ 0x01, 0x08, 0x10, 0x1E ],
-    [ 0x01, 0x1E, 0x1E, 0x1E ],
-    [ 0x01, 0x01, 0x1E, 0x1E ],
-    [ 0x01, 0x01, 0x01, 0x1E ],
-    [ 0x01, 0x11, 0x19, 0x21 ],
-    [ 0x01, 0x09, 0x19, 0x21 ],
-    [ 0x01, 0x09, 0x11, 0x21 ],
-    [ 0x01, 0x21, 0x21, 0x21 ],
-    [ 0x01, 0x01, 0x21, 0x21 ],
-    [ 0x01, 0x01, 0x01, 0x21 ],
-    [ 0x01, 0x24, 0x24, 0x24 ],
-    [ 0x01, 0x01, 0x24, 0x24 ],
-    [ 0x01, 0x01, 0x01, 0x24 ],
-    [ 0x01, 0x13, 0x1C, 0x25 ],
-    [ 0x01, 0x0A, 0x1C, 0x25 ],
-    [ 0x01, 0x0A, 0x13, 0x25 ],
-    [ 0x01, 0x29, 0x29, 0x29 ],
-    [ 0x01, 0x01, 0x29, 0x29 ],
-    [ 0x01, 0x01, 0x01, 0x29 ],
-    [ 0x01, 0x2F, 0x2F, 0x2F ],
-    [ 0x01, 0x01, 0x2F, 0x2F ],
-    [ 0x01, 0x01, 0x01, 0x2F ],
-    [ 0x02, 0x03, 0x03, 0x04 ],
-    [ 0x02, 0x03, 0x04, 0x05 ],
-    [ 0x02, 0x04, 0x05, 0x06 ],
-    [ 0x02, 0x03, 0x05, 0x06 ],
-    [ 0x02, 0x03, 0x04, 0x06 ],
-    [ 0x02, 0x04, 0x05, 0x07 ],
-    [ 0x02, 0x04, 0x06, 0x07 ],
-    [ 0x02, 0x03, 0x06, 0x07 ],
-    [ 0x02, 0x03, 0x05, 0x07 ],
-    [ 0x02, 0x04, 0x06, 0x08 ],
-    [ 0x02, 0x05, 0x07, 0x08 ],
-    [ 0x02, 0x03, 0x07, 0x08 ],
-    [ 0x02, 0x03, 0x05, 0x08 ],
-    [ 0x02, 0x08, 0x08, 0x08 ],
-    [ 0x02, 0x02, 0x08, 0x08 ],
-    [ 0x02, 0x02, 0x02, 0x08 ],
-    [ 0x02, 0x05, 0x06, 0x09 ],
-    [ 0x02, 0x05, 0x08, 0x09 ],
-    [ 0x02, 0x03, 0x08, 0x09 ],
-    [ 0x02, 0x03, 0x06, 0x09 ],
-    [ 0x02, 0x05, 0x07, 0x0A ],
-    [ 0x02, 0x06, 0x08, 0x0A ],
-    [ 0x02, 0x04, 0x08, 0x0A ],
-    [ 0x02, 0x04, 0x06, 0x0A ],
-    [ 0x02, 0x0A, 0x0A, 0x0A ],
-    [ 0x02, 0x02, 0x0A, 0x0A ],
-    [ 0x02, 0x02, 0x02, 0x0A ],
-    [ 0x02, 0x06, 0x09, 0x0D ],
-    [ 0x02, 0x07, 0x0B, 0x0D ],
-    [ 0x02, 0x04, 0x0B, 0x0D ],
-    [ 0x02, 0x04, 0x08, 0x0D ],
-    [ 0x02, 0x0D, 0x0D, 0x0D ],
-    [ 0x02, 0x02, 0x0D, 0x0D ],
-    [ 0x02, 0x02, 0x02, 0x0D ],
-    [ 0x02, 0x07, 0x0B, 0x10 ],
-    [ 0x02, 0x09, 0x0D, 0x10 ],
-    [ 0x02, 0x05, 0x0D, 0x10 ],
-    [ 0x02, 0x05, 0x09, 0x10 ],
-    [ 0x02, 0x10, 0x10, 0x10 ],
-    [ 0x02, 0x02, 0x10, 0x10 ],
-    [ 0x02, 0x02, 0x02, 0x10 ],
-    [ 0x02, 0x08, 0x0D, 0x13 ],
-    [ 0x02, 0x0A, 0x0F, 0x13 ],
-    [ 0x02, 0x06, 0x0F, 0x13 ],
-    [ 0x02, 0x06, 0x0B, 0x13 ],
-    [ 0x02, 0x13, 0x13, 0x13 ],
-    [ 0x02, 0x02, 0x13, 0x13 ],
-    [ 0x02, 0x02, 0x02, 0x13 ],
-    [ 0x02, 0x09, 0x0F, 0x16 ],
-    [ 0x02, 0x0C, 0x11, 0x16 ],
-    [ 0x02, 0x07, 0x11, 0x16 ],
-    [ 0x02, 0x07, 0x0C, 0x16 ],
-    [ 0x02, 0x16, 0x16, 0x16 ],
-    [ 0x02, 0x02, 0x16, 0x16 ],
-    [ 0x02, 0x02, 0x02, 0x16 ],
-    [ 0x02, 0x0D, 0x14, 0x19 ],
-    [ 0x02, 0x07, 0x14, 0x19 ],
-    [ 0x02, 0x07, 0x0E, 0x19 ],
-    [ 0x02, 0x19, 0x19, 0x19 ],
-    [ 0x02, 0x02, 0x19, 0x19 ],
-    [ 0x02, 0x02, 0x02, 0x19 ],
-    [ 0x02, 0x0F, 0x16, 0x1C ],
-    [ 0x02, 0x08, 0x16, 0x1C ],
-    [ 0x02, 0x08, 0x0F, 0x1C ],
-    [ 0x02, 0x1C, 0x1C, 0x1C ],
-    [ 0x02, 0x02, 0x1C, 0x1C ],
-    [ 0x02, 0x02, 0x02, 0x1C ],
-    [ 0x02, 0x10, 0x18, 0x1F ],
-    [ 0x02, 0x09, 0x18, 0x1F ],
-    [ 0x02, 0x09, 0x11, 0x1F ],
-    [ 0x02, 0x1F, 0x1F, 0x1F ],
-    [ 0x02, 0x02, 0x1F, 0x1F ],
-    [ 0x02, 0x02, 0x02, 0x1F ],
-    [ 0x02, 0x12, 0x1A, 0x22 ],
-    [ 0x02, 0x0A, 0x1A, 0x22 ],
-    [ 0x02, 0x0A, 0x12, 0x22 ],
-    [ 0x02, 0x22, 0x22, 0x22 ],
-    [ 0x02, 0x02, 0x22, 0x22 ],
-    [ 0x02, 0x02, 0x02, 0x22 ],
-    [ 0x02, 0x25, 0x25, 0x25 ],
-    [ 0x02, 0x02, 0x25, 0x25 ],
-    [ 0x02, 0x02, 0x02, 0x25 ],
-    [ 0x02, 0x14, 0x1D, 0x26 ],
-    [ 0x02, 0x0B, 0x1D, 0x26 ],
-    [ 0x02, 0x0B, 0x14, 0x26 ],
-    [ 0x02, 0x2A, 0x2A, 0x2A ],
-    [ 0x02, 0x02, 0x2A, 0x2A ],
-    [ 0x02, 0x02, 0x02, 0x2A ],
-    [ 0x02, 0x30, 0x30, 0x30 ],
-    [ 0x02, 0x02, 0x30, 0x30 ],
-    [ 0x02, 0x02, 0x02, 0x30 ],
-    [ 0x03, 0x04, 0x04, 0x05 ],
-    [ 0x03, 0x04, 0x05, 0x06 ],
-    [ 0x03, 0x05, 0x06, 0x07 ],
-    [ 0x03, 0x04, 0x06, 0x07 ],
-    [ 0x03, 0x04, 0x05, 0x07 ],
-    [ 0x03, 0x05, 0x06, 0x08 ],
-    [ 0x03, 0x05, 0x07, 0x08 ],
-    [ 0x03, 0x04, 0x07, 0x08 ],
-    [ 0x03, 0x04, 0x06, 0x08 ],
-    [ 0x03, 0x05, 0x07, 0x09 ],
-    [ 0x03, 0x06, 0x08, 0x09 ],
-    [ 0x03, 0x04, 0x08, 0x09 ],
-    [ 0x03, 0x04, 0x06, 0x09 ],
-    [ 0x03, 0x09, 0x09, 0x09 ],
-    [ 0x03, 0x03, 0x09, 0x09 ],
-    [ 0x03, 0x03, 0x03, 0x09 ],
-    [ 0x03, 0x06, 0x07, 0x0A ],
-    [ 0x03, 0x06, 0x09, 0x0A ],
-    [ 0x03, 0x04, 0x09, 0x0A ],
-    [ 0x03, 0x04, 0x07, 0x0A ],
-    [ 0x03, 0x06, 0x08, 0x0B ],
-    [ 0x03, 0x07, 0x09, 0x0B ],
-    [ 0x03, 0x05, 0x09, 0x0B ],
-    [ 0x03, 0x05, 0x07, 0x0B ],
-    [ 0x03, 0x0B, 0x0B, 0x0B ],
-    [ 0x03, 0x03, 0x0B, 0x0B ],
-    [ 0x03, 0x03, 0x03, 0x0B ],
-    [ 0x03, 0x07, 0x0A, 0x0E ],
-    [ 0x03, 0x08, 0x0C, 0x0E ],
-    [ 0x03, 0x05, 0x0C, 0x0E ],
-    [ 0x03, 0x05, 0x09, 0x0E ],
-    [ 0x03, 0x0E, 0x0E, 0x0E ],
-    [ 0x03, 0x03, 0x0E, 0x0E ],
-    [ 0x03, 0x03, 0x03, 0x0E ],
-    [ 0x03, 0x08, 0x0C, 0x11 ],
-    [ 0x03, 0x0A, 0x0E, 0x11 ],
-    [ 0x03, 0x06, 0x0E, 0x11 ],
-    [ 0x03, 0x06, 0x0A, 0x11 ],
-    [ 0x03, 0x11, 0x11, 0x11 ],
-    [ 0x03, 0x03, 0x11, 0x11 ],
-    [ 0x03, 0x03, 0x03, 0x11 ],
-    [ 0x03, 0x09, 0x0E, 0x14 ],
-    [ 0x03, 0x0B, 0x10, 0x14 ],
-    [ 0x03, 0x07, 0x10, 0x14 ],
-    [ 0x03, 0x07, 0x0C, 0x14 ],
-    [ 0x03, 0x14, 0x14, 0x14 ],
-    [ 0x03, 0x03, 0x14, 0x14 ],
-    [ 0x03, 0x03, 0x03, 0x14 ],
-    [ 0x03, 0x0A, 0x10, 0x17 ],
-    [ 0x03, 0x0D, 0x12, 0x17 ],
-    [ 0x03, 0x08, 0x12, 0x17 ],
-    [ 0x03, 0x08, 0x0D, 0x17 ],
-    [ 0x03, 0x17, 0x17, 0x17 ],
-    [ 0x03, 0x03, 0x17, 0x17 ],
-    [ 0x03, 0x03, 0x03, 0x17 ],
-    [ 0x03, 0x0E, 0x15, 0x1A ],
-    [ 0x03, 0x08, 0x15, 0x1A ],
-    [ 0x03, 0x08, 0x0F, 0x1A ],
-    [ 0x03, 0x1A, 0x1A, 0x1A ],
-    [ 0x03, 0x03, 0x1A, 0x1A ],
-    [ 0x03, 0x03, 0x03, 0x1A ],
-    [ 0x03, 0x10, 0x17, 0x1D ],
-    [ 0x03, 0x09, 0x17, 0x1D ],
-    [ 0x03, 0x09, 0x10, 0x1D ],
-    [ 0x03, 0x1D, 0x1D, 0x1D ],
-    [ 0x03, 0x03, 0x1D, 0x1D ],
-    [ 0x03, 0x03, 0x03, 0x1D ],
-    [ 0x03, 0x11, 0x19, 0x20 ],
-    [ 0x03, 0x0A, 0x19, 0x20 ],
-    [ 0x03, 0x0A, 0x12, 0x20 ],
-    [ 0x03, 0x20, 0x20, 0x20 ],
-    [ 0x03, 0x03, 0x20, 0x20 ],
-    [ 0x03, 0x03, 0x03, 0x20 ],
-    [ 0x03, 0x13, 0x1B, 0x23 ],
-    [ 0x03, 0x0B, 0x1B, 0x23 ],
-    [ 0x03, 0x0B, 0x13, 0x23 ],
-    [ 0x03, 0x23, 0x23, 0x23 ],
-    [ 0x03, 0x03, 0x23, 0x23 ],
-    [ 0x03, 0x03, 0x03, 0x23 ],
-    [ 0x03, 0x26, 0x26, 0x26 ],
-    [ 0x03, 0x03, 0x26, 0x26 ],
-    [ 0x03, 0x03, 0x03, 0x26 ],
-    [ 0x03, 0x15, 0x1E, 0x27 ],
-    [ 0x03, 0x0C, 0x1E, 0x27 ],
-    [ 0x03, 0x0C, 0x15, 0x27 ],
-    [ 0x03, 0x2B, 0x2B, 0x2B ],
-    [ 0x03, 0x03, 0x2B, 0x2B ],
-    [ 0x03, 0x03, 0x03, 0x2B ],
-    [ 0x03, 0x31, 0x31, 0x31 ],
-    [ 0x03, 0x03, 0x31, 0x31 ],
-    [ 0x03, 0x03, 0x03, 0x31 ],
-    [ 0x04, 0x05, 0x05, 0x06 ],
-    [ 0x04, 0x05, 0x06, 0x07 ],
-    [ 0x04, 0x06, 0x07, 0x08 ],
-    [ 0x04, 0x05, 0x07, 0x08 ],
-    [ 0x04, 0x05, 0x06, 0x08 ],
-    [ 0x04, 0x06, 0x07, 0x09 ],
-    [ 0x04, 0x06, 0x08, 0x09 ],
-    [ 0x04, 0x05, 0x08, 0x09 ],
-    [ 0x04, 0x05, 0x07, 0x09 ],
-    [ 0x04, 0x06, 0x08, 0x0A ],
-    [ 0x04, 0x07, 0x09, 0x0A ],
-    [ 0x04, 0x05, 0x09, 0x0A ],
-    [ 0x04, 0x05, 0x07, 0x0A ],
-    [ 0x04, 0x0A, 0x0A, 0x0A ],
-    [ 0x04, 0x04, 0x0A, 0x0A ],
-    [ 0x04, 0x04, 0x04, 0x0A ],
-    [ 0x04, 0x07, 0x08, 0x0B ],
-    [ 0x04, 0x07, 0x0A, 0x0B ],
-    [ 0x04, 0x05, 0x0A, 0x0B ],
-    [ 0x04, 0x05, 0x08, 0x0B ],
-    [ 0x04, 0x07, 0x09, 0x0C ],
-    [ 0x04, 0x08, 0x0A, 0x0C ],
-    [ 0x04, 0x06, 0x0A, 0x0C ],
-    [ 0x04, 0x06, 0x08, 0x0C ],
-    [ 0x04, 0x0C, 0x0C, 0x0C ],
-    [ 0x04, 0x04, 0x0C, 0x0C ],
-    [ 0x04, 0x04, 0x04, 0x0C ],
-    [ 0x04, 0x08, 0x0B, 0x0F ],
-    [ 0x04, 0x09, 0x0D, 0x0F ],
-    [ 0x04, 0x06, 0x0D, 0x0F ],
-    [ 0x04, 0x06, 0x0A, 0x0F ],
-    [ 0x04, 0x0F, 0x0F, 0x0F ],
-    [ 0x04, 0x04, 0x0F, 0x0F ],
-    [ 0x04, 0x04, 0x04, 0x0F ],
-    [ 0x04, 0x09, 0x0D, 0x12 ],
-    [ 0x04, 0x0B, 0x0F, 0x12 ],
-    [ 0x04, 0x07, 0x0F, 0x12 ],
-    [ 0x04, 0x07, 0x0B, 0x12 ],
-    [ 0x04, 0x12, 0x12, 0x12 ],
-    [ 0x04, 0x04, 0x12, 0x12 ],
-    [ 0x04, 0x04, 0x04, 0x12 ],
-    [ 0x04, 0x0A, 0x0F, 0x15 ],
-    [ 0x04, 0x0C, 0x11, 0x15 ],
-    [ 0x04, 0x08, 0x11, 0x15 ],
-    [ 0x04, 0x08, 0x0D, 0x15 ],
-    [ 0x04, 0x15, 0x15, 0x15 ],
-    [ 0x04, 0x04, 0x15, 0x15 ],
-    [ 0x04, 0x04, 0x04, 0x15 ],
-    [ 0x04, 0x0B, 0x11, 0x18 ],
-    [ 0x04, 0x0E, 0x13, 0x18 ],
-    [ 0x04, 0x09, 0x13, 0x18 ],
-    [ 0x04, 0x09, 0x0E, 0x18 ],
-    [ 0x04, 0x18, 0x18, 0x18 ],
-    [ 0x04, 0x04, 0x18, 0x18 ],
-    [ 0x04, 0x04, 0x04, 0x18 ],
-    [ 0x04, 0x0F, 0x16, 0x1B ],
-    [ 0x04, 0x09, 0x16, 0x1B ],
-    [ 0x04, 0x09, 0x10, 0x1B ],
-    [ 0x04, 0x1B, 0x1B, 0x1B ],
-    [ 0x04, 0x04, 0x1B, 0x1B ],
-    [ 0x04, 0x04, 0x04, 0x1B ],
-    [ 0x04, 0x11, 0x18, 0x1E ],
-    [ 0x04, 0x0A, 0x18, 0x1E ],
-    [ 0x04, 0x0A, 0x11, 0x1E ],
-    [ 0x04, 0x1E, 0x1E, 0x1E ],
-    [ 0x04, 0x04, 0x1E, 0x1E ],
-    [ 0x04, 0x04, 0x04, 0x1E ],
-    [ 0x04, 0x12, 0x1A, 0x21 ],
-    [ 0x04, 0x0B, 0x1A, 0x21 ],
-    [ 0x04, 0x0B, 0x13, 0x21 ],
-    [ 0x04, 0x21, 0x21, 0x21 ],
-    [ 0x04, 0x04, 0x21, 0x21 ],
-    [ 0x04, 0x04, 0x04, 0x21 ],
-    [ 0x04, 0x14, 0x1C, 0x24 ],
-    [ 0x04, 0x0C, 0x1C, 0x24 ],
-    [ 0x04, 0x0C, 0x14, 0x24 ],
-    [ 0x04, 0x24, 0x24, 0x24 ],
-    [ 0x04, 0x04, 0x24, 0x24 ],
-    [ 0x04, 0x04, 0x04, 0x24 ],
-    [ 0x04, 0x27, 0x27, 0x27 ],
-    [ 0x04, 0x04, 0x27, 0x27 ],
-    [ 0x04, 0x04, 0x04, 0x27 ],
-    [ 0x04, 0x16, 0x1F, 0x28 ],
-    [ 0x04, 0x0D, 0x1F, 0x28 ],
-    [ 0x04, 0x0D, 0x16, 0x28 ],
-    [ 0x04, 0x2C, 0x2C, 0x2C ],
-    [ 0x04, 0x04, 0x2C, 0x2C ],
-    [ 0x04, 0x04, 0x04, 0x2C ],
-    [ 0x04, 0x32, 0x32, 0x32 ],
-    [ 0x04, 0x04, 0x32, 0x32 ],
-    [ 0x04, 0x04, 0x04, 0x32 ],
-    [ 0x05, 0x06, 0x06, 0x07 ],
-    [ 0x05, 0x06, 0x07, 0x08 ],
-    [ 0x05, 0x07, 0x08, 0x09 ],
-    [ 0x05, 0x06, 0x08, 0x09 ],
-    [ 0x05, 0x06, 0x07, 0x09 ],
-    [ 0x05, 0x07, 0x08, 0x0A ],
-    [ 0x05, 0x07, 0x09, 0x0A ],
-    [ 0x05, 0x06, 0x09, 0x0A ],
-    [ 0x05, 0x06, 0x08, 0x0A ],
-    [ 0x05, 0x07, 0x09, 0x0B ],
-    [ 0x05, 0x08, 0x0A, 0x0B ],
-    [ 0x05, 0x06, 0x0A, 0x0B ],
-    [ 0x05, 0x06, 0x08, 0x0B ],
-    [ 0x05, 0x0B, 0x0B, 0x0B ],
-    [ 0x05, 0x05, 0x0B, 0x0B ],
-    [ 0x05, 0x05, 0x05, 0x0B ],
-    [ 0x05, 0x08, 0x09, 0x0C ],
-    [ 0x05, 0x08, 0x0B, 0x0C ],
-    [ 0x05, 0x06, 0x0B, 0x0C ],
-    [ 0x05, 0x06, 0x09, 0x0C ],
-    [ 0x05, 0x08, 0x0A, 0x0D ],
-    [ 0x05, 0x09, 0x0B, 0x0D ],
-    [ 0x05, 0x07, 0x0B, 0x0D ],
-    [ 0x05, 0x07, 0x09, 0x0D ],
-    [ 0x05, 0x0D, 0x0D, 0x0D ],
-    [ 0x05, 0x05, 0x0D, 0x0D ],
-    [ 0x05, 0x05, 0x05, 0x0D ],
-    [ 0x05, 0x09, 0x0C, 0x10 ],
-    [ 0x05, 0x0A, 0x0E, 0x10 ],
-    [ 0x05, 0x07, 0x0E, 0x10 ],
-    [ 0x05, 0x07, 0x0B, 0x10 ],
-    [ 0x05, 0x10, 0x10, 0x10 ],
-    [ 0x05, 0x05, 0x10, 0x10 ],
-    [ 0x05, 0x05, 0x05, 0x10 ],
-    [ 0x05, 0x0A, 0x0E, 0x13 ],
-    [ 0x05, 0x0C, 0x10, 0x13 ],
-    [ 0x05, 0x08, 0x10, 0x13 ],
-    [ 0x05, 0x08, 0x0C, 0x13 ],
-    [ 0x05, 0x13, 0x13, 0x13 ],
-    [ 0x05, 0x05, 0x13, 0x13 ],
-    [ 0x05, 0x05, 0x05, 0x13 ],
-    [ 0x05, 0x0B, 0x10, 0x16 ],
-    [ 0x05, 0x0D, 0x12, 0x16 ],
-    [ 0x05, 0x09, 0x12, 0x16 ],
-    [ 0x05, 0x09, 0x0E, 0x16 ],
-    [ 0x05, 0x16, 0x16, 0x16 ],
-    [ 0x05, 0x05, 0x16, 0x16 ],
-    [ 0x05, 0x05, 0x05, 0x16 ],
-    [ 0x05, 0x0C, 0x12, 0x19 ],
-    [ 0x05, 0x0F, 0x14, 0x19 ],
-    [ 0x05, 0x0A, 0x14, 0x19 ],
-    [ 0x05, 0x0A, 0x0F, 0x19 ],
-    [ 0x05, 0x19, 0x19, 0x19 ],
-    [ 0x05, 0x05, 0x19, 0x19 ],
-    [ 0x05, 0x05, 0x05, 0x19 ],
-    [ 0x05, 0x10, 0x17, 0x1C ],
-    [ 0x05, 0x0A, 0x17, 0x1C ],
-    [ 0x05, 0x0A, 0x11, 0x1C ],
-    [ 0x05, 0x1C, 0x1C, 0x1C ],
-    [ 0x05, 0x05, 0x1C, 0x1C ],
-    [ 0x05, 0x05, 0x05, 0x1C ],
-    [ 0x05, 0x12, 0x19, 0x1F ],
-    [ 0x05, 0x0B, 0x19, 0x1F ],
-    [ 0x05, 0x0B, 0x12, 0x1F ],
-    [ 0x05, 0x1F, 0x1F, 0x1F ],
-    [ 0x05, 0x05, 0x1F, 0x1F ],
-    [ 0x05, 0x05, 0x05, 0x1F ],
-    [ 0x05, 0x13, 0x1B, 0x22 ],
-    [ 0x05, 0x0C, 0x1B, 0x22 ],
-    [ 0x05, 0x0C, 0x14, 0x22 ],
-    [ 0x05, 0x22, 0x22, 0x22 ],
-    [ 0x05, 0x05, 0x22, 0x22 ],
-    [ 0x05, 0x05, 0x05, 0x22 ],
-    [ 0x05, 0x15, 0x1D, 0x25 ],
-    [ 0x05, 0x0D, 0x1D, 0x25 ],
-    [ 0x05, 0x0D, 0x15, 0x25 ],
-    [ 0x05, 0x25, 0x25, 0x25 ],
-    [ 0x05, 0x05, 0x25, 0x25 ],
-    [ 0x05, 0x05, 0x05, 0x25 ],
-    [ 0x05, 0x28, 0x28, 0x28 ],
-    [ 0x05, 0x05, 0x28, 0x28 ],
-    [ 0x05, 0x05, 0x05, 0x28 ],
-    [ 0x05, 0x17, 0x20, 0x29 ],
-    [ 0x05, 0x0E, 0x20, 0x29 ],
-    [ 0x05, 0x0E, 0x17, 0x29 ],
-    [ 0x05, 0x2D, 0x2D, 0x2D ],
-    [ 0x05, 0x05, 0x2D, 0x2D ],
-    [ 0x05, 0x05, 0x05, 0x2D ],
-    [ 0x05, 0x33, 0x33, 0x33 ],
-    [ 0x05, 0x05, 0x33, 0x33 ],
-    [ 0x05, 0x05, 0x05, 0x33 ],
-    [ 0x06, 0x07, 0x07, 0x08 ],
-    [ 0x06, 0x07, 0x08, 0x09 ],
-    [ 0x06, 0x08, 0x09, 0x0A ],
-    [ 0x06, 0x07, 0x09, 0x0A ],
-    [ 0x06, 0x07, 0x08, 0x0A ],
-    [ 0x06, 0x08, 0x09, 0x0B ],
-    [ 0x06, 0x08, 0x0A, 0x0B ],
-    [ 0x06, 0x07, 0x0A, 0x0B ],
-    [ 0x06, 0x07, 0x09, 0x0B ],
-    [ 0x06, 0x08, 0x0A, 0x0C ],
-    [ 0x06, 0x09, 0x0B, 0x0C ],
-    [ 0x06, 0x07, 0x0B, 0x0C ],
-    [ 0x06, 0x07, 0x09, 0x0C ],
-    [ 0x06, 0x0C, 0x0C, 0x0C ],
-    [ 0x06, 0x06, 0x0C, 0x0C ],
-    [ 0x06, 0x06, 0x06, 0x0C ],
-    [ 0x06, 0x09, 0x0A, 0x0D ],
-    [ 0x06, 0x09, 0x0C, 0x0D ],
-    [ 0x06, 0x07, 0x0C, 0x0D ],
-    [ 0x06, 0x07, 0x0A, 0x0D ],
-    [ 0x06, 0x09, 0x0B, 0x0E ],
-    [ 0x06, 0x0A, 0x0C, 0x0E ],
-    [ 0x06, 0x08, 0x0C, 0x0E ],
-    [ 0x06, 0x08, 0x0A, 0x0E ],
-    [ 0x06, 0x0E, 0x0E, 0x0E ],
-    [ 0x06, 0x06, 0x0E, 0x0E ],
-    [ 0x06, 0x06, 0x06, 0x0E ],
-    [ 0x06, 0x0A, 0x0D, 0x11 ],
-    [ 0x06, 0x0B, 0x0F, 0x11 ],
-    [ 0x06, 0x08, 0x0F, 0x11 ],
-    [ 0x06, 0x08, 0x0C, 0x11 ],
-    [ 0x06, 0x11, 0x11, 0x11 ],
-    [ 0x06, 0x06, 0x11, 0x11 ],
-    [ 0x06, 0x06, 0x06, 0x11 ],
-    [ 0x06, 0x0B, 0x0F, 0x14 ],
-    [ 0x06, 0x0D, 0x11, 0x14 ],
-    [ 0x06, 0x09, 0x11, 0x14 ],
-    [ 0x06, 0x09, 0x0D, 0x14 ],
-    [ 0x06, 0x14, 0x14, 0x14 ],
-    [ 0x06, 0x06, 0x14, 0x14 ],
-    [ 0x06, 0x06, 0x06, 0x14 ],
-    [ 0x06, 0x0C, 0x11, 0x17 ],
-    [ 0x06, 0x0E, 0x13, 0x17 ],
-    [ 0x06, 0x0A, 0x13, 0x17 ],
-    [ 0x06, 0x0A, 0x0F, 0x17 ],
-    [ 0x06, 0x17, 0x17, 0x17 ],
-    [ 0x06, 0x06, 0x17, 0x17 ],
-    [ 0x06, 0x06, 0x06, 0x17 ],
-    [ 0x06, 0x0D, 0x13, 0x1A ],
-    [ 0x06, 0x10, 0x15, 0x1A ],
-    [ 0x06, 0x0B, 0x15, 0x1A ],
-    [ 0x06, 0x0B, 0x10, 0x1A ],
-    [ 0x06, 0x1A, 0x1A, 0x1A ],
-    [ 0x06, 0x06, 0x1A, 0x1A ],
-    [ 0x06, 0x06, 0x06, 0x1A ],
-    [ 0x06, 0x11, 0x18, 0x1D ],
-    [ 0x06, 0x0B, 0x18, 0x1D ],
-    [ 0x06, 0x0B, 0x12, 0x1D ],
-    [ 0x06, 0x1D, 0x1D, 0x1D ],
-    [ 0x06, 0x06, 0x1D, 0x1D ],
-    [ 0x06, 0x06, 0x06, 0x1D ],
-    [ 0x06, 0x13, 0x1A, 0x20 ],
-    [ 0x06, 0x0C, 0x1A, 0x20 ],
-    [ 0x06, 0x0C, 0x13, 0x20 ],
-    [ 0x06, 0x20, 0x20, 0x20 ],
-    [ 0x06, 0x06, 0x20, 0x20 ],
-    [ 0x06, 0x06, 0x06, 0x20 ],
-    [ 0x06, 0x14, 0x1C, 0x23 ],
-    [ 0x06, 0x0D, 0x1C, 0x23 ],
-    [ 0x06, 0x0D, 0x15, 0x23 ],
-    [ 0x06, 0x23, 0x23, 0x23 ],
-    [ 0x06, 0x06, 0x23, 0x23 ],
-    [ 0x06, 0x06, 0x06, 0x23 ],
-    [ 0x06, 0x16, 0x1E, 0x26 ],
-    [ 0x06, 0x0E, 0x1E, 0x26 ],
-    [ 0x06, 0x0E, 0x16, 0x26 ],
-    [ 0x06, 0x26, 0x26, 0x26 ],
-    [ 0x06, 0x06, 0x26, 0x26 ],
-    [ 0x06, 0x06, 0x06, 0x26 ],
-    [ 0x06, 0x29, 0x29, 0x29 ],
-    [ 0x06, 0x06, 0x29, 0x29 ],
-    [ 0x06, 0x06, 0x06, 0x29 ],
-    [ 0x06, 0x18, 0x21, 0x2A ],
-    [ 0x06, 0x0F, 0x21, 0x2A ],
-    [ 0x06, 0x0F, 0x18, 0x2A ],
-    [ 0x06, 0x2E, 0x2E, 0x2E ],
-    [ 0x06, 0x06, 0x2E, 0x2E ],
-    [ 0x06, 0x06, 0x06, 0x2E ],
-    [ 0x06, 0x34, 0x34, 0x34 ],
-    [ 0x06, 0x06, 0x34, 0x34 ],
-    [ 0x06, 0x06, 0x06, 0x34 ],
-    [ 0x07, 0x08, 0x08, 0x09 ],
-    [ 0x07, 0x08, 0x09, 0x0A ],
-    [ 0x07, 0x09, 0x0A, 0x0B ],
-    [ 0x07, 0x08, 0x0A, 0x0B ],
-    [ 0x07, 0x08, 0x09, 0x0B ],
-    [ 0x07, 0x09, 0x0A, 0x0C ],
-    [ 0x07, 0x09, 0x0B, 0x0C ],
-    [ 0x07, 0x08, 0x0B, 0x0C ],
-    [ 0x07, 0x08, 0x0A, 0x0C ],
-    [ 0x07, 0x09, 0x0B, 0x0D ],
-    [ 0x07, 0x0A, 0x0C, 0x0D ],
-    [ 0x07, 0x08, 0x0C, 0x0D ],
-    [ 0x07, 0x08, 0x0A, 0x0D ],
-    [ 0x07, 0x0D, 0x0D, 0x0D ],
-    [ 0x07, 0x07, 0x0D, 0x0D ],
-    [ 0x07, 0x07, 0x07, 0x0D ],
-    [ 0x07, 0x0A, 0x0B, 0x0E ],
-    [ 0x07, 0x0A, 0x0D, 0x0E ],
-    [ 0x07, 0x08, 0x0D, 0x0E ],
-    [ 0x07, 0x08, 0x0B, 0x0E ],
-    [ 0x07, 0x0A, 0x0C, 0x0F ],
-    [ 0x07, 0x0B, 0x0D, 0x0F ],
-    [ 0x07, 0x09, 0x0D, 0x0F ],
-    [ 0x07, 0x09, 0x0B, 0x0F ],
-    [ 0x07, 0x0F, 0x0F, 0x0F ],
-    [ 0x07, 0x07, 0x0F, 0x0F ],
-    [ 0x07, 0x07, 0x07, 0x0F ],
-    [ 0x07, 0x0B, 0x0E, 0x12 ],
-    [ 0x07, 0x0C, 0x10, 0x12 ],
-    [ 0x07, 0x09, 0x10, 0x12 ],
-    [ 0x07, 0x09, 0x0D, 0x12 ],
-    [ 0x07, 0x12, 0x12, 0x12 ],
-    [ 0x07, 0x07, 0x12, 0x12 ],
-    [ 0x07, 0x07, 0x07, 0x12 ],
-    [ 0x07, 0x0C, 0x10, 0x15 ],
-    [ 0x07, 0x0E, 0x12, 0x15 ],
-    [ 0x07, 0x0A, 0x12, 0x15 ],
-    [ 0x07, 0x0A, 0x0E, 0x15 ],
-    [ 0x07, 0x15, 0x15, 0x15 ],
-    [ 0x07, 0x07, 0x15, 0x15 ],
-    [ 0x07, 0x07, 0x07, 0x15 ],
-    [ 0x07, 0x0D, 0x12, 0x18 ],
-    [ 0x07, 0x0F, 0x14, 0x18 ],
-    [ 0x07, 0x0B, 0x14, 0x18 ],
-    [ 0x07, 0x0B, 0x10, 0x18 ],
-    [ 0x07, 0x18, 0x18, 0x18 ],
-    [ 0x07, 0x07, 0x18, 0x18 ],
-    [ 0x07, 0x07, 0x07, 0x18 ],
-    [ 0x07, 0x0E, 0x14, 0x1B ],
-    [ 0x07, 0x11, 0x16, 0x1B ],
-    [ 0x07, 0x0C, 0x16, 0x1B ],
-    [ 0x07, 0x0C, 0x11, 0x1B ],
-    [ 0x07, 0x1B, 0x1B, 0x1B ],
-    [ 0x07, 0x07, 0x1B, 0x1B ],
-    [ 0x07, 0x07, 0x07, 0x1B ],
-    [ 0x07, 0x12, 0x19, 0x1E ],
-    [ 0x07, 0x0C, 0x19, 0x1E ],
-    [ 0x07, 0x0C, 0x13, 0x1E ],
-    [ 0x07, 0x1E, 0x1E, 0x1E ],
-    [ 0x07, 0x07, 0x1E, 0x1E ],
-    [ 0x07, 0x07, 0x07, 0x1E ],
-    [ 0x07, 0x14, 0x1B, 0x21 ],
-    [ 0x07, 0x0D, 0x1B, 0x21 ],
-    [ 0x07, 0x0D, 0x14, 0x21 ],
-    [ 0x07, 0x21, 0x21, 0x21 ],
-    [ 0x07, 0x07, 0x21, 0x21 ],
-    [ 0x07, 0x07, 0x07, 0x21 ],
-    [ 0x07, 0x15, 0x1D, 0x24 ],
-    [ 0x07, 0x0E, 0x1D, 0x24 ],
-    [ 0x07, 0x0E, 0x16, 0x24 ],
-    [ 0x07, 0x24, 0x24, 0x24 ],
-    [ 0x07, 0x07, 0x24, 0x24 ],
-    [ 0x07, 0x07, 0x07, 0x24 ],
-    [ 0x07, 0x17, 0x1F, 0x27 ],
-    [ 0x07, 0x0F, 0x1F, 0x27 ],
-    [ 0x07, 0x0F, 0x17, 0x27 ],
-    [ 0x07, 0x27, 0x27, 0x27 ],
-    [ 0x07, 0x07, 0x27, 0x27 ],
-    [ 0x07, 0x07, 0x07, 0x27 ],
-    [ 0x07, 0x2A, 0x2A, 0x2A ],
-    [ 0x07, 0x07, 0x2A, 0x2A ],
-    [ 0x07, 0x07, 0x07, 0x2A ],
-    [ 0x07, 0x19, 0x22, 0x2B ],
-    [ 0x07, 0x10, 0x22, 0x2B ],
-    [ 0x07, 0x10, 0x19, 0x2B ],
-    [ 0x07, 0x2F, 0x2F, 0x2F ],
-    [ 0x07, 0x07, 0x2F, 0x2F ],
-    [ 0x07, 0x07, 0x07, 0x2F ],
-    [ 0x07, 0x35, 0x35, 0x35 ],
-    [ 0x07, 0x07, 0x35, 0x35 ],
-    [ 0x07, 0x07, 0x07, 0x35 ],
-    [ 0x08, 0x09, 0x09, 0x0A ],
-    [ 0x08, 0x09, 0x0A, 0x0B ],
-    [ 0x08, 0x0A, 0x0B, 0x0C ],
-    [ 0x08, 0x09, 0x0B, 0x0C ],
-    [ 0x08, 0x09, 0x0A, 0x0C ],
-    [ 0x08, 0x0A, 0x0B, 0x0D ],
-    [ 0x08, 0x0A, 0x0C, 0x0D ],
-    [ 0x08, 0x09, 0x0C, 0x0D ],
-    [ 0x08, 0x09, 0x0B, 0x0D ],
-    [ 0x08, 0x0A, 0x0C, 0x0E ],
-    [ 0x08, 0x0B, 0x0D, 0x0E ],
-    [ 0x08, 0x09, 0x0D, 0x0E ],
-    [ 0x08, 0x09, 0x0B, 0x0E ],
-    [ 0x08, 0x0E, 0x0E, 0x0E ],
-    [ 0x08, 0x08, 0x0E, 0x0E ],
-    [ 0x08, 0x08, 0x08, 0x0E ],
-    [ 0x08, 0x0B, 0x0C, 0x0F ],
-    [ 0x08, 0x0B, 0x0E, 0x0F ],
-    [ 0x08, 0x09, 0x0E, 0x0F ],
-    [ 0x08, 0x09, 0x0C, 0x0F ],
-    [ 0x08, 0x0B, 0x0D, 0x10 ],
-    [ 0x08, 0x0C, 0x0E, 0x10 ],
-    [ 0x08, 0x0A, 0x0E, 0x10 ],
-    [ 0x08, 0x0A, 0x0C, 0x10 ],
-    [ 0x08, 0x10, 0x10, 0x10 ],
-    [ 0x08, 0x08, 0x10, 0x10 ],
-    [ 0x08, 0x08, 0x08, 0x10 ],
-    [ 0x08, 0x0C, 0x0F, 0x13 ],
-    [ 0x08, 0x0D, 0x11, 0x13 ],
-    [ 0x08, 0x0A, 0x11, 0x13 ],
-    [ 0x08, 0x0A, 0x0E, 0x13 ],
-    [ 0x08, 0x13, 0x13, 0x13 ],
-    [ 0x08, 0x08, 0x13, 0x13 ],
-    [ 0x08, 0x08, 0x08, 0x13 ],
-    [ 0x08, 0x0D, 0x11, 0x16 ],
-    [ 0x08, 0x0F, 0x13, 0x16 ],
-    [ 0x08, 0x0B, 0x13, 0x16 ],
-    [ 0x08, 0x0B, 0x0F, 0x16 ],
-    [ 0x08, 0x16, 0x16, 0x16 ],
-    [ 0x08, 0x08, 0x16, 0x16 ],
-    [ 0x08, 0x08, 0x08, 0x16 ],
-    [ 0x08, 0x0E, 0x13, 0x19 ],
-    [ 0x08, 0x10, 0x15, 0x19 ],
-    [ 0x08, 0x0C, 0x15, 0x19 ],
-    [ 0x08, 0x0C, 0x11, 0x19 ],
-    [ 0x08, 0x19, 0x19, 0x19 ],
-    [ 0x08, 0x08, 0x19, 0x19 ],
-    [ 0x08, 0x08, 0x08, 0x19 ],
-    [ 0x08, 0x0F, 0x15, 0x1C ],
-    [ 0x08, 0x12, 0x17, 0x1C ],
-    [ 0x08, 0x0D, 0x17, 0x1C ],
-    [ 0x08, 0x0D, 0x12, 0x1C ],
-    [ 0x08, 0x1C, 0x1C, 0x1C ],
-    [ 0x08, 0x08, 0x1C, 0x1C ],
-    [ 0x08, 0x08, 0x08, 0x1C ],
-    [ 0x08, 0x13, 0x1A, 0x1F ],
-    [ 0x08, 0x0D, 0x1A, 0x1F ],
-    [ 0x08, 0x0D, 0x14, 0x1F ],
-    [ 0x08, 0x1F, 0x1F, 0x1F ],
-    [ 0x08, 0x08, 0x1F, 0x1F ],
-    [ 0x08, 0x08, 0x08, 0x1F ],
-    [ 0x08, 0x15, 0x1C, 0x22 ],
-    [ 0x08, 0x0E, 0x1C, 0x22 ],
-    [ 0x08, 0x0E, 0x15, 0x22 ],
-    [ 0x08, 0x22, 0x22, 0x22 ],
-    [ 0x08, 0x08, 0x22, 0x22 ],
-    [ 0x08, 0x08, 0x08, 0x22 ],
-    [ 0x08, 0x16, 0x1E, 0x25 ],
-    [ 0x08, 0x0F, 0x1E, 0x25 ],
-    [ 0x08, 0x0F, 0x17, 0x25 ],
-    [ 0x08, 0x25, 0x25, 0x25 ],
-    [ 0x08, 0x08, 0x25, 0x25 ],
-    [ 0x08, 0x08, 0x08, 0x25 ],
-    [ 0x08, 0x18, 0x20, 0x28 ],
-    [ 0x08, 0x10, 0x20, 0x28 ],
-    [ 0x08, 0x10, 0x18, 0x28 ],
-    [ 0x08, 0x28, 0x28, 0x28 ],
-    [ 0x08, 0x08, 0x28, 0x28 ],
-    [ 0x08, 0x08, 0x08, 0x28 ],
-    [ 0x08, 0x2B, 0x2B, 0x2B ],
-    [ 0x08, 0x08, 0x2B, 0x2B ],
-    [ 0x08, 0x08, 0x08, 0x2B ],
-    [ 0x08, 0x1A, 0x23, 0x2C ],
-    [ 0x08, 0x11, 0x23, 0x2C ],
-    [ 0x08, 0x11, 0x1A, 0x2C ],
-    [ 0x08, 0x30, 0x30, 0x30 ],
-    [ 0x08, 0x08, 0x30, 0x30 ],
-    [ 0x08, 0x08, 0x08, 0x30 ],
-    [ 0x08, 0x36, 0x36, 0x36 ],
-    [ 0x08, 0x08, 0x36, 0x36 ],
-    [ 0x08, 0x08, 0x08, 0x36 ],
-    [ 0x09, 0x0A, 0x0A, 0x0B ],
-    [ 0x09, 0x0A, 0x0B, 0x0C ],
-    [ 0x09, 0x0B, 0x0C, 0x0D ],
-    [ 0x09, 0x0A, 0x0C, 0x0D ],
-    [ 0x09, 0x0A, 0x0B, 0x0D ],
-    [ 0x09, 0x0B, 0x0C, 0x0E ],
-    [ 0x09, 0x0B, 0x0D, 0x0E ],
-    [ 0x09, 0x0A, 0x0D, 0x0E ],
-    [ 0x09, 0x0A, 0x0C, 0x0E ],
-    [ 0x09, 0x0B, 0x0D, 0x0F ],
-    [ 0x09, 0x0C, 0x0E, 0x0F ],
-    [ 0x09, 0x0A, 0x0E, 0x0F ],
-    [ 0x09, 0x0A, 0x0C, 0x0F ],
-    [ 0x09, 0x0F, 0x0F, 0x0F ],
-    [ 0x09, 0x09, 0x0F, 0x0F ],
-    [ 0x09, 0x09, 0x09, 0x0F ],
-    [ 0x09, 0x0C, 0x0D, 0x10 ],
-    [ 0x09, 0x0C, 0x0F, 0x10 ],
-    [ 0x09, 0x0A, 0x0F, 0x10 ],
-    [ 0x09, 0x0A, 0x0D, 0x10 ],
-    [ 0x09, 0x0C, 0x0E, 0x11 ],
-    [ 0x09, 0x0D, 0x0F, 0x11 ],
-    [ 0x09, 0x0B, 0x0F, 0x11 ],
-    [ 0x09, 0x0B, 0x0D, 0x11 ],
-    [ 0x09, 0x11, 0x11, 0x11 ],
-    [ 0x09, 0x09, 0x11, 0x11 ],
-    [ 0x09, 0x09, 0x09, 0x11 ],
-    [ 0x09, 0x0D, 0x10, 0x14 ],
-    [ 0x09, 0x0E, 0x12, 0x14 ],
-    [ 0x09, 0x0B, 0x12, 0x14 ],
-    [ 0x09, 0x0B, 0x0F, 0x14 ],
-    [ 0x09, 0x14, 0x14, 0x14 ],
-    [ 0x09, 0x09, 0x14, 0x14 ],
-    [ 0x09, 0x09, 0x09, 0x14 ],
-    [ 0x09, 0x0E, 0x12, 0x17 ],
-    [ 0x09, 0x10, 0x14, 0x17 ],
-    [ 0x09, 0x0C, 0x14, 0x17 ],
-    [ 0x09, 0x0C, 0x10, 0x17 ],
-    [ 0x09, 0x17, 0x17, 0x17 ],
-    [ 0x09, 0x09, 0x17, 0x17 ],
-    [ 0x09, 0x09, 0x09, 0x17 ],
-    [ 0x09, 0x0F, 0x14, 0x1A ],
-    [ 0x09, 0x11, 0x16, 0x1A ],
-    [ 0x09, 0x0D, 0x16, 0x1A ],
-    [ 0x09, 0x0D, 0x12, 0x1A ],
-    [ 0x09, 0x1A, 0x1A, 0x1A ],
-    [ 0x09, 0x09, 0x1A, 0x1A ],
-    [ 0x09, 0x09, 0x09, 0x1A ],
-    [ 0x09, 0x10, 0x16, 0x1D ],
-    [ 0x09, 0x13, 0x18, 0x1D ],
-    [ 0x09, 0x0E, 0x18, 0x1D ],
-    [ 0x09, 0x0E, 0x13, 0x1D ],
-    [ 0x09, 0x1D, 0x1D, 0x1D ],
-    [ 0x09, 0x09, 0x1D, 0x1D ],
-    [ 0x09, 0x09, 0x09, 0x1D ],
-    [ 0x09, 0x14, 0x1B, 0x20 ],
-    [ 0x09, 0x0E, 0x1B, 0x20 ],
-    [ 0x09, 0x0E, 0x15, 0x20 ],
-    [ 0x09, 0x20, 0x20, 0x20 ],
-    [ 0x09, 0x09, 0x20, 0x20 ],
-    [ 0x09, 0x09, 0x09, 0x20 ],
-    [ 0x09, 0x16, 0x1D, 0x23 ],
-    [ 0x09, 0x0F, 0x1D, 0x23 ],
-    [ 0x09, 0x0F, 0x16, 0x23 ],
-    [ 0x09, 0x23, 0x23, 0x23 ],
-    [ 0x09, 0x09, 0x23, 0x23 ],
-    [ 0x09, 0x09, 0x09, 0x23 ],
-    [ 0x09, 0x17, 0x1F, 0x26 ],
-    [ 0x09, 0x10, 0x1F, 0x26 ],
-    [ 0x09, 0x10, 0x18, 0x26 ],
-    [ 0x09, 0x26, 0x26, 0x26 ],
-    [ 0x09, 0x09, 0x26, 0x26 ],
-    [ 0x09, 0x09, 0x09, 0x26 ],
-    [ 0x09, 0x19, 0x21, 0x29 ],
-    [ 0x09, 0x11, 0x21, 0x29 ],
-    [ 0x09, 0x11, 0x19, 0x29 ],
-    [ 0x09, 0x29, 0x29, 0x29 ],
-    [ 0x09, 0x09, 0x29, 0x29 ],
-    [ 0x09, 0x09, 0x09, 0x29 ],
-    [ 0x09, 0x2C, 0x2C, 0x2C ],
-    [ 0x09, 0x09, 0x2C, 0x2C ],
-    [ 0x09, 0x09, 0x09, 0x2C ],
-    [ 0x09, 0x1B, 0x24, 0x2D ],
-    [ 0x09, 0x12, 0x24, 0x2D ],
-    [ 0x09, 0x12, 0x1B, 0x2D ],
-    [ 0x09, 0x31, 0x31, 0x31 ],
-    [ 0x09, 0x09, 0x31, 0x31 ],
-    [ 0x09, 0x09, 0x09, 0x31 ],
-    [ 0x09, 0x37, 0x37, 0x37 ],
-    [ 0x09, 0x09, 0x37, 0x37 ],
-    [ 0x09, 0x09, 0x09, 0x37 ],
-    [ 0x0A, 0x0B, 0x0B, 0x0C ],
-    [ 0x0A, 0x0B, 0x0C, 0x0D ],
-    [ 0x0A, 0x0C, 0x0D, 0x0E ],
-    [ 0x0A, 0x0B, 0x0D, 0x0E ],
-    [ 0x0A, 0x0B, 0x0C, 0x0E ],
-    [ 0x0A, 0x0C, 0x0D, 0x0F ],
-    [ 0x0A, 0x0C, 0x0E, 0x0F ],
-    [ 0x0A, 0x0B, 0x0E, 0x0F ],
-    [ 0x0A, 0x0B, 0x0D, 0x0F ],
-    [ 0x0A, 0x0C, 0x0E, 0x10 ],
-    [ 0x0A, 0x0D, 0x0F, 0x10 ],
-    [ 0x0A, 0x0B, 0x0F, 0x10 ],
-    [ 0x0A, 0x0B, 0x0D, 0x10 ],
-    [ 0x0A, 0x10, 0x10, 0x10 ],
-    [ 0x0A, 0x0A, 0x10, 0x10 ],
-    [ 0x0A, 0x0A, 0x0A, 0x10 ],
-    [ 0x0A, 0x0D, 0x0E, 0x11 ],
-    [ 0x0A, 0x0D, 0x10, 0x11 ],
-    [ 0x0A, 0x0B, 0x10, 0x11 ],
-    [ 0x0A, 0x0B, 0x0E, 0x11 ],
-    [ 0x0A, 0x0D, 0x0F, 0x12 ],
-    [ 0x0A, 0x0E, 0x10, 0x12 ],
-    [ 0x0A, 0x0C, 0x10, 0x12 ],
-    [ 0x0A, 0x0C, 0x0E, 0x12 ],
-    [ 0x0A, 0x12, 0x12, 0x12 ],
-    [ 0x0A, 0x0A, 0x12, 0x12 ],
-    [ 0x0A, 0x0A, 0x0A, 0x12 ],
-    [ 0x0A, 0x0E, 0x11, 0x15 ],
-    [ 0x0A, 0x0F, 0x13, 0x15 ],
-    [ 0x0A, 0x0C, 0x13, 0x15 ],
-    [ 0x0A, 0x0C, 0x10, 0x15 ],
-    [ 0x0A, 0x15, 0x15, 0x15 ],
-    [ 0x0A, 0x0A, 0x15, 0x15 ],
-    [ 0x0A, 0x0A, 0x0A, 0x15 ],
-    [ 0x0A, 0x0F, 0x13, 0x18 ],
-    [ 0x0A, 0x11, 0x15, 0x18 ],
-    [ 0x0A, 0x0D, 0x15, 0x18 ],
-    [ 0x0A, 0x0D, 0x11, 0x18 ],
-    [ 0x0A, 0x18, 0x18, 0x18 ],
-    [ 0x0A, 0x0A, 0x18, 0x18 ],
-    [ 0x0A, 0x0A, 0x0A, 0x18 ],
-    [ 0x0A, 0x10, 0x15, 0x1B ],
-    [ 0x0A, 0x12, 0x17, 0x1B ],
-    [ 0x0A, 0x0E, 0x17, 0x1B ],
-    [ 0x0A, 0x0E, 0x13, 0x1B ],
-    [ 0x0A, 0x1B, 0x1B, 0x1B ],
-    [ 0x0A, 0x0A, 0x1B, 0x1B ],
-    [ 0x0A, 0x0A, 0x0A, 0x1B ],
-    [ 0x0A, 0x11, 0x17, 0x1E ],
-    [ 0x0A, 0x14, 0x19, 0x1E ],
-    [ 0x0A, 0x0F, 0x19, 0x1E ],
-    [ 0x0A, 0x0F, 0x14, 0x1E ],
-    [ 0x0A, 0x1E, 0x1E, 0x1E ],
-    [ 0x0A, 0x0A, 0x1E, 0x1E ],
-    [ 0x0A, 0x0A, 0x0A, 0x1E ],
-    [ 0x0A, 0x15, 0x1C, 0x21 ],
-    [ 0x0A, 0x0F, 0x1C, 0x21 ],
-    [ 0x0A, 0x0F, 0x16, 0x21 ],
-    [ 0x0A, 0x21, 0x21, 0x21 ],
-    [ 0x0A, 0x0A, 0x21, 0x21 ],
-    [ 0x0A, 0x0A, 0x0A, 0x21 ],
-    [ 0x0A, 0x17, 0x1E, 0x24 ],
-    [ 0x0A, 0x10, 0x1E, 0x24 ],
-    [ 0x0A, 0x10, 0x17, 0x24 ],
-    [ 0x0A, 0x24, 0x24, 0x24 ],
-    [ 0x0A, 0x0A, 0x24, 0x24 ],
-    [ 0x0A, 0x0A, 0x0A, 0x24 ],
-    [ 0x0A, 0x18, 0x20, 0x27 ],
-    [ 0x0A, 0x11, 0x20, 0x27 ],
-    [ 0x0A, 0x11, 0x19, 0x27 ],
-    [ 0x0A, 0x27, 0x27, 0x27 ],
-    [ 0x0A, 0x0A, 0x27, 0x27 ],
-    [ 0x0A, 0x0A, 0x0A, 0x27 ],
-    [ 0x0A, 0x1A, 0x22, 0x2A ],
-    [ 0x0A, 0x12, 0x22, 0x2A ],
-    [ 0x0A, 0x12, 0x1A, 0x2A ],
-    [ 0x0A, 0x2A, 0x2A, 0x2A ],
-    [ 0x0A, 0x0A, 0x2A, 0x2A ],
-    [ 0x0A, 0x0A, 0x0A, 0x2A ],
-    [ 0x0A, 0x2D, 0x2D, 0x2D ],
-    [ 0x0A, 0x0A, 0x2D, 0x2D ],
-    [ 0x0A, 0x0A, 0x0A, 0x2D ],
-    [ 0x0A, 0x1C, 0x25, 0x2E ],
-    [ 0x0A, 0x13, 0x25, 0x2E ],
-    [ 0x0A, 0x13, 0x1C, 0x2E ],
-    [ 0x0A, 0x32, 0x32, 0x32 ],
-    [ 0x0A, 0x0A, 0x32, 0x32 ],
-    [ 0x0A, 0x0A, 0x0A, 0x32 ],
-    [ 0x0A, 0x38, 0x38, 0x38 ],
-    [ 0x0A, 0x0A, 0x38, 0x38 ],
-    [ 0x0A, 0x0A, 0x0A, 0x38 ],
-    [ 0x0B, 0x0C, 0x0C, 0x0D ],
-    [ 0x0B, 0x0C, 0x0D, 0x0E ],
-    [ 0x0B, 0x0D, 0x0E, 0x0F ],
-    [ 0x0B, 0x0C, 0x0E, 0x0F ],
-    [ 0x0B, 0x0C, 0x0D, 0x0F ],
-    [ 0x0B, 0x0D, 0x0E, 0x10 ],
-    [ 0x0B, 0x0D, 0x0F, 0x10 ],
-    [ 0x0B, 0x0C, 0x0F, 0x10 ],
-    [ 0x0B, 0x0C, 0x0E, 0x10 ],
-    [ 0x0B, 0x0D, 0x0F, 0x11 ],
-    [ 0x0B, 0x0E, 0x10, 0x11 ],
-    [ 0x0B, 0x0C, 0x10, 0x11 ],
-    [ 0x0B, 0x0C, 0x0E, 0x11 ],
-    [ 0x0B, 0x11, 0x11, 0x11 ],
-    [ 0x0B, 0x0B, 0x11, 0x11 ],
-    [ 0x0B, 0x0B, 0x0B, 0x11 ],
-    [ 0x0B, 0x0E, 0x0F, 0x12 ],
-    [ 0x0B, 0x0E, 0x11, 0x12 ],
-    [ 0x0B, 0x0C, 0x11, 0x12 ],
-    [ 0x0B, 0x0C, 0x0F, 0x12 ],
-    [ 0x0B, 0x0E, 0x10, 0x13 ],
-    [ 0x0B, 0x0F, 0x11, 0x13 ],
-    [ 0x0B, 0x0D, 0x11, 0x13 ],
-    [ 0x0B, 0x0D, 0x0F, 0x13 ],
-    [ 0x0B, 0x13, 0x13, 0x13 ],
-    [ 0x0B, 0x0B, 0x13, 0x13 ],
-    [ 0x0B, 0x0B, 0x0B, 0x13 ],
-    [ 0x0B, 0x0F, 0x12, 0x16 ],
-    [ 0x0B, 0x10, 0x14, 0x16 ],
-    [ 0x0B, 0x0D, 0x14, 0x16 ],
-    [ 0x0B, 0x0D, 0x11, 0x16 ],
-    [ 0x0B, 0x16, 0x16, 0x16 ],
-    [ 0x0B, 0x0B, 0x16, 0x16 ],
-    [ 0x0B, 0x0B, 0x0B, 0x16 ],
-    [ 0x0B, 0x10, 0x14, 0x19 ],
-    [ 0x0B, 0x12, 0x16, 0x19 ],
-    [ 0x0B, 0x0E, 0x16, 0x19 ],
-    [ 0x0B, 0x0E, 0x12, 0x19 ],
-    [ 0x0B, 0x19, 0x19, 0x19 ],
-    [ 0x0B, 0x0B, 0x19, 0x19 ],
-    [ 0x0B, 0x0B, 0x0B, 0x19 ],
-    [ 0x0B, 0x11, 0x16, 0x1C ],
-    [ 0x0B, 0x13, 0x18, 0x1C ],
-    [ 0x0B, 0x0F, 0x18, 0x1C ],
-    [ 0x0B, 0x0F, 0x14, 0x1C ],
-    [ 0x0B, 0x1C, 0x1C, 0x1C ],
-    [ 0x0B, 0x0B, 0x1C, 0x1C ],
-    [ 0x0B, 0x0B, 0x0B, 0x1C ],
-    [ 0x0B, 0x12, 0x18, 0x1F ],
-    [ 0x0B, 0x15, 0x1A, 0x1F ],
-    [ 0x0B, 0x10, 0x1A, 0x1F ],
-    [ 0x0B, 0x10, 0x15, 0x1F ],
-    [ 0x0B, 0x1F, 0x1F, 0x1F ],
-    [ 0x0B, 0x0B, 0x1F, 0x1F ],
-    [ 0x0B, 0x0B, 0x0B, 0x1F ],
-    [ 0x0B, 0x16, 0x1D, 0x22 ],
-    [ 0x0B, 0x10, 0x1D, 0x22 ],
-    [ 0x0B, 0x10, 0x17, 0x22 ],
-    [ 0x0B, 0x22, 0x22, 0x22 ],
-    [ 0x0B, 0x0B, 0x22, 0x22 ],
-    [ 0x0B, 0x0B, 0x0B, 0x22 ],
-    [ 0x0B, 0x18, 0x1F, 0x25 ],
-    [ 0x0B, 0x11, 0x1F, 0x25 ],
-    [ 0x0B, 0x11, 0x18, 0x25 ],
-    [ 0x0B, 0x25, 0x25, 0x25 ],
-    [ 0x0B, 0x0B, 0x25, 0x25 ],
-    [ 0x0B, 0x0B, 0x0B, 0x25 ],
-    [ 0x0B, 0x19, 0x21, 0x28 ],
-    [ 0x0B, 0x12, 0x21, 0x28 ],
-    [ 0x0B, 0x12, 0x1A, 0x28 ],
-    [ 0x0B, 0x28, 0x28, 0x28 ],
-    [ 0x0B, 0x0B, 0x28, 0x28 ],
-    [ 0x0B, 0x0B, 0x0B, 0x28 ],
-    [ 0x0B, 0x1B, 0x23, 0x2B ],
-    [ 0x0B, 0x13, 0x23, 0x2B ],
-    [ 0x0B, 0x13, 0x1B, 0x2B ],
-    [ 0x0B, 0x2B, 0x2B, 0x2B ],
-    [ 0x0B, 0x0B, 0x2B, 0x2B ],
-    [ 0x0B, 0x0B, 0x0B, 0x2B ],
-    [ 0x0B, 0x2E, 0x2E, 0x2E ],
-    [ 0x0B, 0x0B, 0x2E, 0x2E ],
-    [ 0x0B, 0x0B, 0x0B, 0x2E ],
-    [ 0x0B, 0x1D, 0x26, 0x2F ],
-    [ 0x0B, 0x14, 0x26, 0x2F ],
-    [ 0x0B, 0x14, 0x1D, 0x2F ],
-    [ 0x0B, 0x33, 0x33, 0x33 ],
-    [ 0x0B, 0x0B, 0x33, 0x33 ],
-    [ 0x0B, 0x0B, 0x0B, 0x33 ],
-    [ 0x0B, 0x39, 0x39, 0x39 ],
-    [ 0x0B, 0x0B, 0x39, 0x39 ],
-    [ 0x0B, 0x0B, 0x0B, 0x39 ],
-    [ 0x0C, 0x0D, 0x0D, 0x0E ],
-    [ 0x0C, 0x0D, 0x0E, 0x0F ],
-    [ 0x0C, 0x0E, 0x0F, 0x10 ],
-    [ 0x0C, 0x0D, 0x0F, 0x10 ],
-    [ 0x0C, 0x0D, 0x0E, 0x10 ],
-    [ 0x0C, 0x0E, 0x0F, 0x11 ],
-    [ 0x0C, 0x0E, 0x10, 0x11 ],
-    [ 0x0C, 0x0D, 0x10, 0x11 ],
-    [ 0x0C, 0x0D, 0x0F, 0x11 ],
-    [ 0x0C, 0x0E, 0x10, 0x12 ],
-    [ 0x0C, 0x0F, 0x11, 0x12 ],
-    [ 0x0C, 0x0D, 0x11, 0x12 ],
-    [ 0x0C, 0x0D, 0x0F, 0x12 ],
-    [ 0x0C, 0x12, 0x12, 0x12 ],
-    [ 0x0C, 0x0C, 0x12, 0x12 ],
-    [ 0x0C, 0x0C, 0x0C, 0x12 ],
-    [ 0x0C, 0x0F, 0x10, 0x13 ],
-    [ 0x0C, 0x0F, 0x12, 0x13 ],
-    [ 0x0C, 0x0D, 0x12, 0x13 ],
-    [ 0x0C, 0x0D, 0x10, 0x13 ],
-    [ 0x0C, 0x0F, 0x11, 0x14 ],
-    [ 0x0C, 0x10, 0x12, 0x14 ],
-    [ 0x0C, 0x0E, 0x12, 0x14 ],
-    [ 0x0C, 0x0E, 0x10, 0x14 ],
-    [ 0x0C, 0x14, 0x14, 0x14 ],
-    [ 0x0C, 0x0C, 0x14, 0x14 ],
-    [ 0x0C, 0x0C, 0x0C, 0x14 ],
-    [ 0x0C, 0x10, 0x13, 0x17 ],
-    [ 0x0C, 0x11, 0x15, 0x17 ],
-    [ 0x0C, 0x0E, 0x15, 0x17 ],
-    [ 0x0C, 0x0E, 0x12, 0x17 ],
-    [ 0x0C, 0x17, 0x17, 0x17 ],
-    [ 0x0C, 0x0C, 0x17, 0x17 ],
-    [ 0x0C, 0x0C, 0x0C, 0x17 ],
-    [ 0x0C, 0x11, 0x15, 0x1A ],
-    [ 0x0C, 0x13, 0x17, 0x1A ],
-    [ 0x0C, 0x0F, 0x17, 0x1A ],
-    [ 0x0C, 0x0F, 0x13, 0x1A ],
-    [ 0x0C, 0x1A, 0x1A, 0x1A ],
-    [ 0x0C, 0x0C, 0x1A, 0x1A ],
-    [ 0x0C, 0x0C, 0x0C, 0x1A ],
-    [ 0x0C, 0x12, 0x17, 0x1D ],
-    [ 0x0C, 0x14, 0x19, 0x1D ],
-    [ 0x0C, 0x10, 0x19, 0x1D ],
-    [ 0x0C, 0x10, 0x15, 0x1D ],
-    [ 0x0C, 0x1D, 0x1D, 0x1D ],
-    [ 0x0C, 0x0C, 0x1D, 0x1D ],
-    [ 0x0C, 0x0C, 0x0C, 0x1D ],
-    [ 0x0C, 0x13, 0x19, 0x20 ],
-    [ 0x0C, 0x16, 0x1B, 0x20 ],
-    [ 0x0C, 0x11, 0x1B, 0x20 ],
-    [ 0x0C, 0x11, 0x16, 0x20 ],
-    [ 0x0C, 0x20, 0x20, 0x20 ],
-    [ 0x0C, 0x0C, 0x20, 0x20 ],
-    [ 0x0C, 0x0C, 0x0C, 0x20 ],
-    [ 0x0C, 0x17, 0x1E, 0x23 ],
-    [ 0x0C, 0x11, 0x1E, 0x23 ],
-    [ 0x0C, 0x11, 0x18, 0x23 ],
-    [ 0x0C, 0x23, 0x23, 0x23 ],
-    [ 0x0C, 0x0C, 0x23, 0x23 ],
-    [ 0x0C, 0x0C, 0x0C, 0x23 ],
-    [ 0x0C, 0x19, 0x20, 0x26 ],
-    [ 0x0C, 0x12, 0x20, 0x26 ],
-    [ 0x0C, 0x12, 0x19, 0x26 ],
-    [ 0x0C, 0x26, 0x26, 0x26 ],
-    [ 0x0C, 0x0C, 0x26, 0x26 ],
-    [ 0x0C, 0x0C, 0x0C, 0x26 ],
-    [ 0x0C, 0x1A, 0x22, 0x29 ],
-    [ 0x0C, 0x13, 0x22, 0x29 ],
-    [ 0x0C, 0x13, 0x1B, 0x29 ],
-    [ 0x0C, 0x29, 0x29, 0x29 ],
-    [ 0x0C, 0x0C, 0x29, 0x29 ],
-    [ 0x0C, 0x0C, 0x0C, 0x29 ],
-    [ 0x0C, 0x1C, 0x24, 0x2C ],
-    [ 0x0C, 0x14, 0x24, 0x2C ],
-    [ 0x0C, 0x14, 0x1C, 0x2C ],
-    [ 0x0C, 0x2C, 0x2C, 0x2C ],
-    [ 0x0C, 0x0C, 0x2C, 0x2C ],
-    [ 0x0C, 0x0C, 0x0C, 0x2C ],
-    [ 0x0C, 0x2F, 0x2F, 0x2F ],
-    [ 0x0C, 0x0C, 0x2F, 0x2F ],
-    [ 0x0C, 0x0C, 0x0C, 0x2F ],
-    [ 0x0C, 0x1E, 0x27, 0x30 ],
-    [ 0x0C, 0x15, 0x27, 0x30 ],
-    [ 0x0C, 0x15, 0x1E, 0x30 ],
-    [ 0x0C, 0x34, 0x34, 0x34 ],
-    [ 0x0C, 0x0C, 0x34, 0x34 ],
-    [ 0x0C, 0x0C, 0x0C, 0x34 ],
-    [ 0x0C, 0x3A, 0x3A, 0x3A ],
-    [ 0x0C, 0x0C, 0x3A, 0x3A ],
-    [ 0x0C, 0x0C, 0x0C, 0x3A ],
-    [ 0x0D, 0x0E, 0x0E, 0x0F ],
-    [ 0x0D, 0x0E, 0x0F, 0x10 ],
-    [ 0x0D, 0x0F, 0x10, 0x11 ],
-    [ 0x0D, 0x0E, 0x10, 0x11 ],
-    [ 0x0D, 0x0E, 0x0F, 0x11 ],
-    [ 0x0D, 0x0F, 0x10, 0x12 ],
-    [ 0x0D, 0x0F, 0x11, 0x12 ],
-    [ 0x0D, 0x0E, 0x11, 0x12 ],
-    [ 0x0D, 0x0E, 0x10, 0x12 ],
-    [ 0x0D, 0x0F, 0x11, 0x13 ],
-    [ 0x0D, 0x10, 0x12, 0x13 ],
-    [ 0x0D, 0x0E, 0x12, 0x13 ],
-    [ 0x0D, 0x0E, 0x10, 0x13 ],
-    [ 0x0D, 0x13, 0x13, 0x13 ],
-    [ 0x0D, 0x0D, 0x13, 0x13 ],
-    [ 0x0D, 0x0D, 0x0D, 0x13 ],
-    [ 0x0D, 0x10, 0x11, 0x14 ],
-    [ 0x0D, 0x10, 0x13, 0x14 ],
-    [ 0x0D, 0x0E, 0x13, 0x14 ],
-    [ 0x0D, 0x0E, 0x11, 0x14 ],
-    [ 0x0D, 0x10, 0x12, 0x15 ],
-    [ 0x0D, 0x11, 0x13, 0x15 ],
-    [ 0x0D, 0x0F, 0x13, 0x15 ],
-    [ 0x0D, 0x0F, 0x11, 0x15 ],
-    [ 0x0D, 0x15, 0x15, 0x15 ],
-    [ 0x0D, 0x0D, 0x15, 0x15 ],
-    [ 0x0D, 0x0D, 0x0D, 0x15 ],
-    [ 0x0D, 0x11, 0x14, 0x18 ],
-    [ 0x0D, 0x12, 0x16, 0x18 ],
-    [ 0x0D, 0x0F, 0x16, 0x18 ],
-    [ 0x0D, 0x0F, 0x13, 0x18 ],
-    [ 0x0D, 0x18, 0x18, 0x18 ],
-    [ 0x0D, 0x0D, 0x18, 0x18 ],
-    [ 0x0D, 0x0D, 0x0D, 0x18 ],
-    [ 0x0D, 0x12, 0x16, 0x1B ],
-    [ 0x0D, 0x14, 0x18, 0x1B ],
-    [ 0x0D, 0x10, 0x18, 0x1B ],
-    [ 0x0D, 0x10, 0x14, 0x1B ],
-    [ 0x0D, 0x1B, 0x1B, 0x1B ],
-    [ 0x0D, 0x0D, 0x1B, 0x1B ],
-    [ 0x0D, 0x0D, 0x0D, 0x1B ],
-    [ 0x0D, 0x13, 0x18, 0x1E ],
-    [ 0x0D, 0x15, 0x1A, 0x1E ],
-    [ 0x0D, 0x11, 0x1A, 0x1E ],
-    [ 0x0D, 0x11, 0x16, 0x1E ],
-    [ 0x0D, 0x1E, 0x1E, 0x1E ],
-    [ 0x0D, 0x0D, 0x1E, 0x1E ],
-    [ 0x0D, 0x0D, 0x0D, 0x1E ],
-    [ 0x0D, 0x14, 0x1A, 0x21 ],
-    [ 0x0D, 0x17, 0x1C, 0x21 ],
-    [ 0x0D, 0x12, 0x1C, 0x21 ],
-    [ 0x0D, 0x12, 0x17, 0x21 ],
-    [ 0x0D, 0x21, 0x21, 0x21 ],
-    [ 0x0D, 0x0D, 0x21, 0x21 ],
-    [ 0x0D, 0x0D, 0x0D, 0x21 ],
-    [ 0x0D, 0x18, 0x1F, 0x24 ],
-    [ 0x0D, 0x12, 0x1F, 0x24 ],
-    [ 0x0D, 0x12, 0x19, 0x24 ],
-    [ 0x0D, 0x24, 0x24, 0x24 ],
-    [ 0x0D, 0x0D, 0x24, 0x24 ],
-    [ 0x0D, 0x0D, 0x0D, 0x24 ],
-    [ 0x0D, 0x1A, 0x21, 0x27 ],
-    [ 0x0D, 0x13, 0x21, 0x27 ],
-    [ 0x0D, 0x13, 0x1A, 0x27 ],
-    [ 0x0D, 0x27, 0x27, 0x27 ],
-    [ 0x0D, 0x0D, 0x27, 0x27 ],
-    [ 0x0D, 0x0D, 0x0D, 0x27 ],
-    [ 0x0D, 0x1B, 0x23, 0x2A ],
-    [ 0x0D, 0x14, 0x23, 0x2A ],
-    [ 0x0D, 0x14, 0x1C, 0x2A ],
-    [ 0x0D, 0x2A, 0x2A, 0x2A ],
-    [ 0x0D, 0x0D, 0x2A, 0x2A ],
-    [ 0x0D, 0x0D, 0x0D, 0x2A ],
-    [ 0x0D, 0x1D, 0x25, 0x2D ],
-    [ 0x0D, 0x15, 0x25, 0x2D ],
-    [ 0x0D, 0x15, 0x1D, 0x2D ],
-    [ 0x0D, 0x2D, 0x2D, 0x2D ],
-    [ 0x0D, 0x0D, 0x2D, 0x2D ],
-    [ 0x0D, 0x0D, 0x0D, 0x2D ],
-    [ 0x0D, 0x30, 0x30, 0x30 ],
-    [ 0x0D, 0x0D, 0x30, 0x30 ],
-    [ 0x0D, 0x0D, 0x0D, 0x30 ],
-    [ 0x0D, 0x1F, 0x28, 0x31 ],
-    [ 0x0D, 0x16, 0x28, 0x31 ],
-    [ 0x0D, 0x16, 0x1F, 0x31 ],
-    [ 0x0D, 0x35, 0x35, 0x35 ],
-    [ 0x0D, 0x0D, 0x35, 0x35 ],
-    [ 0x0D, 0x0D, 0x0D, 0x35 ],
-    [ 0x0D, 0x3B, 0x3B, 0x3B ],
-    [ 0x0D, 0x0D, 0x3B, 0x3B ],
-    [ 0x0D, 0x0D, 0x0D, 0x3B ],
-    [ 0x0E, 0x0F, 0x0F, 0x10 ],
-    [ 0x0E, 0x0F, 0x10, 0x11 ],
-    [ 0x0E, 0x10, 0x11, 0x12 ],
-    [ 0x0E, 0x0F, 0x11, 0x12 ],
-    [ 0x0E, 0x0F, 0x10, 0x12 ],
-    [ 0x0E, 0x10, 0x11, 0x13 ],
-    [ 0x0E, 0x10, 0x12, 0x13 ],
-    [ 0x0E, 0x0F, 0x12, 0x13 ],
-    [ 0x0E, 0x0F, 0x11, 0x13 ],
-    [ 0x0E, 0x10, 0x12, 0x14 ],
-    [ 0x0E, 0x11, 0x13, 0x14 ],
-    [ 0x0E, 0x0F, 0x13, 0x14 ],
-    [ 0x0E, 0x0F, 0x11, 0x14 ],
-    [ 0x0E, 0x14, 0x14, 0x14 ],
-    [ 0x0E, 0x0E, 0x14, 0x14 ],
-    [ 0x0E, 0x0E, 0x0E, 0x14 ],
-    [ 0x0E, 0x11, 0x12, 0x15 ],
-    [ 0x0E, 0x11, 0x14, 0x15 ],
-    [ 0x0E, 0x0F, 0x14, 0x15 ],
-    [ 0x0E, 0x0F, 0x12, 0x15 ],
-    [ 0x0E, 0x11, 0x13, 0x16 ],
-    [ 0x0E, 0x12, 0x14, 0x16 ],
-    [ 0x0E, 0x10, 0x14, 0x16 ],
-    [ 0x0E, 0x10, 0x12, 0x16 ],
-    [ 0x0E, 0x16, 0x16, 0x16 ],
-    [ 0x0E, 0x0E, 0x16, 0x16 ],
-    [ 0x0E, 0x0E, 0x0E, 0x16 ],
-    [ 0x0E, 0x12, 0x15, 0x19 ],
-    [ 0x0E, 0x13, 0x17, 0x19 ],
-    [ 0x0E, 0x10, 0x17, 0x19 ],
-    [ 0x0E, 0x10, 0x14, 0x19 ],
-    [ 0x0E, 0x19, 0x19, 0x19 ],
-    [ 0x0E, 0x0E, 0x19, 0x19 ],
-    [ 0x0E, 0x0E, 0x0E, 0x19 ],
-    [ 0x0E, 0x13, 0x17, 0x1C ],
-    [ 0x0E, 0x15, 0x19, 0x1C ],
-    [ 0x0E, 0x11, 0x19, 0x1C ],
-    [ 0x0E, 0x11, 0x15, 0x1C ],
-    [ 0x0E, 0x1C, 0x1C, 0x1C ],
-    [ 0x0E, 0x0E, 0x1C, 0x1C ],
-    [ 0x0E, 0x0E, 0x0E, 0x1C ],
-    [ 0x0E, 0x14, 0x19, 0x1F ],
-    [ 0x0E, 0x16, 0x1B, 0x1F ],
-    [ 0x0E, 0x12, 0x1B, 0x1F ],
-    [ 0x0E, 0x12, 0x17, 0x1F ],
-    [ 0x0E, 0x1F, 0x1F, 0x1F ],
-    [ 0x0E, 0x0E, 0x1F, 0x1F ],
-    [ 0x0E, 0x0E, 0x0E, 0x1F ],
-    [ 0x0E, 0x15, 0x1B, 0x22 ],
-    [ 0x0E, 0x18, 0x1D, 0x22 ],
-    [ 0x0E, 0x13, 0x1D, 0x22 ],
-    [ 0x0E, 0x13, 0x18, 0x22 ],
-    [ 0x0E, 0x22, 0x22, 0x22 ],
-    [ 0x0E, 0x0E, 0x22, 0x22 ],
-    [ 0x0E, 0x0E, 0x0E, 0x22 ],
-    [ 0x0E, 0x19, 0x20, 0x25 ],
-    [ 0x0E, 0x13, 0x20, 0x25 ],
-    [ 0x0E, 0x13, 0x1A, 0x25 ],
-    [ 0x0E, 0x25, 0x25, 0x25 ],
-    [ 0x0E, 0x0E, 0x25, 0x25 ],
-    [ 0x0E, 0x0E, 0x0E, 0x25 ],
-    [ 0x0E, 0x1B, 0x22, 0x28 ],
-    [ 0x0E, 0x14, 0x22, 0x28 ],
-    [ 0x0E, 0x14, 0x1B, 0x28 ],
-    [ 0x0E, 0x28, 0x28, 0x28 ],
-    [ 0x0E, 0x0E, 0x28, 0x28 ],
-    [ 0x0E, 0x0E, 0x0E, 0x28 ],
-    [ 0x0E, 0x1C, 0x24, 0x2B ],
-    [ 0x0E, 0x15, 0x24, 0x2B ],
-    [ 0x0E, 0x15, 0x1D, 0x2B ],
-    [ 0x0E, 0x2B, 0x2B, 0x2B ],
-    [ 0x0E, 0x0E, 0x2B, 0x2B ],
-    [ 0x0E, 0x0E, 0x0E, 0x2B ],
-    [ 0x0E, 0x1E, 0x26, 0x2E ],
-    [ 0x0E, 0x16, 0x26, 0x2E ],
-    [ 0x0E, 0x16, 0x1E, 0x2E ],
-    [ 0x0E, 0x2E, 0x2E, 0x2E ],
-    [ 0x0E, 0x0E, 0x2E, 0x2E ],
-    [ 0x0E, 0x0E, 0x0E, 0x2E ],
-    [ 0x0E, 0x31, 0x31, 0x31 ],
-    [ 0x0E, 0x0E, 0x31, 0x31 ],
-    [ 0x0E, 0x0E, 0x0E, 0x31 ],
-    [ 0x0E, 0x20, 0x29, 0x32 ],
-    [ 0x0E, 0x17, 0x29, 0x32 ],
-    [ 0x0E, 0x17, 0x20, 0x32 ],
-    [ 0x0E, 0x36, 0x36, 0x36 ],
-    [ 0x0E, 0x0E, 0x36, 0x36 ],
-    [ 0x0E, 0x0E, 0x0E, 0x36 ],
-    [ 0x0E, 0x3C, 0x3C, 0x3C ],
-    [ 0x0E, 0x0E, 0x3C, 0x3C ],
-    [ 0x0E, 0x0E, 0x0E, 0x3C ],
-    [ 0x0F, 0x10, 0x10, 0x11 ],
-    [ 0x0F, 0x10, 0x11, 0x12 ],
-    [ 0x0F, 0x11, 0x12, 0x13 ],
-    [ 0x0F, 0x10, 0x12, 0x13 ],
-    [ 0x0F, 0x10, 0x11, 0x13 ],
-    [ 0x0F, 0x11, 0x12, 0x14 ],
-    [ 0x0F, 0x11, 0x13, 0x14 ],
-    [ 0x0F, 0x10, 0x13, 0x14 ],
-    [ 0x0F, 0x10, 0x12, 0x14 ],
-    [ 0x0F, 0x11, 0x13, 0x15 ],
-    [ 0x0F, 0x12, 0x14, 0x15 ],
-    [ 0x0F, 0x10, 0x14, 0x15 ],
-    [ 0x0F, 0x10, 0x12, 0x15 ],
-    [ 0x0F, 0x15, 0x15, 0x15 ],
-    [ 0x0F, 0x0F, 0x15, 0x15 ],
-    [ 0x0F, 0x0F, 0x0F, 0x15 ],
-    [ 0x0F, 0x12, 0x13, 0x16 ],
-    [ 0x0F, 0x12, 0x15, 0x16 ],
-    [ 0x0F, 0x10, 0x15, 0x16 ],
-    [ 0x0F, 0x10, 0x13, 0x16 ],
-    [ 0x0F, 0x12, 0x14, 0x17 ],
-    [ 0x0F, 0x13, 0x15, 0x17 ],
-    [ 0x0F, 0x11, 0x15, 0x17 ],
-    [ 0x0F, 0x11, 0x13, 0x17 ],
-    [ 0x0F, 0x17, 0x17, 0x17 ],
-    [ 0x0F, 0x0F, 0x17, 0x17 ],
-    [ 0x0F, 0x0F, 0x0F, 0x17 ],
-    [ 0x0F, 0x13, 0x16, 0x1A ],
-    [ 0x0F, 0x14, 0x18, 0x1A ],
-    [ 0x0F, 0x11, 0x18, 0x1A ],
-    [ 0x0F, 0x11, 0x15, 0x1A ],
-    [ 0x0F, 0x1A, 0x1A, 0x1A ],
-    [ 0x0F, 0x0F, 0x1A, 0x1A ],
-    [ 0x0F, 0x0F, 0x0F, 0x1A ],
-    [ 0x0F, 0x14, 0x18, 0x1D ],
-    [ 0x0F, 0x16, 0x1A, 0x1D ],
-    [ 0x0F, 0x12, 0x1A, 0x1D ],
-    [ 0x0F, 0x12, 0x16, 0x1D ],
-    [ 0x0F, 0x1D, 0x1D, 0x1D ],
-    [ 0x0F, 0x0F, 0x1D, 0x1D ],
-    [ 0x0F, 0x0F, 0x0F, 0x1D ],
-    [ 0x0F, 0x15, 0x1A, 0x20 ],
-    [ 0x0F, 0x17, 0x1C, 0x20 ],
-    [ 0x0F, 0x13, 0x1C, 0x20 ],
-    [ 0x0F, 0x13, 0x18, 0x20 ],
-    [ 0x0F, 0x20, 0x20, 0x20 ],
-    [ 0x0F, 0x0F, 0x20, 0x20 ],
-    [ 0x0F, 0x0F, 0x0F, 0x20 ],
-    [ 0x0F, 0x16, 0x1C, 0x23 ],
-    [ 0x0F, 0x19, 0x1E, 0x23 ],
-    [ 0x0F, 0x14, 0x1E, 0x23 ],
-    [ 0x0F, 0x14, 0x19, 0x23 ],
-    [ 0x0F, 0x23, 0x23, 0x23 ],
-    [ 0x0F, 0x0F, 0x23, 0x23 ],
-    [ 0x0F, 0x0F, 0x0F, 0x23 ],
-    [ 0x0F, 0x1A, 0x21, 0x26 ],
-    [ 0x0F, 0x14, 0x21, 0x26 ],
-    [ 0x0F, 0x14, 0x1B, 0x26 ],
-    [ 0x0F, 0x26, 0x26, 0x26 ],
-    [ 0x0F, 0x0F, 0x26, 0x26 ],
-    [ 0x0F, 0x0F, 0x0F, 0x26 ],
-    [ 0x0F, 0x1C, 0x23, 0x29 ],
-    [ 0x0F, 0x15, 0x23, 0x29 ],
-    [ 0x0F, 0x15, 0x1C, 0x29 ],
-    [ 0x0F, 0x29, 0x29, 0x29 ],
-    [ 0x0F, 0x0F, 0x29, 0x29 ],
-    [ 0x0F, 0x0F, 0x0F, 0x29 ],
-    [ 0x0F, 0x1D, 0x25, 0x2C ],
-    [ 0x0F, 0x16, 0x25, 0x2C ],
-    [ 0x0F, 0x16, 0x1E, 0x2C ],
-    [ 0x0F, 0x2C, 0x2C, 0x2C ],
-    [ 0x0F, 0x0F, 0x2C, 0x2C ],
-    [ 0x0F, 0x0F, 0x0F, 0x2C ],
-    [ 0x0F, 0x1F, 0x27, 0x2F ],
-    [ 0x0F, 0x17, 0x27, 0x2F ],
-    [ 0x0F, 0x17, 0x1F, 0x2F ],
-    [ 0x0F, 0x2F, 0x2F, 0x2F ],
-    [ 0x0F, 0x0F, 0x2F, 0x2F ],
-    [ 0x0F, 0x0F, 0x0F, 0x2F ],
-    [ 0x0F, 0x32, 0x32, 0x32 ],
-    [ 0x0F, 0x0F, 0x32, 0x32 ],
-    [ 0x0F, 0x0F, 0x0F, 0x32 ],
-    [ 0x0F, 0x21, 0x2A, 0x33 ],
-    [ 0x0F, 0x18, 0x2A, 0x33 ],
-    [ 0x0F, 0x18, 0x21, 0x33 ],
-    [ 0x0F, 0x37, 0x37, 0x37 ],
-    [ 0x0F, 0x0F, 0x37, 0x37 ],
-    [ 0x0F, 0x0F, 0x0F, 0x37 ],
-    [ 0x0F, 0x3D, 0x3D, 0x3D ],
-    [ 0x0F, 0x0F, 0x3D, 0x3D ],
-    [ 0x0F, 0x0F, 0x0F, 0x3D ],
-    [ 0x10, 0x11, 0x11, 0x12 ],
-    [ 0x10, 0x11, 0x12, 0x13 ],
-    [ 0x10, 0x12, 0x13, 0x14 ],
-    [ 0x10, 0x11, 0x13, 0x14 ],
-    [ 0x10, 0x11, 0x12, 0x14 ],
-    [ 0x10, 0x12, 0x13, 0x15 ],
-    [ 0x10, 0x12, 0x14, 0x15 ],
-    [ 0x10, 0x11, 0x14, 0x15 ],
-    [ 0x10, 0x11, 0x13, 0x15 ],
-    [ 0x10, 0x12, 0x14, 0x16 ],
-    [ 0x10, 0x13, 0x15, 0x16 ],
-    [ 0x10, 0x11, 0x15, 0x16 ],
-    [ 0x10, 0x11, 0x13, 0x16 ],
-    [ 0x10, 0x16, 0x16, 0x16 ],
-    [ 0x10, 0x10, 0x16, 0x16 ],
-    [ 0x10, 0x10, 0x10, 0x16 ],
-    [ 0x10, 0x13, 0x14, 0x17 ],
-    [ 0x10, 0x13, 0x16, 0x17 ],
-    [ 0x10, 0x11, 0x16, 0x17 ],
-    [ 0x10, 0x11, 0x14, 0x17 ],
-    [ 0x10, 0x13, 0x15, 0x18 ],
-    [ 0x10, 0x14, 0x16, 0x18 ],
-    [ 0x10, 0x12, 0x16, 0x18 ],
-    [ 0x10, 0x12, 0x14, 0x18 ],
-    [ 0x10, 0x18, 0x18, 0x18 ],
-    [ 0x10, 0x10, 0x18, 0x18 ],
-    [ 0x10, 0x10, 0x10, 0x18 ],
-    [ 0x10, 0x14, 0x17, 0x1B ],
-    [ 0x10, 0x15, 0x19, 0x1B ],
-    [ 0x10, 0x12, 0x19, 0x1B ],
-    [ 0x10, 0x12, 0x16, 0x1B ],
-    [ 0x10, 0x1B, 0x1B, 0x1B ],
-    [ 0x10, 0x10, 0x1B, 0x1B ],
-    [ 0x10, 0x10, 0x10, 0x1B ],
-    [ 0x10, 0x15, 0x19, 0x1E ],
-    [ 0x10, 0x17, 0x1B, 0x1E ],
-    [ 0x10, 0x13, 0x1B, 0x1E ],
-    [ 0x10, 0x13, 0x17, 0x1E ],
-    [ 0x10, 0x1E, 0x1E, 0x1E ],
-    [ 0x10, 0x10, 0x1E, 0x1E ],
-    [ 0x10, 0x10, 0x10, 0x1E ],
-    [ 0x10, 0x16, 0x1B, 0x21 ],
-    [ 0x10, 0x18, 0x1D, 0x21 ],
-    [ 0x10, 0x14, 0x1D, 0x21 ],
-    [ 0x10, 0x14, 0x19, 0x21 ],
-    [ 0x10, 0x21, 0x21, 0x21 ],
-    [ 0x10, 0x10, 0x21, 0x21 ],
-    [ 0x10, 0x10, 0x10, 0x21 ],
-    [ 0x10, 0x17, 0x1D, 0x24 ],
-    [ 0x10, 0x1A, 0x1F, 0x24 ],
-    [ 0x10, 0x15, 0x1F, 0x24 ],
-    [ 0x10, 0x15, 0x1A, 0x24 ],
-    [ 0x10, 0x24, 0x24, 0x24 ],
-    [ 0x10, 0x10, 0x24, 0x24 ],
-    [ 0x10, 0x10, 0x10, 0x24 ],
-    [ 0x10, 0x1B, 0x22, 0x27 ],
-    [ 0x10, 0x15, 0x22, 0x27 ],
-    [ 0x10, 0x15, 0x1C, 0x27 ],
-    [ 0x10, 0x27, 0x27, 0x27 ],
-    [ 0x10, 0x10, 0x27, 0x27 ],
-    [ 0x10, 0x10, 0x10, 0x27 ],
-    [ 0x10, 0x1D, 0x24, 0x2A ],
-    [ 0x10, 0x16, 0x24, 0x2A ],
-    [ 0x10, 0x16, 0x1D, 0x2A ],
-    [ 0x10, 0x2A, 0x2A, 0x2A ],
-    [ 0x10, 0x10, 0x2A, 0x2A ],
-    [ 0x10, 0x10, 0x10, 0x2A ],
-    [ 0x10, 0x1E, 0x26, 0x2D ],
-    [ 0x10, 0x17, 0x26, 0x2D ],
-    [ 0x10, 0x17, 0x1F, 0x2D ],
-    [ 0x10, 0x2D, 0x2D, 0x2D ],
-    [ 0x10, 0x10, 0x2D, 0x2D ],
-    [ 0x10, 0x10, 0x10, 0x2D ],
-    [ 0x10, 0x20, 0x28, 0x30 ],
-    [ 0x10, 0x18, 0x28, 0x30 ],
-    [ 0x10, 0x18, 0x20, 0x30 ],
-    [ 0x10, 0x30, 0x30, 0x30 ],
-    [ 0x10, 0x10, 0x30, 0x30 ],
-    [ 0x10, 0x10, 0x10, 0x30 ],
-    [ 0x10, 0x33, 0x33, 0x33 ],
-    [ 0x10, 0x10, 0x33, 0x33 ],
-    [ 0x10, 0x10, 0x10, 0x33 ],
-    [ 0x10, 0x22, 0x2B, 0x34 ],
-    [ 0x10, 0x19, 0x2B, 0x34 ],
-    [ 0x10, 0x19, 0x22, 0x34 ],
-    [ 0x10, 0x38, 0x38, 0x38 ],
-    [ 0x10, 0x10, 0x38, 0x38 ],
-    [ 0x10, 0x10, 0x10, 0x38 ],
-    [ 0x10, 0x3E, 0x3E, 0x3E ],
-    [ 0x10, 0x10, 0x3E, 0x3E ],
-    [ 0x10, 0x10, 0x10, 0x3E ],
-    [ 0x11, 0x12, 0x12, 0x13 ],
-    [ 0x11, 0x12, 0x13, 0x14 ],
-    [ 0x11, 0x13, 0x14, 0x15 ],
-    [ 0x11, 0x12, 0x14, 0x15 ],
-    [ 0x11, 0x12, 0x13, 0x15 ],
-    [ 0x11, 0x13, 0x14, 0x16 ],
-    [ 0x11, 0x13, 0x15, 0x16 ],
-    [ 0x11, 0x12, 0x15, 0x16 ],
-    [ 0x11, 0x12, 0x14, 0x16 ],
-    [ 0x11, 0x13, 0x15, 0x17 ],
-    [ 0x11, 0x14, 0x16, 0x17 ],
-    [ 0x11, 0x12, 0x16, 0x17 ],
-    [ 0x11, 0x12, 0x14, 0x17 ],
-    [ 0x11, 0x17, 0x17, 0x17 ],
-    [ 0x11, 0x11, 0x17, 0x17 ],
-    [ 0x11, 0x11, 0x11, 0x17 ],
-    [ 0x11, 0x14, 0x15, 0x18 ],
-    [ 0x11, 0x14, 0x17, 0x18 ],
-    [ 0x11, 0x12, 0x17, 0x18 ],
-    [ 0x11, 0x12, 0x15, 0x18 ],
-    [ 0x11, 0x14, 0x16, 0x19 ],
-    [ 0x11, 0x15, 0x17, 0x19 ],
-    [ 0x11, 0x13, 0x17, 0x19 ],
-    [ 0x11, 0x13, 0x15, 0x19 ],
-    [ 0x11, 0x19, 0x19, 0x19 ],
-    [ 0x11, 0x11, 0x19, 0x19 ],
-    [ 0x11, 0x11, 0x11, 0x19 ],
-    [ 0x11, 0x15, 0x18, 0x1C ],
-    [ 0x11, 0x16, 0x1A, 0x1C ],
-    [ 0x11, 0x13, 0x1A, 0x1C ],
-    [ 0x11, 0x13, 0x17, 0x1C ],
-    [ 0x11, 0x1C, 0x1C, 0x1C ],
-    [ 0x11, 0x11, 0x1C, 0x1C ],
-    [ 0x11, 0x11, 0x11, 0x1C ],
-    [ 0x11, 0x16, 0x1A, 0x1F ],
-    [ 0x11, 0x18, 0x1C, 0x1F ],
-    [ 0x11, 0x14, 0x1C, 0x1F ],
-    [ 0x11, 0x14, 0x18, 0x1F ],
-    [ 0x11, 0x1F, 0x1F, 0x1F ],
-    [ 0x11, 0x11, 0x1F, 0x1F ],
-    [ 0x11, 0x11, 0x11, 0x1F ],
-    [ 0x11, 0x17, 0x1C, 0x22 ],
-    [ 0x11, 0x19, 0x1E, 0x22 ],
-    [ 0x11, 0x15, 0x1E, 0x22 ],
-    [ 0x11, 0x15, 0x1A, 0x22 ],
-    [ 0x11, 0x22, 0x22, 0x22 ],
-    [ 0x11, 0x11, 0x22, 0x22 ],
-    [ 0x11, 0x11, 0x11, 0x22 ],
-    [ 0x11, 0x18, 0x1E, 0x25 ],
-    [ 0x11, 0x1B, 0x20, 0x25 ],
-    [ 0x11, 0x16, 0x20, 0x25 ],
-    [ 0x11, 0x16, 0x1B, 0x25 ],
-    [ 0x11, 0x25, 0x25, 0x25 ],
-    [ 0x11, 0x11, 0x25, 0x25 ],
-    [ 0x11, 0x11, 0x11, 0x25 ],
-    [ 0x11, 0x1C, 0x23, 0x28 ],
-    [ 0x11, 0x16, 0x23, 0x28 ],
-    [ 0x11, 0x16, 0x1D, 0x28 ],
-    [ 0x11, 0x28, 0x28, 0x28 ],
-    [ 0x11, 0x11, 0x28, 0x28 ],
-    [ 0x11, 0x11, 0x11, 0x28 ],
-    [ 0x11, 0x1E, 0x25, 0x2B ],
-    [ 0x11, 0x17, 0x25, 0x2B ],
-    [ 0x11, 0x17, 0x1E, 0x2B ],
-    [ 0x11, 0x2B, 0x2B, 0x2B ],
-    [ 0x11, 0x11, 0x2B, 0x2B ],
-    [ 0x11, 0x11, 0x11, 0x2B ],
-    [ 0x11, 0x1F, 0x27, 0x2E ],
-    [ 0x11, 0x18, 0x27, 0x2E ],
-    [ 0x11, 0x18, 0x20, 0x2E ],
-    [ 0x11, 0x2E, 0x2E, 0x2E ],
-    [ 0x11, 0x11, 0x2E, 0x2E ],
-    [ 0x11, 0x11, 0x11, 0x2E ],
-    [ 0x11, 0x21, 0x29, 0x31 ],
-    [ 0x11, 0x19, 0x29, 0x31 ],
-    [ 0x11, 0x19, 0x21, 0x31 ],
-    [ 0x11, 0x31, 0x31, 0x31 ],
-    [ 0x11, 0x11, 0x31, 0x31 ],
-    [ 0x11, 0x11, 0x11, 0x31 ],
-    [ 0x11, 0x34, 0x34, 0x34 ],
-    [ 0x11, 0x11, 0x34, 0x34 ],
-    [ 0x11, 0x11, 0x11, 0x34 ],
-    [ 0x11, 0x23, 0x2C, 0x35 ],
-    [ 0x11, 0x1A, 0x2C, 0x35 ],
-    [ 0x11, 0x1A, 0x23, 0x35 ],
-    [ 0x11, 0x39, 0x39, 0x39 ],
-    [ 0x11, 0x11, 0x39, 0x39 ],
-    [ 0x11, 0x11, 0x11, 0x39 ],
-    [ 0x11, 0x3F, 0x3F, 0x3F ],
-    [ 0x11, 0x11, 0x3F, 0x3F ],
-    [ 0x11, 0x11, 0x11, 0x3F ],
-    [ 0x12, 0x13, 0x13, 0x14 ],
-    [ 0x12, 0x13, 0x14, 0x15 ],
-    [ 0x12, 0x14, 0x15, 0x16 ],
-    [ 0x12, 0x13, 0x15, 0x16 ],
-    [ 0x12, 0x13, 0x14, 0x16 ],
-    [ 0x12, 0x14, 0x15, 0x17 ],
-    [ 0x12, 0x14, 0x16, 0x17 ],
-    [ 0x12, 0x13, 0x16, 0x17 ],
-    [ 0x12, 0x13, 0x15, 0x17 ],
-    [ 0x12, 0x14, 0x16, 0x18 ],
-    [ 0x12, 0x15, 0x17, 0x18 ],
-    [ 0x12, 0x13, 0x17, 0x18 ],
-    [ 0x12, 0x13, 0x15, 0x18 ],
-    [ 0x12, 0x18, 0x18, 0x18 ],
-    [ 0x12, 0x12, 0x18, 0x18 ],
-    [ 0x12, 0x12, 0x12, 0x18 ],
-    [ 0x12, 0x15, 0x16, 0x19 ],
-    [ 0x12, 0x15, 0x18, 0x19 ],
-    [ 0x12, 0x13, 0x18, 0x19 ],
-    [ 0x12, 0x13, 0x16, 0x19 ],
-    [ 0x12, 0x15, 0x17, 0x1A ],
-    [ 0x12, 0x16, 0x18, 0x1A ],
-    [ 0x12, 0x14, 0x18, 0x1A ],
-    [ 0x12, 0x14, 0x16, 0x1A ],
-    [ 0x12, 0x1A, 0x1A, 0x1A ],
-    [ 0x12, 0x12, 0x1A, 0x1A ],
-    [ 0x12, 0x12, 0x12, 0x1A ],
-    [ 0x12, 0x16, 0x19, 0x1D ],
-    [ 0x12, 0x17, 0x1B, 0x1D ],
-    [ 0x12, 0x14, 0x1B, 0x1D ],
-    [ 0x12, 0x14, 0x18, 0x1D ],
-    [ 0x12, 0x1D, 0x1D, 0x1D ],
-    [ 0x12, 0x12, 0x1D, 0x1D ],
-    [ 0x12, 0x12, 0x12, 0x1D ],
-    [ 0x12, 0x17, 0x1B, 0x20 ],
-    [ 0x12, 0x19, 0x1D, 0x20 ],
-    [ 0x12, 0x15, 0x1D, 0x20 ],
-    [ 0x12, 0x15, 0x19, 0x20 ],
-    [ 0x12, 0x20, 0x20, 0x20 ],
-    [ 0x12, 0x12, 0x20, 0x20 ],
-    [ 0x12, 0x12, 0x12, 0x20 ],
-    [ 0x12, 0x18, 0x1D, 0x23 ],
-    [ 0x12, 0x1A, 0x1F, 0x23 ],
-    [ 0x12, 0x16, 0x1F, 0x23 ],
-    [ 0x12, 0x16, 0x1B, 0x23 ],
-    [ 0x12, 0x23, 0x23, 0x23 ],
-    [ 0x12, 0x12, 0x23, 0x23 ],
-    [ 0x12, 0x12, 0x12, 0x23 ],
-    [ 0x12, 0x19, 0x1F, 0x26 ],
-    [ 0x12, 0x1C, 0x21, 0x26 ],
-    [ 0x12, 0x17, 0x21, 0x26 ],
-    [ 0x12, 0x17, 0x1C, 0x26 ],
-    [ 0x12, 0x26, 0x26, 0x26 ],
-    [ 0x12, 0x12, 0x26, 0x26 ],
-    [ 0x12, 0x12, 0x12, 0x26 ],
-    [ 0x12, 0x1D, 0x24, 0x29 ],
-    [ 0x12, 0x17, 0x24, 0x29 ],
-    [ 0x12, 0x17, 0x1E, 0x29 ],
-    [ 0x12, 0x29, 0x29, 0x29 ],
-    [ 0x12, 0x12, 0x29, 0x29 ],
-    [ 0x12, 0x12, 0x12, 0x29 ],
-    [ 0x12, 0x1F, 0x26, 0x2C ],
-    [ 0x12, 0x18, 0x26, 0x2C ],
-    [ 0x12, 0x18, 0x1F, 0x2C ],
-    [ 0x12, 0x2C, 0x2C, 0x2C ],
-    [ 0x12, 0x12, 0x2C, 0x2C ],
-    [ 0x12, 0x12, 0x12, 0x2C ],
-    [ 0x12, 0x20, 0x28, 0x2F ],
-    [ 0x12, 0x19, 0x28, 0x2F ],
-    [ 0x12, 0x19, 0x21, 0x2F ],
-    [ 0x12, 0x2F, 0x2F, 0x2F ],
-    [ 0x12, 0x12, 0x2F, 0x2F ],
-    [ 0x12, 0x12, 0x12, 0x2F ],
-    [ 0x12, 0x22, 0x2A, 0x32 ],
-    [ 0x12, 0x1A, 0x2A, 0x32 ],
-    [ 0x12, 0x1A, 0x22, 0x32 ],
-    [ 0x12, 0x32, 0x32, 0x32 ],
-    [ 0x12, 0x12, 0x32, 0x32 ],
-    [ 0x12, 0x12, 0x12, 0x32 ],
-    [ 0x12, 0x35, 0x35, 0x35 ],
-    [ 0x12, 0x12, 0x35, 0x35 ],
-    [ 0x12, 0x12, 0x12, 0x35 ],
-    [ 0x12, 0x24, 0x2D, 0x36 ],
-    [ 0x12, 0x1B, 0x2D, 0x36 ],
-    [ 0x12, 0x1B, 0x24, 0x36 ],
-    [ 0x12, 0x3A, 0x3A, 0x3A ],
-    [ 0x12, 0x12, 0x3A, 0x3A ],
-    [ 0x12, 0x12, 0x12, 0x3A ],
-    [ 0x13, 0x14, 0x14, 0x15 ],
-    [ 0x13, 0x14, 0x15, 0x16 ],
-    [ 0x13, 0x15, 0x16, 0x17 ],
-    [ 0x13, 0x14, 0x16, 0x17 ],
-    [ 0x13, 0x14, 0x15, 0x17 ],
-    [ 0x13, 0x15, 0x16, 0x18 ],
-    [ 0x13, 0x15, 0x17, 0x18 ],
-    [ 0x13, 0x14, 0x17, 0x18 ],
-    [ 0x13, 0x14, 0x16, 0x18 ],
-    [ 0x13, 0x15, 0x17, 0x19 ],
-    [ 0x13, 0x16, 0x18, 0x19 ],
-    [ 0x13, 0x14, 0x18, 0x19 ],
-    [ 0x13, 0x14, 0x16, 0x19 ],
-    [ 0x13, 0x19, 0x19, 0x19 ],
-    [ 0x13, 0x13, 0x19, 0x19 ],
-    [ 0x13, 0x13, 0x13, 0x19 ],
-    [ 0x13, 0x16, 0x17, 0x1A ],
-    [ 0x13, 0x16, 0x19, 0x1A ],
-    [ 0x13, 0x14, 0x19, 0x1A ],
-    [ 0x13, 0x14, 0x17, 0x1A ],
-    [ 0x13, 0x16, 0x18, 0x1B ],
-    [ 0x13, 0x17, 0x19, 0x1B ],
-    [ 0x13, 0x15, 0x19, 0x1B ],
-    [ 0x13, 0x15, 0x17, 0x1B ],
-    [ 0x13, 0x1B, 0x1B, 0x1B ],
-    [ 0x13, 0x13, 0x1B, 0x1B ],
-    [ 0x13, 0x13, 0x13, 0x1B ],
-    [ 0x13, 0x17, 0x1A, 0x1E ],
-    [ 0x13, 0x18, 0x1C, 0x1E ],
-    [ 0x13, 0x15, 0x1C, 0x1E ],
-    [ 0x13, 0x15, 0x19, 0x1E ],
-    [ 0x13, 0x1E, 0x1E, 0x1E ],
-    [ 0x13, 0x13, 0x1E, 0x1E ],
-    [ 0x13, 0x13, 0x13, 0x1E ],
-    [ 0x13, 0x18, 0x1C, 0x21 ],
-    [ 0x13, 0x1A, 0x1E, 0x21 ],
-    [ 0x13, 0x16, 0x1E, 0x21 ],
-    [ 0x13, 0x16, 0x1A, 0x21 ],
-    [ 0x13, 0x21, 0x21, 0x21 ],
-    [ 0x13, 0x13, 0x21, 0x21 ],
-    [ 0x13, 0x13, 0x13, 0x21 ],
-    [ 0x13, 0x19, 0x1E, 0x24 ],
-    [ 0x13, 0x1B, 0x20, 0x24 ],
-    [ 0x13, 0x17, 0x20, 0x24 ],
-    [ 0x13, 0x17, 0x1C, 0x24 ],
-    [ 0x13, 0x24, 0x24, 0x24 ],
-    [ 0x13, 0x13, 0x24, 0x24 ],
-    [ 0x13, 0x13, 0x13, 0x24 ],
-    [ 0x13, 0x1A, 0x20, 0x27 ],
-    [ 0x13, 0x1D, 0x22, 0x27 ],
-    [ 0x13, 0x18, 0x22, 0x27 ],
-    [ 0x13, 0x18, 0x1D, 0x27 ],
-    [ 0x13, 0x27, 0x27, 0x27 ],
-    [ 0x13, 0x13, 0x27, 0x27 ],
-    [ 0x13, 0x13, 0x13, 0x27 ],
-    [ 0x13, 0x1E, 0x25, 0x2A ],
-    [ 0x13, 0x18, 0x25, 0x2A ],
-    [ 0x13, 0x18, 0x1F, 0x2A ],
-    [ 0x13, 0x2A, 0x2A, 0x2A ],
-    [ 0x13, 0x13, 0x2A, 0x2A ],
-    [ 0x13, 0x13, 0x13, 0x2A ],
-    [ 0x13, 0x20, 0x27, 0x2D ],
-    [ 0x13, 0x19, 0x27, 0x2D ],
-    [ 0x13, 0x19, 0x20, 0x2D ],
-    [ 0x13, 0x2D, 0x2D, 0x2D ],
-    [ 0x13, 0x13, 0x2D, 0x2D ],
-    [ 0x13, 0x13, 0x13, 0x2D ],
-    [ 0x13, 0x21, 0x29, 0x30 ],
-    [ 0x13, 0x1A, 0x29, 0x30 ],
-    [ 0x13, 0x1A, 0x22, 0x30 ],
-    [ 0x13, 0x30, 0x30, 0x30 ],
-    [ 0x13, 0x13, 0x30, 0x30 ],
-    [ 0x13, 0x13, 0x13, 0x30 ],
-    [ 0x13, 0x23, 0x2B, 0x33 ],
-    [ 0x13, 0x1B, 0x2B, 0x33 ],
-    [ 0x13, 0x1B, 0x23, 0x33 ],
-    [ 0x13, 0x33, 0x33, 0x33 ],
-    [ 0x13, 0x13, 0x33, 0x33 ],
-    [ 0x13, 0x13, 0x13, 0x33 ],
-    [ 0x13, 0x36, 0x36, 0x36 ],
-    [ 0x13, 0x13, 0x36, 0x36 ],
-    [ 0x13, 0x13, 0x13, 0x36 ],
-    [ 0x13, 0x25, 0x2E, 0x37 ],
-    [ 0x13, 0x1C, 0x2E, 0x37 ],
-    [ 0x13, 0x1C, 0x25, 0x37 ],
-    [ 0x13, 0x3B, 0x3B, 0x3B ],
-    [ 0x13, 0x13, 0x3B, 0x3B ],
-    [ 0x13, 0x13, 0x13, 0x3B ],
-    [ 0x14, 0x15, 0x15, 0x16 ],
-    [ 0x14, 0x15, 0x16, 0x17 ],
-    [ 0x14, 0x16, 0x17, 0x18 ],
-    [ 0x14, 0x15, 0x17, 0x18 ],
-    [ 0x14, 0x15, 0x16, 0x18 ],
-    [ 0x14, 0x16, 0x17, 0x19 ],
-    [ 0x14, 0x16, 0x18, 0x19 ],
-    [ 0x14, 0x15, 0x18, 0x19 ],
-    [ 0x14, 0x15, 0x17, 0x19 ],
-    [ 0x14, 0x16, 0x18, 0x1A ],
-    [ 0x14, 0x17, 0x19, 0x1A ],
-    [ 0x14, 0x15, 0x19, 0x1A ],
-    [ 0x14, 0x15, 0x17, 0x1A ],
-    [ 0x14, 0x1A, 0x1A, 0x1A ],
-    [ 0x14, 0x14, 0x1A, 0x1A ],
-    [ 0x14, 0x14, 0x14, 0x1A ],
-    [ 0x14, 0x17, 0x18, 0x1B ],
-    [ 0x14, 0x17, 0x1A, 0x1B ],
-    [ 0x14, 0x15, 0x1A, 0x1B ],
-    [ 0x14, 0x15, 0x18, 0x1B ],
-    [ 0x14, 0x17, 0x19, 0x1C ],
-    [ 0x14, 0x18, 0x1A, 0x1C ],
-    [ 0x14, 0x16, 0x1A, 0x1C ],
-    [ 0x14, 0x16, 0x18, 0x1C ],
-    [ 0x14, 0x1C, 0x1C, 0x1C ],
-    [ 0x14, 0x14, 0x1C, 0x1C ],
-    [ 0x14, 0x14, 0x14, 0x1C ],
-    [ 0x14, 0x18, 0x1B, 0x1F ],
-    [ 0x14, 0x19, 0x1D, 0x1F ],
-    [ 0x14, 0x16, 0x1D, 0x1F ],
-    [ 0x14, 0x16, 0x1A, 0x1F ],
-    [ 0x14, 0x1F, 0x1F, 0x1F ],
-    [ 0x14, 0x14, 0x1F, 0x1F ],
-    [ 0x14, 0x14, 0x14, 0x1F ],
-    [ 0x14, 0x19, 0x1D, 0x22 ],
-    [ 0x14, 0x1B, 0x1F, 0x22 ],
-    [ 0x14, 0x17, 0x1F, 0x22 ],
-    [ 0x14, 0x17, 0x1B, 0x22 ],
-    [ 0x14, 0x22, 0x22, 0x22 ],
-    [ 0x14, 0x14, 0x22, 0x22 ],
-    [ 0x14, 0x14, 0x14, 0x22 ],
-    [ 0x14, 0x1A, 0x1F, 0x25 ],
-    [ 0x14, 0x1C, 0x21, 0x25 ],
-    [ 0x14, 0x18, 0x21, 0x25 ],
-    [ 0x14, 0x18, 0x1D, 0x25 ],
-    [ 0x14, 0x25, 0x25, 0x25 ],
-    [ 0x14, 0x14, 0x25, 0x25 ],
-    [ 0x14, 0x14, 0x14, 0x25 ],
-    [ 0x14, 0x1B, 0x21, 0x28 ],
-    [ 0x14, 0x1E, 0x23, 0x28 ],
-    [ 0x14, 0x19, 0x23, 0x28 ],
-    [ 0x14, 0x19, 0x1E, 0x28 ],
-    [ 0x14, 0x28, 0x28, 0x28 ],
-    [ 0x14, 0x14, 0x28, 0x28 ],
-    [ 0x14, 0x14, 0x14, 0x28 ],
-    [ 0x14, 0x1F, 0x26, 0x2B ],
-    [ 0x14, 0x19, 0x26, 0x2B ],
-    [ 0x14, 0x19, 0x20, 0x2B ],
-    [ 0x14, 0x2B, 0x2B, 0x2B ],
-    [ 0x14, 0x14, 0x2B, 0x2B ],
-    [ 0x14, 0x14, 0x14, 0x2B ],
-    [ 0x14, 0x21, 0x28, 0x2E ],
-    [ 0x14, 0x1A, 0x28, 0x2E ],
-    [ 0x14, 0x1A, 0x21, 0x2E ],
-    [ 0x14, 0x2E, 0x2E, 0x2E ],
-    [ 0x14, 0x14, 0x2E, 0x2E ],
-    [ 0x14, 0x14, 0x14, 0x2E ],
-    [ 0x14, 0x22, 0x2A, 0x31 ],
-    [ 0x14, 0x1B, 0x2A, 0x31 ],
-    [ 0x14, 0x1B, 0x23, 0x31 ],
-    [ 0x14, 0x31, 0x31, 0x31 ],
-    [ 0x14, 0x14, 0x31, 0x31 ],
-    [ 0x14, 0x14, 0x14, 0x31 ],
-    [ 0x14, 0x24, 0x2C, 0x34 ],
-    [ 0x14, 0x1C, 0x2C, 0x34 ],
-    [ 0x14, 0x1C, 0x24, 0x34 ],
-    [ 0x14, 0x34, 0x34, 0x34 ],
-    [ 0x14, 0x14, 0x34, 0x34 ],
-    [ 0x14, 0x14, 0x14, 0x34 ],
-    [ 0x14, 0x37, 0x37, 0x37 ],
-    [ 0x14, 0x14, 0x37, 0x37 ],
-    [ 0x14, 0x14, 0x14, 0x37 ],
-    [ 0x14, 0x26, 0x2F, 0x38 ],
-    [ 0x14, 0x1D, 0x2F, 0x38 ],
-    [ 0x14, 0x1D, 0x26, 0x38 ],
-    [ 0x14, 0x3C, 0x3C, 0x3C ],
-    [ 0x14, 0x14, 0x3C, 0x3C ],
-    [ 0x14, 0x14, 0x14, 0x3C ],
-    [ 0x15, 0x16, 0x16, 0x17 ],
-    [ 0x15, 0x16, 0x17, 0x18 ],
-    [ 0x15, 0x17, 0x18, 0x19 ],
-    [ 0x15, 0x16, 0x18, 0x19 ],
-    [ 0x15, 0x16, 0x17, 0x19 ],
-    [ 0x15, 0x17, 0x18, 0x1A ],
-    [ 0x15, 0x17, 0x19, 0x1A ],
-    [ 0x15, 0x16, 0x19, 0x1A ],
-    [ 0x15, 0x16, 0x18, 0x1A ],
-    [ 0x15, 0x17, 0x19, 0x1B ],
-    [ 0x15, 0x18, 0x1A, 0x1B ],
-    [ 0x15, 0x16, 0x1A, 0x1B ],
-    [ 0x15, 0x16, 0x18, 0x1B ],
-    [ 0x15, 0x1B, 0x1B, 0x1B ],
-    [ 0x15, 0x15, 0x1B, 0x1B ],
-    [ 0x15, 0x15, 0x15, 0x1B ],
-    [ 0x15, 0x18, 0x19, 0x1C ],
-    [ 0x15, 0x18, 0x1B, 0x1C ],
-    [ 0x15, 0x16, 0x1B, 0x1C ],
-    [ 0x15, 0x16, 0x19, 0x1C ],
-    [ 0x15, 0x18, 0x1A, 0x1D ],
-    [ 0x15, 0x19, 0x1B, 0x1D ],
-    [ 0x15, 0x17, 0x1B, 0x1D ],
-    [ 0x15, 0x17, 0x19, 0x1D ],
-    [ 0x15, 0x1D, 0x1D, 0x1D ],
-    [ 0x15, 0x15, 0x1D, 0x1D ],
-    [ 0x15, 0x15, 0x15, 0x1D ],
-    [ 0x15, 0x19, 0x1C, 0x20 ],
-    [ 0x15, 0x1A, 0x1E, 0x20 ],
-    [ 0x15, 0x17, 0x1E, 0x20 ],
-    [ 0x15, 0x17, 0x1B, 0x20 ],
-    [ 0x15, 0x20, 0x20, 0x20 ],
-    [ 0x15, 0x15, 0x20, 0x20 ],
-    [ 0x15, 0x15, 0x15, 0x20 ],
-    [ 0x15, 0x1A, 0x1E, 0x23 ],
-    [ 0x15, 0x1C, 0x20, 0x23 ],
-    [ 0x15, 0x18, 0x20, 0x23 ],
-    [ 0x15, 0x18, 0x1C, 0x23 ],
-    [ 0x15, 0x23, 0x23, 0x23 ],
-    [ 0x15, 0x15, 0x23, 0x23 ],
-    [ 0x15, 0x15, 0x15, 0x23 ],
-    [ 0x15, 0x1B, 0x20, 0x26 ],
-    [ 0x15, 0x1D, 0x22, 0x26 ],
-    [ 0x15, 0x19, 0x22, 0x26 ],
-    [ 0x15, 0x19, 0x1E, 0x26 ],
-    [ 0x15, 0x26, 0x26, 0x26 ],
-    [ 0x15, 0x15, 0x26, 0x26 ],
-    [ 0x15, 0x15, 0x15, 0x26 ],
-    [ 0x15, 0x1C, 0x22, 0x29 ],
-    [ 0x15, 0x1F, 0x24, 0x29 ],
-    [ 0x15, 0x1A, 0x24, 0x29 ],
-    [ 0x15, 0x1A, 0x1F, 0x29 ],
-    [ 0x15, 0x29, 0x29, 0x29 ],
-    [ 0x15, 0x15, 0x29, 0x29 ],
-    [ 0x15, 0x15, 0x15, 0x29 ],
-    [ 0x15, 0x20, 0x27, 0x2C ],
-    [ 0x15, 0x1A, 0x27, 0x2C ],
-    [ 0x15, 0x1A, 0x21, 0x2C ],
-    [ 0x15, 0x2C, 0x2C, 0x2C ],
-    [ 0x15, 0x15, 0x2C, 0x2C ],
-    [ 0x15, 0x15, 0x15, 0x2C ],
-    [ 0x15, 0x22, 0x29, 0x2F ],
-    [ 0x15, 0x1B, 0x29, 0x2F ],
-    [ 0x15, 0x1B, 0x22, 0x2F ],
-    [ 0x15, 0x2F, 0x2F, 0x2F ],
-    [ 0x15, 0x15, 0x2F, 0x2F ],
-    [ 0x15, 0x15, 0x15, 0x2F ],
-    [ 0x15, 0x23, 0x2B, 0x32 ],
-    [ 0x15, 0x1C, 0x2B, 0x32 ],
-    [ 0x15, 0x1C, 0x24, 0x32 ],
-    [ 0x15, 0x32, 0x32, 0x32 ],
-    [ 0x15, 0x15, 0x32, 0x32 ],
-    [ 0x15, 0x15, 0x15, 0x32 ],
-    [ 0x15, 0x25, 0x2D, 0x35 ],
-    [ 0x15, 0x1D, 0x2D, 0x35 ],
-    [ 0x15, 0x1D, 0x25, 0x35 ],
-    [ 0x15, 0x35, 0x35, 0x35 ],
-    [ 0x15, 0x15, 0x35, 0x35 ],
-    [ 0x15, 0x15, 0x15, 0x35 ],
-    [ 0x15, 0x38, 0x38, 0x38 ],
-    [ 0x15, 0x15, 0x38, 0x38 ],
-    [ 0x15, 0x15, 0x15, 0x38 ],
-    [ 0x15, 0x27, 0x30, 0x39 ],
-    [ 0x15, 0x1E, 0x30, 0x39 ],
-    [ 0x15, 0x1E, 0x27, 0x39 ],
-    [ 0x15, 0x3D, 0x3D, 0x3D ],
-    [ 0x15, 0x15, 0x3D, 0x3D ],
-    [ 0x15, 0x15, 0x15, 0x3D ],
-    [ 0x16, 0x17, 0x17, 0x18 ],
-    [ 0x16, 0x17, 0x18, 0x19 ],
-    [ 0x16, 0x18, 0x19, 0x1A ],
-    [ 0x16, 0x17, 0x19, 0x1A ],
-    [ 0x16, 0x17, 0x18, 0x1A ],
-    [ 0x16, 0x18, 0x19, 0x1B ],
-    [ 0x16, 0x18, 0x1A, 0x1B ],
-    [ 0x16, 0x17, 0x1A, 0x1B ],
-    [ 0x16, 0x17, 0x19, 0x1B ],
-    [ 0x16, 0x18, 0x1A, 0x1C ],
-    [ 0x16, 0x19, 0x1B, 0x1C ],
-    [ 0x16, 0x17, 0x1B, 0x1C ],
-    [ 0x16, 0x17, 0x19, 0x1C ],
-    [ 0x16, 0x1C, 0x1C, 0x1C ],
-    [ 0x16, 0x16, 0x1C, 0x1C ],
-    [ 0x16, 0x16, 0x16, 0x1C ],
-    [ 0x16, 0x19, 0x1A, 0x1D ],
-    [ 0x16, 0x19, 0x1C, 0x1D ],
-    [ 0x16, 0x17, 0x1C, 0x1D ],
-    [ 0x16, 0x17, 0x1A, 0x1D ],
-    [ 0x16, 0x19, 0x1B, 0x1E ],
-    [ 0x16, 0x1A, 0x1C, 0x1E ],
-    [ 0x16, 0x18, 0x1C, 0x1E ],
-    [ 0x16, 0x18, 0x1A, 0x1E ],
-    [ 0x16, 0x1E, 0x1E, 0x1E ],
-    [ 0x16, 0x16, 0x1E, 0x1E ],
-    [ 0x16, 0x16, 0x16, 0x1E ],
-    [ 0x16, 0x1A, 0x1D, 0x21 ],
-    [ 0x16, 0x1B, 0x1F, 0x21 ],
-    [ 0x16, 0x18, 0x1F, 0x21 ],
-    [ 0x16, 0x18, 0x1C, 0x21 ],
-    [ 0x16, 0x21, 0x21, 0x21 ],
-    [ 0x16, 0x16, 0x21, 0x21 ],
-    [ 0x16, 0x16, 0x16, 0x21 ],
-    [ 0x16, 0x1B, 0x1F, 0x24 ],
-    [ 0x16, 0x1D, 0x21, 0x24 ],
-    [ 0x16, 0x19, 0x21, 0x24 ],
-    [ 0x16, 0x19, 0x1D, 0x24 ],
-    [ 0x16, 0x24, 0x24, 0x24 ],
-    [ 0x16, 0x16, 0x24, 0x24 ],
-    [ 0x16, 0x16, 0x16, 0x24 ],
-    [ 0x16, 0x1C, 0x21, 0x27 ],
-    [ 0x16, 0x1E, 0x23, 0x27 ],
-    [ 0x16, 0x1A, 0x23, 0x27 ],
-    [ 0x16, 0x1A, 0x1F, 0x27 ],
-    [ 0x16, 0x27, 0x27, 0x27 ],
-    [ 0x16, 0x16, 0x27, 0x27 ],
-    [ 0x16, 0x16, 0x16, 0x27 ],
-    [ 0x16, 0x1D, 0x23, 0x2A ],
-    [ 0x16, 0x20, 0x25, 0x2A ],
-    [ 0x16, 0x1B, 0x25, 0x2A ],
-    [ 0x16, 0x1B, 0x20, 0x2A ],
-    [ 0x16, 0x2A, 0x2A, 0x2A ],
-    [ 0x16, 0x16, 0x2A, 0x2A ],
-    [ 0x16, 0x16, 0x16, 0x2A ],
-    [ 0x16, 0x21, 0x28, 0x2D ],
-    [ 0x16, 0x1B, 0x28, 0x2D ],
-    [ 0x16, 0x1B, 0x22, 0x2D ],
-    [ 0x16, 0x2D, 0x2D, 0x2D ],
-    [ 0x16, 0x16, 0x2D, 0x2D ],
-    [ 0x16, 0x16, 0x16, 0x2D ],
-    [ 0x16, 0x23, 0x2A, 0x30 ],
-    [ 0x16, 0x1C, 0x2A, 0x30 ],
-    [ 0x16, 0x1C, 0x23, 0x30 ],
-    [ 0x16, 0x30, 0x30, 0x30 ],
-    [ 0x16, 0x16, 0x30, 0x30 ],
-    [ 0x16, 0x16, 0x16, 0x30 ],
-    [ 0x16, 0x24, 0x2C, 0x33 ],
-    [ 0x16, 0x1D, 0x2C, 0x33 ],
-    [ 0x16, 0x1D, 0x25, 0x33 ],
-    [ 0x16, 0x33, 0x33, 0x33 ],
-    [ 0x16, 0x16, 0x33, 0x33 ],
-    [ 0x16, 0x16, 0x16, 0x33 ],
-    [ 0x16, 0x26, 0x2E, 0x36 ],
-    [ 0x16, 0x1E, 0x2E, 0x36 ],
-    [ 0x16, 0x1E, 0x26, 0x36 ],
-    [ 0x16, 0x36, 0x36, 0x36 ],
-    [ 0x16, 0x16, 0x36, 0x36 ],
-    [ 0x16, 0x16, 0x16, 0x36 ],
-    [ 0x16, 0x39, 0x39, 0x39 ],
-    [ 0x16, 0x16, 0x39, 0x39 ],
-    [ 0x16, 0x16, 0x16, 0x39 ],
-    [ 0x16, 0x28, 0x31, 0x3A ],
-    [ 0x16, 0x1F, 0x31, 0x3A ],
-    [ 0x16, 0x1F, 0x28, 0x3A ],
-    [ 0x16, 0x3E, 0x3E, 0x3E ],
-    [ 0x16, 0x16, 0x3E, 0x3E ],
-    [ 0x16, 0x16, 0x16, 0x3E ],
-    [ 0x17, 0x18, 0x18, 0x19 ],
-    [ 0x17, 0x18, 0x19, 0x1A ],
-    [ 0x17, 0x19, 0x1A, 0x1B ],
-    [ 0x17, 0x18, 0x1A, 0x1B ],
-    [ 0x17, 0x18, 0x19, 0x1B ],
-    [ 0x17, 0x19, 0x1A, 0x1C ],
-    [ 0x17, 0x19, 0x1B, 0x1C ],
-    [ 0x17, 0x18, 0x1B, 0x1C ],
-    [ 0x17, 0x18, 0x1A, 0x1C ],
-    [ 0x17, 0x19, 0x1B, 0x1D ],
-    [ 0x17, 0x1A, 0x1C, 0x1D ],
-    [ 0x17, 0x18, 0x1C, 0x1D ],
-    [ 0x17, 0x18, 0x1A, 0x1D ],
-    [ 0x17, 0x1D, 0x1D, 0x1D ],
-    [ 0x17, 0x17, 0x1D, 0x1D ],
-    [ 0x17, 0x17, 0x17, 0x1D ],
-    [ 0x17, 0x1A, 0x1B, 0x1E ],
-    [ 0x17, 0x1A, 0x1D, 0x1E ],
-    [ 0x17, 0x18, 0x1D, 0x1E ],
-    [ 0x17, 0x18, 0x1B, 0x1E ],
-    [ 0x17, 0x1A, 0x1C, 0x1F ],
-    [ 0x17, 0x1B, 0x1D, 0x1F ],
-    [ 0x17, 0x19, 0x1D, 0x1F ],
-    [ 0x17, 0x19, 0x1B, 0x1F ],
-    [ 0x17, 0x1F, 0x1F, 0x1F ],
-    [ 0x17, 0x17, 0x1F, 0x1F ],
-    [ 0x17, 0x17, 0x17, 0x1F ],
-    [ 0x17, 0x1B, 0x1E, 0x22 ],
-    [ 0x17, 0x1C, 0x20, 0x22 ],
-    [ 0x17, 0x19, 0x20, 0x22 ],
-    [ 0x17, 0x19, 0x1D, 0x22 ],
-    [ 0x17, 0x22, 0x22, 0x22 ],
-    [ 0x17, 0x17, 0x22, 0x22 ],
-    [ 0x17, 0x17, 0x17, 0x22 ],
-    [ 0x17, 0x1C, 0x20, 0x25 ],
-    [ 0x17, 0x1E, 0x22, 0x25 ],
-    [ 0x17, 0x1A, 0x22, 0x25 ],
-    [ 0x17, 0x1A, 0x1E, 0x25 ],
-    [ 0x17, 0x25, 0x25, 0x25 ],
-    [ 0x17, 0x17, 0x25, 0x25 ],
-    [ 0x17, 0x17, 0x17, 0x25 ],
-    [ 0x17, 0x1D, 0x22, 0x28 ],
-    [ 0x17, 0x1F, 0x24, 0x28 ],
-    [ 0x17, 0x1B, 0x24, 0x28 ],
-    [ 0x17, 0x1B, 0x20, 0x28 ],
-    [ 0x17, 0x28, 0x28, 0x28 ],
-    [ 0x17, 0x17, 0x28, 0x28 ],
-    [ 0x17, 0x17, 0x17, 0x28 ],
-    [ 0x17, 0x1E, 0x24, 0x2B ],
-    [ 0x17, 0x21, 0x26, 0x2B ],
-    [ 0x17, 0x1C, 0x26, 0x2B ],
-    [ 0x17, 0x1C, 0x21, 0x2B ],
-    [ 0x17, 0x2B, 0x2B, 0x2B ],
-    [ 0x17, 0x17, 0x2B, 0x2B ],
-    [ 0x17, 0x17, 0x17, 0x2B ],
-    [ 0x17, 0x22, 0x29, 0x2E ],
-    [ 0x17, 0x1C, 0x29, 0x2E ],
-    [ 0x17, 0x1C, 0x23, 0x2E ],
-    [ 0x17, 0x2E, 0x2E, 0x2E ],
-    [ 0x17, 0x17, 0x2E, 0x2E ],
-    [ 0x17, 0x17, 0x17, 0x2E ],
-    [ 0x17, 0x24, 0x2B, 0x31 ],
-    [ 0x17, 0x1D, 0x2B, 0x31 ],
-    [ 0x17, 0x1D, 0x24, 0x31 ],
-    [ 0x17, 0x31, 0x31, 0x31 ],
-    [ 0x17, 0x17, 0x31, 0x31 ],
-    [ 0x17, 0x17, 0x17, 0x31 ],
-    [ 0x17, 0x25, 0x2D, 0x34 ],
-    [ 0x17, 0x1E, 0x2D, 0x34 ],
-    [ 0x17, 0x1E, 0x26, 0x34 ],
-    [ 0x17, 0x34, 0x34, 0x34 ],
-    [ 0x17, 0x17, 0x34, 0x34 ],
-    [ 0x17, 0x17, 0x17, 0x34 ],
-    [ 0x17, 0x27, 0x2F, 0x37 ],
-    [ 0x17, 0x1F, 0x2F, 0x37 ],
-    [ 0x17, 0x1F, 0x27, 0x37 ],
-    [ 0x17, 0x37, 0x37, 0x37 ],
-    [ 0x17, 0x17, 0x37, 0x37 ],
-    [ 0x17, 0x17, 0x17, 0x37 ],
-    [ 0x17, 0x3A, 0x3A, 0x3A ],
-    [ 0x17, 0x17, 0x3A, 0x3A ],
-    [ 0x17, 0x17, 0x17, 0x3A ],
-    [ 0x17, 0x29, 0x32, 0x3B ],
-    [ 0x17, 0x20, 0x32, 0x3B ],
-    [ 0x17, 0x20, 0x29, 0x3B ],
-    [ 0x17, 0x3F, 0x3F, 0x3F ],
-    [ 0x17, 0x17, 0x3F, 0x3F ],
-    [ 0x17, 0x17, 0x17, 0x3F ],
-    [ 0x18, 0x19, 0x19, 0x1A ],
-    [ 0x18, 0x19, 0x1A, 0x1B ],
-    [ 0x18, 0x1A, 0x1B, 0x1C ],
-    [ 0x18, 0x19, 0x1B, 0x1C ],
-    [ 0x18, 0x19, 0x1A, 0x1C ],
-    [ 0x18, 0x1A, 0x1B, 0x1D ],
-    [ 0x18, 0x1A, 0x1C, 0x1D ],
-    [ 0x18, 0x19, 0x1C, 0x1D ],
-    [ 0x18, 0x19, 0x1B, 0x1D ],
-    [ 0x18, 0x1A, 0x1C, 0x1E ],
-    [ 0x18, 0x1B, 0x1D, 0x1E ],
-    [ 0x18, 0x19, 0x1D, 0x1E ],
-    [ 0x18, 0x19, 0x1B, 0x1E ],
-    [ 0x18, 0x1E, 0x1E, 0x1E ],
-    [ 0x18, 0x18, 0x1E, 0x1E ],
-    [ 0x18, 0x18, 0x18, 0x1E ],
-    [ 0x18, 0x1B, 0x1C, 0x1F ],
-    [ 0x18, 0x1B, 0x1E, 0x1F ],
-    [ 0x18, 0x19, 0x1E, 0x1F ],
-    [ 0x18, 0x19, 0x1C, 0x1F ],
-    [ 0x18, 0x1B, 0x1D, 0x20 ],
-    [ 0x18, 0x1C, 0x1E, 0x20 ],
-    [ 0x18, 0x1A, 0x1E, 0x20 ],
-    [ 0x18, 0x1A, 0x1C, 0x20 ],
-    [ 0x18, 0x20, 0x20, 0x20 ],
-    [ 0x18, 0x18, 0x20, 0x20 ],
-    [ 0x18, 0x18, 0x18, 0x20 ],
-    [ 0x18, 0x1C, 0x1F, 0x23 ],
-    [ 0x18, 0x1D, 0x21, 0x23 ],
-    [ 0x18, 0x1A, 0x21, 0x23 ],
-    [ 0x18, 0x1A, 0x1E, 0x23 ],
-    [ 0x18, 0x23, 0x23, 0x23 ],
-    [ 0x18, 0x18, 0x23, 0x23 ],
-    [ 0x18, 0x18, 0x18, 0x23 ],
-    [ 0x18, 0x1D, 0x21, 0x26 ],
-    [ 0x18, 0x1F, 0x23, 0x26 ],
-    [ 0x18, 0x1B, 0x23, 0x26 ],
-    [ 0x18, 0x1B, 0x1F, 0x26 ],
-    [ 0x18, 0x26, 0x26, 0x26 ],
-    [ 0x18, 0x18, 0x26, 0x26 ],
-    [ 0x18, 0x18, 0x18, 0x26 ],
-    [ 0x18, 0x1E, 0x23, 0x29 ],
-    [ 0x18, 0x20, 0x25, 0x29 ],
-    [ 0x18, 0x1C, 0x25, 0x29 ],
-    [ 0x18, 0x1C, 0x21, 0x29 ],
-    [ 0x18, 0x29, 0x29, 0x29 ],
-    [ 0x18, 0x18, 0x29, 0x29 ],
-    [ 0x18, 0x18, 0x18, 0x29 ],
-    [ 0x18, 0x1F, 0x25, 0x2C ],
-    [ 0x18, 0x22, 0x27, 0x2C ],
-    [ 0x18, 0x1D, 0x27, 0x2C ],
-    [ 0x18, 0x1D, 0x22, 0x2C ],
-    [ 0x18, 0x2C, 0x2C, 0x2C ],
-    [ 0x18, 0x18, 0x2C, 0x2C ],
-    [ 0x18, 0x18, 0x18, 0x2C ],
-    [ 0x18, 0x23, 0x2A, 0x2F ],
-    [ 0x18, 0x1D, 0x2A, 0x2F ],
-    [ 0x18, 0x1D, 0x24, 0x2F ],
-    [ 0x18, 0x2F, 0x2F, 0x2F ],
-    [ 0x18, 0x18, 0x2F, 0x2F ],
-    [ 0x18, 0x18, 0x18, 0x2F ],
-    [ 0x18, 0x25, 0x2C, 0x32 ],
-    [ 0x18, 0x1E, 0x2C, 0x32 ],
-    [ 0x18, 0x1E, 0x25, 0x32 ],
-    [ 0x18, 0x32, 0x32, 0x32 ],
-    [ 0x18, 0x18, 0x32, 0x32 ],
-    [ 0x18, 0x18, 0x18, 0x32 ],
-    [ 0x18, 0x26, 0x2E, 0x35 ],
-    [ 0x18, 0x1F, 0x2E, 0x35 ],
-    [ 0x18, 0x1F, 0x27, 0x35 ],
-    [ 0x18, 0x35, 0x35, 0x35 ],
-    [ 0x18, 0x18, 0x35, 0x35 ],
-    [ 0x18, 0x18, 0x18, 0x35 ],
-    [ 0x18, 0x28, 0x30, 0x38 ],
-    [ 0x18, 0x20, 0x30, 0x38 ],
-    [ 0x18, 0x20, 0x28, 0x38 ],
-    [ 0x18, 0x38, 0x38, 0x38 ],
-    [ 0x18, 0x18, 0x38, 0x38 ],
-    [ 0x18, 0x18, 0x18, 0x38 ],
-    [ 0x18, 0x3B, 0x3B, 0x3B ],
-    [ 0x18, 0x18, 0x3B, 0x3B ],
-    [ 0x18, 0x18, 0x18, 0x3B ],
-    [ 0x18, 0x2A, 0x33, 0x3C ],
-    [ 0x18, 0x21, 0x33, 0x3C ],
-    [ 0x18, 0x21, 0x2A, 0x3C ],
-    [ 0x19, 0x1A, 0x1A, 0x1B ],
-    [ 0x19, 0x1A, 0x1B, 0x1C ],
-    [ 0x19, 0x1B, 0x1C, 0x1D ],
-    [ 0x19, 0x1A, 0x1C, 0x1D ],
-    [ 0x19, 0x1A, 0x1B, 0x1D ],
-    [ 0x19, 0x1B, 0x1C, 0x1E ],
-    [ 0x19, 0x1B, 0x1D, 0x1E ],
-    [ 0x19, 0x1A, 0x1D, 0x1E ],
-    [ 0x19, 0x1A, 0x1C, 0x1E ],
-    [ 0x19, 0x1B, 0x1D, 0x1F ],
-    [ 0x19, 0x1C, 0x1E, 0x1F ],
-    [ 0x19, 0x1A, 0x1E, 0x1F ],
-    [ 0x19, 0x1A, 0x1C, 0x1F ],
-    [ 0x19, 0x1F, 0x1F, 0x1F ],
-    [ 0x19, 0x19, 0x1F, 0x1F ],
-    [ 0x19, 0x19, 0x19, 0x1F ],
-    [ 0x19, 0x1C, 0x1D, 0x20 ],
-    [ 0x19, 0x1C, 0x1F, 0x20 ],
-    [ 0x19, 0x1A, 0x1F, 0x20 ],
-    [ 0x19, 0x1A, 0x1D, 0x20 ],
-    [ 0x19, 0x1C, 0x1E, 0x21 ],
-    [ 0x19, 0x1D, 0x1F, 0x21 ],
-    [ 0x19, 0x1B, 0x1F, 0x21 ],
-    [ 0x19, 0x1B, 0x1D, 0x21 ],
-    [ 0x19, 0x21, 0x21, 0x21 ],
-    [ 0x19, 0x19, 0x21, 0x21 ],
-    [ 0x19, 0x19, 0x19, 0x21 ],
-    [ 0x19, 0x1D, 0x20, 0x24 ],
-    [ 0x19, 0x1E, 0x22, 0x24 ],
-    [ 0x19, 0x1B, 0x22, 0x24 ],
-    [ 0x19, 0x1B, 0x1F, 0x24 ],
-    [ 0x19, 0x24, 0x24, 0x24 ],
-    [ 0x19, 0x19, 0x24, 0x24 ],
-    [ 0x19, 0x19, 0x19, 0x24 ],
-    [ 0x19, 0x1E, 0x22, 0x27 ],
-    [ 0x19, 0x20, 0x24, 0x27 ],
-    [ 0x19, 0x1C, 0x24, 0x27 ],
-    [ 0x19, 0x1C, 0x20, 0x27 ],
-    [ 0x19, 0x27, 0x27, 0x27 ],
-    [ 0x19, 0x19, 0x27, 0x27 ],
-    [ 0x19, 0x19, 0x19, 0x27 ],
-    [ 0x19, 0x1F, 0x24, 0x2A ],
-    [ 0x19, 0x21, 0x26, 0x2A ],
-    [ 0x19, 0x1D, 0x26, 0x2A ],
-    [ 0x19, 0x1D, 0x22, 0x2A ],
-    [ 0x19, 0x2A, 0x2A, 0x2A ],
-    [ 0x19, 0x19, 0x2A, 0x2A ],
-    [ 0x19, 0x19, 0x19, 0x2A ],
-    [ 0x19, 0x20, 0x26, 0x2D ],
-    [ 0x19, 0x23, 0x28, 0x2D ],
-    [ 0x19, 0x1E, 0x28, 0x2D ],
-    [ 0x19, 0x1E, 0x23, 0x2D ],
-    [ 0x19, 0x2D, 0x2D, 0x2D ],
-    [ 0x19, 0x19, 0x2D, 0x2D ],
-    [ 0x19, 0x19, 0x19, 0x2D ],
-    [ 0x19, 0x24, 0x2B, 0x30 ],
-    [ 0x19, 0x1E, 0x2B, 0x30 ],
-    [ 0x19, 0x1E, 0x25, 0x30 ],
-    [ 0x19, 0x30, 0x30, 0x30 ],
-    [ 0x19, 0x19, 0x30, 0x30 ],
-    [ 0x19, 0x19, 0x19, 0x30 ],
-    [ 0x19, 0x26, 0x2D, 0x33 ],
-    [ 0x19, 0x1F, 0x2D, 0x33 ],
-    [ 0x19, 0x1F, 0x26, 0x33 ],
-    [ 0x19, 0x33, 0x33, 0x33 ],
-    [ 0x19, 0x19, 0x33, 0x33 ],
-    [ 0x19, 0x19, 0x19, 0x33 ],
-    [ 0x19, 0x27, 0x2F, 0x36 ],
-    [ 0x19, 0x20, 0x2F, 0x36 ],
-    [ 0x19, 0x20, 0x28, 0x36 ],
-    [ 0x19, 0x36, 0x36, 0x36 ],
-    [ 0x19, 0x19, 0x36, 0x36 ],
-    [ 0x19, 0x19, 0x19, 0x36 ],
-    [ 0x19, 0x29, 0x31, 0x39 ],
-    [ 0x19, 0x21, 0x31, 0x39 ],
-    [ 0x19, 0x21, 0x29, 0x39 ],
-    [ 0x19, 0x39, 0x39, 0x39 ],
-    [ 0x19, 0x19, 0x39, 0x39 ],
-    [ 0x19, 0x19, 0x19, 0x39 ],
-    [ 0x19, 0x3C, 0x3C, 0x3C ],
-    [ 0x19, 0x19, 0x3C, 0x3C ],
-    [ 0x19, 0x19, 0x19, 0x3C ],
-    [ 0x19, 0x2B, 0x34, 0x3D ],
-    [ 0x19, 0x22, 0x34, 0x3D ],
-    [ 0x19, 0x22, 0x2B, 0x3D ],
-    [ 0x1A, 0x1B, 0x1B, 0x1C ],
-    [ 0x1A, 0x1B, 0x1C, 0x1D ],
-    [ 0x1A, 0x1C, 0x1D, 0x1E ],
-    [ 0x1A, 0x1B, 0x1D, 0x1E ],
-    [ 0x1A, 0x1B, 0x1C, 0x1E ],
-    [ 0x1A, 0x1C, 0x1D, 0x1F ],
-    [ 0x1A, 0x1C, 0x1E, 0x1F ],
-    [ 0x1A, 0x1B, 0x1E, 0x1F ],
-    [ 0x1A, 0x1B, 0x1D, 0x1F ],
-    [ 0x1A, 0x1C, 0x1E, 0x20 ],
-    [ 0x1A, 0x1D, 0x1F, 0x20 ],
-    [ 0x1A, 0x1B, 0x1F, 0x20 ],
-    [ 0x1A, 0x1B, 0x1D, 0x20 ],
-    [ 0x1A, 0x20, 0x20, 0x20 ],
-    [ 0x1A, 0x1A, 0x20, 0x20 ],
-    [ 0x1A, 0x1A, 0x1A, 0x20 ],
-    [ 0x1A, 0x1D, 0x1E, 0x21 ],
-    [ 0x1A, 0x1D, 0x20, 0x21 ],
-    [ 0x1A, 0x1B, 0x20, 0x21 ],
-    [ 0x1A, 0x1B, 0x1E, 0x21 ],
-    [ 0x1A, 0x1D, 0x1F, 0x22 ],
-    [ 0x1A, 0x1E, 0x20, 0x22 ],
-    [ 0x1A, 0x1C, 0x20, 0x22 ],
-    [ 0x1A, 0x1C, 0x1E, 0x22 ],
-    [ 0x1A, 0x22, 0x22, 0x22 ],
-    [ 0x1A, 0x1A, 0x22, 0x22 ],
-    [ 0x1A, 0x1A, 0x1A, 0x22 ],
-    [ 0x1A, 0x1E, 0x21, 0x25 ],
-    [ 0x1A, 0x1F, 0x23, 0x25 ],
-    [ 0x1A, 0x1C, 0x23, 0x25 ],
-    [ 0x1A, 0x1C, 0x20, 0x25 ],
-    [ 0x1A, 0x25, 0x25, 0x25 ],
-    [ 0x1A, 0x1A, 0x25, 0x25 ],
-    [ 0x1A, 0x1A, 0x1A, 0x25 ],
-    [ 0x1A, 0x1F, 0x23, 0x28 ],
-    [ 0x1A, 0x21, 0x25, 0x28 ],
-    [ 0x1A, 0x1D, 0x25, 0x28 ],
-    [ 0x1A, 0x1D, 0x21, 0x28 ],
-    [ 0x1A, 0x28, 0x28, 0x28 ],
-    [ 0x1A, 0x1A, 0x28, 0x28 ],
-    [ 0x1A, 0x1A, 0x1A, 0x28 ],
-    [ 0x1A, 0x20, 0x25, 0x2B ],
-    [ 0x1A, 0x22, 0x27, 0x2B ],
-    [ 0x1A, 0x1E, 0x27, 0x2B ],
-    [ 0x1A, 0x1E, 0x23, 0x2B ],
-    [ 0x1A, 0x2B, 0x2B, 0x2B ],
-    [ 0x1A, 0x1A, 0x2B, 0x2B ],
-    [ 0x1A, 0x1A, 0x1A, 0x2B ],
-    [ 0x1A, 0x21, 0x27, 0x2E ],
-    [ 0x1A, 0x24, 0x29, 0x2E ],
-    [ 0x1A, 0x1F, 0x29, 0x2E ],
-    [ 0x1A, 0x1F, 0x24, 0x2E ],
-    [ 0x1A, 0x2E, 0x2E, 0x2E ],
-    [ 0x1A, 0x1A, 0x2E, 0x2E ],
-    [ 0x1A, 0x1A, 0x1A, 0x2E ],
-    [ 0x1A, 0x25, 0x2C, 0x31 ],
-    [ 0x1A, 0x1F, 0x2C, 0x31 ],
-    [ 0x1A, 0x1F, 0x26, 0x31 ],
-    [ 0x1A, 0x31, 0x31, 0x31 ],
-    [ 0x1A, 0x1A, 0x31, 0x31 ],
-    [ 0x1A, 0x1A, 0x1A, 0x31 ],
-    [ 0x1A, 0x27, 0x2E, 0x34 ],
-    [ 0x1A, 0x20, 0x2E, 0x34 ],
-    [ 0x1A, 0x20, 0x27, 0x34 ],
-    [ 0x1A, 0x34, 0x34, 0x34 ],
-    [ 0x1A, 0x1A, 0x34, 0x34 ],
-    [ 0x1A, 0x1A, 0x1A, 0x34 ],
-    [ 0x1A, 0x28, 0x30, 0x37 ],
-    [ 0x1A, 0x21, 0x30, 0x37 ],
-    [ 0x1A, 0x21, 0x29, 0x37 ],
-    [ 0x1A, 0x37, 0x37, 0x37 ],
-    [ 0x1A, 0x1A, 0x37, 0x37 ],
-    [ 0x1A, 0x1A, 0x1A, 0x37 ],
-    [ 0x1A, 0x2A, 0x32, 0x3A ],
-    [ 0x1A, 0x22, 0x32, 0x3A ],
-    [ 0x1A, 0x22, 0x2A, 0x3A ],
-    [ 0x1A, 0x3A, 0x3A, 0x3A ],
-    [ 0x1A, 0x1A, 0x3A, 0x3A ],
-    [ 0x1A, 0x1A, 0x1A, 0x3A ],
-    [ 0x1A, 0x3D, 0x3D, 0x3D ],
-    [ 0x1A, 0x1A, 0x3D, 0x3D ],
-    [ 0x1A, 0x1A, 0x1A, 0x3D ],
-    [ 0x1A, 0x2C, 0x35, 0x3E ],
-    [ 0x1A, 0x23, 0x35, 0x3E ],
-    [ 0x1A, 0x23, 0x2C, 0x3E ],
-    [ 0x1B, 0x1C, 0x1C, 0x1D ],
-    [ 0x1B, 0x1C, 0x1D, 0x1E ],
-    [ 0x1B, 0x1D, 0x1E, 0x1F ],
-    [ 0x1B, 0x1C, 0x1E, 0x1F ],
-    [ 0x1B, 0x1C, 0x1D, 0x1F ],
-    [ 0x1B, 0x1D, 0x1E, 0x20 ],
-    [ 0x1B, 0x1D, 0x1F, 0x20 ],
-    [ 0x1B, 0x1C, 0x1F, 0x20 ],
-    [ 0x1B, 0x1C, 0x1E, 0x20 ],
-    [ 0x1B, 0x1D, 0x1F, 0x21 ],
-    [ 0x1B, 0x1E, 0x20, 0x21 ],
-    [ 0x1B, 0x1C, 0x20, 0x21 ],
-    [ 0x1B, 0x1C, 0x1E, 0x21 ],
-    [ 0x1B, 0x21, 0x21, 0x21 ],
-    [ 0x1B, 0x1B, 0x21, 0x21 ],
-    [ 0x1B, 0x1B, 0x1B, 0x21 ],
-    [ 0x1B, 0x1E, 0x1F, 0x22 ],
-    [ 0x1B, 0x1E, 0x21, 0x22 ],
-    [ 0x1B, 0x1C, 0x21, 0x22 ],
-    [ 0x1B, 0x1C, 0x1F, 0x22 ],
-    [ 0x1B, 0x1E, 0x20, 0x23 ],
-    [ 0x1B, 0x1F, 0x21, 0x23 ],
-    [ 0x1B, 0x1D, 0x21, 0x23 ],
-    [ 0x1B, 0x1D, 0x1F, 0x23 ],
-    [ 0x1B, 0x23, 0x23, 0x23 ],
-    [ 0x1B, 0x1B, 0x23, 0x23 ],
-    [ 0x1B, 0x1B, 0x1B, 0x23 ],
-    [ 0x1B, 0x1F, 0x22, 0x26 ],
-    [ 0x1B, 0x20, 0x24, 0x26 ],
-    [ 0x1B, 0x1D, 0x24, 0x26 ],
-    [ 0x1B, 0x1D, 0x21, 0x26 ],
-    [ 0x1B, 0x26, 0x26, 0x26 ],
-    [ 0x1B, 0x1B, 0x26, 0x26 ],
-    [ 0x1B, 0x1B, 0x1B, 0x26 ],
-    [ 0x1B, 0x20, 0x24, 0x29 ],
-    [ 0x1B, 0x22, 0x26, 0x29 ],
-    [ 0x1B, 0x1E, 0x26, 0x29 ],
-    [ 0x1B, 0x1E, 0x22, 0x29 ],
-    [ 0x1B, 0x29, 0x29, 0x29 ],
-    [ 0x1B, 0x1B, 0x29, 0x29 ],
-    [ 0x1B, 0x1B, 0x1B, 0x29 ],
-    [ 0x1B, 0x21, 0x26, 0x2C ],
-    [ 0x1B, 0x23, 0x28, 0x2C ],
-    [ 0x1B, 0x1F, 0x28, 0x2C ],
-    [ 0x1B, 0x1F, 0x24, 0x2C ],
-    [ 0x1B, 0x2C, 0x2C, 0x2C ],
-    [ 0x1B, 0x1B, 0x2C, 0x2C ],
-    [ 0x1B, 0x1B, 0x1B, 0x2C ],
-    [ 0x1B, 0x22, 0x28, 0x2F ],
-    [ 0x1B, 0x25, 0x2A, 0x2F ],
-    [ 0x1B, 0x20, 0x2A, 0x2F ],
-    [ 0x1B, 0x20, 0x25, 0x2F ],
-    [ 0x1B, 0x2F, 0x2F, 0x2F ],
-    [ 0x1B, 0x1B, 0x2F, 0x2F ],
-    [ 0x1B, 0x1B, 0x1B, 0x2F ],
-    [ 0x1B, 0x26, 0x2D, 0x32 ],
-    [ 0x1B, 0x20, 0x2D, 0x32 ],
-    [ 0x1B, 0x20, 0x27, 0x32 ],
-    [ 0x1B, 0x32, 0x32, 0x32 ],
-    [ 0x1B, 0x1B, 0x32, 0x32 ],
-    [ 0x1B, 0x1B, 0x1B, 0x32 ],
-    [ 0x1B, 0x28, 0x2F, 0x35 ],
-    [ 0x1B, 0x21, 0x2F, 0x35 ],
-    [ 0x1B, 0x21, 0x28, 0x35 ],
-    [ 0x1B, 0x35, 0x35, 0x35 ],
-    [ 0x1B, 0x1B, 0x35, 0x35 ],
-    [ 0x1B, 0x1B, 0x1B, 0x35 ],
-    [ 0x1B, 0x29, 0x31, 0x38 ],
-    [ 0x1B, 0x22, 0x31, 0x38 ],
-    [ 0x1B, 0x22, 0x2A, 0x38 ],
-    [ 0x1B, 0x38, 0x38, 0x38 ],
-    [ 0x1B, 0x1B, 0x38, 0x38 ],
-    [ 0x1B, 0x1B, 0x1B, 0x38 ],
-    [ 0x1B, 0x2B, 0x33, 0x3B ],
-    [ 0x1B, 0x23, 0x33, 0x3B ],
-    [ 0x1B, 0x23, 0x2B, 0x3B ],
-    [ 0x1B, 0x3B, 0x3B, 0x3B ],
-    [ 0x1B, 0x1B, 0x3B, 0x3B ],
-    [ 0x1B, 0x1B, 0x1B, 0x3B ],
-    [ 0x1B, 0x3E, 0x3E, 0x3E ],
-    [ 0x1B, 0x1B, 0x3E, 0x3E ],
-    [ 0x1B, 0x1B, 0x1B, 0x3E ],
-    [ 0x1B, 0x2D, 0x36, 0x3F ],
-    [ 0x1B, 0x24, 0x36, 0x3F ],
-    [ 0x1B, 0x24, 0x2D, 0x3F ],
-    [ 0x1C, 0x1D, 0x1D, 0x1E ],
-    [ 0x1C, 0x1D, 0x1E, 0x1F ],
-    [ 0x1C, 0x1E, 0x1F, 0x20 ],
-    [ 0x1C, 0x1D, 0x1F, 0x20 ],
-    [ 0x1C, 0x1D, 0x1E, 0x20 ],
-    [ 0x1C, 0x1E, 0x1F, 0x21 ],
-    [ 0x1C, 0x1E, 0x20, 0x21 ],
-    [ 0x1C, 0x1D, 0x20, 0x21 ],
-    [ 0x1C, 0x1D, 0x1F, 0x21 ],
-    [ 0x1C, 0x1E, 0x20, 0x22 ],
-    [ 0x1C, 0x1F, 0x21, 0x22 ],
-    [ 0x1C, 0x1D, 0x21, 0x22 ],
-    [ 0x1C, 0x1D, 0x1F, 0x22 ],
-    [ 0x1C, 0x22, 0x22, 0x22 ],
-    [ 0x1C, 0x1C, 0x22, 0x22 ],
-    [ 0x1C, 0x1C, 0x1C, 0x22 ],
-    [ 0x1C, 0x1F, 0x20, 0x23 ],
-    [ 0x1C, 0x1F, 0x22, 0x23 ],
-    [ 0x1C, 0x1D, 0x22, 0x23 ],
-    [ 0x1C, 0x1D, 0x20, 0x23 ],
-    [ 0x1C, 0x1F, 0x21, 0x24 ],
-    [ 0x1C, 0x20, 0x22, 0x24 ],
-    [ 0x1C, 0x1E, 0x22, 0x24 ],
-    [ 0x1C, 0x1E, 0x20, 0x24 ],
-    [ 0x1C, 0x24, 0x24, 0x24 ],
-    [ 0x1C, 0x1C, 0x24, 0x24 ],
-    [ 0x1C, 0x1C, 0x1C, 0x24 ],
-    [ 0x1C, 0x20, 0x23, 0x27 ],
-    [ 0x1C, 0x21, 0x25, 0x27 ],
-    [ 0x1C, 0x1E, 0x25, 0x27 ],
-    [ 0x1C, 0x1E, 0x22, 0x27 ],
-    [ 0x1C, 0x27, 0x27, 0x27 ],
-    [ 0x1C, 0x1C, 0x27, 0x27 ],
-    [ 0x1C, 0x1C, 0x1C, 0x27 ],
-    [ 0x1C, 0x21, 0x25, 0x2A ],
-    [ 0x1C, 0x23, 0x27, 0x2A ],
-    [ 0x1C, 0x1F, 0x27, 0x2A ],
-    [ 0x1C, 0x1F, 0x23, 0x2A ],
-    [ 0x1C, 0x2A, 0x2A, 0x2A ],
-    [ 0x1C, 0x1C, 0x2A, 0x2A ],
-    [ 0x1C, 0x1C, 0x1C, 0x2A ],
-    [ 0x1C, 0x22, 0x27, 0x2D ],
-    [ 0x1C, 0x24, 0x29, 0x2D ],
-    [ 0x1C, 0x20, 0x29, 0x2D ],
-    [ 0x1C, 0x20, 0x25, 0x2D ],
-    [ 0x1C, 0x2D, 0x2D, 0x2D ],
-    [ 0x1C, 0x1C, 0x2D, 0x2D ],
-    [ 0x1C, 0x1C, 0x1C, 0x2D ],
-    [ 0x1C, 0x23, 0x29, 0x30 ],
-    [ 0x1C, 0x26, 0x2B, 0x30 ],
-    [ 0x1C, 0x21, 0x2B, 0x30 ],
-    [ 0x1C, 0x21, 0x26, 0x30 ],
-    [ 0x1C, 0x30, 0x30, 0x30 ],
-    [ 0x1C, 0x1C, 0x30, 0x30 ],
-    [ 0x1C, 0x1C, 0x1C, 0x30 ],
-    [ 0x1C, 0x27, 0x2E, 0x33 ],
-    [ 0x1C, 0x21, 0x2E, 0x33 ],
-    [ 0x1C, 0x21, 0x28, 0x33 ],
-    [ 0x1C, 0x33, 0x33, 0x33 ],
-    [ 0x1C, 0x1C, 0x33, 0x33 ],
-    [ 0x1C, 0x1C, 0x1C, 0x33 ],
-    [ 0x1C, 0x29, 0x30, 0x36 ],
-    [ 0x1C, 0x22, 0x30, 0x36 ],
-    [ 0x1C, 0x22, 0x29, 0x36 ],
-    [ 0x1C, 0x36, 0x36, 0x36 ],
-    [ 0x1C, 0x1C, 0x36, 0x36 ],
-    [ 0x1C, 0x1C, 0x1C, 0x36 ],
-    [ 0x1C, 0x2A, 0x32, 0x39 ],
-    [ 0x1C, 0x23, 0x32, 0x39 ],
-    [ 0x1C, 0x23, 0x2B, 0x39 ],
-    [ 0x1C, 0x39, 0x39, 0x39 ],
-    [ 0x1C, 0x1C, 0x39, 0x39 ],
-    [ 0x1C, 0x1C, 0x1C, 0x39 ],
-    [ 0x1C, 0x2C, 0x34, 0x3C ],
-    [ 0x1C, 0x24, 0x34, 0x3C ],
-    [ 0x1C, 0x24, 0x2C, 0x3C ],
-    [ 0x1C, 0x3C, 0x3C, 0x3C ],
-    [ 0x1C, 0x1C, 0x3C, 0x3C ],
-    [ 0x1C, 0x1C, 0x1C, 0x3C ],
-    [ 0x1C, 0x3F, 0x3F, 0x3F ],
-    [ 0x1C, 0x1C, 0x3F, 0x3F ],
-    [ 0x1C, 0x1C, 0x1C, 0x3F ],
-    [ 0x1D, 0x1E, 0x1E, 0x1F ],
-    [ 0x1D, 0x1E, 0x1F, 0x20 ],
-    [ 0x1D, 0x1F, 0x20, 0x21 ],
-    [ 0x1D, 0x1E, 0x20, 0x21 ],
-    [ 0x1D, 0x1E, 0x1F, 0x21 ],
-    [ 0x1D, 0x1F, 0x20, 0x22 ],
-    [ 0x1D, 0x1F, 0x21, 0x22 ],
-    [ 0x1D, 0x1E, 0x21, 0x22 ],
-    [ 0x1D, 0x1E, 0x20, 0x22 ],
-    [ 0x1D, 0x1F, 0x21, 0x23 ],
-    [ 0x1D, 0x20, 0x22, 0x23 ],
-    [ 0x1D, 0x1E, 0x22, 0x23 ],
-    [ 0x1D, 0x1E, 0x20, 0x23 ],
-    [ 0x1D, 0x23, 0x23, 0x23 ],
-    [ 0x1D, 0x1D, 0x23, 0x23 ],
-    [ 0x1D, 0x1D, 0x1D, 0x23 ],
-    [ 0x1D, 0x20, 0x21, 0x24 ],
-    [ 0x1D, 0x20, 0x23, 0x24 ],
-    [ 0x1D, 0x1E, 0x23, 0x24 ],
-    [ 0x1D, 0x1E, 0x21, 0x24 ],
-    [ 0x1D, 0x20, 0x22, 0x25 ],
-    [ 0x1D, 0x21, 0x23, 0x25 ],
-    [ 0x1D, 0x1F, 0x23, 0x25 ],
-    [ 0x1D, 0x1F, 0x21, 0x25 ],
-    [ 0x1D, 0x25, 0x25, 0x25 ],
-    [ 0x1D, 0x1D, 0x25, 0x25 ],
-    [ 0x1D, 0x1D, 0x1D, 0x25 ],
-    [ 0x1D, 0x21, 0x24, 0x28 ],
-    [ 0x1D, 0x22, 0x26, 0x28 ],
-    [ 0x1D, 0x1F, 0x26, 0x28 ],
-    [ 0x1D, 0x1F, 0x23, 0x28 ],
-    [ 0x1D, 0x28, 0x28, 0x28 ],
-    [ 0x1D, 0x1D, 0x28, 0x28 ],
-    [ 0x1D, 0x1D, 0x1D, 0x28 ],
-    [ 0x1D, 0x22, 0x26, 0x2B ],
-    [ 0x1D, 0x24, 0x28, 0x2B ],
-    [ 0x1D, 0x20, 0x28, 0x2B ],
-    [ 0x1D, 0x20, 0x24, 0x2B ],
-    [ 0x1D, 0x2B, 0x2B, 0x2B ],
-    [ 0x1D, 0x1D, 0x2B, 0x2B ],
-    [ 0x1D, 0x1D, 0x1D, 0x2B ],
-    [ 0x1D, 0x23, 0x28, 0x2E ],
-    [ 0x1D, 0x25, 0x2A, 0x2E ],
-    [ 0x1D, 0x21, 0x2A, 0x2E ],
-    [ 0x1D, 0x21, 0x26, 0x2E ],
-    [ 0x1D, 0x2E, 0x2E, 0x2E ],
-    [ 0x1D, 0x1D, 0x2E, 0x2E ],
-    [ 0x1D, 0x1D, 0x1D, 0x2E ],
-    [ 0x1D, 0x24, 0x2A, 0x31 ],
-    [ 0x1D, 0x27, 0x2C, 0x31 ],
-    [ 0x1D, 0x22, 0x2C, 0x31 ],
-    [ 0x1D, 0x22, 0x27, 0x31 ],
-    [ 0x1D, 0x31, 0x31, 0x31 ],
-    [ 0x1D, 0x1D, 0x31, 0x31 ],
-    [ 0x1D, 0x1D, 0x1D, 0x31 ],
-    [ 0x1D, 0x28, 0x2F, 0x34 ],
-    [ 0x1D, 0x22, 0x2F, 0x34 ],
-    [ 0x1D, 0x22, 0x29, 0x34 ],
-    [ 0x1D, 0x34, 0x34, 0x34 ],
-    [ 0x1D, 0x1D, 0x34, 0x34 ],
-    [ 0x1D, 0x1D, 0x1D, 0x34 ],
-    [ 0x1D, 0x2A, 0x31, 0x37 ],
-    [ 0x1D, 0x23, 0x31, 0x37 ],
-    [ 0x1D, 0x23, 0x2A, 0x37 ],
-    [ 0x1D, 0x37, 0x37, 0x37 ],
-    [ 0x1D, 0x1D, 0x37, 0x37 ],
-    [ 0x1D, 0x1D, 0x1D, 0x37 ],
-    [ 0x1D, 0x2B, 0x33, 0x3A ],
-    [ 0x1D, 0x24, 0x33, 0x3A ],
-    [ 0x1D, 0x24, 0x2C, 0x3A ],
-    [ 0x1D, 0x3A, 0x3A, 0x3A ],
-    [ 0x1D, 0x1D, 0x3A, 0x3A ],
-    [ 0x1D, 0x1D, 0x1D, 0x3A ],
-    [ 0x1D, 0x2D, 0x35, 0x3D ],
-    [ 0x1D, 0x25, 0x35, 0x3D ],
-    [ 0x1D, 0x25, 0x2D, 0x3D ],
-    [ 0x1D, 0x3D, 0x3D, 0x3D ],
-    [ 0x1D, 0x1D, 0x3D, 0x3D ],
-    [ 0x1D, 0x1D, 0x1D, 0x3D ],
-    [ 0x1E, 0x1F, 0x1F, 0x20 ],
-    [ 0x1E, 0x1F, 0x20, 0x21 ],
-    [ 0x1E, 0x20, 0x21, 0x22 ],
-    [ 0x1E, 0x1F, 0x21, 0x22 ],
-    [ 0x1E, 0x1F, 0x20, 0x22 ],
-    [ 0x1E, 0x20, 0x21, 0x23 ],
-    [ 0x1E, 0x20, 0x22, 0x23 ],
-    [ 0x1E, 0x1F, 0x22, 0x23 ],
-    [ 0x1E, 0x1F, 0x21, 0x23 ],
-    [ 0x1E, 0x20, 0x22, 0x24 ],
-    [ 0x1E, 0x21, 0x23, 0x24 ],
-    [ 0x1E, 0x1F, 0x23, 0x24 ],
-    [ 0x1E, 0x1F, 0x21, 0x24 ],
-    [ 0x1E, 0x24, 0x24, 0x24 ],
-    [ 0x1E, 0x1E, 0x24, 0x24 ],
-    [ 0x1E, 0x1E, 0x1E, 0x24 ],
-    [ 0x1E, 0x21, 0x22, 0x25 ],
-    [ 0x1E, 0x21, 0x24, 0x25 ],
-    [ 0x1E, 0x1F, 0x24, 0x25 ],
-    [ 0x1E, 0x1F, 0x22, 0x25 ],
-    [ 0x1E, 0x21, 0x23, 0x26 ],
-    [ 0x1E, 0x22, 0x24, 0x26 ],
-    [ 0x1E, 0x20, 0x24, 0x26 ],
-    [ 0x1E, 0x20, 0x22, 0x26 ],
-    [ 0x1E, 0x26, 0x26, 0x26 ],
-    [ 0x1E, 0x1E, 0x26, 0x26 ],
-    [ 0x1E, 0x1E, 0x1E, 0x26 ],
-    [ 0x1E, 0x22, 0x25, 0x29 ],
-    [ 0x1E, 0x23, 0x27, 0x29 ],
-    [ 0x1E, 0x20, 0x27, 0x29 ],
-    [ 0x1E, 0x20, 0x24, 0x29 ],
-    [ 0x1E, 0x29, 0x29, 0x29 ],
-    [ 0x1E, 0x1E, 0x29, 0x29 ],
-    [ 0x1E, 0x1E, 0x1E, 0x29 ],
-    [ 0x1E, 0x23, 0x27, 0x2C ],
-    [ 0x1E, 0x25, 0x29, 0x2C ],
-    [ 0x1E, 0x21, 0x29, 0x2C ],
-    [ 0x1E, 0x21, 0x25, 0x2C ],
-    [ 0x1E, 0x2C, 0x2C, 0x2C ],
-    [ 0x1E, 0x1E, 0x2C, 0x2C ],
-    [ 0x1E, 0x1E, 0x1E, 0x2C ],
-    [ 0x1E, 0x24, 0x29, 0x2F ],
-    [ 0x1E, 0x26, 0x2B, 0x2F ],
-    [ 0x1E, 0x22, 0x2B, 0x2F ],
-    [ 0x1E, 0x22, 0x27, 0x2F ],
-    [ 0x1E, 0x2F, 0x2F, 0x2F ],
-    [ 0x1E, 0x1E, 0x2F, 0x2F ],
-    [ 0x1E, 0x1E, 0x1E, 0x2F ],
-    [ 0x1E, 0x25, 0x2B, 0x32 ],
-    [ 0x1E, 0x28, 0x2D, 0x32 ],
-    [ 0x1E, 0x23, 0x2D, 0x32 ],
-    [ 0x1E, 0x23, 0x28, 0x32 ],
-    [ 0x1E, 0x32, 0x32, 0x32 ],
-    [ 0x1E, 0x1E, 0x32, 0x32 ],
-    [ 0x1E, 0x1E, 0x1E, 0x32 ],
-    [ 0x1E, 0x29, 0x30, 0x35 ],
-    [ 0x1E, 0x23, 0x30, 0x35 ],
-    [ 0x1E, 0x23, 0x2A, 0x35 ],
-    [ 0x1E, 0x35, 0x35, 0x35 ],
-    [ 0x1E, 0x1E, 0x35, 0x35 ],
-    [ 0x1E, 0x1E, 0x1E, 0x35 ],
-    [ 0x1E, 0x2B, 0x32, 0x38 ],
-    [ 0x1E, 0x24, 0x32, 0x38 ],
-    [ 0x1E, 0x24, 0x2B, 0x38 ],
-    [ 0x1E, 0x38, 0x38, 0x38 ],
-    [ 0x1E, 0x1E, 0x38, 0x38 ],
-    [ 0x1E, 0x1E, 0x1E, 0x38 ],
-    [ 0x1E, 0x2C, 0x34, 0x3B ],
-    [ 0x1E, 0x25, 0x34, 0x3B ],
-    [ 0x1E, 0x25, 0x2D, 0x3B ],
-    [ 0x1E, 0x3B, 0x3B, 0x3B ],
-    [ 0x1E, 0x1E, 0x3B, 0x3B ],
-    [ 0x1E, 0x1E, 0x1E, 0x3B ],
-    [ 0x1E, 0x2E, 0x36, 0x3E ],
-    [ 0x1E, 0x26, 0x36, 0x3E ],
-    [ 0x1E, 0x26, 0x2E, 0x3E ],
-    [ 0x1E, 0x3E, 0x3E, 0x3E ],
-    [ 0x1E, 0x1E, 0x3E, 0x3E ],
-    [ 0x1E, 0x1E, 0x1E, 0x3E ],
-    [ 0x1F, 0x20, 0x20, 0x21 ],
-    [ 0x1F, 0x20, 0x21, 0x22 ],
-    [ 0x1F, 0x21, 0x22, 0x23 ],
-    [ 0x1F, 0x20, 0x22, 0x23 ],
-    [ 0x1F, 0x20, 0x21, 0x23 ],
-    [ 0x1F, 0x21, 0x22, 0x24 ],
-    [ 0x1F, 0x21, 0x23, 0x24 ],
-    [ 0x1F, 0x20, 0x23, 0x24 ],
-    [ 0x1F, 0x20, 0x22, 0x24 ],
-    [ 0x1F, 0x21, 0x23, 0x25 ],
-    [ 0x1F, 0x22, 0x24, 0x25 ],
-    [ 0x1F, 0x20, 0x24, 0x25 ],
-    [ 0x1F, 0x20, 0x22, 0x25 ],
-    [ 0x1F, 0x25, 0x25, 0x25 ],
-    [ 0x1F, 0x1F, 0x25, 0x25 ],
-    [ 0x1F, 0x1F, 0x1F, 0x25 ],
-    [ 0x1F, 0x22, 0x23, 0x26 ],
-    [ 0x1F, 0x22, 0x25, 0x26 ],
-    [ 0x1F, 0x20, 0x25, 0x26 ],
-    [ 0x1F, 0x20, 0x23, 0x26 ],
-    [ 0x1F, 0x22, 0x24, 0x27 ],
-    [ 0x1F, 0x23, 0x25, 0x27 ],
-    [ 0x1F, 0x21, 0x25, 0x27 ],
-    [ 0x1F, 0x21, 0x23, 0x27 ],
-    [ 0x1F, 0x27, 0x27, 0x27 ],
-    [ 0x1F, 0x1F, 0x27, 0x27 ],
-    [ 0x1F, 0x1F, 0x1F, 0x27 ],
-    [ 0x1F, 0x23, 0x26, 0x2A ],
-    [ 0x1F, 0x24, 0x28, 0x2A ],
-    [ 0x1F, 0x21, 0x28, 0x2A ],
-    [ 0x1F, 0x21, 0x25, 0x2A ],
-    [ 0x1F, 0x2A, 0x2A, 0x2A ],
-    [ 0x1F, 0x1F, 0x2A, 0x2A ],
-    [ 0x1F, 0x1F, 0x1F, 0x2A ],
-    [ 0x1F, 0x24, 0x28, 0x2D ],
-    [ 0x1F, 0x26, 0x2A, 0x2D ],
-    [ 0x1F, 0x22, 0x2A, 0x2D ],
-    [ 0x1F, 0x22, 0x26, 0x2D ],
-    [ 0x1F, 0x2D, 0x2D, 0x2D ],
-    [ 0x1F, 0x1F, 0x2D, 0x2D ],
-    [ 0x1F, 0x1F, 0x1F, 0x2D ],
-    [ 0x1F, 0x25, 0x2A, 0x30 ],
-    [ 0x1F, 0x27, 0x2C, 0x30 ],
-    [ 0x1F, 0x23, 0x2C, 0x30 ],
-    [ 0x1F, 0x23, 0x28, 0x30 ],
-    [ 0x1F, 0x30, 0x30, 0x30 ],
-    [ 0x1F, 0x1F, 0x30, 0x30 ],
-    [ 0x1F, 0x1F, 0x1F, 0x30 ],
-    [ 0x1F, 0x26, 0x2C, 0x33 ],
-    [ 0x1F, 0x29, 0x2E, 0x33 ],
-    [ 0x1F, 0x24, 0x2E, 0x33 ],
-    [ 0x1F, 0x24, 0x29, 0x33 ],
-    [ 0x1F, 0x33, 0x33, 0x33 ],
-    [ 0x1F, 0x1F, 0x33, 0x33 ],
-    [ 0x1F, 0x1F, 0x1F, 0x33 ],
-    [ 0x1F, 0x2A, 0x31, 0x36 ],
-    [ 0x1F, 0x24, 0x31, 0x36 ],
-    [ 0x1F, 0x24, 0x2B, 0x36 ],
-    [ 0x1F, 0x36, 0x36, 0x36 ],
-    [ 0x1F, 0x1F, 0x36, 0x36 ],
-    [ 0x1F, 0x1F, 0x1F, 0x36 ],
-    [ 0x1F, 0x2C, 0x33, 0x39 ],
-    [ 0x1F, 0x25, 0x33, 0x39 ],
-    [ 0x1F, 0x25, 0x2C, 0x39 ],
-    [ 0x1F, 0x39, 0x39, 0x39 ],
-    [ 0x1F, 0x1F, 0x39, 0x39 ],
-    [ 0x1F, 0x1F, 0x1F, 0x39 ],
-    [ 0x1F, 0x2D, 0x35, 0x3C ],
-    [ 0x1F, 0x26, 0x35, 0x3C ],
-    [ 0x1F, 0x26, 0x2E, 0x3C ],
-    [ 0x1F, 0x3C, 0x3C, 0x3C ],
-    [ 0x1F, 0x1F, 0x3C, 0x3C ],
-    [ 0x1F, 0x1F, 0x1F, 0x3C ],
-    [ 0x1F, 0x2F, 0x37, 0x3F ],
-    [ 0x1F, 0x27, 0x37, 0x3F ],
-    [ 0x1F, 0x27, 0x2F, 0x3F ],
-    [ 0x1F, 0x3F, 0x3F, 0x3F ],
-    [ 0x1F, 0x1F, 0x3F, 0x3F ],
-    [ 0x1F, 0x1F, 0x1F, 0x3F ],
-    [ 0x20, 0x21, 0x21, 0x22 ],
-    [ 0x20, 0x21, 0x22, 0x23 ],
-    [ 0x20, 0x22, 0x23, 0x24 ],
-    [ 0x20, 0x21, 0x23, 0x24 ],
-    [ 0x20, 0x21, 0x22, 0x24 ],
-    [ 0x20, 0x22, 0x23, 0x25 ],
-    [ 0x20, 0x22, 0x24, 0x25 ],
-    [ 0x20, 0x21, 0x24, 0x25 ],
-    [ 0x20, 0x21, 0x23, 0x25 ],
-    [ 0x20, 0x22, 0x24, 0x26 ],
-    [ 0x20, 0x23, 0x25, 0x26 ],
-    [ 0x20, 0x21, 0x25, 0x26 ],
-    [ 0x20, 0x21, 0x23, 0x26 ],
-    [ 0x20, 0x26, 0x26, 0x26 ],
-    [ 0x20, 0x20, 0x26, 0x26 ],
-    [ 0x20, 0x20, 0x20, 0x26 ],
-    [ 0x20, 0x23, 0x24, 0x27 ],
-    [ 0x20, 0x23, 0x26, 0x27 ],
-    [ 0x20, 0x21, 0x26, 0x27 ],
-    [ 0x20, 0x21, 0x24, 0x27 ],
-    [ 0x20, 0x23, 0x25, 0x28 ],
-    [ 0x20, 0x24, 0x26, 0x28 ],
-    [ 0x20, 0x22, 0x26, 0x28 ],
-    [ 0x20, 0x22, 0x24, 0x28 ],
-    [ 0x20, 0x28, 0x28, 0x28 ],
-    [ 0x20, 0x20, 0x28, 0x28 ],
-    [ 0x20, 0x20, 0x20, 0x28 ],
-    [ 0x20, 0x24, 0x27, 0x2B ],
-    [ 0x20, 0x25, 0x29, 0x2B ],
-    [ 0x20, 0x22, 0x29, 0x2B ],
-    [ 0x20, 0x22, 0x26, 0x2B ],
-    [ 0x20, 0x2B, 0x2B, 0x2B ],
-    [ 0x20, 0x20, 0x2B, 0x2B ],
-    [ 0x20, 0x20, 0x20, 0x2B ],
-    [ 0x20, 0x25, 0x29, 0x2E ],
-    [ 0x20, 0x27, 0x2B, 0x2E ],
-    [ 0x20, 0x23, 0x2B, 0x2E ],
-    [ 0x20, 0x23, 0x27, 0x2E ],
-    [ 0x20, 0x2E, 0x2E, 0x2E ],
-    [ 0x20, 0x20, 0x2E, 0x2E ],
-    [ 0x20, 0x20, 0x20, 0x2E ],
-    [ 0x20, 0x26, 0x2B, 0x31 ],
-    [ 0x20, 0x28, 0x2D, 0x31 ],
-    [ 0x20, 0x24, 0x2D, 0x31 ],
-    [ 0x20, 0x24, 0x29, 0x31 ],
-    [ 0x20, 0x31, 0x31, 0x31 ],
-    [ 0x20, 0x20, 0x31, 0x31 ],
-    [ 0x20, 0x20, 0x20, 0x31 ],
-    [ 0x20, 0x27, 0x2D, 0x34 ],
-    [ 0x20, 0x2A, 0x2F, 0x34 ],
-    [ 0x20, 0x25, 0x2F, 0x34 ],
-    [ 0x20, 0x25, 0x2A, 0x34 ],
-    [ 0x20, 0x34, 0x34, 0x34 ],
-    [ 0x20, 0x20, 0x34, 0x34 ],
-    [ 0x20, 0x20, 0x20, 0x34 ],
-    [ 0x20, 0x2B, 0x32, 0x37 ],
-    [ 0x20, 0x25, 0x32, 0x37 ],
-    [ 0x20, 0x25, 0x2C, 0x37 ],
-    [ 0x20, 0x37, 0x37, 0x37 ],
-    [ 0x20, 0x20, 0x37, 0x37 ],
-    [ 0x20, 0x20, 0x20, 0x37 ],
-    [ 0x20, 0x2D, 0x34, 0x3A ],
-    [ 0x20, 0x26, 0x34, 0x3A ],
-    [ 0x20, 0x26, 0x2D, 0x3A ],
-    [ 0x20, 0x3A, 0x3A, 0x3A ],
-    [ 0x20, 0x20, 0x3A, 0x3A ],
-    [ 0x20, 0x20, 0x20, 0x3A ],
-    [ 0x20, 0x2E, 0x36, 0x3D ],
-    [ 0x20, 0x27, 0x36, 0x3D ],
-    [ 0x20, 0x27, 0x2F, 0x3D ],
-    [ 0x20, 0x3D, 0x3D, 0x3D ],
-    [ 0x20, 0x20, 0x3D, 0x3D ],
-    [ 0x20, 0x20, 0x20, 0x3D ],
-    [ 0x21, 0x22, 0x22, 0x23 ],
-    [ 0x21, 0x22, 0x23, 0x24 ],
-    [ 0x21, 0x23, 0x24, 0x25 ],
-    [ 0x21, 0x22, 0x24, 0x25 ],
-    [ 0x21, 0x22, 0x23, 0x25 ],
-    [ 0x21, 0x23, 0x24, 0x26 ],
-    [ 0x21, 0x23, 0x25, 0x26 ],
-    [ 0x21, 0x22, 0x25, 0x26 ],
-    [ 0x21, 0x22, 0x24, 0x26 ],
-    [ 0x21, 0x23, 0x25, 0x27 ],
-    [ 0x21, 0x24, 0x26, 0x27 ],
-    [ 0x21, 0x22, 0x26, 0x27 ],
-    [ 0x21, 0x22, 0x24, 0x27 ],
-    [ 0x21, 0x27, 0x27, 0x27 ],
-    [ 0x21, 0x21, 0x27, 0x27 ],
-    [ 0x21, 0x21, 0x21, 0x27 ],
-    [ 0x21, 0x24, 0x25, 0x28 ],
-    [ 0x21, 0x24, 0x27, 0x28 ],
-    [ 0x21, 0x22, 0x27, 0x28 ],
-    [ 0x21, 0x22, 0x25, 0x28 ],
-    [ 0x21, 0x24, 0x26, 0x29 ],
-    [ 0x21, 0x25, 0x27, 0x29 ],
-    [ 0x21, 0x23, 0x27, 0x29 ],
-    [ 0x21, 0x23, 0x25, 0x29 ],
-    [ 0x21, 0x29, 0x29, 0x29 ],
-    [ 0x21, 0x21, 0x29, 0x29 ],
-    [ 0x21, 0x21, 0x21, 0x29 ],
-    [ 0x21, 0x25, 0x28, 0x2C ],
-    [ 0x21, 0x26, 0x2A, 0x2C ],
-    [ 0x21, 0x23, 0x2A, 0x2C ],
-    [ 0x21, 0x23, 0x27, 0x2C ],
-    [ 0x21, 0x2C, 0x2C, 0x2C ],
-    [ 0x21, 0x21, 0x2C, 0x2C ],
-    [ 0x21, 0x21, 0x21, 0x2C ],
-    [ 0x21, 0x26, 0x2A, 0x2F ],
-    [ 0x21, 0x28, 0x2C, 0x2F ],
-    [ 0x21, 0x24, 0x2C, 0x2F ],
-    [ 0x21, 0x24, 0x28, 0x2F ],
-    [ 0x21, 0x2F, 0x2F, 0x2F ],
-    [ 0x21, 0x21, 0x2F, 0x2F ],
-    [ 0x21, 0x21, 0x21, 0x2F ],
-    [ 0x21, 0x27, 0x2C, 0x32 ],
-    [ 0x21, 0x29, 0x2E, 0x32 ],
-    [ 0x21, 0x25, 0x2E, 0x32 ],
-    [ 0x21, 0x25, 0x2A, 0x32 ],
-    [ 0x21, 0x32, 0x32, 0x32 ],
-    [ 0x21, 0x21, 0x32, 0x32 ],
-    [ 0x21, 0x21, 0x21, 0x32 ],
-    [ 0x21, 0x28, 0x2E, 0x35 ],
-    [ 0x21, 0x2B, 0x30, 0x35 ],
-    [ 0x21, 0x26, 0x30, 0x35 ],
-    [ 0x21, 0x26, 0x2B, 0x35 ],
-    [ 0x21, 0x35, 0x35, 0x35 ],
-    [ 0x21, 0x21, 0x35, 0x35 ],
-    [ 0x21, 0x21, 0x21, 0x35 ],
-    [ 0x21, 0x2C, 0x33, 0x38 ],
-    [ 0x21, 0x26, 0x33, 0x38 ],
-    [ 0x21, 0x26, 0x2D, 0x38 ],
-    [ 0x21, 0x38, 0x38, 0x38 ],
-    [ 0x21, 0x21, 0x38, 0x38 ],
-    [ 0x21, 0x21, 0x21, 0x38 ],
-    [ 0x21, 0x2E, 0x35, 0x3B ],
-    [ 0x21, 0x27, 0x35, 0x3B ],
-    [ 0x21, 0x27, 0x2E, 0x3B ],
-    [ 0x21, 0x3B, 0x3B, 0x3B ],
-    [ 0x21, 0x21, 0x3B, 0x3B ],
-    [ 0x21, 0x21, 0x21, 0x3B ],
-    [ 0x21, 0x2F, 0x37, 0x3E ],
-    [ 0x21, 0x28, 0x37, 0x3E ],
-    [ 0x21, 0x28, 0x30, 0x3E ],
-    [ 0x21, 0x3E, 0x3E, 0x3E ],
-    [ 0x21, 0x21, 0x3E, 0x3E ],
-    [ 0x21, 0x21, 0x21, 0x3E ],
-    [ 0x22, 0x23, 0x23, 0x24 ],
-    [ 0x22, 0x23, 0x24, 0x25 ],
-    [ 0x22, 0x24, 0x25, 0x26 ],
-    [ 0x22, 0x23, 0x25, 0x26 ],
-    [ 0x22, 0x23, 0x24, 0x26 ],
-    [ 0x22, 0x24, 0x25, 0x27 ],
-    [ 0x22, 0x24, 0x26, 0x27 ],
-    [ 0x22, 0x23, 0x26, 0x27 ],
-    [ 0x22, 0x23, 0x25, 0x27 ],
-    [ 0x22, 0x24, 0x26, 0x28 ],
-    [ 0x22, 0x25, 0x27, 0x28 ],
-    [ 0x22, 0x23, 0x27, 0x28 ],
-    [ 0x22, 0x23, 0x25, 0x28 ],
-    [ 0x22, 0x28, 0x28, 0x28 ],
-    [ 0x22, 0x22, 0x28, 0x28 ],
-    [ 0x22, 0x22, 0x22, 0x28 ],
-    [ 0x22, 0x25, 0x26, 0x29 ],
-    [ 0x22, 0x25, 0x28, 0x29 ],
-    [ 0x22, 0x23, 0x28, 0x29 ],
-    [ 0x22, 0x23, 0x26, 0x29 ],
-    [ 0x22, 0x25, 0x27, 0x2A ],
-    [ 0x22, 0x26, 0x28, 0x2A ],
-    [ 0x22, 0x24, 0x28, 0x2A ],
-    [ 0x22, 0x24, 0x26, 0x2A ],
-    [ 0x22, 0x2A, 0x2A, 0x2A ],
-    [ 0x22, 0x22, 0x2A, 0x2A ],
-    [ 0x22, 0x22, 0x22, 0x2A ],
-    [ 0x22, 0x26, 0x29, 0x2D ],
-    [ 0x22, 0x27, 0x2B, 0x2D ],
-    [ 0x22, 0x24, 0x2B, 0x2D ],
-    [ 0x22, 0x24, 0x28, 0x2D ],
-    [ 0x22, 0x2D, 0x2D, 0x2D ],
-    [ 0x22, 0x22, 0x2D, 0x2D ],
-    [ 0x22, 0x22, 0x22, 0x2D ],
-    [ 0x22, 0x27, 0x2B, 0x30 ],
-    [ 0x22, 0x29, 0x2D, 0x30 ],
-    [ 0x22, 0x25, 0x2D, 0x30 ],
-    [ 0x22, 0x25, 0x29, 0x30 ],
-    [ 0x22, 0x30, 0x30, 0x30 ],
-    [ 0x22, 0x22, 0x30, 0x30 ],
-    [ 0x22, 0x22, 0x22, 0x30 ],
-    [ 0x22, 0x28, 0x2D, 0x33 ],
-    [ 0x22, 0x2A, 0x2F, 0x33 ],
-    [ 0x22, 0x26, 0x2F, 0x33 ],
-    [ 0x22, 0x26, 0x2B, 0x33 ],
-    [ 0x22, 0x33, 0x33, 0x33 ],
-    [ 0x22, 0x22, 0x33, 0x33 ],
-    [ 0x22, 0x22, 0x22, 0x33 ],
-    [ 0x22, 0x29, 0x2F, 0x36 ],
-    [ 0x22, 0x2C, 0x31, 0x36 ],
-    [ 0x22, 0x27, 0x31, 0x36 ],
-    [ 0x22, 0x27, 0x2C, 0x36 ],
-    [ 0x22, 0x36, 0x36, 0x36 ],
-    [ 0x22, 0x22, 0x36, 0x36 ],
-    [ 0x22, 0x22, 0x22, 0x36 ],
-    [ 0x22, 0x2D, 0x34, 0x39 ],
-    [ 0x22, 0x27, 0x34, 0x39 ],
-    [ 0x22, 0x27, 0x2E, 0x39 ],
-    [ 0x22, 0x39, 0x39, 0x39 ],
-    [ 0x22, 0x22, 0x39, 0x39 ],
-    [ 0x22, 0x22, 0x22, 0x39 ],
-    [ 0x22, 0x2F, 0x36, 0x3C ],
-    [ 0x22, 0x28, 0x36, 0x3C ],
-    [ 0x22, 0x28, 0x2F, 0x3C ],
-    [ 0x22, 0x3C, 0x3C, 0x3C ],
-    [ 0x22, 0x22, 0x3C, 0x3C ],
-    [ 0x22, 0x22, 0x22, 0x3C ],
-    [ 0x22, 0x30, 0x38, 0x3F ],
-    [ 0x22, 0x29, 0x38, 0x3F ],
-    [ 0x22, 0x29, 0x31, 0x3F ],
-    [ 0x22, 0x3F, 0x3F, 0x3F ],
-    [ 0x22, 0x22, 0x3F, 0x3F ],
-    [ 0x22, 0x22, 0x22, 0x3F ],
-    [ 0x23, 0x24, 0x24, 0x25 ],
-    [ 0x23, 0x24, 0x25, 0x26 ],
-    [ 0x23, 0x25, 0x26, 0x27 ],
-    [ 0x23, 0x24, 0x26, 0x27 ],
-    [ 0x23, 0x24, 0x25, 0x27 ],
-    [ 0x23, 0x25, 0x26, 0x28 ],
-    [ 0x23, 0x25, 0x27, 0x28 ],
-    [ 0x23, 0x24, 0x27, 0x28 ],
-    [ 0x23, 0x24, 0x26, 0x28 ],
-    [ 0x23, 0x25, 0x27, 0x29 ],
-    [ 0x23, 0x26, 0x28, 0x29 ],
-    [ 0x23, 0x24, 0x28, 0x29 ],
-    [ 0x23, 0x24, 0x26, 0x29 ],
-    [ 0x23, 0x29, 0x29, 0x29 ],
-    [ 0x23, 0x23, 0x29, 0x29 ],
-    [ 0x23, 0x23, 0x23, 0x29 ],
-    [ 0x23, 0x26, 0x27, 0x2A ],
-    [ 0x23, 0x26, 0x29, 0x2A ],
-    [ 0x23, 0x24, 0x29, 0x2A ],
-    [ 0x23, 0x24, 0x27, 0x2A ],
-    [ 0x23, 0x26, 0x28, 0x2B ],
-    [ 0x23, 0x27, 0x29, 0x2B ],
-    [ 0x23, 0x25, 0x29, 0x2B ],
-    [ 0x23, 0x25, 0x27, 0x2B ],
-    [ 0x23, 0x2B, 0x2B, 0x2B ],
-    [ 0x23, 0x23, 0x2B, 0x2B ],
-    [ 0x23, 0x23, 0x23, 0x2B ],
-    [ 0x23, 0x27, 0x2A, 0x2E ],
-    [ 0x23, 0x28, 0x2C, 0x2E ],
-    [ 0x23, 0x25, 0x2C, 0x2E ],
-    [ 0x23, 0x25, 0x29, 0x2E ],
-    [ 0x23, 0x2E, 0x2E, 0x2E ],
-    [ 0x23, 0x23, 0x2E, 0x2E ],
-    [ 0x23, 0x23, 0x23, 0x2E ],
-    [ 0x23, 0x28, 0x2C, 0x31 ],
-    [ 0x23, 0x2A, 0x2E, 0x31 ],
-    [ 0x23, 0x26, 0x2E, 0x31 ],
-    [ 0x23, 0x26, 0x2A, 0x31 ],
-    [ 0x23, 0x31, 0x31, 0x31 ],
-    [ 0x23, 0x23, 0x31, 0x31 ],
-    [ 0x23, 0x23, 0x23, 0x31 ],
-    [ 0x23, 0x29, 0x2E, 0x34 ],
-    [ 0x23, 0x2B, 0x30, 0x34 ],
-    [ 0x23, 0x27, 0x30, 0x34 ],
-    [ 0x23, 0x27, 0x2C, 0x34 ],
-    [ 0x23, 0x34, 0x34, 0x34 ],
-    [ 0x23, 0x23, 0x34, 0x34 ],
-    [ 0x23, 0x23, 0x23, 0x34 ],
-    [ 0x23, 0x2A, 0x30, 0x37 ],
-    [ 0x23, 0x2D, 0x32, 0x37 ],
-    [ 0x23, 0x28, 0x32, 0x37 ],
-    [ 0x23, 0x28, 0x2D, 0x37 ],
-    [ 0x23, 0x37, 0x37, 0x37 ],
-    [ 0x23, 0x23, 0x37, 0x37 ],
-    [ 0x23, 0x23, 0x23, 0x37 ],
-    [ 0x23, 0x2E, 0x35, 0x3A ],
-    [ 0x23, 0x28, 0x35, 0x3A ],
-    [ 0x23, 0x28, 0x2F, 0x3A ],
-    [ 0x23, 0x3A, 0x3A, 0x3A ],
-    [ 0x23, 0x23, 0x3A, 0x3A ],
-    [ 0x23, 0x23, 0x23, 0x3A ],
-    [ 0x23, 0x30, 0x37, 0x3D ],
-    [ 0x23, 0x29, 0x37, 0x3D ],
-    [ 0x23, 0x29, 0x30, 0x3D ],
-    [ 0x23, 0x3D, 0x3D, 0x3D ],
-    [ 0x23, 0x23, 0x3D, 0x3D ],
-    [ 0x23, 0x23, 0x23, 0x3D ],
-    [ 0x24, 0x25, 0x25, 0x26 ],
-    [ 0x24, 0x25, 0x26, 0x27 ],
-    [ 0x24, 0x26, 0x27, 0x28 ],
-    [ 0x24, 0x25, 0x27, 0x28 ],
-    [ 0x24, 0x25, 0x26, 0x28 ],
-    [ 0x24, 0x26, 0x27, 0x29 ],
-    [ 0x24, 0x26, 0x28, 0x29 ],
-    [ 0x24, 0x25, 0x28, 0x29 ],
-    [ 0x24, 0x25, 0x27, 0x29 ],
-    [ 0x24, 0x26, 0x28, 0x2A ],
-    [ 0x24, 0x27, 0x29, 0x2A ],
-    [ 0x24, 0x25, 0x29, 0x2A ],
-    [ 0x24, 0x25, 0x27, 0x2A ],
-    [ 0x24, 0x2A, 0x2A, 0x2A ],
-    [ 0x24, 0x24, 0x2A, 0x2A ],
-    [ 0x24, 0x24, 0x24, 0x2A ],
-    [ 0x24, 0x27, 0x28, 0x2B ],
-    [ 0x24, 0x27, 0x2A, 0x2B ],
-    [ 0x24, 0x25, 0x2A, 0x2B ],
-    [ 0x24, 0x25, 0x28, 0x2B ],
-    [ 0x24, 0x27, 0x29, 0x2C ],
-    [ 0x24, 0x28, 0x2A, 0x2C ],
-    [ 0x24, 0x26, 0x2A, 0x2C ],
-    [ 0x24, 0x26, 0x28, 0x2C ],
-    [ 0x24, 0x2C, 0x2C, 0x2C ],
-    [ 0x24, 0x24, 0x2C, 0x2C ],
-    [ 0x24, 0x24, 0x24, 0x2C ],
-    [ 0x24, 0x28, 0x2B, 0x2F ],
-    [ 0x24, 0x29, 0x2D, 0x2F ],
-    [ 0x24, 0x26, 0x2D, 0x2F ],
-    [ 0x24, 0x26, 0x2A, 0x2F ],
-    [ 0x24, 0x2F, 0x2F, 0x2F ],
-    [ 0x24, 0x24, 0x2F, 0x2F ],
-    [ 0x24, 0x24, 0x24, 0x2F ],
-    [ 0x24, 0x29, 0x2D, 0x32 ],
-    [ 0x24, 0x2B, 0x2F, 0x32 ],
-    [ 0x24, 0x27, 0x2F, 0x32 ],
-    [ 0x24, 0x27, 0x2B, 0x32 ],
-    [ 0x24, 0x32, 0x32, 0x32 ],
-    [ 0x24, 0x24, 0x32, 0x32 ],
-    [ 0x24, 0x24, 0x24, 0x32 ],
-    [ 0x24, 0x2A, 0x2F, 0x35 ],
-    [ 0x24, 0x2C, 0x31, 0x35 ],
-    [ 0x24, 0x28, 0x31, 0x35 ],
-    [ 0x24, 0x28, 0x2D, 0x35 ],
-    [ 0x24, 0x35, 0x35, 0x35 ],
-    [ 0x24, 0x24, 0x35, 0x35 ],
-    [ 0x24, 0x24, 0x24, 0x35 ],
-    [ 0x24, 0x2B, 0x31, 0x38 ],
-    [ 0x24, 0x2E, 0x33, 0x38 ],
-    [ 0x24, 0x29, 0x33, 0x38 ],
-    [ 0x24, 0x29, 0x2E, 0x38 ],
-    [ 0x24, 0x38, 0x38, 0x38 ],
-    [ 0x24, 0x24, 0x38, 0x38 ],
-    [ 0x24, 0x24, 0x24, 0x38 ],
-    [ 0x24, 0x2F, 0x36, 0x3B ],
-    [ 0x24, 0x29, 0x36, 0x3B ],
-    [ 0x24, 0x29, 0x30, 0x3B ],
-    [ 0x24, 0x3B, 0x3B, 0x3B ],
-    [ 0x24, 0x24, 0x3B, 0x3B ],
-    [ 0x24, 0x24, 0x24, 0x3B ],
-    [ 0x24, 0x31, 0x38, 0x3E ],
-    [ 0x24, 0x2A, 0x38, 0x3E ],
-    [ 0x24, 0x2A, 0x31, 0x3E ],
-    [ 0x24, 0x3E, 0x3E, 0x3E ],
-    [ 0x24, 0x24, 0x3E, 0x3E ],
-    [ 0x24, 0x24, 0x24, 0x3E ],
-    [ 0x25, 0x26, 0x26, 0x27 ],
-    [ 0x25, 0x26, 0x27, 0x28 ],
-    [ 0x25, 0x27, 0x28, 0x29 ],
-    [ 0x25, 0x26, 0x28, 0x29 ],
-    [ 0x25, 0x26, 0x27, 0x29 ],
-    [ 0x25, 0x27, 0x28, 0x2A ],
-    [ 0x25, 0x27, 0x29, 0x2A ],
-    [ 0x25, 0x26, 0x29, 0x2A ],
-    [ 0x25, 0x26, 0x28, 0x2A ],
-    [ 0x25, 0x27, 0x29, 0x2B ],
-    [ 0x25, 0x28, 0x2A, 0x2B ],
-    [ 0x25, 0x26, 0x2A, 0x2B ],
-    [ 0x25, 0x26, 0x28, 0x2B ],
-    [ 0x25, 0x2B, 0x2B, 0x2B ],
-    [ 0x25, 0x25, 0x2B, 0x2B ],
-    [ 0x25, 0x25, 0x25, 0x2B ],
-    [ 0x25, 0x28, 0x29, 0x2C ],
-    [ 0x25, 0x28, 0x2B, 0x2C ],
-    [ 0x25, 0x26, 0x2B, 0x2C ],
-    [ 0x25, 0x26, 0x29, 0x2C ],
-    [ 0x25, 0x28, 0x2A, 0x2D ],
-    [ 0x25, 0x29, 0x2B, 0x2D ],
-    [ 0x25, 0x27, 0x2B, 0x2D ],
-    [ 0x25, 0x27, 0x29, 0x2D ],
-    [ 0x25, 0x2D, 0x2D, 0x2D ],
-    [ 0x25, 0x25, 0x2D, 0x2D ],
-    [ 0x25, 0x25, 0x25, 0x2D ],
-    [ 0x25, 0x29, 0x2C, 0x30 ],
-    [ 0x25, 0x2A, 0x2E, 0x30 ],
-    [ 0x25, 0x27, 0x2E, 0x30 ],
-    [ 0x25, 0x27, 0x2B, 0x30 ],
-    [ 0x25, 0x30, 0x30, 0x30 ],
-    [ 0x25, 0x25, 0x30, 0x30 ],
-    [ 0x25, 0x25, 0x25, 0x30 ],
-    [ 0x25, 0x2A, 0x2E, 0x33 ],
-    [ 0x25, 0x2C, 0x30, 0x33 ],
-    [ 0x25, 0x28, 0x30, 0x33 ],
-    [ 0x25, 0x28, 0x2C, 0x33 ],
-    [ 0x25, 0x33, 0x33, 0x33 ],
-    [ 0x25, 0x25, 0x33, 0x33 ],
-    [ 0x25, 0x25, 0x25, 0x33 ],
-    [ 0x25, 0x2B, 0x30, 0x36 ],
-    [ 0x25, 0x2D, 0x32, 0x36 ],
-    [ 0x25, 0x29, 0x32, 0x36 ],
-    [ 0x25, 0x29, 0x2E, 0x36 ],
-    [ 0x25, 0x36, 0x36, 0x36 ],
-    [ 0x25, 0x25, 0x36, 0x36 ],
-    [ 0x25, 0x25, 0x25, 0x36 ],
-    [ 0x25, 0x2C, 0x32, 0x39 ],
-    [ 0x25, 0x2F, 0x34, 0x39 ],
-    [ 0x25, 0x2A, 0x34, 0x39 ],
-    [ 0x25, 0x2A, 0x2F, 0x39 ],
-    [ 0x25, 0x39, 0x39, 0x39 ],
-    [ 0x25, 0x25, 0x39, 0x39 ],
-    [ 0x25, 0x25, 0x25, 0x39 ],
-    [ 0x25, 0x30, 0x37, 0x3C ],
-    [ 0x25, 0x2A, 0x37, 0x3C ],
-    [ 0x25, 0x2A, 0x31, 0x3C ],
-    [ 0x25, 0x3C, 0x3C, 0x3C ],
-    [ 0x25, 0x25, 0x3C, 0x3C ],
-    [ 0x25, 0x25, 0x25, 0x3C ],
-    [ 0x25, 0x32, 0x39, 0x3F ],
-    [ 0x25, 0x2B, 0x39, 0x3F ],
-    [ 0x25, 0x2B, 0x32, 0x3F ],
-    [ 0x25, 0x3F, 0x3F, 0x3F ],
-    [ 0x25, 0x25, 0x3F, 0x3F ],
-    [ 0x25, 0x25, 0x25, 0x3F ],
-    [ 0x26, 0x27, 0x27, 0x28 ],
-    [ 0x26, 0x27, 0x28, 0x29 ],
-    [ 0x26, 0x28, 0x29, 0x2A ],
-    [ 0x26, 0x27, 0x29, 0x2A ],
-    [ 0x26, 0x27, 0x28, 0x2A ],
-    [ 0x26, 0x28, 0x29, 0x2B ],
-    [ 0x26, 0x28, 0x2A, 0x2B ],
-    [ 0x26, 0x27, 0x2A, 0x2B ],
-    [ 0x26, 0x27, 0x29, 0x2B ],
-    [ 0x26, 0x28, 0x2A, 0x2C ],
-    [ 0x26, 0x29, 0x2B, 0x2C ],
-    [ 0x26, 0x27, 0x2B, 0x2C ],
-    [ 0x26, 0x27, 0x29, 0x2C ],
-    [ 0x26, 0x2C, 0x2C, 0x2C ],
-    [ 0x26, 0x26, 0x2C, 0x2C ],
-    [ 0x26, 0x26, 0x26, 0x2C ],
-    [ 0x26, 0x29, 0x2A, 0x2D ],
-    [ 0x26, 0x29, 0x2C, 0x2D ],
-    [ 0x26, 0x27, 0x2C, 0x2D ],
-    [ 0x26, 0x27, 0x2A, 0x2D ],
-    [ 0x26, 0x29, 0x2B, 0x2E ],
-    [ 0x26, 0x2A, 0x2C, 0x2E ],
-    [ 0x26, 0x28, 0x2C, 0x2E ],
-    [ 0x26, 0x28, 0x2A, 0x2E ],
-    [ 0x26, 0x2E, 0x2E, 0x2E ],
-    [ 0x26, 0x26, 0x2E, 0x2E ],
-    [ 0x26, 0x26, 0x26, 0x2E ],
-    [ 0x26, 0x2A, 0x2D, 0x31 ],
-    [ 0x26, 0x2B, 0x2F, 0x31 ],
-    [ 0x26, 0x28, 0x2F, 0x31 ],
-    [ 0x26, 0x28, 0x2C, 0x31 ],
-    [ 0x26, 0x31, 0x31, 0x31 ],
-    [ 0x26, 0x26, 0x31, 0x31 ],
-    [ 0x26, 0x26, 0x26, 0x31 ],
-    [ 0x26, 0x2B, 0x2F, 0x34 ],
-    [ 0x26, 0x2D, 0x31, 0x34 ],
-    [ 0x26, 0x29, 0x31, 0x34 ],
-    [ 0x26, 0x29, 0x2D, 0x34 ],
-    [ 0x26, 0x34, 0x34, 0x34 ],
-    [ 0x26, 0x26, 0x34, 0x34 ],
-    [ 0x26, 0x26, 0x26, 0x34 ],
-    [ 0x26, 0x2C, 0x31, 0x37 ],
-    [ 0x26, 0x2E, 0x33, 0x37 ],
-    [ 0x26, 0x2A, 0x33, 0x37 ],
-    [ 0x26, 0x2A, 0x2F, 0x37 ],
-    [ 0x26, 0x37, 0x37, 0x37 ],
-    [ 0x26, 0x26, 0x37, 0x37 ],
-    [ 0x26, 0x26, 0x26, 0x37 ],
-    [ 0x26, 0x2D, 0x33, 0x3A ],
-    [ 0x26, 0x30, 0x35, 0x3A ],
-    [ 0x26, 0x2B, 0x35, 0x3A ],
-    [ 0x26, 0x2B, 0x30, 0x3A ],
-    [ 0x26, 0x3A, 0x3A, 0x3A ],
-    [ 0x26, 0x26, 0x3A, 0x3A ],
-    [ 0x26, 0x26, 0x26, 0x3A ],
-    [ 0x26, 0x31, 0x38, 0x3D ],
-    [ 0x26, 0x2B, 0x38, 0x3D ],
-    [ 0x26, 0x2B, 0x32, 0x3D ],
-    [ 0x26, 0x3D, 0x3D, 0x3D ],
-    [ 0x26, 0x26, 0x3D, 0x3D ],
-    [ 0x26, 0x26, 0x26, 0x3D ],
-    [ 0x27, 0x28, 0x28, 0x29 ],
-    [ 0x27, 0x28, 0x29, 0x2A ],
-    [ 0x27, 0x29, 0x2A, 0x2B ],
-    [ 0x27, 0x28, 0x2A, 0x2B ],
-    [ 0x27, 0x28, 0x29, 0x2B ],
-    [ 0x27, 0x29, 0x2A, 0x2C ],
-    [ 0x27, 0x29, 0x2B, 0x2C ],
-    [ 0x27, 0x28, 0x2B, 0x2C ],
-    [ 0x27, 0x28, 0x2A, 0x2C ],
-    [ 0x27, 0x29, 0x2B, 0x2D ],
-    [ 0x27, 0x2A, 0x2C, 0x2D ],
-    [ 0x27, 0x28, 0x2C, 0x2D ],
-    [ 0x27, 0x28, 0x2A, 0x2D ],
-    [ 0x27, 0x2D, 0x2D, 0x2D ],
-    [ 0x27, 0x27, 0x2D, 0x2D ],
-    [ 0x27, 0x27, 0x27, 0x2D ],
-    [ 0x27, 0x2A, 0x2B, 0x2E ],
-    [ 0x27, 0x2A, 0x2D, 0x2E ],
-    [ 0x27, 0x28, 0x2D, 0x2E ],
-    [ 0x27, 0x28, 0x2B, 0x2E ],
-    [ 0x27, 0x2A, 0x2C, 0x2F ],
-    [ 0x27, 0x2B, 0x2D, 0x2F ],
-    [ 0x27, 0x29, 0x2D, 0x2F ],
-    [ 0x27, 0x29, 0x2B, 0x2F ],
-    [ 0x27, 0x2F, 0x2F, 0x2F ],
-    [ 0x27, 0x27, 0x2F, 0x2F ],
-    [ 0x27, 0x27, 0x27, 0x2F ],
-    [ 0x27, 0x2B, 0x2E, 0x32 ],
-    [ 0x27, 0x2C, 0x30, 0x32 ],
-    [ 0x27, 0x29, 0x30, 0x32 ],
-    [ 0x27, 0x29, 0x2D, 0x32 ],
-    [ 0x27, 0x32, 0x32, 0x32 ],
-    [ 0x27, 0x27, 0x32, 0x32 ],
-    [ 0x27, 0x27, 0x27, 0x32 ],
-    [ 0x27, 0x2C, 0x30, 0x35 ],
-    [ 0x27, 0x2E, 0x32, 0x35 ],
-    [ 0x27, 0x2A, 0x32, 0x35 ],
-    [ 0x27, 0x2A, 0x2E, 0x35 ],
-    [ 0x27, 0x35, 0x35, 0x35 ],
-    [ 0x27, 0x27, 0x35, 0x35 ],
-    [ 0x27, 0x27, 0x27, 0x35 ],
-    [ 0x27, 0x2D, 0x32, 0x38 ],
-    [ 0x27, 0x2F, 0x34, 0x38 ],
-    [ 0x27, 0x2B, 0x34, 0x38 ],
-    [ 0x27, 0x2B, 0x30, 0x38 ],
-    [ 0x27, 0x38, 0x38, 0x38 ],
-    [ 0x27, 0x27, 0x38, 0x38 ],
-    [ 0x27, 0x27, 0x27, 0x38 ],
-    [ 0x27, 0x2E, 0x34, 0x3B ],
-    [ 0x27, 0x31, 0x36, 0x3B ],
-    [ 0x27, 0x2C, 0x36, 0x3B ],
-    [ 0x27, 0x2C, 0x31, 0x3B ],
-    [ 0x27, 0x3B, 0x3B, 0x3B ],
-    [ 0x27, 0x27, 0x3B, 0x3B ],
-    [ 0x27, 0x27, 0x27, 0x3B ],
-    [ 0x27, 0x32, 0x39, 0x3E ],
-    [ 0x27, 0x2C, 0x39, 0x3E ],
-    [ 0x27, 0x2C, 0x33, 0x3E ],
-    [ 0x27, 0x3E, 0x3E, 0x3E ],
-    [ 0x27, 0x27, 0x3E, 0x3E ],
-    [ 0x27, 0x27, 0x27, 0x3E ],
-    [ 0x28, 0x29, 0x29, 0x2A ],
-    [ 0x28, 0x29, 0x2A, 0x2B ],
-    [ 0x28, 0x2A, 0x2B, 0x2C ],
-    [ 0x28, 0x29, 0x2B, 0x2C ],
-    [ 0x28, 0x29, 0x2A, 0x2C ],
-    [ 0x28, 0x2A, 0x2B, 0x2D ],
-    [ 0x28, 0x2A, 0x2C, 0x2D ],
-    [ 0x28, 0x29, 0x2C, 0x2D ],
-    [ 0x28, 0x29, 0x2B, 0x2D ],
-    [ 0x28, 0x2A, 0x2C, 0x2E ],
-    [ 0x28, 0x2B, 0x2D, 0x2E ],
-    [ 0x28, 0x29, 0x2D, 0x2E ],
-    [ 0x28, 0x29, 0x2B, 0x2E ],
-    [ 0x28, 0x2E, 0x2E, 0x2E ],
-    [ 0x28, 0x28, 0x2E, 0x2E ],
-    [ 0x28, 0x28, 0x28, 0x2E ],
-    [ 0x28, 0x2B, 0x2C, 0x2F ],
-    [ 0x28, 0x2B, 0x2E, 0x2F ],
-    [ 0x28, 0x29, 0x2E, 0x2F ],
-    [ 0x28, 0x29, 0x2C, 0x2F ],
-    [ 0x28, 0x2B, 0x2D, 0x30 ],
-    [ 0x28, 0x2C, 0x2E, 0x30 ],
-    [ 0x28, 0x2A, 0x2E, 0x30 ],
-    [ 0x28, 0x2A, 0x2C, 0x30 ],
-    [ 0x28, 0x30, 0x30, 0x30 ],
-    [ 0x28, 0x28, 0x30, 0x30 ],
-    [ 0x28, 0x28, 0x28, 0x30 ],
-    [ 0x28, 0x2C, 0x2F, 0x33 ],
-    [ 0x28, 0x2D, 0x31, 0x33 ],
-    [ 0x28, 0x2A, 0x31, 0x33 ],
-    [ 0x28, 0x2A, 0x2E, 0x33 ],
-    [ 0x28, 0x33, 0x33, 0x33 ],
-    [ 0x28, 0x28, 0x33, 0x33 ],
-    [ 0x28, 0x28, 0x28, 0x33 ],
-    [ 0x28, 0x2D, 0x31, 0x36 ],
-    [ 0x28, 0x2F, 0x33, 0x36 ],
-    [ 0x28, 0x2B, 0x33, 0x36 ],
-    [ 0x28, 0x2B, 0x2F, 0x36 ],
-    [ 0x28, 0x36, 0x36, 0x36 ],
-    [ 0x28, 0x28, 0x36, 0x36 ],
-    [ 0x28, 0x28, 0x28, 0x36 ],
-    [ 0x28, 0x2E, 0x33, 0x39 ],
-    [ 0x28, 0x30, 0x35, 0x39 ],
-    [ 0x28, 0x2C, 0x35, 0x39 ],
-    [ 0x28, 0x2C, 0x31, 0x39 ],
-    [ 0x28, 0x39, 0x39, 0x39 ],
-    [ 0x28, 0x28, 0x39, 0x39 ],
-    [ 0x28, 0x28, 0x28, 0x39 ],
-    [ 0x28, 0x2F, 0x35, 0x3C ],
-    [ 0x28, 0x32, 0x37, 0x3C ],
-    [ 0x28, 0x2D, 0x37, 0x3C ],
-    [ 0x28, 0x2D, 0x32, 0x3C ],
-    [ 0x28, 0x3C, 0x3C, 0x3C ],
-    [ 0x28, 0x28, 0x3C, 0x3C ],
-    [ 0x28, 0x28, 0x28, 0x3C ],
-    [ 0x28, 0x33, 0x3A, 0x3F ],
-    [ 0x28, 0x2D, 0x3A, 0x3F ],
-    [ 0x28, 0x2D, 0x34, 0x3F ],
-    [ 0x28, 0x3F, 0x3F, 0x3F ],
-    [ 0x28, 0x28, 0x3F, 0x3F ],
-    [ 0x28, 0x28, 0x28, 0x3F ],
-    [ 0x29, 0x2A, 0x2A, 0x2B ],
-    [ 0x29, 0x2A, 0x2B, 0x2C ],
-    [ 0x29, 0x2B, 0x2C, 0x2D ],
-    [ 0x29, 0x2A, 0x2C, 0x2D ],
-    [ 0x29, 0x2A, 0x2B, 0x2D ],
-    [ 0x29, 0x2B, 0x2C, 0x2E ],
-    [ 0x29, 0x2B, 0x2D, 0x2E ],
-    [ 0x29, 0x2A, 0x2D, 0x2E ],
-    [ 0x29, 0x2A, 0x2C, 0x2E ],
-    [ 0x29, 0x2B, 0x2D, 0x2F ],
-    [ 0x29, 0x2C, 0x2E, 0x2F ],
-    [ 0x29, 0x2A, 0x2E, 0x2F ],
-    [ 0x29, 0x2A, 0x2C, 0x2F ],
-    [ 0x29, 0x2F, 0x2F, 0x2F ],
-    [ 0x29, 0x29, 0x2F, 0x2F ],
-    [ 0x29, 0x29, 0x29, 0x2F ],
-    [ 0x29, 0x2C, 0x2D, 0x30 ],
-    [ 0x29, 0x2C, 0x2F, 0x30 ],
-    [ 0x29, 0x2A, 0x2F, 0x30 ],
-    [ 0x29, 0x2A, 0x2D, 0x30 ],
-    [ 0x29, 0x2C, 0x2E, 0x31 ],
-    [ 0x29, 0x2D, 0x2F, 0x31 ],
-    [ 0x29, 0x2B, 0x2F, 0x31 ],
-    [ 0x29, 0x2B, 0x2D, 0x31 ],
-    [ 0x29, 0x31, 0x31, 0x31 ],
-    [ 0x29, 0x29, 0x31, 0x31 ],
-    [ 0x29, 0x29, 0x29, 0x31 ],
-    [ 0x29, 0x2D, 0x30, 0x34 ],
-    [ 0x29, 0x2E, 0x32, 0x34 ],
-    [ 0x29, 0x2B, 0x32, 0x34 ],
-    [ 0x29, 0x2B, 0x2F, 0x34 ],
-    [ 0x29, 0x34, 0x34, 0x34 ],
-    [ 0x29, 0x29, 0x34, 0x34 ],
-    [ 0x29, 0x29, 0x29, 0x34 ],
-    [ 0x29, 0x2E, 0x32, 0x37 ],
-    [ 0x29, 0x30, 0x34, 0x37 ],
-    [ 0x29, 0x2C, 0x34, 0x37 ],
-    [ 0x29, 0x2C, 0x30, 0x37 ],
-    [ 0x29, 0x37, 0x37, 0x37 ],
-    [ 0x29, 0x29, 0x37, 0x37 ],
-    [ 0x29, 0x29, 0x29, 0x37 ],
-    [ 0x29, 0x2F, 0x34, 0x3A ],
-    [ 0x29, 0x31, 0x36, 0x3A ],
-    [ 0x29, 0x2D, 0x36, 0x3A ],
-    [ 0x29, 0x2D, 0x32, 0x3A ],
-    [ 0x29, 0x3A, 0x3A, 0x3A ],
-    [ 0x29, 0x29, 0x3A, 0x3A ],
-    [ 0x29, 0x29, 0x29, 0x3A ],
-    [ 0x29, 0x30, 0x36, 0x3D ],
-    [ 0x29, 0x33, 0x38, 0x3D ],
-    [ 0x29, 0x2E, 0x38, 0x3D ],
-    [ 0x29, 0x2E, 0x33, 0x3D ],
-    [ 0x29, 0x3D, 0x3D, 0x3D ],
-    [ 0x29, 0x29, 0x3D, 0x3D ],
-    [ 0x29, 0x29, 0x29, 0x3D ],
-    [ 0x2A, 0x2B, 0x2B, 0x2C ],
-    [ 0x2A, 0x2B, 0x2C, 0x2D ],
-    [ 0x2A, 0x2C, 0x2D, 0x2E ],
-    [ 0x2A, 0x2B, 0x2D, 0x2E ],
-    [ 0x2A, 0x2B, 0x2C, 0x2E ],
-    [ 0x2A, 0x2C, 0x2D, 0x2F ],
-    [ 0x2A, 0x2C, 0x2E, 0x2F ],
-    [ 0x2A, 0x2B, 0x2E, 0x2F ],
-    [ 0x2A, 0x2B, 0x2D, 0x2F ],
-    [ 0x2A, 0x2C, 0x2E, 0x30 ],
-    [ 0x2A, 0x2D, 0x2F, 0x30 ],
-    [ 0x2A, 0x2B, 0x2F, 0x30 ],
-    [ 0x2A, 0x2B, 0x2D, 0x30 ],
-    [ 0x2A, 0x30, 0x30, 0x30 ],
-    [ 0x2A, 0x2A, 0x30, 0x30 ],
-    [ 0x2A, 0x2A, 0x2A, 0x30 ],
-    [ 0x2A, 0x2D, 0x2E, 0x31 ],
-    [ 0x2A, 0x2D, 0x30, 0x31 ],
-    [ 0x2A, 0x2B, 0x30, 0x31 ],
-    [ 0x2A, 0x2B, 0x2E, 0x31 ],
-    [ 0x2A, 0x2D, 0x2F, 0x32 ],
-    [ 0x2A, 0x2E, 0x30, 0x32 ],
-    [ 0x2A, 0x2C, 0x30, 0x32 ],
-    [ 0x2A, 0x2C, 0x2E, 0x32 ],
-    [ 0x2A, 0x32, 0x32, 0x32 ],
-    [ 0x2A, 0x2A, 0x32, 0x32 ],
-    [ 0x2A, 0x2A, 0x2A, 0x32 ],
-    [ 0x2A, 0x2E, 0x31, 0x35 ],
-    [ 0x2A, 0x2F, 0x33, 0x35 ],
-    [ 0x2A, 0x2C, 0x33, 0x35 ],
-    [ 0x2A, 0x2C, 0x30, 0x35 ],
-    [ 0x2A, 0x35, 0x35, 0x35 ],
-    [ 0x2A, 0x2A, 0x35, 0x35 ],
-    [ 0x2A, 0x2A, 0x2A, 0x35 ],
-    [ 0x2A, 0x2F, 0x33, 0x38 ],
-    [ 0x2A, 0x31, 0x35, 0x38 ],
-    [ 0x2A, 0x2D, 0x35, 0x38 ],
-    [ 0x2A, 0x2D, 0x31, 0x38 ],
-    [ 0x2A, 0x38, 0x38, 0x38 ],
-    [ 0x2A, 0x2A, 0x38, 0x38 ],
-    [ 0x2A, 0x2A, 0x2A, 0x38 ],
-    [ 0x2A, 0x30, 0x35, 0x3B ],
-    [ 0x2A, 0x32, 0x37, 0x3B ],
-    [ 0x2A, 0x2E, 0x37, 0x3B ],
-    [ 0x2A, 0x2E, 0x33, 0x3B ],
-    [ 0x2A, 0x3B, 0x3B, 0x3B ],
-    [ 0x2A, 0x2A, 0x3B, 0x3B ],
-    [ 0x2A, 0x2A, 0x2A, 0x3B ],
-    [ 0x2A, 0x31, 0x37, 0x3E ],
-    [ 0x2A, 0x34, 0x39, 0x3E ],
-    [ 0x2A, 0x2F, 0x39, 0x3E ],
-    [ 0x2A, 0x2F, 0x34, 0x3E ],
-    [ 0x2A, 0x3E, 0x3E, 0x3E ],
-    [ 0x2A, 0x2A, 0x3E, 0x3E ],
-    [ 0x2A, 0x2A, 0x2A, 0x3E ],
-    [ 0x2B, 0x2C, 0x2C, 0x2D ],
-    [ 0x2B, 0x2C, 0x2D, 0x2E ],
-    [ 0x2B, 0x2D, 0x2E, 0x2F ],
-    [ 0x2B, 0x2C, 0x2E, 0x2F ],
-    [ 0x2B, 0x2C, 0x2D, 0x2F ],
-    [ 0x2B, 0x2D, 0x2E, 0x30 ],
-    [ 0x2B, 0x2D, 0x2F, 0x30 ],
-    [ 0x2B, 0x2C, 0x2F, 0x30 ],
-    [ 0x2B, 0x2C, 0x2E, 0x30 ],
-    [ 0x2B, 0x2D, 0x2F, 0x31 ],
-    [ 0x2B, 0x2E, 0x30, 0x31 ],
-    [ 0x2B, 0x2C, 0x30, 0x31 ],
-    [ 0x2B, 0x2C, 0x2E, 0x31 ],
-    [ 0x2B, 0x31, 0x31, 0x31 ],
-    [ 0x2B, 0x2B, 0x31, 0x31 ],
-    [ 0x2B, 0x2B, 0x2B, 0x31 ],
-    [ 0x2B, 0x2E, 0x2F, 0x32 ],
-    [ 0x2B, 0x2E, 0x31, 0x32 ],
-    [ 0x2B, 0x2C, 0x31, 0x32 ],
-    [ 0x2B, 0x2C, 0x2F, 0x32 ],
-    [ 0x2B, 0x2E, 0x30, 0x33 ],
-    [ 0x2B, 0x2F, 0x31, 0x33 ],
-    [ 0x2B, 0x2D, 0x31, 0x33 ],
-    [ 0x2B, 0x2D, 0x2F, 0x33 ],
-    [ 0x2B, 0x33, 0x33, 0x33 ],
-    [ 0x2B, 0x2B, 0x33, 0x33 ],
-    [ 0x2B, 0x2B, 0x2B, 0x33 ],
-    [ 0x2B, 0x2F, 0x32, 0x36 ],
-    [ 0x2B, 0x30, 0x34, 0x36 ],
-    [ 0x2B, 0x2D, 0x34, 0x36 ],
-    [ 0x2B, 0x2D, 0x31, 0x36 ],
-    [ 0x2B, 0x36, 0x36, 0x36 ],
-    [ 0x2B, 0x2B, 0x36, 0x36 ],
-    [ 0x2B, 0x2B, 0x2B, 0x36 ],
-    [ 0x2B, 0x30, 0x34, 0x39 ],
-    [ 0x2B, 0x32, 0x36, 0x39 ],
-    [ 0x2B, 0x2E, 0x36, 0x39 ],
-    [ 0x2B, 0x2E, 0x32, 0x39 ],
-    [ 0x2B, 0x39, 0x39, 0x39 ],
-    [ 0x2B, 0x2B, 0x39, 0x39 ],
-    [ 0x2B, 0x2B, 0x2B, 0x39 ],
-    [ 0x2B, 0x31, 0x36, 0x3C ],
-    [ 0x2B, 0x33, 0x38, 0x3C ],
-    [ 0x2B, 0x2F, 0x38, 0x3C ],
-    [ 0x2B, 0x2F, 0x34, 0x3C ],
-    [ 0x2B, 0x3C, 0x3C, 0x3C ],
-    [ 0x2B, 0x2B, 0x3C, 0x3C ],
-    [ 0x2B, 0x2B, 0x2B, 0x3C ],
-    [ 0x2B, 0x32, 0x38, 0x3F ],
-    [ 0x2B, 0x35, 0x3A, 0x3F ],
-    [ 0x2B, 0x30, 0x3A, 0x3F ],
-    [ 0x2B, 0x30, 0x35, 0x3F ],
-    [ 0x2B, 0x3F, 0x3F, 0x3F ],
-    [ 0x2B, 0x2B, 0x3F, 0x3F ],
-    [ 0x2B, 0x2B, 0x2B, 0x3F ],
-    [ 0x2C, 0x2D, 0x2D, 0x2E ],
-    [ 0x2C, 0x2D, 0x2E, 0x2F ],
-    [ 0x2C, 0x2E, 0x2F, 0x30 ],
-    [ 0x2C, 0x2D, 0x2F, 0x30 ],
-    [ 0x2C, 0x2D, 0x2E, 0x30 ],
-    [ 0x2C, 0x2E, 0x2F, 0x31 ],
-    [ 0x2C, 0x2E, 0x30, 0x31 ],
-    [ 0x2C, 0x2D, 0x30, 0x31 ],
-    [ 0x2C, 0x2D, 0x2F, 0x31 ],
-    [ 0x2C, 0x2E, 0x30, 0x32 ],
-    [ 0x2C, 0x2F, 0x31, 0x32 ],
-    [ 0x2C, 0x2D, 0x31, 0x32 ],
-    [ 0x2C, 0x2D, 0x2F, 0x32 ],
-    [ 0x2C, 0x32, 0x32, 0x32 ],
-    [ 0x2C, 0x2C, 0x32, 0x32 ],
-    [ 0x2C, 0x2C, 0x2C, 0x32 ],
-    [ 0x2C, 0x2F, 0x30, 0x33 ],
-    [ 0x2C, 0x2F, 0x32, 0x33 ],
-    [ 0x2C, 0x2D, 0x32, 0x33 ],
-    [ 0x2C, 0x2D, 0x30, 0x33 ],
-    [ 0x2C, 0x2F, 0x31, 0x34 ],
-    [ 0x2C, 0x30, 0x32, 0x34 ],
-    [ 0x2C, 0x2E, 0x32, 0x34 ],
-    [ 0x2C, 0x2E, 0x30, 0x34 ],
-    [ 0x2C, 0x34, 0x34, 0x34 ],
-    [ 0x2C, 0x2C, 0x34, 0x34 ],
-    [ 0x2C, 0x2C, 0x2C, 0x34 ],
-    [ 0x2C, 0x30, 0x33, 0x37 ],
-    [ 0x2C, 0x31, 0x35, 0x37 ],
-    [ 0x2C, 0x2E, 0x35, 0x37 ],
-    [ 0x2C, 0x2E, 0x32, 0x37 ],
-    [ 0x2C, 0x37, 0x37, 0x37 ],
-    [ 0x2C, 0x2C, 0x37, 0x37 ],
-    [ 0x2C, 0x2C, 0x2C, 0x37 ],
-    [ 0x2C, 0x31, 0x35, 0x3A ],
-    [ 0x2C, 0x33, 0x37, 0x3A ],
-    [ 0x2C, 0x2F, 0x37, 0x3A ],
-    [ 0x2C, 0x2F, 0x33, 0x3A ],
-    [ 0x2C, 0x3A, 0x3A, 0x3A ],
-    [ 0x2C, 0x2C, 0x3A, 0x3A ],
-    [ 0x2C, 0x2C, 0x2C, 0x3A ],
-    [ 0x2C, 0x32, 0x37, 0x3D ],
-    [ 0x2C, 0x34, 0x39, 0x3D ],
-    [ 0x2C, 0x30, 0x39, 0x3D ],
-    [ 0x2C, 0x30, 0x35, 0x3D ],
-    [ 0x2C, 0x3D, 0x3D, 0x3D ],
-    [ 0x2C, 0x2C, 0x3D, 0x3D ],
-    [ 0x2C, 0x2C, 0x2C, 0x3D ],
-    [ 0x2D, 0x2E, 0x2E, 0x2F ],
-    [ 0x2D, 0x2E, 0x2F, 0x30 ],
-    [ 0x2D, 0x2F, 0x30, 0x31 ],
-    [ 0x2D, 0x2E, 0x30, 0x31 ],
-    [ 0x2D, 0x2E, 0x2F, 0x31 ],
-    [ 0x2D, 0x2F, 0x30, 0x32 ],
-    [ 0x2D, 0x2F, 0x31, 0x32 ],
-    [ 0x2D, 0x2E, 0x31, 0x32 ],
-    [ 0x2D, 0x2E, 0x30, 0x32 ],
-    [ 0x2D, 0x2F, 0x31, 0x33 ],
-    [ 0x2D, 0x30, 0x32, 0x33 ],
-    [ 0x2D, 0x2E, 0x32, 0x33 ],
-    [ 0x2D, 0x2E, 0x30, 0x33 ],
-    [ 0x2D, 0x33, 0x33, 0x33 ],
-    [ 0x2D, 0x2D, 0x33, 0x33 ],
-    [ 0x2D, 0x2D, 0x2D, 0x33 ],
-    [ 0x2D, 0x30, 0x31, 0x34 ],
-    [ 0x2D, 0x30, 0x33, 0x34 ],
-    [ 0x2D, 0x2E, 0x33, 0x34 ],
-    [ 0x2D, 0x2E, 0x31, 0x34 ],
-    [ 0x2D, 0x30, 0x32, 0x35 ],
-    [ 0x2D, 0x31, 0x33, 0x35 ],
-    [ 0x2D, 0x2F, 0x33, 0x35 ],
-    [ 0x2D, 0x2F, 0x31, 0x35 ],
-    [ 0x2D, 0x35, 0x35, 0x35 ],
-    [ 0x2D, 0x2D, 0x35, 0x35 ],
-    [ 0x2D, 0x2D, 0x2D, 0x35 ],
-    [ 0x2D, 0x31, 0x34, 0x38 ],
-    [ 0x2D, 0x32, 0x36, 0x38 ],
-    [ 0x2D, 0x2F, 0x36, 0x38 ],
-    [ 0x2D, 0x2F, 0x33, 0x38 ],
-    [ 0x2D, 0x38, 0x38, 0x38 ],
-    [ 0x2D, 0x2D, 0x38, 0x38 ],
-    [ 0x2D, 0x2D, 0x2D, 0x38 ],
-    [ 0x2D, 0x32, 0x36, 0x3B ],
-    [ 0x2D, 0x34, 0x38, 0x3B ],
-    [ 0x2D, 0x30, 0x38, 0x3B ],
-    [ 0x2D, 0x30, 0x34, 0x3B ],
-    [ 0x2D, 0x3B, 0x3B, 0x3B ],
-    [ 0x2D, 0x2D, 0x3B, 0x3B ],
-    [ 0x2D, 0x2D, 0x2D, 0x3B ],
-    [ 0x2D, 0x33, 0x38, 0x3E ],
-    [ 0x2D, 0x35, 0x3A, 0x3E ],
-    [ 0x2D, 0x31, 0x3A, 0x3E ],
-    [ 0x2D, 0x31, 0x36, 0x3E ],
-    [ 0x2D, 0x3E, 0x3E, 0x3E ],
-    [ 0x2D, 0x2D, 0x3E, 0x3E ],
-    [ 0x2D, 0x2D, 0x2D, 0x3E ],
-    [ 0x2E, 0x2F, 0x2F, 0x30 ],
-    [ 0x2E, 0x2F, 0x30, 0x31 ],
-    [ 0x2E, 0x30, 0x31, 0x32 ],
-    [ 0x2E, 0x2F, 0x31, 0x32 ],
-    [ 0x2E, 0x2F, 0x30, 0x32 ],
-    [ 0x2E, 0x30, 0x31, 0x33 ],
-    [ 0x2E, 0x30, 0x32, 0x33 ],
-    [ 0x2E, 0x2F, 0x32, 0x33 ],
-    [ 0x2E, 0x2F, 0x31, 0x33 ],
-    [ 0x2E, 0x30, 0x32, 0x34 ],
-    [ 0x2E, 0x31, 0x33, 0x34 ],
-    [ 0x2E, 0x2F, 0x33, 0x34 ],
-    [ 0x2E, 0x2F, 0x31, 0x34 ],
-    [ 0x2E, 0x34, 0x34, 0x34 ],
-    [ 0x2E, 0x2E, 0x34, 0x34 ],
-    [ 0x2E, 0x2E, 0x2E, 0x34 ],
-    [ 0x2E, 0x31, 0x32, 0x35 ],
-    [ 0x2E, 0x31, 0x34, 0x35 ],
-    [ 0x2E, 0x2F, 0x34, 0x35 ],
-    [ 0x2E, 0x2F, 0x32, 0x35 ],
-    [ 0x2E, 0x31, 0x33, 0x36 ],
-    [ 0x2E, 0x32, 0x34, 0x36 ],
-    [ 0x2E, 0x30, 0x34, 0x36 ],
-    [ 0x2E, 0x30, 0x32, 0x36 ],
-    [ 0x2E, 0x36, 0x36, 0x36 ],
-    [ 0x2E, 0x2E, 0x36, 0x36 ],
-    [ 0x2E, 0x2E, 0x2E, 0x36 ],
-    [ 0x2E, 0x32, 0x35, 0x39 ],
-    [ 0x2E, 0x33, 0x37, 0x39 ],
-    [ 0x2E, 0x30, 0x37, 0x39 ],
-    [ 0x2E, 0x30, 0x34, 0x39 ],
-    [ 0x2E, 0x39, 0x39, 0x39 ],
-    [ 0x2E, 0x2E, 0x39, 0x39 ],
-    [ 0x2E, 0x2E, 0x2E, 0x39 ],
-    [ 0x2E, 0x33, 0x37, 0x3C ],
-    [ 0x2E, 0x35, 0x39, 0x3C ],
-    [ 0x2E, 0x31, 0x39, 0x3C ],
-    [ 0x2E, 0x31, 0x35, 0x3C ],
-    [ 0x2E, 0x3C, 0x3C, 0x3C ],
-    [ 0x2E, 0x2E, 0x3C, 0x3C ],
-    [ 0x2E, 0x2E, 0x2E, 0x3C ],
-    [ 0x2E, 0x34, 0x39, 0x3F ],
-    [ 0x2E, 0x36, 0x3B, 0x3F ],
-    [ 0x2E, 0x32, 0x3B, 0x3F ],
-    [ 0x2E, 0x32, 0x37, 0x3F ],
-    [ 0x2E, 0x3F, 0x3F, 0x3F ],
-    [ 0x2E, 0x2E, 0x3F, 0x3F ],
-    [ 0x2E, 0x2E, 0x2E, 0x3F ],
-    [ 0x2F, 0x30, 0x30, 0x31 ],
-    [ 0x2F, 0x30, 0x31, 0x32 ],
-    [ 0x2F, 0x31, 0x32, 0x33 ],
-    [ 0x2F, 0x30, 0x32, 0x33 ],
-    [ 0x2F, 0x30, 0x31, 0x33 ],
-    [ 0x2F, 0x31, 0x32, 0x34 ],
-    [ 0x2F, 0x31, 0x33, 0x34 ],
-    [ 0x2F, 0x30, 0x33, 0x34 ],
-    [ 0x2F, 0x30, 0x32, 0x34 ],
-    [ 0x2F, 0x31, 0x33, 0x35 ],
-    [ 0x2F, 0x32, 0x34, 0x35 ],
-    [ 0x2F, 0x30, 0x34, 0x35 ],
-    [ 0x2F, 0x30, 0x32, 0x35 ],
-    [ 0x2F, 0x35, 0x35, 0x35 ],
-    [ 0x2F, 0x2F, 0x35, 0x35 ],
-    [ 0x2F, 0x2F, 0x2F, 0x35 ],
-    [ 0x2F, 0x32, 0x33, 0x36 ],
-    [ 0x2F, 0x32, 0x35, 0x36 ],
-    [ 0x2F, 0x30, 0x35, 0x36 ],
-    [ 0x2F, 0x30, 0x33, 0x36 ],
-    [ 0x2F, 0x32, 0x34, 0x37 ],
-    [ 0x2F, 0x33, 0x35, 0x37 ],
-    [ 0x2F, 0x31, 0x35, 0x37 ],
-    [ 0x2F, 0x31, 0x33, 0x37 ],
-    [ 0x2F, 0x37, 0x37, 0x37 ],
-    [ 0x2F, 0x2F, 0x37, 0x37 ],
-    [ 0x2F, 0x2F, 0x2F, 0x37 ],
-    [ 0x2F, 0x33, 0x36, 0x3A ],
-    [ 0x2F, 0x34, 0x38, 0x3A ],
-    [ 0x2F, 0x31, 0x38, 0x3A ],
-    [ 0x2F, 0x31, 0x35, 0x3A ],
-    [ 0x2F, 0x3A, 0x3A, 0x3A ],
-    [ 0x2F, 0x2F, 0x3A, 0x3A ],
-    [ 0x2F, 0x2F, 0x2F, 0x3A ],
-    [ 0x2F, 0x34, 0x38, 0x3D ],
-    [ 0x2F, 0x36, 0x3A, 0x3D ],
-    [ 0x2F, 0x32, 0x3A, 0x3D ],
-    [ 0x2F, 0x32, 0x36, 0x3D ],
-    [ 0x2F, 0x3D, 0x3D, 0x3D ],
-    [ 0x2F, 0x2F, 0x3D, 0x3D ],
-    [ 0x2F, 0x2F, 0x2F, 0x3D ],
-    [ 0x30, 0x31, 0x31, 0x32 ],
-    [ 0x30, 0x31, 0x32, 0x33 ],
-    [ 0x30, 0x32, 0x33, 0x34 ],
-    [ 0x30, 0x31, 0x33, 0x34 ],
-    [ 0x30, 0x31, 0x32, 0x34 ],
-    [ 0x30, 0x32, 0x33, 0x35 ],
-    [ 0x30, 0x32, 0x34, 0x35 ],
-    [ 0x30, 0x31, 0x34, 0x35 ],
-    [ 0x30, 0x31, 0x33, 0x35 ],
-    [ 0x30, 0x32, 0x34, 0x36 ],
-    [ 0x30, 0x33, 0x35, 0x36 ],
-    [ 0x30, 0x31, 0x35, 0x36 ],
-    [ 0x30, 0x31, 0x33, 0x36 ],
-    [ 0x30, 0x36, 0x36, 0x36 ],
-    [ 0x30, 0x30, 0x36, 0x36 ],
-    [ 0x30, 0x30, 0x30, 0x36 ],
-    [ 0x30, 0x33, 0x34, 0x37 ],
-    [ 0x30, 0x33, 0x36, 0x37 ],
-    [ 0x30, 0x31, 0x36, 0x37 ],
-    [ 0x30, 0x31, 0x34, 0x37 ],
-    [ 0x30, 0x33, 0x35, 0x38 ],
-    [ 0x30, 0x34, 0x36, 0x38 ],
-    [ 0x30, 0x32, 0x36, 0x38 ],
-    [ 0x30, 0x32, 0x34, 0x38 ],
-    [ 0x30, 0x38, 0x38, 0x38 ],
-    [ 0x30, 0x30, 0x38, 0x38 ],
-    [ 0x30, 0x30, 0x30, 0x38 ],
-    [ 0x30, 0x34, 0x37, 0x3B ],
-    [ 0x30, 0x35, 0x39, 0x3B ],
-    [ 0x30, 0x32, 0x39, 0x3B ],
-    [ 0x30, 0x32, 0x36, 0x3B ],
-    [ 0x30, 0x3B, 0x3B, 0x3B ],
-    [ 0x30, 0x30, 0x3B, 0x3B ],
-    [ 0x30, 0x30, 0x30, 0x3B ],
-    [ 0x30, 0x35, 0x39, 0x3E ],
-    [ 0x30, 0x37, 0x3B, 0x3E ],
-    [ 0x30, 0x33, 0x3B, 0x3E ],
-    [ 0x30, 0x33, 0x37, 0x3E ],
-    [ 0x30, 0x3E, 0x3E, 0x3E ],
-    [ 0x30, 0x30, 0x3E, 0x3E ],
-    [ 0x30, 0x30, 0x30, 0x3E ],
-    [ 0x31, 0x32, 0x32, 0x33 ],
-    [ 0x31, 0x32, 0x33, 0x34 ],
-    [ 0x31, 0x33, 0x34, 0x35 ],
-    [ 0x31, 0x32, 0x34, 0x35 ],
-    [ 0x31, 0x32, 0x33, 0x35 ],
-    [ 0x31, 0x33, 0x34, 0x36 ],
-    [ 0x31, 0x33, 0x35, 0x36 ],
-    [ 0x31, 0x32, 0x35, 0x36 ],
-    [ 0x31, 0x32, 0x34, 0x36 ],
-    [ 0x31, 0x33, 0x35, 0x37 ],
-    [ 0x31, 0x34, 0x36, 0x37 ],
-    [ 0x31, 0x32, 0x36, 0x37 ],
-    [ 0x31, 0x32, 0x34, 0x37 ],
-    [ 0x31, 0x37, 0x37, 0x37 ],
-    [ 0x31, 0x31, 0x37, 0x37 ],
-    [ 0x31, 0x31, 0x31, 0x37 ],
-    [ 0x31, 0x34, 0x35, 0x38 ],
-    [ 0x31, 0x34, 0x37, 0x38 ],
-    [ 0x31, 0x32, 0x37, 0x38 ],
-    [ 0x31, 0x32, 0x35, 0x38 ],
-    [ 0x31, 0x34, 0x36, 0x39 ],
-    [ 0x31, 0x35, 0x37, 0x39 ],
-    [ 0x31, 0x33, 0x37, 0x39 ],
-    [ 0x31, 0x33, 0x35, 0x39 ],
-    [ 0x31, 0x39, 0x39, 0x39 ],
-    [ 0x31, 0x31, 0x39, 0x39 ],
-    [ 0x31, 0x31, 0x31, 0x39 ],
-    [ 0x31, 0x35, 0x38, 0x3C ],
-    [ 0x31, 0x36, 0x3A, 0x3C ],
-    [ 0x31, 0x33, 0x3A, 0x3C ],
-    [ 0x31, 0x33, 0x37, 0x3C ],
-    [ 0x31, 0x3C, 0x3C, 0x3C ],
-    [ 0x31, 0x31, 0x3C, 0x3C ],
-    [ 0x31, 0x31, 0x31, 0x3C ],
-    [ 0x31, 0x36, 0x3A, 0x3F ],
-    [ 0x31, 0x38, 0x3C, 0x3F ],
-    [ 0x31, 0x34, 0x3C, 0x3F ],
-    [ 0x31, 0x34, 0x38, 0x3F ],
-    [ 0x31, 0x3F, 0x3F, 0x3F ],
-    [ 0x31, 0x31, 0x3F, 0x3F ],
-    [ 0x31, 0x31, 0x31, 0x3F ],
-    [ 0x32, 0x33, 0x33, 0x34 ],
-    [ 0x32, 0x33, 0x34, 0x35 ],
-    [ 0x32, 0x34, 0x35, 0x36 ],
-    [ 0x32, 0x33, 0x35, 0x36 ],
-    [ 0x32, 0x33, 0x34, 0x36 ],
-    [ 0x32, 0x34, 0x35, 0x37 ],
-    [ 0x32, 0x34, 0x36, 0x37 ],
-    [ 0x32, 0x33, 0x36, 0x37 ],
-    [ 0x32, 0x33, 0x35, 0x37 ],
-    [ 0x32, 0x34, 0x36, 0x38 ],
-    [ 0x32, 0x35, 0x37, 0x38 ],
-    [ 0x32, 0x33, 0x37, 0x38 ],
-    [ 0x32, 0x33, 0x35, 0x38 ],
-    [ 0x32, 0x38, 0x38, 0x38 ],
-    [ 0x32, 0x32, 0x38, 0x38 ],
-    [ 0x32, 0x32, 0x32, 0x38 ],
-    [ 0x32, 0x35, 0x36, 0x39 ],
-    [ 0x32, 0x35, 0x38, 0x39 ],
-    [ 0x32, 0x33, 0x38, 0x39 ],
-    [ 0x32, 0x33, 0x36, 0x39 ],
-    [ 0x32, 0x35, 0x37, 0x3A ],
-    [ 0x32, 0x36, 0x38, 0x3A ],
-    [ 0x32, 0x34, 0x38, 0x3A ],
-    [ 0x32, 0x34, 0x36, 0x3A ],
-    [ 0x32, 0x3A, 0x3A, 0x3A ],
-    [ 0x32, 0x32, 0x3A, 0x3A ],
-    [ 0x32, 0x32, 0x32, 0x3A ],
-    [ 0x32, 0x36, 0x39, 0x3D ],
-    [ 0x32, 0x37, 0x3B, 0x3D ],
-    [ 0x32, 0x34, 0x3B, 0x3D ],
-    [ 0x32, 0x34, 0x38, 0x3D ],
-    [ 0x32, 0x3D, 0x3D, 0x3D ],
-    [ 0x32, 0x32, 0x3D, 0x3D ],
-    [ 0x32, 0x32, 0x32, 0x3D ],
-    [ 0x33, 0x34, 0x34, 0x35 ],
-    [ 0x33, 0x34, 0x35, 0x36 ],
-    [ 0x33, 0x35, 0x36, 0x37 ],
-    [ 0x33, 0x34, 0x36, 0x37 ],
-    [ 0x33, 0x34, 0x35, 0x37 ],
-    [ 0x33, 0x35, 0x36, 0x38 ],
-    [ 0x33, 0x35, 0x37, 0x38 ],
-    [ 0x33, 0x34, 0x37, 0x38 ],
-    [ 0x33, 0x34, 0x36, 0x38 ],
-    [ 0x33, 0x35, 0x37, 0x39 ],
-    [ 0x33, 0x36, 0x38, 0x39 ],
-    [ 0x33, 0x34, 0x38, 0x39 ],
-    [ 0x33, 0x34, 0x36, 0x39 ],
-    [ 0x33, 0x39, 0x39, 0x39 ],
-    [ 0x33, 0x33, 0x39, 0x39 ],
-    [ 0x33, 0x33, 0x33, 0x39 ],
-    [ 0x33, 0x36, 0x37, 0x3A ],
-    [ 0x33, 0x36, 0x39, 0x3A ],
-    [ 0x33, 0x34, 0x39, 0x3A ],
-    [ 0x33, 0x34, 0x37, 0x3A ],
-    [ 0x33, 0x36, 0x38, 0x3B ],
-    [ 0x33, 0x37, 0x39, 0x3B ],
-    [ 0x33, 0x35, 0x39, 0x3B ],
-    [ 0x33, 0x35, 0x37, 0x3B ],
-    [ 0x33, 0x3B, 0x3B, 0x3B ],
-    [ 0x33, 0x33, 0x3B, 0x3B ],
-    [ 0x33, 0x33, 0x33, 0x3B ],
-    [ 0x33, 0x37, 0x3A, 0x3E ],
-    [ 0x33, 0x38, 0x3C, 0x3E ],
-    [ 0x33, 0x35, 0x3C, 0x3E ],
-    [ 0x33, 0x35, 0x39, 0x3E ],
-    [ 0x33, 0x3E, 0x3E, 0x3E ],
-    [ 0x33, 0x33, 0x3E, 0x3E ],
-    [ 0x33, 0x33, 0x33, 0x3E ],
-    [ 0x34, 0x35, 0x35, 0x36 ],
-    [ 0x34, 0x35, 0x36, 0x37 ],
-    [ 0x34, 0x36, 0x37, 0x38 ],
-    [ 0x34, 0x35, 0x37, 0x38 ],
-    [ 0x34, 0x35, 0x36, 0x38 ],
-    [ 0x34, 0x36, 0x37, 0x39 ],
-    [ 0x34, 0x36, 0x38, 0x39 ],
-    [ 0x34, 0x35, 0x38, 0x39 ],
-    [ 0x34, 0x35, 0x37, 0x39 ],
-    [ 0x34, 0x36, 0x38, 0x3A ],
-    [ 0x34, 0x37, 0x39, 0x3A ],
-    [ 0x34, 0x35, 0x39, 0x3A ],
-    [ 0x34, 0x35, 0x37, 0x3A ],
-    [ 0x34, 0x3A, 0x3A, 0x3A ],
-    [ 0x34, 0x34, 0x3A, 0x3A ],
-    [ 0x34, 0x34, 0x34, 0x3A ],
-    [ 0x34, 0x37, 0x38, 0x3B ],
-    [ 0x34, 0x37, 0x3A, 0x3B ],
-    [ 0x34, 0x35, 0x3A, 0x3B ],
-    [ 0x34, 0x35, 0x38, 0x3B ],
-    [ 0x34, 0x37, 0x39, 0x3C ],
-    [ 0x34, 0x38, 0x3A, 0x3C ],
-    [ 0x34, 0x36, 0x3A, 0x3C ],
-    [ 0x34, 0x36, 0x38, 0x3C ],
-    [ 0x34, 0x3C, 0x3C, 0x3C ],
-    [ 0x34, 0x34, 0x3C, 0x3C ],
-    [ 0x34, 0x34, 0x34, 0x3C ],
-    [ 0x34, 0x38, 0x3B, 0x3F ],
-    [ 0x34, 0x39, 0x3D, 0x3F ],
-    [ 0x34, 0x36, 0x3D, 0x3F ],
-    [ 0x34, 0x36, 0x3A, 0x3F ],
-    [ 0x34, 0x3F, 0x3F, 0x3F ],
-    [ 0x34, 0x34, 0x3F, 0x3F ],
-    [ 0x34, 0x34, 0x34, 0x3F ],
-    [ 0x35, 0x36, 0x36, 0x37 ],
-    [ 0x35, 0x36, 0x37, 0x38 ],
-    [ 0x35, 0x37, 0x38, 0x39 ],
-    [ 0x35, 0x36, 0x38, 0x39 ],
-    [ 0x35, 0x36, 0x37, 0x39 ],
-    [ 0x35, 0x37, 0x38, 0x3A ],
-    [ 0x35, 0x37, 0x39, 0x3A ],
-    [ 0x35, 0x36, 0x39, 0x3A ],
-    [ 0x35, 0x36, 0x38, 0x3A ],
-    [ 0x35, 0x37, 0x39, 0x3B ],
-    [ 0x35, 0x38, 0x3A, 0x3B ],
-    [ 0x35, 0x36, 0x3A, 0x3B ],
-    [ 0x35, 0x36, 0x38, 0x3B ],
-    [ 0x35, 0x3B, 0x3B, 0x3B ],
-    [ 0x35, 0x35, 0x3B, 0x3B ],
-    [ 0x35, 0x35, 0x35, 0x3B ],
-    [ 0x35, 0x38, 0x39, 0x3C ],
-    [ 0x35, 0x38, 0x3B, 0x3C ],
-    [ 0x35, 0x36, 0x3B, 0x3C ],
-    [ 0x35, 0x36, 0x39, 0x3C ],
-    [ 0x35, 0x38, 0x3A, 0x3D ],
-    [ 0x35, 0x39, 0x3B, 0x3D ],
-    [ 0x35, 0x37, 0x3B, 0x3D ],
-    [ 0x35, 0x37, 0x39, 0x3D ],
-    [ 0x35, 0x3D, 0x3D, 0x3D ],
-    [ 0x35, 0x35, 0x3D, 0x3D ],
-    [ 0x35, 0x35, 0x35, 0x3D ],
-    [ 0x36, 0x37, 0x37, 0x38 ],
-    [ 0x36, 0x37, 0x38, 0x39 ],
-    [ 0x36, 0x38, 0x39, 0x3A ],
-    [ 0x36, 0x37, 0x39, 0x3A ],
-    [ 0x36, 0x37, 0x38, 0x3A ],
-    [ 0x36, 0x38, 0x39, 0x3B ],
-    [ 0x36, 0x38, 0x3A, 0x3B ],
-    [ 0x36, 0x37, 0x3A, 0x3B ],
-    [ 0x36, 0x37, 0x39, 0x3B ],
-    [ 0x36, 0x38, 0x3A, 0x3C ],
-    [ 0x36, 0x39, 0x3B, 0x3C ],
-    [ 0x36, 0x37, 0x3B, 0x3C ],
-    [ 0x36, 0x37, 0x39, 0x3C ],
-    [ 0x36, 0x3C, 0x3C, 0x3C ],
-    [ 0x36, 0x36, 0x3C, 0x3C ],
-    [ 0x36, 0x36, 0x36, 0x3C ],
-    [ 0x36, 0x39, 0x3A, 0x3D ],
-    [ 0x36, 0x39, 0x3C, 0x3D ],
-    [ 0x36, 0x37, 0x3C, 0x3D ],
-    [ 0x36, 0x37, 0x3A, 0x3D ],
-    [ 0x36, 0x39, 0x3B, 0x3E ],
-    [ 0x36, 0x3A, 0x3C, 0x3E ],
-    [ 0x36, 0x38, 0x3C, 0x3E ],
-    [ 0x36, 0x38, 0x3A, 0x3E ],
-    [ 0x36, 0x3E, 0x3E, 0x3E ],
-    [ 0x36, 0x36, 0x3E, 0x3E ],
-    [ 0x36, 0x36, 0x36, 0x3E ],
-    [ 0x37, 0x38, 0x38, 0x39 ],
-    [ 0x37, 0x38, 0x39, 0x3A ],
-    [ 0x37, 0x39, 0x3A, 0x3B ],
-    [ 0x37, 0x38, 0x3A, 0x3B ],
-    [ 0x37, 0x38, 0x39, 0x3B ],
-    [ 0x37, 0x39, 0x3A, 0x3C ],
-    [ 0x37, 0x39, 0x3B, 0x3C ],
-    [ 0x37, 0x38, 0x3B, 0x3C ],
-    [ 0x37, 0x38, 0x3A, 0x3C ],
-    [ 0x37, 0x39, 0x3B, 0x3D ],
-    [ 0x37, 0x3A, 0x3C, 0x3D ],
-    [ 0x37, 0x38, 0x3C, 0x3D ],
-    [ 0x37, 0x38, 0x3A, 0x3D ],
-    [ 0x37, 0x3D, 0x3D, 0x3D ],
-    [ 0x37, 0x37, 0x3D, 0x3D ],
-    [ 0x37, 0x37, 0x37, 0x3D ],
-    [ 0x37, 0x3A, 0x3B, 0x3E ],
-    [ 0x37, 0x3A, 0x3D, 0x3E ],
-    [ 0x37, 0x38, 0x3D, 0x3E ],
-    [ 0x37, 0x38, 0x3B, 0x3E ],
-    [ 0x37, 0x3A, 0x3C, 0x3F ],
-    [ 0x37, 0x3B, 0x3D, 0x3F ],
-    [ 0x37, 0x39, 0x3D, 0x3F ],
-    [ 0x37, 0x39, 0x3B, 0x3F ],
-    [ 0x37, 0x3F, 0x3F, 0x3F ],
-    [ 0x37, 0x37, 0x3F, 0x3F ],
-    [ 0x37, 0x37, 0x37, 0x3F ],
-    [ 0x38, 0x39, 0x39, 0x3A ],
-    [ 0x38, 0x39, 0x3A, 0x3B ],
-    [ 0x38, 0x3A, 0x3B, 0x3C ],
-    [ 0x38, 0x39, 0x3B, 0x3C ],
-    [ 0x38, 0x39, 0x3A, 0x3C ],
-    [ 0x38, 0x3A, 0x3B, 0x3D ],
-    [ 0x38, 0x3A, 0x3C, 0x3D ],
-    [ 0x38, 0x39, 0x3C, 0x3D ],
-    [ 0x38, 0x39, 0x3B, 0x3D ],
-    [ 0x38, 0x3A, 0x3C, 0x3E ],
-    [ 0x38, 0x3B, 0x3D, 0x3E ],
-    [ 0x38, 0x39, 0x3D, 0x3E ],
-    [ 0x38, 0x39, 0x3B, 0x3E ],
-    [ 0x38, 0x3E, 0x3E, 0x3E ],
-    [ 0x38, 0x38, 0x3E, 0x3E ],
-    [ 0x38, 0x38, 0x38, 0x3E ],
-    [ 0x38, 0x3B, 0x3C, 0x3F ],
-    [ 0x38, 0x3B, 0x3E, 0x3F ],
-    [ 0x38, 0x39, 0x3E, 0x3F ],
-    [ 0x38, 0x39, 0x3C, 0x3F ],
-    [ 0x39, 0x3A, 0x3A, 0x3B ],
-    [ 0x39, 0x3A, 0x3B, 0x3C ],
-    [ 0x39, 0x3B, 0x3C, 0x3D ],
-    [ 0x39, 0x3A, 0x3C, 0x3D ],
-    [ 0x39, 0x3A, 0x3B, 0x3D ],
-    [ 0x39, 0x3B, 0x3C, 0x3E ],
-    [ 0x39, 0x3B, 0x3D, 0x3E ],
-    [ 0x39, 0x3A, 0x3D, 0x3E ],
-    [ 0x39, 0x3A, 0x3C, 0x3E ],
-    [ 0x39, 0x3B, 0x3D, 0x3F ],
-    [ 0x39, 0x3C, 0x3E, 0x3F ],
-    [ 0x39, 0x3A, 0x3E, 0x3F ],
-    [ 0x39, 0x3A, 0x3C, 0x3F ],
-    [ 0x39, 0x3F, 0x3F, 0x3F ],
-    [ 0x39, 0x39, 0x3F, 0x3F ],
-    [ 0x39, 0x39, 0x39, 0x3F ],
-    [ 0x3A, 0x3B, 0x3B, 0x3C ],
-    [ 0x3A, 0x3B, 0x3C, 0x3D ],
-    [ 0x3A, 0x3C, 0x3D, 0x3E ],
-    [ 0x3A, 0x3B, 0x3D, 0x3E ],
-    [ 0x3A, 0x3B, 0x3C, 0x3E ],
-    [ 0x3A, 0x3C, 0x3D, 0x3F ],
-    [ 0x3A, 0x3C, 0x3E, 0x3F ],
-    [ 0x3A, 0x3B, 0x3E, 0x3F ],
-    [ 0x3A, 0x3B, 0x3D, 0x3F ],
-    [ 0x3B, 0x3C, 0x3C, 0x3D ],
-    [ 0x3B, 0x3C, 0x3D, 0x3E ],
-    [ 0x3B, 0x3D, 0x3E, 0x3F ],
-    [ 0x3B, 0x3C, 0x3E, 0x3F ],
-    [ 0x3B, 0x3C, 0x3D, 0x3F ],
-    [ 0x3C, 0x3D, 0x3D, 0x3E ],
-    [ 0x3C, 0x3D, 0x3E, 0x3F ],
-    [ 0x3D, 0x3E, 0x3E, 0x3F ]
-];
+use nihav_core::io::byteio::{ByteIO,MemoryReader};
+use nihav_core::io::bitreader::*;
+use nihav_core::codecs::*;
+use nihav_codec_support::codecs::HAMShuffler;
+use super::ultidata::*;
+
+trait ReadLuma {
+    fn read_y(&mut self) -> DecoderResult<u8>;
+}
+
+impl<'a> ReadLuma for BitReader<'a> {
+    fn read_y(&mut self) -> DecoderResult<u8> {
+        Ok(LUMA_MAP[self.read(6)? as usize])
+    }
+}
+
+struct UltimotionDecoder {
+    info:       NACodecInfoRef,
+    frmmgr:     HAMShuffler<u8>,
+    width:      usize,
+    height:     usize,
+}
+
+impl UltimotionDecoder {
+    fn new() -> Self {
+        Self {
+            info:       NACodecInfo::new_dummy(),
+            frmmgr:     HAMShuffler::new(),
+            width:      0,
+            height:     0,
+        }
+    }
+}
+
+fn paint_gradient(dst: &mut [u8], xoff: usize, yoff: usize, stride: usize, angle: u8, yy: [u8; 4]) {
+    for (row, prow) in dst.chunks_exact_mut(stride).skip(yoff)
+            .zip(PATTERN[usize::from(angle)].chunks_exact(4)) {
+        for (el, &idx) in row[xoff..][..4].iter_mut().zip(prow.iter()) {
+            *el = yy[usize::from(idx)];
+        }
+    }
+}
+
+impl NADecoder for UltimotionDecoder {
+    fn init(&mut self, _supp: &mut NADecoderSupport, info: NACodecInfoRef) -> DecoderResult<()> {
+        if let NACodecTypeInfo::Video(vinfo) = info.get_properties() {
+            let w = vinfo.get_width();
+            let h = vinfo.get_height();
+            self.width = w;
+            self.height = h;
+            let myinfo = NACodecTypeInfo::Video(NAVideoInfo::new(w, h, false, YUV410_FORMAT));
+            self.info = NACodecInfo::new_ref(info.get_name(), myinfo, info.get_extradata()).into_ref();
+            Ok(())
+        } else {
+            Err(DecoderError::InvalidData)
+        }
+    }
+    fn decode(&mut self, _supp: &mut NADecoderSupport, pkt: &NAPacket) -> DecoderResult<NAFrameRef> {
+        let src = pkt.get_buffer();
+        validate!(!src.is_empty() && src[src.len() - 1] == 0x73);
+        let mut br = MemoryReader::new_read(&src);
+
+        let mut buf = if pkt.is_keyframe() {
+                let vinfo = self.info.get_properties().get_video_info().unwrap();
+                let bufinfo = alloc_video_buffer(vinfo, 3)?;
+                bufinfo.get_vbuf().unwrap()
+            } else if let Some(vbuf) = self.frmmgr.clone_ref() {
+                vbuf
+            } else {
+                return Err(DecoderError::MissingReference);
+            };
+        let frm = NASimpleVideoFrame::from_video_buf(&mut buf).unwrap();
+        let uvsplit = frm.offset[1].min(frm.offset[2]);
+        let (luma, chroma) = frm.data.split_at_mut(uvsplit);
+        let mut mode0 = true;
+        let mut uniq_c = false;
+        let mut uniq_c_perm = false;
+        let mut to_skip = 0;
+        let mut is_intra = true;
+        let mut uoff = frm.offset[1] - uvsplit;
+        let mut voff = frm.offset[2] - uvsplit;
+        let mut ybuf = [0; 12];
+        'dec: for ystrip in luma.chunks_exact_mut(frm.stride[0] * 8)
+                .take(self.height / 8) {
+            'row_loop: for x in (0..self.width).step_by(8) {
+                if to_skip > 0 {
+                    to_skip -= 1;
+                    continue;
+                }
+                let mut mode;
+                loop {
+                    mode = br.read_byte()?;
+                    if (mode & 0xF8) != 0x70 {
+                        break;
+                    }
+                    match mode & 0x7 {
+                        0 => {
+                            let new_mode = br.read_byte()?;
+                            validate!(new_mode < 2);
+                            mode0 = new_mode == 0;
+                        },
+                        1 => {
+                            uniq_c = true;
+                        },
+                        2 => {
+                            uniq_c_perm = !uniq_c_perm;
+                        },
+                        3 => {
+                            is_intra = false;
+                            break 'dec;
+                        },
+                        4 => {
+                            to_skip = br.read_byte()?;
+                            validate!(to_skip > 0);
+                            to_skip -= 1;
+                            is_intra = false;
+                            continue 'row_loop;
+                        },
+                        _ => {
+                            println!("unknown opcode {mode:02X}");
+                            return Err(DecoderError::InvalidData);
+                        },
+                    }
+                }
+                uniq_c |= uniq_c_perm;
+                let mut cval = if !uniq_c && mode != 0 { br.read_byte()? } else { 0 };
+                for (quad, &(xoff, yoff)) in [(0, 0), (0, 4), (4, 4), (4, 0)].iter().enumerate() {
+                    let qmode = (mode << (quad * 2)) >> 6;
+                    if uniq_c && qmode != 0 {
+                        cval = br.read_byte()?;
+                    }
+                    if qmode != 0 {
+                        chroma[uoff + (x + xoff) / 4 + (yoff / 4) * frm.stride[1]] = CHROMA_MAP[usize::from(cval >> 4)];
+                        chroma[voff + (x + xoff) / 4 + (yoff / 4) * frm.stride[2]] = CHROMA_MAP[usize::from(cval & 0xF)];
+                    }
+                    match (qmode, mode0) {
+                        (0, _) => { // unchanged quadrant
+                            is_intra = false;
+                        },
+                        (1, _) => { // homogeneous/shallow LTC quadrant
+                            const ANGLES: [u8; 4] = [0x0, 0x2, 0x6, 0xC];
+                            let m2 = br.read_byte()?;
+                            let mut angle = ANGLES[usize::from(m2 >> 6)];
+                            let y0 = usize::from(m2 & 0x3F);
+                            let y2 = if angle != 0 { (y0 + 1).min(0x3F) } else { y0 };
+                            let y0 = LUMA_MAP[y0];
+                            let y2 = LUMA_MAP[y2];
+                            let mut yy = [y0, y0, y2, y2];
+                            if (angle & 8) != 0 {
+                                yy.swap(0, 3);
+                                yy.swap(1, 2);
+                                angle &= 7;
+                            }
+                            paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], angle, yy);
+                        },
+                        (2, true) => { // LTC quadrant
+                            let m2 = br.read_u16be()?;
+                            let mut angle = (m2 >> 12) as u8;
+                            let mut yy = CODEBOOK[usize::from(m2 & 0xFFF)];
+                            for el in yy.iter_mut() {
+                                *el = LUMA_MAP[usize::from(*el)];
+                            }
+                            if (angle & 8) != 0 {
+                                yy.swap(0, 3);
+                                yy.swap(1, 2);
+                                angle &= 7;
+                            }
+                            paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], angle, yy);
+                        },
+                        (2, false) => { // subsampled 4-luminance quadrant
+                            br.read_buf(&mut ybuf[..3])?;
+                            let mut bbr = BitReader::new(&ybuf, BitReaderMode::BE);
+                            let mut yy = [0; 4];
+                            for el in yy.iter_mut() {
+                                *el = bbr.read_y()?;
+                            }
+                            paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], 0xA, yy);
+                        },
+                        (3, true) => { // statistical/extended LTC quadrant
+                            br.read_buf(&mut ybuf[..2])?;
+                            let mut bbr = BitReader::new(&ybuf, BitReaderMode::BE);
+                            let yone = LUMA_MAP[usize::from(br.read_byte()?.min(0x3F))];
+                            let ytwo = LUMA_MAP[usize::from(br.read_byte()?.min(0x3F))];
+                            if bbr.read_bool()? {
+                                let angle = bbr.read(3)? as u8;
+                                let mut yy = [0; 4];
+                                yy[0] = bbr.read_y()?;
+                                yy[1] = bbr.read_y()?;
+                                yy[2] = yone;
+                                yy[3] = ytwo;
+                                paint_gradient(ystrip, x + xoff, yoff, frm.stride[0], angle, yy);
+                            } else {
+                                let mut pattern = bbr.read(15)? as usize;
+                                let yy = [yone, ytwo];
+                                for row in ystrip.chunks_exact_mut(frm.stride[0])
+                                        .skip(yoff).take(4) {
+                                    for el in row[x + xoff..][..4].iter_mut() {
+                                        *el = yy[(pattern >> 15) & 1];
+                                        pattern <<= 1;
+                                    }
+                                }
+                            }
+                        },
+                        (3, false) => { // 16-luminance quadrant
+                            br.read_buf(&mut ybuf)?;
+                            let mut bbr = BitReader::new(&ybuf, BitReaderMode::BE);
+                            for row in ystrip.chunks_exact_mut(frm.stride[0])
+                                    .skip(yoff).take(4) {
+                                for el in row[x + xoff..][..4].iter_mut() {
+                                    *el = bbr.read_y()?;
+                                }
+                            }
+                        },
+                        _ => unreachable!(),
+                    }
+                }
+                uniq_c = false;
+            }
+            uoff += 2 * frm.stride[1];
+            voff += 2 * frm.stride[2];
+        }
+        self.frmmgr.add_frame(buf.clone());
+
+        let mut frm = NAFrame::new_from_pkt(pkt, self.info.clone(), NABufferType::Video(buf));
+        frm.set_keyframe(is_intra);
+        frm.set_frame_type(if is_intra { FrameType::I } else { FrameType::P });
+        Ok(frm.into_ref())
+    }
+    fn flush(&mut self) {
+        self.frmmgr.clear();
+    }
+}
+
+impl NAOptionHandler for UltimotionDecoder {
+    fn get_supported_options(&self) -> &[NAOptionDefinition] { &[] }
+    fn set_options(&mut self, _options: &[NAOption]) { }
+    fn query_option_value(&self, _name: &str) -> Option<NAValue> { None }
+}
+
+pub fn get_decoder() -> Box<dyn NADecoder + Send> {
+    Box::new(UltimotionDecoder::new())
+}
+
+#[cfg(test)]
+mod test {
+    use nihav_core::codecs::RegisteredDecoders;
+    use nihav_core::demuxers::RegisteredDemuxers;
+    use nihav_codec_support::test::dec_video::*;
+    use crate::*;
+    use nihav_commonfmt::generic_register_all_demuxers;
+    #[test]
+    fn test_ultimotion() {
+        let mut dmx_reg = RegisteredDemuxers::new();
+        generic_register_all_demuxers(&mut dmx_reg);
+        let mut dec_reg = RegisteredDecoders::new();
+        misc_register_all_decoders(&mut dec_reg);
+
+        // sample from https://samples.mplayerhq.hu/V-codecs/ULTI/hit12w.avi
+        test_decoding("avi", "ultimotion", "assets/Misc/hit12w.avi", Some(3), &dmx_reg,
+                     &dec_reg, ExpectedTestResult::MD5Frames(vec![
+                            [0x3e420232, 0x3575f4e3, 0x8cd70d09, 0x76b6ec33],
+                            [0xd0802190, 0x79769f38, 0xd6c9def3, 0xda61fe43],
+                            [0xc56c1aff, 0x4a8de0b0, 0xce778675, 0x81fe7265],
+                            [0x27c87c55, 0xa8c9077a, 0x1780fedf, 0x9f45d71b]]));
+    }
+}