// SPDX-License-Identifier: LGPL-2.1-or-later
// Copyright (c) 2012-2014 Monty Program Ab
// Copyright (c) 2015-2025 MariaDB Corporation Ab
package org.mariadb.jdbc.util;

import java.util.HashMap;
import java.util.Map;

public final class CharsetEncodingLength {

  // This array stored character length for every collation
  // query to generate:
  //  SELECT CONCAT('    maxCharlen.put(',id, ', ', maxlen, ');') FROM (
  //  SELECT  id, maxlen
  //  from information_schema.character_sets, information_schema.collations
  //  where character_sets.character_set_name = collations.character_set_name
  //          UNION
  //  select  id, maxlen
  //  from information_schema.character_sets,
  // information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
  //  where character_sets.character_set_name =
  // COLLATION_CHARACTER_SET_APPLICABILITY.character_set_name
  //  order by id) sub

  public static final Map<Integer, Integer> maxCharlen;

  static {
    maxCharlen = new HashMap<>();
    maxCharlen.put(1, 2);
    maxCharlen.put(2, 1);
    maxCharlen.put(3, 1);
    maxCharlen.put(4, 1);
    maxCharlen.put(5, 1);
    maxCharlen.put(6, 1);
    maxCharlen.put(7, 1);
    maxCharlen.put(8, 1);
    maxCharlen.put(9, 1);
    maxCharlen.put(10, 1);
    maxCharlen.put(11, 1);
    maxCharlen.put(12, 3);
    maxCharlen.put(13, 2);
    maxCharlen.put(14, 1);
    maxCharlen.put(15, 1);
    maxCharlen.put(16, 1);
    maxCharlen.put(18, 1);
    maxCharlen.put(19, 2);
    maxCharlen.put(20, 1);
    maxCharlen.put(21, 1);
    maxCharlen.put(22, 1);
    maxCharlen.put(23, 1);
    maxCharlen.put(24, 2);
    maxCharlen.put(25, 1);
    maxCharlen.put(26, 1);
    maxCharlen.put(27, 1);
    maxCharlen.put(28, 2);
    maxCharlen.put(29, 1);
    maxCharlen.put(30, 1);
    maxCharlen.put(31, 1);
    maxCharlen.put(32, 1);
    maxCharlen.put(33, 3);
    maxCharlen.put(34, 1);
    maxCharlen.put(35, 2);
    maxCharlen.put(36, 1);
    maxCharlen.put(37, 1);
    maxCharlen.put(38, 1);
    maxCharlen.put(39, 1);
    maxCharlen.put(40, 1);
    maxCharlen.put(41, 1);
    maxCharlen.put(42, 1);
    maxCharlen.put(43, 1);
    maxCharlen.put(44, 1);
    maxCharlen.put(45, 4);
    maxCharlen.put(46, 4);
    maxCharlen.put(47, 1);
    maxCharlen.put(48, 1);
    maxCharlen.put(49, 1);
    maxCharlen.put(50, 1);
    maxCharlen.put(51, 1);
    maxCharlen.put(52, 1);
    maxCharlen.put(53, 1);
    maxCharlen.put(54, 4);
    maxCharlen.put(55, 4);
    maxCharlen.put(56, 4);
    maxCharlen.put(57, 1);
    maxCharlen.put(58, 1);
    maxCharlen.put(59, 1);
    maxCharlen.put(60, 4);
    maxCharlen.put(61, 4);
    maxCharlen.put(62, 4);
    maxCharlen.put(63, 1);
    maxCharlen.put(64, 1);
    maxCharlen.put(65, 1);
    maxCharlen.put(66, 1);
    maxCharlen.put(67, 1);
    maxCharlen.put(68, 1);
    maxCharlen.put(69, 1);
    maxCharlen.put(70, 1);
    maxCharlen.put(71, 1);
    maxCharlen.put(72, 1);
    maxCharlen.put(73, 1);
    maxCharlen.put(74, 1);
    maxCharlen.put(75, 1);
    maxCharlen.put(76, 3);
    maxCharlen.put(77, 1);
    maxCharlen.put(78, 1);
    maxCharlen.put(79, 1);
    maxCharlen.put(80, 1);
    maxCharlen.put(81, 1);
    maxCharlen.put(82, 1);
    maxCharlen.put(83, 3);
    maxCharlen.put(84, 2);
    maxCharlen.put(85, 2);
    maxCharlen.put(86, 2);
    maxCharlen.put(87, 2);
    maxCharlen.put(88, 2);
    maxCharlen.put(89, 1);
    maxCharlen.put(90, 2);
    maxCharlen.put(91, 3);
    maxCharlen.put(92, 1);
    maxCharlen.put(93, 1);
    maxCharlen.put(94, 1);
    maxCharlen.put(95, 2);
    maxCharlen.put(96, 2);
    maxCharlen.put(97, 3);
    maxCharlen.put(98, 3);
    maxCharlen.put(99, 1);
    maxCharlen.put(101, 4);
    maxCharlen.put(102, 4);
    maxCharlen.put(103, 4);
    maxCharlen.put(104, 4);
    maxCharlen.put(105, 4);
    maxCharlen.put(106, 4);
    maxCharlen.put(107, 4);
    maxCharlen.put(108, 4);
    maxCharlen.put(109, 4);
    maxCharlen.put(110, 4);
    maxCharlen.put(111, 4);
    maxCharlen.put(112, 4);
    maxCharlen.put(113, 4);
    maxCharlen.put(114, 4);
    maxCharlen.put(115, 4);
    maxCharlen.put(116, 4);
    maxCharlen.put(117, 4);
    maxCharlen.put(118, 4);
    maxCharlen.put(119, 4);
    maxCharlen.put(120, 4);
    maxCharlen.put(121, 4);
    maxCharlen.put(122, 4);
    maxCharlen.put(123, 4);
    maxCharlen.put(124, 4);
    maxCharlen.put(128, 2);
    maxCharlen.put(129, 2);
    maxCharlen.put(130, 2);
    maxCharlen.put(131, 2);
    maxCharlen.put(132, 2);
    maxCharlen.put(133, 2);
    maxCharlen.put(134, 2);
    maxCharlen.put(135, 2);
    maxCharlen.put(136, 2);
    maxCharlen.put(137, 2);
    maxCharlen.put(138, 2);
    maxCharlen.put(139, 2);
    maxCharlen.put(140, 2);
    maxCharlen.put(141, 2);
    maxCharlen.put(142, 2);
    maxCharlen.put(143, 2);
    maxCharlen.put(144, 2);
    maxCharlen.put(145, 2);
    maxCharlen.put(146, 2);
    maxCharlen.put(147, 2);
    maxCharlen.put(148, 2);
    maxCharlen.put(149, 2);
    maxCharlen.put(150, 2);
    maxCharlen.put(151, 2);
    maxCharlen.put(159, 2);
    maxCharlen.put(160, 4);
    maxCharlen.put(161, 4);
    maxCharlen.put(162, 4);
    maxCharlen.put(163, 4);
    maxCharlen.put(164, 4);
    maxCharlen.put(165, 4);
    maxCharlen.put(166, 4);
    maxCharlen.put(167, 4);
    maxCharlen.put(168, 4);
    maxCharlen.put(169, 4);
    maxCharlen.put(170, 4);
    maxCharlen.put(171, 4);
    maxCharlen.put(172, 4);
    maxCharlen.put(173, 4);
    maxCharlen.put(174, 4);
    maxCharlen.put(175, 4);
    maxCharlen.put(176, 4);
    maxCharlen.put(177, 4);
    maxCharlen.put(178, 4);
    maxCharlen.put(179, 4);
    maxCharlen.put(180, 4);
    maxCharlen.put(181, 4);
    maxCharlen.put(182, 4);
    maxCharlen.put(183, 4);
    maxCharlen.put(192, 3);
    maxCharlen.put(193, 3);
    maxCharlen.put(194, 3);
    maxCharlen.put(195, 3);
    maxCharlen.put(196, 3);
    maxCharlen.put(197, 3);
    maxCharlen.put(198, 3);
    maxCharlen.put(199, 3);
    maxCharlen.put(200, 3);
    maxCharlen.put(201, 3);
    maxCharlen.put(202, 3);
    maxCharlen.put(203, 3);
    maxCharlen.put(204, 3);
    maxCharlen.put(205, 3);
    maxCharlen.put(206, 3);
    maxCharlen.put(207, 3);
    maxCharlen.put(208, 3);
    maxCharlen.put(209, 3);
    maxCharlen.put(210, 3);
    maxCharlen.put(211, 3);
    maxCharlen.put(212, 3);
    maxCharlen.put(213, 3);
    maxCharlen.put(214, 3);
    maxCharlen.put(215, 3);
    maxCharlen.put(223, 3);
    maxCharlen.put(224, 4);
    maxCharlen.put(225, 4);
    maxCharlen.put(226, 4);
    maxCharlen.put(227, 4);
    maxCharlen.put(228, 4);
    maxCharlen.put(229, 4);
    maxCharlen.put(230, 4);
    maxCharlen.put(231, 4);
    maxCharlen.put(232, 4);
    maxCharlen.put(233, 4);
    maxCharlen.put(234, 4);
    maxCharlen.put(235, 4);
    maxCharlen.put(236, 4);
    maxCharlen.put(237, 4);
    maxCharlen.put(238, 4);
    maxCharlen.put(239, 4);
    maxCharlen.put(240, 4);
    maxCharlen.put(241, 4);
    maxCharlen.put(242, 4);
    maxCharlen.put(243, 4);
    maxCharlen.put(244, 4);
    maxCharlen.put(245, 4);
    maxCharlen.put(246, 4);
    maxCharlen.put(247, 4);
    maxCharlen.put(248, 4);
    maxCharlen.put(249, 4);
    maxCharlen.put(250, 4);
    maxCharlen.put(255, 4);
    maxCharlen.put(256, 4);
    maxCharlen.put(257, 4);
    maxCharlen.put(258, 4);
    maxCharlen.put(259, 4);
    maxCharlen.put(260, 4);
    maxCharlen.put(261, 4);
    maxCharlen.put(262, 4);
    maxCharlen.put(263, 4);
    maxCharlen.put(264, 4);
    maxCharlen.put(265, 4);
    maxCharlen.put(266, 4);
    maxCharlen.put(267, 4);
    maxCharlen.put(268, 4);
    maxCharlen.put(269, 4);
    maxCharlen.put(270, 4);
    maxCharlen.put(271, 4);
    maxCharlen.put(273, 4);
    maxCharlen.put(274, 4);
    maxCharlen.put(275, 4);
    maxCharlen.put(277, 4);
    maxCharlen.put(278, 4);
    maxCharlen.put(279, 4);
    maxCharlen.put(280, 4);
    maxCharlen.put(281, 4);
    maxCharlen.put(282, 4);
    maxCharlen.put(283, 4);
    maxCharlen.put(284, 4);
    maxCharlen.put(285, 4);
    maxCharlen.put(286, 4);
    maxCharlen.put(287, 4);
    maxCharlen.put(288, 4);
    maxCharlen.put(289, 4);
    maxCharlen.put(290, 4);
    maxCharlen.put(291, 4);
    maxCharlen.put(292, 4);
    maxCharlen.put(293, 4);
    maxCharlen.put(294, 4);
    maxCharlen.put(296, 4);
    maxCharlen.put(297, 4);
    maxCharlen.put(298, 4);
    maxCharlen.put(300, 4);
    maxCharlen.put(303, 4);
    maxCharlen.put(304, 4);
    maxCharlen.put(305, 4);
    maxCharlen.put(306, 4);
    maxCharlen.put(307, 4);
    maxCharlen.put(308, 4);
    maxCharlen.put(309, 4);
    maxCharlen.put(310, 4);
    maxCharlen.put(311, 4);
    maxCharlen.put(312, 4);
    maxCharlen.put(313, 4);
    maxCharlen.put(314, 4);
    maxCharlen.put(315, 4);
    maxCharlen.put(316, 4);
    maxCharlen.put(317, 4);
    maxCharlen.put(318, 4);
    maxCharlen.put(319, 4);
    maxCharlen.put(320, 4);
    maxCharlen.put(321, 4);
    maxCharlen.put(322, 4);
    maxCharlen.put(323, 4);
    maxCharlen.put(576, 3);
    maxCharlen.put(577, 3);
    maxCharlen.put(578, 3);
    maxCharlen.put(608, 4);
    maxCharlen.put(609, 4);
    maxCharlen.put(610, 4);
    maxCharlen.put(640, 2);
    maxCharlen.put(641, 2);
    maxCharlen.put(642, 2);
    maxCharlen.put(672, 4);
    maxCharlen.put(673, 4);
    maxCharlen.put(674, 4);
    maxCharlen.put(736, 4);
    maxCharlen.put(737, 4);
    maxCharlen.put(738, 4);
    maxCharlen.put(1025, 2);
    maxCharlen.put(1027, 1);
    maxCharlen.put(1028, 1);
    maxCharlen.put(1030, 1);
    maxCharlen.put(1031, 1);
    maxCharlen.put(1032, 1);
    maxCharlen.put(1033, 1);
    maxCharlen.put(1034, 1);
    maxCharlen.put(1035, 1);
    maxCharlen.put(1036, 3);
    maxCharlen.put(1037, 2);
    maxCharlen.put(1040, 1);
    maxCharlen.put(1042, 1);
    maxCharlen.put(1043, 2);
    maxCharlen.put(1046, 1);
    maxCharlen.put(1048, 2);
    maxCharlen.put(1049, 1);
    maxCharlen.put(1050, 1);
    maxCharlen.put(1052, 2);
    maxCharlen.put(1054, 1);
    maxCharlen.put(1056, 1);
    maxCharlen.put(1057, 3);
    maxCharlen.put(1059, 2);
    maxCharlen.put(1060, 1);
    maxCharlen.put(1061, 1);
    maxCharlen.put(1062, 1);
    maxCharlen.put(1063, 1);
    maxCharlen.put(1064, 1);
    maxCharlen.put(1065, 1);
    maxCharlen.put(1067, 1);
    maxCharlen.put(1069, 4);
    maxCharlen.put(1070, 4);
    maxCharlen.put(1071, 1);
    maxCharlen.put(1074, 1);
    maxCharlen.put(1075, 1);
    maxCharlen.put(1077, 1);
    maxCharlen.put(1078, 4);
    maxCharlen.put(1079, 4);
    maxCharlen.put(1080, 4);
    maxCharlen.put(1081, 1);
    maxCharlen.put(1082, 1);
    maxCharlen.put(1083, 1);
    maxCharlen.put(1084, 4);
    maxCharlen.put(1085, 4);
    maxCharlen.put(1086, 4);
    maxCharlen.put(1088, 1);
    maxCharlen.put(1089, 1);
    maxCharlen.put(1090, 1);
    maxCharlen.put(1091, 1);
    maxCharlen.put(1092, 1);
    maxCharlen.put(1093, 1);
    maxCharlen.put(1094, 1);
    maxCharlen.put(1095, 1);
    maxCharlen.put(1096, 1);
    maxCharlen.put(1097, 1);
    maxCharlen.put(1098, 1);
    maxCharlen.put(1099, 1);
    maxCharlen.put(1101, 1);
    maxCharlen.put(1102, 1);
    maxCharlen.put(1103, 1);
    maxCharlen.put(1104, 1);
    maxCharlen.put(1105, 1);
    maxCharlen.put(1106, 1);
    maxCharlen.put(1107, 3);
    maxCharlen.put(1108, 2);
    maxCharlen.put(1109, 2);
    maxCharlen.put(1110, 2);
    maxCharlen.put(1111, 2);
    maxCharlen.put(1112, 2);
    maxCharlen.put(1113, 1);
    maxCharlen.put(1114, 2);
    maxCharlen.put(1115, 3);
    maxCharlen.put(1116, 1);
    maxCharlen.put(1117, 1);
    maxCharlen.put(1119, 2);
    maxCharlen.put(1120, 2);
    maxCharlen.put(1121, 3);
    maxCharlen.put(1122, 3);
    maxCharlen.put(1125, 4);
    maxCharlen.put(1147, 4);
    maxCharlen.put(1152, 2);
    maxCharlen.put(1174, 2);
    maxCharlen.put(1184, 4);
    maxCharlen.put(1206, 4);
    maxCharlen.put(1216, 3);
    maxCharlen.put(1238, 3);
    maxCharlen.put(1248, 4);
    maxCharlen.put(1270, 4);
    maxCharlen.put(2048, 3);
    maxCharlen.put(2049, 3);
    maxCharlen.put(2050, 3);
    maxCharlen.put(2051, 3);
    maxCharlen.put(2052, 3);
    maxCharlen.put(2053, 3);
    maxCharlen.put(2054, 3);
    maxCharlen.put(2055, 3);
    maxCharlen.put(2056, 3);
    maxCharlen.put(2057, 3);
    maxCharlen.put(2058, 3);
    maxCharlen.put(2059, 3);
    maxCharlen.put(2060, 3);
    maxCharlen.put(2061, 3);
    maxCharlen.put(2062, 3);
    maxCharlen.put(2063, 3);
    maxCharlen.put(2064, 3);
    maxCharlen.put(2065, 3);
    maxCharlen.put(2066, 3);
    maxCharlen.put(2067, 3);
    maxCharlen.put(2068, 3);
    maxCharlen.put(2069, 3);
    maxCharlen.put(2070, 3);
    maxCharlen.put(2071, 3);
    maxCharlen.put(2072, 3);
    maxCharlen.put(2073, 3);
    maxCharlen.put(2074, 3);
    maxCharlen.put(2075, 3);
    maxCharlen.put(2076, 3);
    maxCharlen.put(2077, 3);
    maxCharlen.put(2078, 3);
    maxCharlen.put(2079, 3);
    maxCharlen.put(2080, 3);
    maxCharlen.put(2081, 3);
    maxCharlen.put(2082, 3);
    maxCharlen.put(2083, 3);
    maxCharlen.put(2084, 3);
    maxCharlen.put(2085, 3);
    maxCharlen.put(2086, 3);
    maxCharlen.put(2087, 3);
    maxCharlen.put(2088, 3);
    maxCharlen.put(2089, 3);
    maxCharlen.put(2090, 3);
    maxCharlen.put(2091, 3);
    maxCharlen.put(2092, 3);
    maxCharlen.put(2093, 3);
    maxCharlen.put(2094, 3);
    maxCharlen.put(2095, 3);
    maxCharlen.put(2096, 3);
    maxCharlen.put(2097, 3);
    maxCharlen.put(2098, 3);
    maxCharlen.put(2099, 3);
    maxCharlen.put(2100, 3);
    maxCharlen.put(2101, 3);
    maxCharlen.put(2102, 3);
    maxCharlen.put(2103, 3);
    maxCharlen.put(2104, 3);
    maxCharlen.put(2105, 3);
    maxCharlen.put(2106, 3);
    maxCharlen.put(2107, 3);
    maxCharlen.put(2108, 3);
    maxCharlen.put(2109, 3);
    maxCharlen.put(2110, 3);
    maxCharlen.put(2111, 3);
    maxCharlen.put(2112, 3);
    maxCharlen.put(2113, 3);
    maxCharlen.put(2114, 3);
    maxCharlen.put(2115, 3);
    maxCharlen.put(2116, 3);
    maxCharlen.put(2117, 3);
    maxCharlen.put(2118, 3);
    maxCharlen.put(2119, 3);
    maxCharlen.put(2120, 3);
    maxCharlen.put(2121, 3);
    maxCharlen.put(2122, 3);
    maxCharlen.put(2123, 3);
    maxCharlen.put(2124, 3);
    maxCharlen.put(2125, 3);
    maxCharlen.put(2126, 3);
    maxCharlen.put(2127, 3);
    maxCharlen.put(2128, 3);
    maxCharlen.put(2129, 3);
    maxCharlen.put(2130, 3);
    maxCharlen.put(2131, 3);
    maxCharlen.put(2132, 3);
    maxCharlen.put(2133, 3);
    maxCharlen.put(2134, 3);
    maxCharlen.put(2135, 3);
    maxCharlen.put(2136, 3);
    maxCharlen.put(2137, 3);
    maxCharlen.put(2138, 3);
    maxCharlen.put(2139, 3);
    maxCharlen.put(2140, 3);
    maxCharlen.put(2141, 3);
    maxCharlen.put(2142, 3);
    maxCharlen.put(2143, 3);
    maxCharlen.put(2144, 3);
    maxCharlen.put(2145, 3);
    maxCharlen.put(2146, 3);
    maxCharlen.put(2147, 3);
    maxCharlen.put(2148, 3);
    maxCharlen.put(2149, 3);
    maxCharlen.put(2150, 3);
    maxCharlen.put(2151, 3);
    maxCharlen.put(2152, 3);
    maxCharlen.put(2153, 3);
    maxCharlen.put(2154, 3);
    maxCharlen.put(2155, 3);
    maxCharlen.put(2156, 3);
    maxCharlen.put(2157, 3);
    maxCharlen.put(2158, 3);
    maxCharlen.put(2159, 3);
    maxCharlen.put(2160, 3);
    maxCharlen.put(2161, 3);
    maxCharlen.put(2162, 3);
    maxCharlen.put(2163, 3);
    maxCharlen.put(2164, 3);
    maxCharlen.put(2165, 3);
    maxCharlen.put(2166, 3);
    maxCharlen.put(2167, 3);
    maxCharlen.put(2168, 3);
    maxCharlen.put(2169, 3);
    maxCharlen.put(2170, 3);
    maxCharlen.put(2171, 3);
    maxCharlen.put(2172, 3);
    maxCharlen.put(2173, 3);
    maxCharlen.put(2174, 3);
    maxCharlen.put(2175, 3);
    maxCharlen.put(2176, 3);
    maxCharlen.put(2177, 3);
    maxCharlen.put(2178, 3);
    maxCharlen.put(2179, 3);
    maxCharlen.put(2180, 3);
    maxCharlen.put(2181, 3);
    maxCharlen.put(2182, 3);
    maxCharlen.put(2183, 3);
    maxCharlen.put(2184, 3);
    maxCharlen.put(2185, 3);
    maxCharlen.put(2186, 3);
    maxCharlen.put(2187, 3);
    maxCharlen.put(2188, 3);
    maxCharlen.put(2189, 3);
    maxCharlen.put(2190, 3);
    maxCharlen.put(2191, 3);
    maxCharlen.put(2192, 3);
    maxCharlen.put(2193, 3);
    maxCharlen.put(2194, 3);
    maxCharlen.put(2195, 3);
    maxCharlen.put(2196, 3);
    maxCharlen.put(2197, 3);
    maxCharlen.put(2198, 3);
    maxCharlen.put(2199, 3);
    maxCharlen.put(2200, 3);
    maxCharlen.put(2201, 3);
    maxCharlen.put(2202, 3);
    maxCharlen.put(2203, 3);
    maxCharlen.put(2204, 3);
    maxCharlen.put(2205, 3);
    maxCharlen.put(2206, 3);
    maxCharlen.put(2207, 3);
    maxCharlen.put(2208, 3);
    maxCharlen.put(2209, 3);
    maxCharlen.put(2210, 3);
    maxCharlen.put(2211, 3);
    maxCharlen.put(2212, 3);
    maxCharlen.put(2213, 3);
    maxCharlen.put(2214, 3);
    maxCharlen.put(2215, 3);
    maxCharlen.put(2232, 3);
    maxCharlen.put(2233, 3);
    maxCharlen.put(2234, 3);
    maxCharlen.put(2235, 3);
    maxCharlen.put(2236, 3);
    maxCharlen.put(2237, 3);
    maxCharlen.put(2238, 3);
    maxCharlen.put(2239, 3);
    maxCharlen.put(2240, 3);
    maxCharlen.put(2241, 3);
    maxCharlen.put(2242, 3);
    maxCharlen.put(2243, 3);
    maxCharlen.put(2244, 3);
    maxCharlen.put(2245, 3);
    maxCharlen.put(2246, 3);
    maxCharlen.put(2247, 3);
    maxCharlen.put(2304, 4);
    maxCharlen.put(2305, 4);
    maxCharlen.put(2306, 4);
    maxCharlen.put(2307, 4);
    maxCharlen.put(2308, 4);
    maxCharlen.put(2309, 4);
    maxCharlen.put(2310, 4);
    maxCharlen.put(2311, 4);
    maxCharlen.put(2312, 4);
    maxCharlen.put(2313, 4);
    maxCharlen.put(2314, 4);
    maxCharlen.put(2315, 4);
    maxCharlen.put(2316, 4);
    maxCharlen.put(2317, 4);
    maxCharlen.put(2318, 4);
    maxCharlen.put(2319, 4);
    maxCharlen.put(2320, 4);
    maxCharlen.put(2321, 4);
    maxCharlen.put(2322, 4);
    maxCharlen.put(2323, 4);
    maxCharlen.put(2324, 4);
    maxCharlen.put(2325, 4);
    maxCharlen.put(2326, 4);
    maxCharlen.put(2327, 4);
    maxCharlen.put(2328, 4);
    maxCharlen.put(2329, 4);
    maxCharlen.put(2330, 4);
    maxCharlen.put(2331, 4);
    maxCharlen.put(2332, 4);
    maxCharlen.put(2333, 4);
    maxCharlen.put(2334, 4);
    maxCharlen.put(2335, 4);
    maxCharlen.put(2336, 4);
    maxCharlen.put(2337, 4);
    maxCharlen.put(2338, 4);
    maxCharlen.put(2339, 4);
    maxCharlen.put(2340, 4);
    maxCharlen.put(2341, 4);
    maxCharlen.put(2342, 4);
    maxCharlen.put(2343, 4);
    maxCharlen.put(2344, 4);
    maxCharlen.put(2345, 4);
    maxCharlen.put(2346, 4);
    maxCharlen.put(2347, 4);
    maxCharlen.put(2348, 4);
    maxCharlen.put(2349, 4);
    maxCharlen.put(2350, 4);
    maxCharlen.put(2351, 4);
    maxCharlen.put(2352, 4);
    maxCharlen.put(2353, 4);
    maxCharlen.put(2354, 4);
    maxCharlen.put(2355, 4);
    maxCharlen.put(2356, 4);
    maxCharlen.put(2357, 4);
    maxCharlen.put(2358, 4);
    maxCharlen.put(2359, 4);
    maxCharlen.put(2360, 4);
    maxCharlen.put(2361, 4);
    maxCharlen.put(2362, 4);
    maxCharlen.put(2363, 4);
    maxCharlen.put(2364, 4);
    maxCharlen.put(2365, 4);
    maxCharlen.put(2366, 4);
    maxCharlen.put(2367, 4);
    maxCharlen.put(2368, 4);
    maxCharlen.put(2369, 4);
    maxCharlen.put(2370, 4);
    maxCharlen.put(2371, 4);
    maxCharlen.put(2372, 4);
    maxCharlen.put(2373, 4);
    maxCharlen.put(2374, 4);
    maxCharlen.put(2375, 4);
    maxCharlen.put(2376, 4);
    maxCharlen.put(2377, 4);
    maxCharlen.put(2378, 4);
    maxCharlen.put(2379, 4);
    maxCharlen.put(2380, 4);
    maxCharlen.put(2381, 4);
    maxCharlen.put(2382, 4);
    maxCharlen.put(2383, 4);
    maxCharlen.put(2384, 4);
    maxCharlen.put(2385, 4);
    maxCharlen.put(2386, 4);
    maxCharlen.put(2387, 4);
    maxCharlen.put(2388, 4);
    maxCharlen.put(2389, 4);
    maxCharlen.put(2390, 4);
    maxCharlen.put(2391, 4);
    maxCharlen.put(2392, 4);
    maxCharlen.put(2393, 4);
    maxCharlen.put(2394, 4);
    maxCharlen.put(2395, 4);
    maxCharlen.put(2396, 4);
    maxCharlen.put(2397, 4);
    maxCharlen.put(2398, 4);
    maxCharlen.put(2399, 4);
    maxCharlen.put(2400, 4);
    maxCharlen.put(2401, 4);
    maxCharlen.put(2402, 4);
    maxCharlen.put(2403, 4);
    maxCharlen.put(2404, 4);
    maxCharlen.put(2405, 4);
    maxCharlen.put(2406, 4);
    maxCharlen.put(2407, 4);
    maxCharlen.put(2408, 4);
    maxCharlen.put(2409, 4);
    maxCharlen.put(2410, 4);
    maxCharlen.put(2411, 4);
    maxCharlen.put(2412, 4);
    maxCharlen.put(2413, 4);
    maxCharlen.put(2414, 4);
    maxCharlen.put(2415, 4);
    maxCharlen.put(2416, 4);
    maxCharlen.put(2417, 4);
    maxCharlen.put(2418, 4);
    maxCharlen.put(2419, 4);
    maxCharlen.put(2420, 4);
    maxCharlen.put(2421, 4);
    maxCharlen.put(2422, 4);
    maxCharlen.put(2423, 4);
    maxCharlen.put(2424, 4);
    maxCharlen.put(2425, 4);
    maxCharlen.put(2426, 4);
    maxCharlen.put(2427, 4);
    maxCharlen.put(2428, 4);
    maxCharlen.put(2429, 4);
    maxCharlen.put(2430, 4);
    maxCharlen.put(2431, 4);
    maxCharlen.put(2432, 4);
    maxCharlen.put(2433, 4);
    maxCharlen.put(2434, 4);
    maxCharlen.put(2435, 4);
    maxCharlen.put(2436, 4);
    maxCharlen.put(2437, 4);
    maxCharlen.put(2438, 4);
    maxCharlen.put(2439, 4);
    maxCharlen.put(2440, 4);
    maxCharlen.put(2441, 4);
    maxCharlen.put(2442, 4);
    maxCharlen.put(2443, 4);
    maxCharlen.put(2444, 4);
    maxCharlen.put(2445, 4);
    maxCharlen.put(2446, 4);
    maxCharlen.put(2447, 4);
    maxCharlen.put(2448, 4);
    maxCharlen.put(2449, 4);
    maxCharlen.put(2450, 4);
    maxCharlen.put(2451, 4);
    maxCharlen.put(2452, 4);
    maxCharlen.put(2453, 4);
    maxCharlen.put(2454, 4);
    maxCharlen.put(2455, 4);
    maxCharlen.put(2456, 4);
    maxCharlen.put(2457, 4);
    maxCharlen.put(2458, 4);
    maxCharlen.put(2459, 4);
    maxCharlen.put(2460, 4);
    maxCharlen.put(2461, 4);
    maxCharlen.put(2462, 4);
    maxCharlen.put(2463, 4);
    maxCharlen.put(2464, 4);
    maxCharlen.put(2465, 4);
    maxCharlen.put(2466, 4);
    maxCharlen.put(2467, 4);
    maxCharlen.put(2468, 4);
    maxCharlen.put(2469, 4);
    maxCharlen.put(2470, 4);
    maxCharlen.put(2471, 4);
    maxCharlen.put(2488, 4);
    maxCharlen.put(2489, 4);
    maxCharlen.put(2490, 4);
    maxCharlen.put(2491, 4);
    maxCharlen.put(2492, 4);
    maxCharlen.put(2493, 4);
    maxCharlen.put(2494, 4);
    maxCharlen.put(2495, 4);
    maxCharlen.put(2496, 4);
    maxCharlen.put(2497, 4);
    maxCharlen.put(2498, 4);
    maxCharlen.put(2499, 4);
    maxCharlen.put(2500, 4);
    maxCharlen.put(2501, 4);
    maxCharlen.put(2502, 4);
    maxCharlen.put(2503, 4);
    maxCharlen.put(2560, 2);
    maxCharlen.put(2561, 2);
    maxCharlen.put(2562, 2);
    maxCharlen.put(2563, 2);
    maxCharlen.put(2564, 2);
    maxCharlen.put(2565, 2);
    maxCharlen.put(2566, 2);
    maxCharlen.put(2567, 2);
    maxCharlen.put(2568, 2);
    maxCharlen.put(2569, 2);
    maxCharlen.put(2570, 2);
    maxCharlen.put(2571, 2);
    maxCharlen.put(2572, 2);
    maxCharlen.put(2573, 2);
    maxCharlen.put(2574, 2);
    maxCharlen.put(2575, 2);
    maxCharlen.put(2576, 2);
    maxCharlen.put(2577, 2);
    maxCharlen.put(2578, 2);
    maxCharlen.put(2579, 2);
    maxCharlen.put(2580, 2);
    maxCharlen.put(2581, 2);
    maxCharlen.put(2582, 2);
    maxCharlen.put(2583, 2);
    maxCharlen.put(2584, 2);
    maxCharlen.put(2585, 2);
    maxCharlen.put(2586, 2);
    maxCharlen.put(2587, 2);
    maxCharlen.put(2588, 2);
    maxCharlen.put(2589, 2);
    maxCharlen.put(2590, 2);
    maxCharlen.put(2591, 2);
    maxCharlen.put(2592, 2);
    maxCharlen.put(2593, 2);
    maxCharlen.put(2594, 2);
    maxCharlen.put(2595, 2);
    maxCharlen.put(2596, 2);
    maxCharlen.put(2597, 2);
    maxCharlen.put(2598, 2);
    maxCharlen.put(2599, 2);
    maxCharlen.put(2600, 2);
    maxCharlen.put(2601, 2);
    maxCharlen.put(2602, 2);
    maxCharlen.put(2603, 2);
    maxCharlen.put(2604, 2);
    maxCharlen.put(2605, 2);
    maxCharlen.put(2606, 2);
    maxCharlen.put(2607, 2);
    maxCharlen.put(2608, 2);
    maxCharlen.put(2609, 2);
    maxCharlen.put(2610, 2);
    maxCharlen.put(2611, 2);
    maxCharlen.put(2612, 2);
    maxCharlen.put(2613, 2);
    maxCharlen.put(2614, 2);
    maxCharlen.put(2615, 2);
    maxCharlen.put(2616, 2);
    maxCharlen.put(2617, 2);
    maxCharlen.put(2618, 2);
    maxCharlen.put(2619, 2);
    maxCharlen.put(2620, 2);
    maxCharlen.put(2621, 2);
    maxCharlen.put(2622, 2);
    maxCharlen.put(2623, 2);
    maxCharlen.put(2624, 2);
    maxCharlen.put(2625, 2);
    maxCharlen.put(2626, 2);
    maxCharlen.put(2627, 2);
    maxCharlen.put(2628, 2);
    maxCharlen.put(2629, 2);
    maxCharlen.put(2630, 2);
    maxCharlen.put(2631, 2);
    maxCharlen.put(2632, 2);
    maxCharlen.put(2633, 2);
    maxCharlen.put(2634, 2);
    maxCharlen.put(2635, 2);
    maxCharlen.put(2636, 2);
    maxCharlen.put(2637, 2);
    maxCharlen.put(2638, 2);
    maxCharlen.put(2639, 2);
    maxCharlen.put(2640, 2);
    maxCharlen.put(2641, 2);
    maxCharlen.put(2642, 2);
    maxCharlen.put(2643, 2);
    maxCharlen.put(2644, 2);
    maxCharlen.put(2645, 2);
    maxCharlen.put(2646, 2);
    maxCharlen.put(2647, 2);
    maxCharlen.put(2648, 2);
    maxCharlen.put(2649, 2);
    maxCharlen.put(2650, 2);
    maxCharlen.put(2651, 2);
    maxCharlen.put(2652, 2);
    maxCharlen.put(2653, 2);
    maxCharlen.put(2654, 2);
    maxCharlen.put(2655, 2);
    maxCharlen.put(2656, 2);
    maxCharlen.put(2657, 2);
    maxCharlen.put(2658, 2);
    maxCharlen.put(2659, 2);
    maxCharlen.put(2660, 2);
    maxCharlen.put(2661, 2);
    maxCharlen.put(2662, 2);
    maxCharlen.put(2663, 2);
    maxCharlen.put(2664, 2);
    maxCharlen.put(2665, 2);
    maxCharlen.put(2666, 2);
    maxCharlen.put(2667, 2);
    maxCharlen.put(2668, 2);
    maxCharlen.put(2669, 2);
    maxCharlen.put(2670, 2);
    maxCharlen.put(2671, 2);
    maxCharlen.put(2672, 2);
    maxCharlen.put(2673, 2);
    maxCharlen.put(2674, 2);
    maxCharlen.put(2675, 2);
    maxCharlen.put(2676, 2);
    maxCharlen.put(2677, 2);
    maxCharlen.put(2678, 2);
    maxCharlen.put(2679, 2);
    maxCharlen.put(2680, 2);
    maxCharlen.put(2681, 2);
    maxCharlen.put(2682, 2);
    maxCharlen.put(2683, 2);
    maxCharlen.put(2684, 2);
    maxCharlen.put(2685, 2);
    maxCharlen.put(2686, 2);
    maxCharlen.put(2687, 2);
    maxCharlen.put(2688, 2);
    maxCharlen.put(2689, 2);
    maxCharlen.put(2690, 2);
    maxCharlen.put(2691, 2);
    maxCharlen.put(2692, 2);
    maxCharlen.put(2693, 2);
    maxCharlen.put(2694, 2);
    maxCharlen.put(2695, 2);
    maxCharlen.put(2696, 2);
    maxCharlen.put(2697, 2);
    maxCharlen.put(2698, 2);
    maxCharlen.put(2699, 2);
    maxCharlen.put(2700, 2);
    maxCharlen.put(2701, 2);
    maxCharlen.put(2702, 2);
    maxCharlen.put(2703, 2);
    maxCharlen.put(2704, 2);
    maxCharlen.put(2705, 2);
    maxCharlen.put(2706, 2);
    maxCharlen.put(2707, 2);
    maxCharlen.put(2708, 2);
    maxCharlen.put(2709, 2);
    maxCharlen.put(2710, 2);
    maxCharlen.put(2711, 2);
    maxCharlen.put(2712, 2);
    maxCharlen.put(2713, 2);
    maxCharlen.put(2714, 2);
    maxCharlen.put(2715, 2);
    maxCharlen.put(2716, 2);
    maxCharlen.put(2717, 2);
    maxCharlen.put(2718, 2);
    maxCharlen.put(2719, 2);
    maxCharlen.put(2720, 2);
    maxCharlen.put(2721, 2);
    maxCharlen.put(2722, 2);
    maxCharlen.put(2723, 2);
    maxCharlen.put(2724, 2);
    maxCharlen.put(2725, 2);
    maxCharlen.put(2726, 2);
    maxCharlen.put(2727, 2);
    maxCharlen.put(2744, 2);
    maxCharlen.put(2745, 2);
    maxCharlen.put(2746, 2);
    maxCharlen.put(2747, 2);
    maxCharlen.put(2748, 2);
    maxCharlen.put(2749, 2);
    maxCharlen.put(2750, 2);
    maxCharlen.put(2751, 2);
    maxCharlen.put(2752, 2);
    maxCharlen.put(2753, 2);
    maxCharlen.put(2754, 2);
    maxCharlen.put(2755, 2);
    maxCharlen.put(2756, 2);
    maxCharlen.put(2757, 2);
    maxCharlen.put(2758, 2);
    maxCharlen.put(2759, 2);
    maxCharlen.put(2816, 4);
    maxCharlen.put(2817, 4);
    maxCharlen.put(2818, 4);
    maxCharlen.put(2819, 4);
    maxCharlen.put(2820, 4);
    maxCharlen.put(2821, 4);
    maxCharlen.put(2822, 4);
    maxCharlen.put(2823, 4);
    maxCharlen.put(2824, 4);
    maxCharlen.put(2825, 4);
    maxCharlen.put(2826, 4);
    maxCharlen.put(2827, 4);
    maxCharlen.put(2828, 4);
    maxCharlen.put(2829, 4);
    maxCharlen.put(2830, 4);
    maxCharlen.put(2831, 4);
    maxCharlen.put(2832, 4);
    maxCharlen.put(2833, 4);
    maxCharlen.put(2834, 4);
    maxCharlen.put(2835, 4);
    maxCharlen.put(2836, 4);
    maxCharlen.put(2837, 4);
    maxCharlen.put(2838, 4);
    maxCharlen.put(2839, 4);
    maxCharlen.put(2840, 4);
    maxCharlen.put(2841, 4);
    maxCharlen.put(2842, 4);
    maxCharlen.put(2843, 4);
    maxCharlen.put(2844, 4);
    maxCharlen.put(2845, 4);
    maxCharlen.put(2846, 4);
    maxCharlen.put(2847, 4);
    maxCharlen.put(2848, 4);
    maxCharlen.put(2849, 4);
    maxCharlen.put(2850, 4);
    maxCharlen.put(2851, 4);
    maxCharlen.put(2852, 4);
    maxCharlen.put(2853, 4);
    maxCharlen.put(2854, 4);
    maxCharlen.put(2855, 4);
    maxCharlen.put(2856, 4);
    maxCharlen.put(2857, 4);
    maxCharlen.put(2858, 4);
    maxCharlen.put(2859, 4);
    maxCharlen.put(2860, 4);
    maxCharlen.put(2861, 4);
    maxCharlen.put(2862, 4);
    maxCharlen.put(2863, 4);
    maxCharlen.put(2864, 4);
    maxCharlen.put(2865, 4);
    maxCharlen.put(2866, 4);
    maxCharlen.put(2867, 4);
    maxCharlen.put(2868, 4);
    maxCharlen.put(2869, 4);
    maxCharlen.put(2870, 4);
    maxCharlen.put(2871, 4);
    maxCharlen.put(2872, 4);
    maxCharlen.put(2873, 4);
    maxCharlen.put(2874, 4);
    maxCharlen.put(2875, 4);
    maxCharlen.put(2876, 4);
    maxCharlen.put(2877, 4);
    maxCharlen.put(2878, 4);
    maxCharlen.put(2879, 4);
    maxCharlen.put(2880, 4);
    maxCharlen.put(2881, 4);
    maxCharlen.put(2882, 4);
    maxCharlen.put(2883, 4);
    maxCharlen.put(2884, 4);
    maxCharlen.put(2885, 4);
    maxCharlen.put(2886, 4);
    maxCharlen.put(2887, 4);
    maxCharlen.put(2888, 4);
    maxCharlen.put(2889, 4);
    maxCharlen.put(2890, 4);
    maxCharlen.put(2891, 4);
    maxCharlen.put(2892, 4);
    maxCharlen.put(2893, 4);
    maxCharlen.put(2894, 4);
    maxCharlen.put(2895, 4);
    maxCharlen.put(2896, 4);
    maxCharlen.put(2897, 4);
    maxCharlen.put(2898, 4);
    maxCharlen.put(2899, 4);
    maxCharlen.put(2900, 4);
    maxCharlen.put(2901, 4);
    maxCharlen.put(2902, 4);
    maxCharlen.put(2903, 4);
    maxCharlen.put(2904, 4);
    maxCharlen.put(2905, 4);
    maxCharlen.put(2906, 4);
    maxCharlen.put(2907, 4);
    maxCharlen.put(2908, 4);
    maxCharlen.put(2909, 4);
    maxCharlen.put(2910, 4);
    maxCharlen.put(2911, 4);
    maxCharlen.put(2912, 4);
    maxCharlen.put(2913, 4);
    maxCharlen.put(2914, 4);
    maxCharlen.put(2915, 4);
    maxCharlen.put(2916, 4);
    maxCharlen.put(2917, 4);
    maxCharlen.put(2918, 4);
    maxCharlen.put(2919, 4);
    maxCharlen.put(2920, 4);
    maxCharlen.put(2921, 4);
    maxCharlen.put(2922, 4);
    maxCharlen.put(2923, 4);
    maxCharlen.put(2924, 4);
    maxCharlen.put(2925, 4);
    maxCharlen.put(2926, 4);
    maxCharlen.put(2927, 4);
    maxCharlen.put(2928, 4);
    maxCharlen.put(2929, 4);
    maxCharlen.put(2930, 4);
    maxCharlen.put(2931, 4);
    maxCharlen.put(2932, 4);
    maxCharlen.put(2933, 4);
    maxCharlen.put(2934, 4);
    maxCharlen.put(2935, 4);
    maxCharlen.put(2936, 4);
    maxCharlen.put(2937, 4);
    maxCharlen.put(2938, 4);
    maxCharlen.put(2939, 4);
    maxCharlen.put(2940, 4);
    maxCharlen.put(2941, 4);
    maxCharlen.put(2942, 4);
    maxCharlen.put(2943, 4);
    maxCharlen.put(2944, 4);
    maxCharlen.put(2945, 4);
    maxCharlen.put(2946, 4);
    maxCharlen.put(2947, 4);
    maxCharlen.put(2948, 4);
    maxCharlen.put(2949, 4);
    maxCharlen.put(2950, 4);
    maxCharlen.put(2951, 4);
    maxCharlen.put(2952, 4);
    maxCharlen.put(2953, 4);
    maxCharlen.put(2954, 4);
    maxCharlen.put(2955, 4);
    maxCharlen.put(2956, 4);
    maxCharlen.put(2957, 4);
    maxCharlen.put(2958, 4);
    maxCharlen.put(2959, 4);
    maxCharlen.put(2960, 4);
    maxCharlen.put(2961, 4);
    maxCharlen.put(2962, 4);
    maxCharlen.put(2963, 4);
    maxCharlen.put(2964, 4);
    maxCharlen.put(2965, 4);
    maxCharlen.put(2966, 4);
    maxCharlen.put(2967, 4);
    maxCharlen.put(2968, 4);
    maxCharlen.put(2969, 4);
    maxCharlen.put(2970, 4);
    maxCharlen.put(2971, 4);
    maxCharlen.put(2972, 4);
    maxCharlen.put(2973, 4);
    maxCharlen.put(2974, 4);
    maxCharlen.put(2975, 4);
    maxCharlen.put(2976, 4);
    maxCharlen.put(2977, 4);
    maxCharlen.put(2978, 4);
    maxCharlen.put(2979, 4);
    maxCharlen.put(2980, 4);
    maxCharlen.put(2981, 4);
    maxCharlen.put(2982, 4);
    maxCharlen.put(2983, 4);
    maxCharlen.put(3000, 4);
    maxCharlen.put(3001, 4);
    maxCharlen.put(3002, 4);
    maxCharlen.put(3003, 4);
    maxCharlen.put(3004, 4);
    maxCharlen.put(3005, 4);
    maxCharlen.put(3006, 4);
    maxCharlen.put(3007, 4);
    maxCharlen.put(3008, 4);
    maxCharlen.put(3009, 4);
    maxCharlen.put(3010, 4);
    maxCharlen.put(3011, 4);
    maxCharlen.put(3012, 4);
    maxCharlen.put(3013, 4);
    maxCharlen.put(3014, 4);
    maxCharlen.put(3015, 4);
    maxCharlen.put(3072, 4);
    maxCharlen.put(3073, 4);
    maxCharlen.put(3074, 4);
    maxCharlen.put(3075, 4);
    maxCharlen.put(3076, 4);
    maxCharlen.put(3077, 4);
    maxCharlen.put(3078, 4);
    maxCharlen.put(3079, 4);
    maxCharlen.put(3080, 4);
    maxCharlen.put(3081, 4);
    maxCharlen.put(3082, 4);
    maxCharlen.put(3083, 4);
    maxCharlen.put(3084, 4);
    maxCharlen.put(3085, 4);
    maxCharlen.put(3086, 4);
    maxCharlen.put(3087, 4);
    maxCharlen.put(3088, 4);
    maxCharlen.put(3089, 4);
    maxCharlen.put(3090, 4);
    maxCharlen.put(3091, 4);
    maxCharlen.put(3092, 4);
    maxCharlen.put(3093, 4);
    maxCharlen.put(3094, 4);
    maxCharlen.put(3095, 4);
    maxCharlen.put(3096, 4);
    maxCharlen.put(3097, 4);
    maxCharlen.put(3098, 4);
    maxCharlen.put(3099, 4);
    maxCharlen.put(3100, 4);
    maxCharlen.put(3101, 4);
    maxCharlen.put(3102, 4);
    maxCharlen.put(3103, 4);
    maxCharlen.put(3104, 4);
    maxCharlen.put(3105, 4);
    maxCharlen.put(3106, 4);
    maxCharlen.put(3107, 4);
    maxCharlen.put(3108, 4);
    maxCharlen.put(3109, 4);
    maxCharlen.put(3110, 4);
    maxCharlen.put(3111, 4);
    maxCharlen.put(3112, 4);
    maxCharlen.put(3113, 4);
    maxCharlen.put(3114, 4);
    maxCharlen.put(3115, 4);
    maxCharlen.put(3116, 4);
    maxCharlen.put(3117, 4);
    maxCharlen.put(3118, 4);
    maxCharlen.put(3119, 4);
    maxCharlen.put(3120, 4);
    maxCharlen.put(3121, 4);
    maxCharlen.put(3122, 4);
    maxCharlen.put(3123, 4);
    maxCharlen.put(3124, 4);
    maxCharlen.put(3125, 4);
    maxCharlen.put(3126, 4);
    maxCharlen.put(3127, 4);
    maxCharlen.put(3128, 4);
    maxCharlen.put(3129, 4);
    maxCharlen.put(3130, 4);
    maxCharlen.put(3131, 4);
    maxCharlen.put(3132, 4);
    maxCharlen.put(3133, 4);
    maxCharlen.put(3134, 4);
    maxCharlen.put(3135, 4);
    maxCharlen.put(3136, 4);
    maxCharlen.put(3137, 4);
    maxCharlen.put(3138, 4);
    maxCharlen.put(3139, 4);
    maxCharlen.put(3140, 4);
    maxCharlen.put(3141, 4);
    maxCharlen.put(3142, 4);
    maxCharlen.put(3143, 4);
    maxCharlen.put(3144, 4);
    maxCharlen.put(3145, 4);
    maxCharlen.put(3146, 4);
    maxCharlen.put(3147, 4);
    maxCharlen.put(3148, 4);
    maxCharlen.put(3149, 4);
    maxCharlen.put(3150, 4);
    maxCharlen.put(3151, 4);
    maxCharlen.put(3152, 4);
    maxCharlen.put(3153, 4);
    maxCharlen.put(3154, 4);
    maxCharlen.put(3155, 4);
    maxCharlen.put(3156, 4);
    maxCharlen.put(3157, 4);
    maxCharlen.put(3158, 4);
    maxCharlen.put(3159, 4);
    maxCharlen.put(3160, 4);
    maxCharlen.put(3161, 4);
    maxCharlen.put(3162, 4);
    maxCharlen.put(3163, 4);
    maxCharlen.put(3164, 4);
    maxCharlen.put(3165, 4);
    maxCharlen.put(3166, 4);
    maxCharlen.put(3167, 4);
    maxCharlen.put(3168, 4);
    maxCharlen.put(3169, 4);
    maxCharlen.put(3170, 4);
    maxCharlen.put(3171, 4);
    maxCharlen.put(3172, 4);
    maxCharlen.put(3173, 4);
    maxCharlen.put(3174, 4);
    maxCharlen.put(3175, 4);
    maxCharlen.put(3176, 4);
    maxCharlen.put(3177, 4);
    maxCharlen.put(3178, 4);
    maxCharlen.put(3179, 4);
    maxCharlen.put(3180, 4);
    maxCharlen.put(3181, 4);
    maxCharlen.put(3182, 4);
    maxCharlen.put(3183, 4);
    maxCharlen.put(3184, 4);
    maxCharlen.put(3185, 4);
    maxCharlen.put(3186, 4);
    maxCharlen.put(3187, 4);
    maxCharlen.put(3188, 4);
    maxCharlen.put(3189, 4);
    maxCharlen.put(3190, 4);
    maxCharlen.put(3191, 4);
    maxCharlen.put(3192, 4);
    maxCharlen.put(3193, 4);
    maxCharlen.put(3194, 4);
    maxCharlen.put(3195, 4);
    maxCharlen.put(3196, 4);
    maxCharlen.put(3197, 4);
    maxCharlen.put(3198, 4);
    maxCharlen.put(3199, 4);
    maxCharlen.put(3200, 4);
    maxCharlen.put(3201, 4);
    maxCharlen.put(3202, 4);
    maxCharlen.put(3203, 4);
    maxCharlen.put(3204, 4);
    maxCharlen.put(3205, 4);
    maxCharlen.put(3206, 4);
    maxCharlen.put(3207, 4);
    maxCharlen.put(3208, 4);
    maxCharlen.put(3209, 4);
    maxCharlen.put(3210, 4);
    maxCharlen.put(3211, 4);
    maxCharlen.put(3212, 4);
    maxCharlen.put(3213, 4);
    maxCharlen.put(3214, 4);
    maxCharlen.put(3215, 4);
    maxCharlen.put(3216, 4);
    maxCharlen.put(3217, 4);
    maxCharlen.put(3218, 4);
    maxCharlen.put(3219, 4);
    maxCharlen.put(3220, 4);
    maxCharlen.put(3221, 4);
    maxCharlen.put(3222, 4);
    maxCharlen.put(3223, 4);
    maxCharlen.put(3224, 4);
    maxCharlen.put(3225, 4);
    maxCharlen.put(3226, 4);
    maxCharlen.put(3227, 4);
    maxCharlen.put(3228, 4);
    maxCharlen.put(3229, 4);
    maxCharlen.put(3230, 4);
    maxCharlen.put(3231, 4);
    maxCharlen.put(3232, 4);
    maxCharlen.put(3233, 4);
    maxCharlen.put(3234, 4);
    maxCharlen.put(3235, 4);
    maxCharlen.put(3236, 4);
    maxCharlen.put(3237, 4);
    maxCharlen.put(3238, 4);
    maxCharlen.put(3239, 4);
    maxCharlen.put(3256, 4);
    maxCharlen.put(3257, 4);
    maxCharlen.put(3258, 4);
    maxCharlen.put(3259, 4);
    maxCharlen.put(3260, 4);
    maxCharlen.put(3261, 4);
    maxCharlen.put(3262, 4);
    maxCharlen.put(3263, 4);
    maxCharlen.put(3264, 4);
    maxCharlen.put(3265, 4);
    maxCharlen.put(3266, 4);
    maxCharlen.put(3267, 4);
    maxCharlen.put(3268, 4);
    maxCharlen.put(3269, 4);
    maxCharlen.put(3270, 4);
    maxCharlen.put(3271, 4);
  }
}
