1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/netwerk/dns/nameprepdata.c Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,2588 @@ 1.4 +/* 1.5 + * Copyright (c) 2001,2002 Japan Network Information Center. 1.6 + * All rights reserved. 1.7 + * 1.8 + * By using this file, you agree to the terms and conditions set forth bellow. 1.9 + * 1.10 + * LICENSE TERMS AND CONDITIONS 1.11 + * 1.12 + * The following License Terms and Conditions apply, unless a different 1.13 + * license is obtained from Japan Network Information Center ("JPNIC"), 1.14 + * a Japanese association, Kokusai-Kougyou-Kanda Bldg 6F, 2-3-4 Uchi-Kanda, 1.15 + * Chiyoda-ku, Tokyo 101-0047, Japan. 1.16 + * 1.17 + * 1. Use, Modification and Redistribution (including distribution of any 1.18 + * modified or derived work) in source and/or binary forms is permitted 1.19 + * under this License Terms and Conditions. 1.20 + * 1.21 + * 2. Redistribution of source code must retain the copyright notices as they 1.22 + * appear in each source code file, this License Terms and Conditions. 1.23 + * 1.24 + * 3. Redistribution in binary form must reproduce the Copyright Notice, 1.25 + * this License Terms and Conditions, in the documentation and/or other 1.26 + * materials provided with the distribution. For the purposes of binary 1.27 + * distribution the "Copyright Notice" refers to the following language: 1.28 + * "Copyright (c) 2000-2002 Japan Network Information Center. All rights reserved." 1.29 + * 1.30 + * 4. The name of JPNIC may not be used to endorse or promote products 1.31 + * derived from this Software without specific prior written approval of 1.32 + * JPNIC. 1.33 + * 1.34 + * 5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC 1.35 + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1.36 + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 1.37 + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE 1.38 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 1.39 + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 1.40 + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 1.41 + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 1.42 + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 1.43 + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 1.44 + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 1.45 + */ 1.46 + 1.47 + /* 1.48 + * Do not edit this file! 1.49 + * This file is generated from NAMEPREP specification. 1.50 + */ 1.51 + 1.52 +#define MAP_BITS_0 9 1.53 +#define MAP_BITS_1 7 1.54 +#define MAP_BITS_2 5 1.55 + 1.56 +#define PROH_BITS_0 7 1.57 +#define PROH_BITS_1 7 1.58 +#define PROH_BITS_2 7 1.59 + 1.60 +#define UNAS_BITS_0 7 1.61 +#define UNAS_BITS_1 7 1.62 +#define UNAS_BITS_2 7 1.63 + 1.64 +#define BIDI_BITS_0 9 1.65 +#define BIDI_BITS_1 7 1.66 +#define BIDI_BITS_2 5 1.67 + 1.68 + 1.69 +static const unsigned short nameprep_id11_map_imap[] = { 1.70 + 272, 400, 528, 656, 784, 784, 784, 784, 1.71 + 784, 784, 784, 784, 784, 784, 784, 912, 1.72 + 1040, 784, 784, 784, 784, 784, 784, 784, 1.73 + 784, 784, 784, 784, 784, 1168, 784, 784, 1.74 + 784, 784, 784, 784, 784, 784, 784, 784, 1.75 + 784, 784, 784, 784, 784, 784, 784, 784, 1.76 + 784, 784, 784, 784, 784, 784, 784, 784, 1.77 + 784, 784, 784, 784, 784, 784, 784, 784, 1.78 + 784, 784, 784, 784, 784, 784, 784, 784, 1.79 + 784, 784, 784, 784, 784, 784, 784, 784, 1.80 + 784, 784, 784, 784, 784, 784, 784, 784, 1.81 + 784, 784, 784, 784, 784, 784, 784, 784, 1.82 + 784, 784, 784, 784, 784, 784, 784, 784, 1.83 + 784, 784, 784, 784, 784, 784, 784, 784, 1.84 + 784, 784, 784, 784, 784, 784, 784, 784, 1.85 + 784, 784, 784, 784, 784, 784, 784, 784, 1.86 + 784, 784, 784, 784, 784, 784, 784, 784, 1.87 + 784, 784, 784, 784, 784, 784, 784, 784, 1.88 + 784, 784, 784, 784, 784, 784, 784, 784, 1.89 + 784, 784, 784, 784, 784, 784, 784, 784, 1.90 + 784, 784, 784, 784, 784, 784, 784, 784, 1.91 + 784, 784, 784, 784, 784, 784, 784, 784, 1.92 + 784, 784, 784, 784, 784, 784, 784, 784, 1.93 + 784, 784, 784, 784, 784, 784, 784, 784, 1.94 + 784, 784, 784, 784, 784, 784, 784, 784, 1.95 + 784, 784, 784, 784, 784, 784, 784, 784, 1.96 + 784, 784, 784, 784, 784, 784, 784, 784, 1.97 + 784, 784, 784, 784, 784, 784, 784, 784, 1.98 + 784, 784, 784, 784, 784, 784, 784, 784, 1.99 + 784, 784, 784, 784, 784, 784, 784, 784, 1.100 + 784, 784, 784, 784, 784, 784, 784, 784, 1.101 + 784, 784, 784, 784, 784, 784, 784, 784, 1.102 + 784, 784, 784, 784, 784, 784, 784, 784, 1.103 + 784, 784, 784, 784, 784, 784, 784, 784, 1.104 + 0, 0, 1, 0, 0, 2, 3, 0, 1.105 + 4, 5, 6, 7, 8, 9, 10, 11, 1.106 + 12, 13, 0, 0, 0, 0, 0, 0, 1.107 + 0, 0, 14, 15, 16, 17, 18, 19, 1.108 + 20, 21, 0, 22, 23, 24, 25, 26, 1.109 + 27, 28, 29, 0, 30, 0, 0, 0, 1.110 + 0, 0, 0, 0, 0, 0, 0, 0, 1.111 + 0, 0, 0, 0, 0, 0, 0, 0, 1.112 + 0, 0, 0, 0, 0, 0, 0, 0, 1.113 + 0, 0, 0, 0, 0, 0, 0, 0, 1.114 + 0, 0, 0, 0, 0, 0, 0, 0, 1.115 + 0, 0, 0, 0, 0, 0, 0, 0, 1.116 + 0, 0, 0, 0, 0, 0, 0, 0, 1.117 + 0, 0, 0, 0, 0, 0, 0, 0, 1.118 + 0, 0, 0, 0, 0, 0, 0, 0, 1.119 + 0, 0, 0, 0, 0, 0, 0, 0, 1.120 + 0, 0, 0, 0, 0, 0, 0, 0, 1.121 + 0, 0, 0, 0, 0, 0, 0, 0, 1.122 + 0, 0, 0, 0, 0, 0, 0, 0, 1.123 + 0, 0, 0, 0, 0, 0, 0, 0, 1.124 + 0, 0, 0, 0, 0, 0, 0, 0, 1.125 + 0, 0, 0, 0, 0, 0, 0, 0, 1.126 + 0, 0, 0, 0, 0, 0, 0, 0, 1.127 + 0, 0, 0, 0, 0, 0, 0, 0, 1.128 + 31, 0, 0, 0, 0, 0, 0, 0, 1.129 + 0, 0, 0, 0, 0, 0, 0, 0, 1.130 + 0, 0, 0, 0, 0, 0, 0, 0, 1.131 + 0, 0, 0, 0, 0, 0, 0, 0, 1.132 + 0, 0, 0, 0, 0, 0, 0, 0, 1.133 + 0, 0, 0, 0, 0, 0, 0, 0, 1.134 + 32, 33, 34, 35, 36, 37, 38, 39, 1.135 + 40, 41, 42, 43, 44, 45, 46, 47, 1.136 + 48, 0, 0, 49, 0, 50, 0, 0, 1.137 + 51, 52, 53, 54, 0, 0, 0, 0, 1.138 + 0, 0, 0, 0, 0, 0, 0, 0, 1.139 + 0, 0, 0, 0, 0, 0, 0, 0, 1.140 + 0, 0, 0, 0, 0, 55, 56, 0, 1.141 + 0, 0, 0, 0, 0, 0, 0, 0, 1.142 + 0, 0, 0, 0, 0, 0, 0, 0, 1.143 + 0, 0, 0, 0, 0, 0, 0, 0, 1.144 + 0, 0, 0, 0, 0, 0, 0, 0, 1.145 + 0, 0, 0, 0, 0, 0, 0, 0, 1.146 + 0, 0, 0, 0, 0, 0, 0, 0, 1.147 + 0, 0, 0, 0, 0, 0, 0, 0, 1.148 + 0, 0, 0, 0, 0, 0, 0, 0, 1.149 + 0, 0, 0, 0, 0, 0, 0, 0, 1.150 + 0, 0, 0, 0, 0, 0, 0, 0, 1.151 + 0, 0, 0, 0, 0, 0, 0, 0, 1.152 + 0, 0, 0, 0, 0, 0, 0, 0, 1.153 + 0, 0, 0, 0, 0, 0, 0, 0, 1.154 + 0, 0, 0, 0, 0, 0, 0, 0, 1.155 + 0, 0, 0, 57, 58, 59, 60, 0, 1.156 + 0, 0, 0, 0, 0, 0, 0, 0, 1.157 + 0, 0, 0, 0, 0, 0, 0, 0, 1.158 + 0, 0, 0, 0, 0, 0, 0, 0, 1.159 + 0, 0, 0, 0, 0, 0, 0, 0, 1.160 + 0, 0, 0, 0, 0, 0, 0, 0, 1.161 + 0, 0, 0, 0, 0, 0, 0, 0, 1.162 + 0, 0, 0, 0, 0, 0, 0, 0, 1.163 + 0, 0, 0, 0, 0, 0, 0, 0, 1.164 + 0, 0, 0, 0, 0, 0, 0, 0, 1.165 + 0, 0, 0, 0, 0, 0, 0, 0, 1.166 + 0, 0, 0, 0, 0, 0, 0, 0, 1.167 + 0, 0, 0, 0, 0, 0, 0, 0, 1.168 + 0, 0, 0, 0, 0, 0, 0, 0, 1.169 + 0, 0, 0, 0, 0, 0, 0, 0, 1.170 + 0, 0, 0, 0, 0, 0, 0, 0, 1.171 + 0, 0, 0, 0, 0, 0, 0, 0, 1.172 + 0, 0, 0, 0, 0, 0, 0, 0, 1.173 + 0, 0, 0, 0, 0, 0, 0, 0, 1.174 + 0, 0, 0, 0, 0, 0, 0, 0, 1.175 + 0, 0, 0, 0, 0, 0, 0, 0, 1.176 + 0, 0, 0, 0, 0, 0, 0, 0, 1.177 + 0, 0, 0, 0, 0, 0, 0, 0, 1.178 + 0, 0, 0, 0, 0, 0, 0, 0, 1.179 + 0, 0, 0, 0, 0, 0, 0, 0, 1.180 + 0, 0, 0, 0, 0, 0, 0, 0, 1.181 + 0, 0, 0, 0, 0, 0, 0, 0, 1.182 + 0, 0, 0, 0, 0, 0, 0, 0, 1.183 + 0, 0, 0, 0, 0, 0, 0, 0, 1.184 + 0, 0, 0, 0, 0, 0, 0, 0, 1.185 + 0, 0, 0, 0, 0, 0, 0, 0, 1.186 + 0, 0, 0, 0, 0, 0, 0, 0, 1.187 + 0, 0, 0, 0, 0, 0, 0, 0, 1.188 + 0, 0, 0, 0, 0, 0, 0, 0, 1.189 + 0, 0, 0, 0, 0, 0, 0, 0, 1.190 + 0, 0, 0, 0, 0, 0, 0, 0, 1.191 + 0, 0, 0, 0, 0, 0, 0, 0, 1.192 + 0, 0, 0, 0, 0, 0, 0, 0, 1.193 + 0, 0, 0, 0, 0, 0, 0, 0, 1.194 + 0, 0, 0, 0, 0, 0, 0, 0, 1.195 + 61, 0, 0, 0, 0, 0, 0, 0, 1.196 + 0, 0, 0, 0, 0, 0, 0, 0, 1.197 + 0, 0, 0, 0, 0, 0, 0, 0, 1.198 + 62, 0, 0, 0, 0, 0, 0, 63, 1.199 + 0, 64, 0, 0, 0, 0, 0, 0, 1.200 + 0, 0, 0, 0, 0, 0, 0, 0, 1.201 + 0, 0, 0, 0, 0, 0, 0, 0, 1.202 + 0, 0, 0, 0, 0, 0, 0, 0, 1.203 + 0, 0, 0, 0, 0, 0, 0, 0, 1.204 + 65, 66, 0, 0, 0, 0, 0, 0, 1.205 + 0, 0, 0, 0, 0, 0, 0, 0, 1.206 + 0, 0, 0, 0, 0, 0, 0, 0, 1.207 + 0, 0, 0, 0, 0, 0, 0, 0, 1.208 + 0, 0, 0, 0, 0, 0, 0, 0, 1.209 + 0, 0, 0, 0, 0, 0, 0, 0, 1.210 + 0, 0, 0, 0, 0, 0, 0, 0, 1.211 + 0, 0, 0, 0, 0, 0, 0, 0, 1.212 + 0, 0, 0, 0, 0, 0, 0, 0, 1.213 + 0, 0, 0, 0, 0, 0, 0, 0, 1.214 + 0, 0, 0, 0, 0, 0, 0, 0, 1.215 + 0, 0, 0, 0, 0, 0, 0, 0, 1.216 + 0, 0, 0, 0, 0, 0, 0, 0, 1.217 + 0, 0, 0, 0, 0, 0, 0, 0, 1.218 + 0, 0, 0, 0, 0, 0, 0, 0, 1.219 + 0, 0, 0, 0, 0, 0, 0, 0, 1.220 + 67, 68, 69, 70, 71, 72, 73, 74, 1.221 + 75, 76, 77, 78, 79, 67, 68, 69, 1.222 + 70, 80, 81, 73, 74, 82, 83, 84, 1.223 + 85, 86, 87, 88, 89, 90, 0, 0, 1.224 + 0, 0, 0, 0, 0, 0, 0, 0, 1.225 + 0, 0, 0, 0, 0, 0, 0, 0, 1.226 + 0, 0, 0, 0, 0, 0, 0, 0, 1.227 + 0, 0, 0, 0, 0, 0, 0, 0, 1.228 + 0, 0, 0, 0, 0, 0, 0, 0, 1.229 + 0, 0, 0, 0, 0, 0, 0, 0, 1.230 + 0, 0, 0, 0, 0, 0, 0, 0, 1.231 + 0, 0, 0, 0, 0, 0, 0, 0, 1.232 +}; 1.233 + 1.234 +static const struct { 1.235 + unsigned short tbl[32]; 1.236 +} nameprep_id11_map_table[] = { 1.237 + {{ 1.238 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.239 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.240 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.241 + }}, 1.242 + {{ 1.243 + 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 1.244 + 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 1.245 + 44, 46, 48, 50, 52, 0, 0, 0, 0, 0, 1.246 + }}, 1.247 + {{ 1.248 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.249 + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 54, 1.250 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.251 + }}, 1.252 + {{ 1.253 + 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 1.254 + 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 1.255 + 101, 0, 103, 105, 107, 109, 111, 113, 115, 117, 1.256 + }}, 1.257 + {{ 1.258 + 123, 0, 126, 0, 129, 0, 132, 0, 135, 0, 138, 1.259 + 0, 141, 0, 144, 0, 147, 0, 150, 0, 153, 0, 1.260 + 156, 0, 159, 0, 162, 0, 165, 0, 168, 0, 1.261 + }}, 1.262 + {{ 1.263 + 171, 0, 174, 0, 177, 0, 180, 0, 183, 0, 186, 1.264 + 0, 189, 0, 192, 0, 195, 0, 202, 0, 205, 0, 1.265 + 208, 0, 0, 211, 0, 214, 0, 217, 0, 220, 1.266 + }}, 1.267 + {{ 1.268 + 0, 223, 0, 226, 0, 229, 0, 232, 0, 235, 241, 1.269 + 0, 244, 0, 247, 0, 250, 0, 253, 0, 256, 0, 1.270 + 259, 0, 262, 0, 265, 0, 268, 0, 271, 0, 1.271 + }}, 1.272 + {{ 1.273 + 274, 0, 277, 0, 280, 0, 283, 0, 286, 0, 289, 1.274 + 0, 292, 0, 295, 0, 298, 0, 301, 0, 304, 0, 1.275 + 307, 0, 310, 312, 0, 315, 0, 318, 0, 38, 1.276 + }}, 1.277 + {{ 1.278 + 0, 321, 324, 0, 327, 0, 330, 333, 0, 336, 339, 1.279 + 342, 0, 0, 345, 348, 351, 354, 0, 357, 360, 0, 1.280 + 363, 366, 369, 0, 0, 0, 372, 375, 0, 378, 1.281 + }}, 1.282 + {{ 1.283 + 381, 0, 384, 0, 387, 0, 390, 393, 0, 396, 0, 1.284 + 0, 399, 0, 402, 405, 0, 408, 411, 414, 0, 417, 1.285 + 0, 420, 423, 0, 0, 0, 426, 0, 0, 0, 1.286 + }}, 1.287 + {{ 1.288 + 0, 0, 0, 0, 429, 429, 0, 432, 432, 0, 435, 1.289 + 435, 0, 438, 0, 441, 0, 444, 0, 447, 0, 450, 1.290 + 0, 453, 0, 456, 0, 459, 0, 0, 462, 0, 1.291 + }}, 1.292 + {{ 1.293 + 465, 0, 468, 0, 471, 0, 474, 0, 477, 0, 480, 1.294 + 0, 483, 0, 486, 0, 489, 496, 496, 0, 499, 0, 1.295 + 502, 505, 508, 0, 511, 0, 514, 0, 517, 0, 1.296 + }}, 1.297 + {{ 1.298 + 520, 0, 523, 0, 526, 0, 529, 0, 532, 0, 535, 1.299 + 0, 538, 0, 541, 0, 544, 0, 547, 0, 550, 0, 1.300 + 553, 0, 556, 0, 559, 0, 562, 0, 565, 0, 1.301 + }}, 1.302 + {{ 1.303 + 568, 0, 571, 0, 574, 0, 577, 0, 580, 0, 583, 1.304 + 0, 586, 0, 589, 0, 592, 0, 595, 0, 0, 0, 1.305 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.306 + }}, 1.307 + {{ 1.308 + 0, 0, 0, 0, 0, 598, 0, 0, 0, 0, 0, 1.309 + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1.310 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.311 + }}, 1.312 + {{ 1.313 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.314 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.315 + 0, 0, 0, 0, 601, 0, 0, 0, 0, 0, 1.316 + }}, 1.317 + {{ 1.318 + 0, 0, 0, 0, 0, 0, 608, 0, 611, 614, 617, 1.319 + 0, 620, 0, 623, 626, 629, 640, 643, 646, 649, 652, 1.320 + 655, 658, 661, 598, 664, 667, 54, 670, 673, 676, 1.321 + }}, 1.322 + {{ 1.323 + 679, 682, 0, 685, 688, 691, 694, 697, 700, 703, 706, 1.324 + 709, 0, 0, 0, 0, 712, 0, 0, 0, 0, 0, 1.325 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.326 + }}, 1.327 + {{ 1.328 + 0, 0, 685, 0, 0, 0, 0, 0, 0, 0, 0, 1.329 + 0, 0, 0, 0, 0, 643, 661, 691, 623, 709, 694, 1.330 + 679, 0, 723, 0, 726, 0, 729, 0, 732, 0, 1.331 + }}, 1.332 + {{ 1.333 + 735, 0, 738, 0, 741, 0, 744, 0, 747, 0, 750, 1.334 + 0, 753, 0, 756, 0, 664, 682, 685, 0, 661, 652, 1.335 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.336 + }}, 1.337 + {{ 1.338 + 759, 762, 765, 768, 771, 774, 777, 780, 783, 786, 789, 1.339 + 792, 795, 798, 801, 804, 807, 810, 813, 816, 819, 822, 1.340 + 825, 828, 831, 834, 837, 840, 843, 846, 849, 852, 1.341 + }}, 1.342 + {{ 1.343 + 855, 858, 861, 864, 867, 870, 873, 876, 879, 882, 885, 1.344 + 888, 891, 894, 897, 900, 0, 0, 0, 0, 0, 0, 1.345 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.346 + }}, 1.347 + {{ 1.348 + 903, 0, 906, 0, 909, 0, 912, 0, 915, 0, 918, 1.349 + 0, 921, 0, 924, 0, 927, 0, 930, 0, 933, 0, 1.350 + 936, 0, 939, 0, 942, 0, 945, 0, 948, 0, 1.351 + }}, 1.352 + {{ 1.353 + 951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 954, 1.354 + 0, 957, 0, 960, 0, 963, 0, 966, 0, 969, 0, 1.355 + 972, 0, 975, 0, 978, 0, 981, 0, 984, 0, 1.356 + }}, 1.357 + {{ 1.358 + 987, 0, 990, 0, 993, 0, 996, 0, 999, 0, 1002, 1.359 + 0, 1005, 0, 1008, 0, 1011, 0, 1014, 0, 1017, 0, 1.360 + 1020, 0, 1023, 0, 1026, 0, 1029, 0, 1032, 0, 1.361 + }}, 1.362 + {{ 1.363 + 0, 1035, 0, 1038, 0, 1041, 0, 1044, 0, 1047, 0, 1.364 + 1050, 0, 1053, 0, 0, 1056, 0, 1059, 0, 1062, 0, 1.365 + 1065, 0, 1068, 0, 1071, 0, 1074, 0, 1077, 0, 1.366 + }}, 1.367 + {{ 1.368 + 1080, 0, 1083, 0, 1086, 0, 1089, 0, 1092, 0, 1095, 1.369 + 0, 1098, 0, 1101, 0, 1104, 0, 1107, 0, 1110, 0, 1.370 + 0, 0, 1113, 0, 0, 0, 0, 0, 0, 0, 1.371 + }}, 1.372 + {{ 1.373 + 1116, 0, 1119, 0, 1122, 0, 1125, 0, 1128, 0, 1131, 1.374 + 0, 1134, 0, 1137, 0, 0, 0, 0, 0, 0, 0, 1.375 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.376 + }}, 1.377 + {{ 1.378 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.379 + 0, 0, 0, 0, 0, 0, 1140, 1143, 1146, 1149, 1152, 1.380 + 1155, 1158, 1161, 1164, 1167, 1170, 1173, 1176, 1179, 1182, 1.381 + }}, 1.382 + {{ 1.383 + 1185, 1188, 1191, 1194, 1197, 1200, 1203, 1206, 1209, 1212, 1215, 1.384 + 1218, 1221, 1224, 1227, 1230, 1233, 1236, 1239, 1242, 1245, 1248, 1.385 + 1251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.386 + }}, 1.387 + {{ 1.388 + 0, 0, 0, 0, 0, 0, 0, 1254, 0, 0, 0, 1.389 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.390 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.391 + }}, 1.392 + {{ 1.393 + 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1.394 + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1.395 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.396 + }}, 1.397 + {{ 1.398 + 1261, 0, 1264, 0, 1267, 0, 1270, 0, 1273, 0, 1276, 1.399 + 0, 1279, 0, 1282, 0, 1285, 0, 1288, 0, 1291, 0, 1.400 + 1294, 0, 1297, 0, 1300, 0, 1303, 0, 1306, 0, 1.401 + }}, 1.402 + {{ 1.403 + 1309, 0, 1312, 0, 1315, 0, 1318, 0, 1321, 0, 1324, 1.404 + 0, 1327, 0, 1330, 0, 1333, 0, 1336, 0, 1339, 0, 1.405 + 1342, 0, 1345, 0, 1348, 0, 1351, 0, 1354, 0, 1.406 + }}, 1.407 + {{ 1.408 + 1357, 0, 1360, 0, 1363, 0, 1366, 0, 1369, 0, 1372, 1.409 + 0, 1375, 0, 1378, 0, 1381, 0, 1384, 0, 1387, 0, 1.410 + 1390, 0, 1393, 0, 1396, 0, 1399, 0, 1402, 0, 1.411 + }}, 1.412 + {{ 1.413 + 1405, 0, 1408, 0, 1411, 0, 1414, 0, 1417, 0, 1420, 1.414 + 0, 1423, 0, 1426, 0, 1429, 0, 1432, 0, 1435, 0, 1.415 + 1438, 0, 1441, 0, 1444, 0, 1447, 0, 1450, 0, 1.416 + }}, 1.417 + {{ 1.418 + 1453, 0, 1456, 0, 1459, 0, 1462, 0, 1465, 0, 1468, 1.419 + 0, 1471, 0, 1474, 0, 1477, 0, 1480, 0, 1483, 0, 1.420 + 1486, 1493, 1500, 1507, 1514, 1405, 0, 0, 0, 0, 1.421 + }}, 1.422 + {{ 1.423 + 1521, 0, 1524, 0, 1527, 0, 1530, 0, 1533, 0, 1536, 1.424 + 0, 1539, 0, 1542, 0, 1545, 0, 1548, 0, 1551, 0, 1.425 + 1554, 0, 1557, 0, 1560, 0, 1563, 0, 1566, 0, 1.426 + }}, 1.427 + {{ 1.428 + 1569, 0, 1572, 0, 1575, 0, 1578, 0, 1581, 0, 1584, 1.429 + 0, 1587, 0, 1590, 0, 1593, 0, 1596, 0, 1599, 0, 1.430 + 1602, 0, 1605, 0, 1608, 0, 1611, 0, 1614, 0, 1.431 + }}, 1.432 + {{ 1.433 + 1617, 0, 1620, 0, 1623, 0, 1626, 0, 1629, 0, 1632, 1.434 + 0, 1635, 0, 1638, 0, 1641, 0, 1644, 0, 1647, 0, 1.435 + 1650, 0, 1653, 0, 0, 0, 0, 0, 0, 0, 1.436 + }}, 1.437 + {{ 1.438 + 0, 0, 0, 0, 0, 0, 0, 0, 1656, 1659, 1662, 1.439 + 1665, 1668, 1671, 1674, 1677, 0, 0, 0, 0, 0, 0, 1.440 + 0, 0, 1680, 1683, 1686, 1689, 1692, 1695, 0, 0, 1.441 + }}, 1.442 + {{ 1.443 + 0, 0, 0, 0, 0, 0, 0, 0, 1698, 1701, 1704, 1.444 + 1707, 1710, 1713, 1716, 1719, 0, 0, 0, 0, 0, 0, 1.445 + 0, 0, 1722, 1725, 1728, 1731, 1734, 1737, 1740, 1743, 1.446 + }}, 1.447 + {{ 1.448 + 0, 0, 0, 0, 0, 0, 0, 0, 1746, 1749, 1752, 1.449 + 1755, 1758, 1761, 0, 0, 1764, 0, 1771, 0, 1782, 0, 1.450 + 1793, 0, 0, 1804, 0, 1807, 0, 1810, 0, 1813, 1.451 + }}, 1.452 + {{ 1.453 + 0, 0, 0, 0, 0, 0, 0, 0, 1816, 1819, 1822, 1.454 + 1825, 1828, 1831, 1834, 1837, 0, 0, 0, 0, 0, 0, 1.455 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.456 + }}, 1.457 + {{ 1.458 + 1840, 1847, 1854, 1861, 1868, 1875, 1882, 1889, 1840, 1847, 1854, 1.459 + 1861, 1868, 1875, 1882, 1889, 1896, 1903, 1910, 1917, 1924, 1931, 1.460 + 1938, 1945, 1896, 1903, 1910, 1917, 1924, 1931, 1938, 1945, 1.461 + }}, 1.462 + {{ 1.463 + 1952, 1959, 1966, 1973, 1980, 1987, 1994, 2001, 1952, 1959, 1966, 1.464 + 1973, 1980, 1987, 1994, 2001, 0, 0, 2008, 2015, 2022, 0, 1.465 + 2029, 2036, 2047, 2050, 2053, 2056, 2015, 0, 598, 0, 1.466 + }}, 1.467 + {{ 1.468 + 0, 0, 2059, 2066, 2073, 0, 2080, 2087, 2098, 2101, 2104, 1.469 + 2107, 2066, 0, 0, 0, 0, 0, 2110, 629, 0, 0, 1.470 + 2121, 2128, 2139, 2142, 2145, 2148, 0, 0, 0, 0, 1.471 + }}, 1.472 + {{ 1.473 + 0, 0, 2151, 712, 2162, 0, 2169, 2176, 2187, 2190, 2193, 1.474 + 2196, 2199, 0, 0, 0, 0, 0, 2202, 2209, 2216, 0, 1.475 + 2223, 2230, 2241, 2244, 2247, 2250, 2209, 0, 0, 0, 1.476 + }}, 1.477 + {{ 1.478 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.479 + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1.480 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.481 + }}, 1.482 + {{ 1.483 + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.484 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.485 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.486 + }}, 1.487 + {{ 1.488 + 0, 0, 0, 0, 0, 0, 0, 0, 2253, 0, 0, 1.489 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.490 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.491 + }}, 1.492 + {{ 1.493 + 0, 0, 6, 2259, 0, 0, 0, 351, 0, 2265, 0, 1.494 + 16, 16, 16, 0, 0, 18, 18, 24, 0, 0, 28, 1.495 + 2271, 0, 0, 32, 34, 36, 36, 36, 0, 0, 1.496 + }}, 1.497 + {{ 1.498 + 2277, 2283, 2293, 0, 52, 0, 703, 0, 52, 0, 22, 1.499 + 67, 4, 6, 0, 0, 10, 12, 0, 26, 0, 0, 1.500 + 0, 0, 0, 0, 0, 0, 0, 0, 646, 679, 1.501 + }}, 1.502 + {{ 1.503 + 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 1.504 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.505 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.506 + }}, 1.507 + {{ 1.508 + 2299, 2302, 2305, 2308, 2311, 2314, 2317, 2320, 2323, 2326, 2329, 1.509 + 2332, 2335, 2338, 2341, 2344, 0, 0, 0, 0, 0, 0, 1.510 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.511 + }}, 1.512 + {{ 1.513 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.514 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.515 + 2347, 2350, 2353, 2356, 2359, 2362, 2365, 2368, 2371, 2374, 1.516 + }}, 1.517 + {{ 1.518 + 2377, 2380, 2383, 2386, 2389, 2392, 2395, 2398, 2401, 2404, 2407, 1.519 + 2410, 2413, 2416, 2419, 2422, 0, 0, 0, 0, 0, 0, 1.520 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.521 + }}, 1.522 + {{ 1.523 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.524 + 0, 0, 0, 0, 0, 0, 2425, 0, 2435, 0, 2441, 1.525 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.526 + }}, 1.527 + {{ 1.528 + 2447, 2453, 2459, 2465, 2471, 2477, 2483, 2489, 0, 0, 2495, 1.529 + 2501, 2507, 0, 0, 0, 2513, 2519, 2529, 2539, 2549, 0, 1.530 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.531 + }}, 1.532 + {{ 1.533 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2447, 2559, 1.534 + 2569, 2579, 0, 0, 0, 0, 0, 0, 0, 2589, 2595, 1.535 + 2601, 2607, 2613, 2607, 2619, 2625, 2631, 2637, 2643, 2637, 1.536 + }}, 1.537 + {{ 1.538 + 2649, 2656, 0, 2663, 0, 0, 2669, 2683, 2693, 2699, 0, 1.539 + 2705, 0, 2711, 2717, 0, 0, 0, 0, 0, 0, 0, 1.540 + 0, 2723, 0, 2729, 2739, 0, 2745, 2751, 0, 0, 1.541 + }}, 1.542 + {{ 1.543 + 2757, 2763, 2769, 2775, 2785, 2795, 2795, 0, 0, 0, 0, 1.544 + 0, 0, 0, 0, 0, 0, 0, 0, 2801, 2808, 2815, 1.545 + 2822, 2829, 0, 0, 0, 0, 0, 0, 0, 0, 1.546 + }}, 1.547 + {{ 1.548 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.549 + 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1.550 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.551 + }}, 1.552 + {{ 1.553 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.554 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.555 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1.556 + }}, 1.557 + {{ 1.558 + 0, 2836, 2839, 2842, 2845, 2848, 2851, 2854, 2857, 2860, 2863, 1.559 + 2866, 2869, 2872, 2875, 2878, 2881, 2884, 2887, 2890, 2893, 2896, 1.560 + 2899, 2902, 2905, 2908, 2911, 0, 0, 0, 0, 0, 1.561 + }}, 1.562 + {{ 1.563 + 2914, 2918, 2922, 2926, 2930, 2934, 2938, 2942, 2946, 2950, 2954, 1.564 + 2958, 2962, 2966, 2970, 2974, 2978, 2982, 2986, 2990, 2994, 2998, 1.565 + 3002, 3006, 3010, 3014, 3018, 3022, 3026, 3030, 3034, 3038, 1.566 + }}, 1.567 + {{ 1.568 + 3042, 3046, 3050, 3054, 3058, 3062, 0, 0, 0, 0, 0, 1.569 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.570 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.571 + }}, 1.572 + {{ 1.573 + 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 1.574 + 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 1.575 + 46, 48, 50, 52, 0, 0, 0, 0, 0, 0, 1.576 + }}, 1.577 + {{ 1.578 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.579 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 1.580 + 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 1.581 + }}, 1.582 + {{ 1.583 + 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 1.584 + 48, 50, 52, 0, 0, 0, 0, 0, 0, 0, 0, 1.585 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.586 + }}, 1.587 + {{ 1.588 + 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 6, 1.589 + 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 1.590 + 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 1.591 + }}, 1.592 + {{ 1.593 + 50, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.594 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.595 + 0, 0, 0, 0, 0, 0, 2, 0, 6, 8, 1.596 + }}, 1.597 + {{ 1.598 + 0, 0, 14, 0, 0, 20, 22, 0, 0, 28, 30, 1.599 + 32, 34, 0, 38, 40, 42, 44, 46, 48, 50, 52, 1.600 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.601 + }}, 1.602 + {{ 1.603 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.604 + 0, 0, 0, 0, 0, 2, 4, 6, 8, 10, 12, 1.605 + 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 1.606 + }}, 1.607 + {{ 1.608 + 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 0, 1.609 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.610 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.611 + }}, 1.612 + {{ 1.613 + 0, 0, 0, 0, 2, 4, 0, 8, 10, 12, 14, 1.614 + 0, 0, 20, 22, 24, 26, 28, 30, 32, 34, 0, 1.615 + 38, 40, 42, 44, 46, 48, 50, 0, 0, 0, 1.616 + }}, 1.617 + {{ 1.618 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.619 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.620 + 0, 0, 2, 4, 0, 8, 10, 12, 14, 0, 1.621 + }}, 1.622 + {{ 1.623 + 18, 20, 22, 24, 26, 0, 30, 0, 0, 0, 38, 1.624 + 40, 42, 44, 46, 48, 50, 0, 0, 0, 0, 0, 1.625 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.626 + }}, 1.627 + {{ 1.628 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.629 + 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 1.630 + 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 1.631 + }}, 1.632 + {{ 1.633 + 42, 44, 46, 48, 50, 52, 0, 0, 0, 0, 0, 1.634 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.635 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.636 + }}, 1.637 + {{ 1.638 + 50, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.639 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.640 + 0, 0, 0, 0, 0, 0, 2, 4, 6, 8, 1.641 + }}, 1.642 + {{ 1.643 + 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 1.644 + 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 1.645 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.646 + }}, 1.647 + {{ 1.648 + 0, 0, 0, 0, 0, 0, 0, 0, 640, 643, 646, 1.649 + 649, 652, 655, 658, 661, 598, 664, 667, 54, 670, 673, 1.650 + 676, 679, 682, 661, 685, 688, 691, 694, 697, 700, 1.651 + }}, 1.652 + {{ 1.653 + 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.654 + 0, 0, 0, 0, 0, 0, 0, 0, 685, 0, 0, 1.655 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.656 + }}, 1.657 + {{ 1.658 + 0, 0, 640, 643, 646, 649, 652, 655, 658, 661, 598, 1.659 + 664, 667, 54, 670, 673, 676, 679, 682, 661, 685, 688, 1.660 + 691, 694, 697, 700, 703, 0, 0, 0, 0, 0, 1.661 + }}, 1.662 + {{ 1.663 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.664 + 0, 0, 685, 0, 0, 0, 0, 0, 0, 0, 0, 1.665 + 0, 0, 0, 0, 0, 0, 640, 643, 646, 649, 1.666 + }}, 1.667 + {{ 1.668 + 652, 655, 658, 661, 598, 664, 667, 54, 670, 673, 676, 1.669 + 679, 682, 661, 685, 688, 691, 694, 697, 700, 703, 0, 1.670 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.671 + }}, 1.672 + {{ 1.673 + 0, 0, 0, 0, 0, 0, 0, 685, 0, 0, 0, 1.674 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.675 + 640, 643, 646, 649, 652, 655, 658, 661, 598, 664, 1.676 + }}, 1.677 + {{ 1.678 + 667, 54, 670, 673, 676, 679, 682, 661, 685, 688, 691, 1.679 + 694, 697, 700, 703, 0, 0, 0, 0, 0, 0, 0, 1.680 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.681 + }}, 1.682 + {{ 1.683 + 0, 685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.684 + 0, 0, 0, 0, 0, 640, 643, 646, 649, 652, 655, 1.685 + 658, 661, 598, 664, 667, 54, 670, 673, 676, 679, 1.686 + }}, 1.687 + {{ 1.688 + 682, 661, 685, 688, 691, 694, 697, 700, 703, 0, 0, 1.689 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.690 + 0, 0, 0, 0, 0, 685, 0, 0, 0, 0, 1.691 + }}, 1.692 +}; 1.693 + 1.694 +static const unsigned char nameprep_id11_map_data[] = { 1.695 + 0, 0, 1, 97, 1, 98, 1, 99, 1, 100, 1, 101, 1.696 + 1, 102, 1, 103, 1, 104, 1, 105, 1, 106, 1, 107, 1.697 + 1, 108, 1, 109, 1, 110, 1, 111, 1, 112, 1, 113, 1.698 + 1, 114, 1, 115, 1, 116, 1, 117, 1, 118, 1, 119, 1.699 + 1, 120, 1, 121, 1, 122, 2, 188, 3, 1, 224, 1, 1.700 + 225, 1, 226, 1, 227, 1, 228, 1, 229, 1, 230, 1, 1.701 + 231, 1, 232, 1, 233, 1, 234, 1, 235, 1, 236, 1, 1.702 + 237, 1, 238, 1, 239, 1, 240, 1, 241, 1, 242, 1, 1.703 + 243, 1, 244, 1, 245, 1, 246, 1, 248, 1, 249, 1, 1.704 + 250, 1, 251, 1, 252, 1, 253, 1, 254, 5, 115, 0, 1.705 + 0, 0, 115, 2, 1, 1, 2, 3, 1, 2, 5, 1, 1.706 + 2, 7, 1, 2, 9, 1, 2, 11, 1, 2, 13, 1, 1.707 + 2, 15, 1, 2, 17, 1, 2, 19, 1, 2, 21, 1, 1.708 + 2, 23, 1, 2, 25, 1, 2, 27, 1, 2, 29, 1, 1.709 + 2, 31, 1, 2, 33, 1, 2, 35, 1, 2, 37, 1, 1.710 + 2, 39, 1, 2, 41, 1, 2, 43, 1, 2, 45, 1, 1.711 + 2, 47, 1, 6, 105, 0, 0, 0, 7, 3, 2, 51, 1.712 + 1, 2, 53, 1, 2, 55, 1, 2, 58, 1, 2, 60, 1.713 + 1, 2, 62, 1, 2, 64, 1, 2, 66, 1, 2, 68, 1.714 + 1, 2, 70, 1, 2, 72, 1, 5, 188, 2, 0, 0, 1.715 + 110, 2, 75, 1, 2, 77, 1, 2, 79, 1, 2, 81, 1.716 + 1, 2, 83, 1, 2, 85, 1, 2, 87, 1, 2, 89, 1.717 + 1, 2, 91, 1, 2, 93, 1, 2, 95, 1, 2, 97, 1.718 + 1, 2, 99, 1, 2, 101, 1, 2, 103, 1, 2, 105, 1.719 + 1, 2, 107, 1, 2, 109, 1, 2, 111, 1, 2, 113, 1.720 + 1, 2, 115, 1, 2, 117, 1, 2, 119, 1, 1, 255, 1.721 + 2, 122, 1, 2, 124, 1, 2, 126, 1, 2, 83, 2, 1.722 + 2, 131, 1, 2, 133, 1, 2, 84, 2, 2, 136, 1, 1.723 + 2, 86, 2, 2, 87, 2, 2, 140, 1, 2, 221, 1, 1.724 + 2, 89, 2, 2, 91, 2, 2, 146, 1, 2, 96, 2, 1.725 + 2, 99, 2, 2, 105, 2, 2, 104, 2, 2, 153, 1, 1.726 + 2, 111, 2, 2, 114, 2, 2, 117, 2, 2, 161, 1, 1.727 + 2, 163, 1, 2, 165, 1, 2, 128, 2, 2, 168, 1, 1.728 + 2, 131, 2, 2, 173, 1, 2, 136, 2, 2, 176, 1, 1.729 + 2, 138, 2, 2, 139, 2, 2, 180, 1, 2, 182, 1, 1.730 + 2, 146, 2, 2, 185, 1, 2, 189, 1, 2, 198, 1, 1.731 + 2, 201, 1, 2, 204, 1, 2, 206, 1, 2, 208, 1, 1.732 + 2, 210, 1, 2, 212, 1, 2, 214, 1, 2, 216, 1, 1.733 + 2, 218, 1, 2, 220, 1, 2, 223, 1, 2, 225, 1, 1.734 + 2, 227, 1, 2, 229, 1, 2, 231, 1, 2, 233, 1, 1.735 + 2, 235, 1, 2, 237, 1, 2, 239, 1, 6, 106, 0, 1.736 + 0, 0, 12, 3, 2, 243, 1, 2, 245, 1, 2, 149, 1.737 + 1, 2, 191, 1, 2, 249, 1, 2, 251, 1, 2, 253, 1.738 + 1, 2, 255, 1, 2, 1, 2, 2, 3, 2, 2, 5, 1.739 + 2, 2, 7, 2, 2, 9, 2, 2, 11, 2, 2, 13, 1.740 + 2, 2, 15, 2, 2, 17, 2, 2, 19, 2, 2, 21, 1.741 + 2, 2, 23, 2, 2, 25, 2, 2, 27, 2, 2, 29, 1.742 + 2, 2, 31, 2, 2, 158, 1, 2, 35, 2, 2, 37, 1.743 + 2, 2, 39, 2, 2, 41, 2, 2, 43, 2, 2, 45, 1.744 + 2, 2, 47, 2, 2, 49, 2, 2, 51, 2, 2, 185, 1.745 + 3, 6, 32, 0, 0, 0, 185, 3, 2, 172, 3, 2, 1.746 + 173, 3, 2, 174, 3, 2, 175, 3, 2, 204, 3, 2, 1.747 + 205, 3, 2, 206, 3, 10, 185, 3, 0, 0, 8, 3, 1.748 + 0, 0, 1, 3, 2, 177, 3, 2, 178, 3, 2, 179, 1.749 + 3, 2, 180, 3, 2, 181, 3, 2, 182, 3, 2, 183, 1.750 + 3, 2, 184, 3, 2, 186, 3, 2, 187, 3, 2, 189, 1.751 + 3, 2, 190, 3, 2, 191, 3, 2, 192, 3, 2, 193, 1.752 + 3, 2, 195, 3, 2, 196, 3, 2, 197, 3, 2, 198, 1.753 + 3, 2, 199, 3, 2, 200, 3, 2, 201, 3, 2, 202, 1.754 + 3, 2, 203, 3, 10, 197, 3, 0, 0, 8, 3, 0, 1.755 + 0, 1, 3, 2, 217, 3, 2, 219, 3, 2, 221, 3, 1.756 + 2, 223, 3, 2, 225, 3, 2, 227, 3, 2, 229, 3, 1.757 + 2, 231, 3, 2, 233, 3, 2, 235, 3, 2, 237, 3, 1.758 + 2, 239, 3, 2, 80, 4, 2, 81, 4, 2, 82, 4, 1.759 + 2, 83, 4, 2, 84, 4, 2, 85, 4, 2, 86, 4, 1.760 + 2, 87, 4, 2, 88, 4, 2, 89, 4, 2, 90, 4, 1.761 + 2, 91, 4, 2, 92, 4, 2, 93, 4, 2, 94, 4, 1.762 + 2, 95, 4, 2, 48, 4, 2, 49, 4, 2, 50, 4, 1.763 + 2, 51, 4, 2, 52, 4, 2, 53, 4, 2, 54, 4, 1.764 + 2, 55, 4, 2, 56, 4, 2, 57, 4, 2, 58, 4, 1.765 + 2, 59, 4, 2, 60, 4, 2, 61, 4, 2, 62, 4, 1.766 + 2, 63, 4, 2, 64, 4, 2, 65, 4, 2, 66, 4, 1.767 + 2, 67, 4, 2, 68, 4, 2, 69, 4, 2, 70, 4, 1.768 + 2, 71, 4, 2, 72, 4, 2, 73, 4, 2, 74, 4, 1.769 + 2, 75, 4, 2, 76, 4, 2, 77, 4, 2, 78, 4, 1.770 + 2, 79, 4, 2, 97, 4, 2, 99, 4, 2, 101, 4, 1.771 + 2, 103, 4, 2, 105, 4, 2, 107, 4, 2, 109, 4, 1.772 + 2, 111, 4, 2, 113, 4, 2, 115, 4, 2, 117, 4, 1.773 + 2, 119, 4, 2, 121, 4, 2, 123, 4, 2, 125, 4, 1.774 + 2, 127, 4, 2, 129, 4, 2, 139, 4, 2, 141, 4, 1.775 + 2, 143, 4, 2, 145, 4, 2, 147, 4, 2, 149, 4, 1.776 + 2, 151, 4, 2, 153, 4, 2, 155, 4, 2, 157, 4, 1.777 + 2, 159, 4, 2, 161, 4, 2, 163, 4, 2, 165, 4, 1.778 + 2, 167, 4, 2, 169, 4, 2, 171, 4, 2, 173, 4, 1.779 + 2, 175, 4, 2, 177, 4, 2, 179, 4, 2, 181, 4, 1.780 + 2, 183, 4, 2, 185, 4, 2, 187, 4, 2, 189, 4, 1.781 + 2, 191, 4, 2, 194, 4, 2, 196, 4, 2, 198, 4, 1.782 + 2, 200, 4, 2, 202, 4, 2, 204, 4, 2, 206, 4, 1.783 + 2, 209, 4, 2, 211, 4, 2, 213, 4, 2, 215, 4, 1.784 + 2, 217, 4, 2, 219, 4, 2, 221, 4, 2, 223, 4, 1.785 + 2, 225, 4, 2, 227, 4, 2, 229, 4, 2, 231, 4, 1.786 + 2, 233, 4, 2, 235, 4, 2, 237, 4, 2, 239, 4, 1.787 + 2, 241, 4, 2, 243, 4, 2, 245, 4, 2, 249, 4, 1.788 + 2, 1, 5, 2, 3, 5, 2, 5, 5, 2, 7, 5, 1.789 + 2, 9, 5, 2, 11, 5, 2, 13, 5, 2, 15, 5, 1.790 + 2, 97, 5, 2, 98, 5, 2, 99, 5, 2, 100, 5, 1.791 + 2, 101, 5, 2, 102, 5, 2, 103, 5, 2, 104, 5, 1.792 + 2, 105, 5, 2, 106, 5, 2, 107, 5, 2, 108, 5, 1.793 + 2, 109, 5, 2, 110, 5, 2, 111, 5, 2, 112, 5, 1.794 + 2, 113, 5, 2, 114, 5, 2, 115, 5, 2, 116, 5, 1.795 + 2, 117, 5, 2, 118, 5, 2, 119, 5, 2, 120, 5, 1.796 + 2, 121, 5, 2, 122, 5, 2, 123, 5, 2, 124, 5, 1.797 + 2, 125, 5, 2, 126, 5, 2, 127, 5, 2, 128, 5, 1.798 + 2, 129, 5, 2, 130, 5, 2, 131, 5, 2, 132, 5, 1.799 + 2, 133, 5, 2, 134, 5, 6, 101, 5, 0, 0, 130, 1.800 + 5, 2, 1, 30, 2, 3, 30, 2, 5, 30, 2, 7, 1.801 + 30, 2, 9, 30, 2, 11, 30, 2, 13, 30, 2, 15, 1.802 + 30, 2, 17, 30, 2, 19, 30, 2, 21, 30, 2, 23, 1.803 + 30, 2, 25, 30, 2, 27, 30, 2, 29, 30, 2, 31, 1.804 + 30, 2, 33, 30, 2, 35, 30, 2, 37, 30, 2, 39, 1.805 + 30, 2, 41, 30, 2, 43, 30, 2, 45, 30, 2, 47, 1.806 + 30, 2, 49, 30, 2, 51, 30, 2, 53, 30, 2, 55, 1.807 + 30, 2, 57, 30, 2, 59, 30, 2, 61, 30, 2, 63, 1.808 + 30, 2, 65, 30, 2, 67, 30, 2, 69, 30, 2, 71, 1.809 + 30, 2, 73, 30, 2, 75, 30, 2, 77, 30, 2, 79, 1.810 + 30, 2, 81, 30, 2, 83, 30, 2, 85, 30, 2, 87, 1.811 + 30, 2, 89, 30, 2, 91, 30, 2, 93, 30, 2, 95, 1.812 + 30, 2, 97, 30, 2, 99, 30, 2, 101, 30, 2, 103, 1.813 + 30, 2, 105, 30, 2, 107, 30, 2, 109, 30, 2, 111, 1.814 + 30, 2, 113, 30, 2, 115, 30, 2, 117, 30, 2, 119, 1.815 + 30, 2, 121, 30, 2, 123, 30, 2, 125, 30, 2, 127, 1.816 + 30, 2, 129, 30, 2, 131, 30, 2, 133, 30, 2, 135, 1.817 + 30, 2, 137, 30, 2, 139, 30, 2, 141, 30, 2, 143, 1.818 + 30, 2, 145, 30, 2, 147, 30, 2, 149, 30, 6, 104, 1.819 + 0, 0, 0, 49, 3, 6, 116, 0, 0, 0, 8, 3, 1.820 + 6, 119, 0, 0, 0, 10, 3, 6, 121, 0, 0, 0, 1.821 + 10, 3, 6, 97, 0, 0, 0, 190, 2, 2, 161, 30, 1.822 + 2, 163, 30, 2, 165, 30, 2, 167, 30, 2, 169, 30, 1.823 + 2, 171, 30, 2, 173, 30, 2, 175, 30, 2, 177, 30, 1.824 + 2, 179, 30, 2, 181, 30, 2, 183, 30, 2, 185, 30, 1.825 + 2, 187, 30, 2, 189, 30, 2, 191, 30, 2, 193, 30, 1.826 + 2, 195, 30, 2, 197, 30, 2, 199, 30, 2, 201, 30, 1.827 + 2, 203, 30, 2, 205, 30, 2, 207, 30, 2, 209, 30, 1.828 + 2, 211, 30, 2, 213, 30, 2, 215, 30, 2, 217, 30, 1.829 + 2, 219, 30, 2, 221, 30, 2, 223, 30, 2, 225, 30, 1.830 + 2, 227, 30, 2, 229, 30, 2, 231, 30, 2, 233, 30, 1.831 + 2, 235, 30, 2, 237, 30, 2, 239, 30, 2, 241, 30, 1.832 + 2, 243, 30, 2, 245, 30, 2, 247, 30, 2, 249, 30, 1.833 + 2, 0, 31, 2, 1, 31, 2, 2, 31, 2, 3, 31, 1.834 + 2, 4, 31, 2, 5, 31, 2, 6, 31, 2, 7, 31, 1.835 + 2, 16, 31, 2, 17, 31, 2, 18, 31, 2, 19, 31, 1.836 + 2, 20, 31, 2, 21, 31, 2, 32, 31, 2, 33, 31, 1.837 + 2, 34, 31, 2, 35, 31, 2, 36, 31, 2, 37, 31, 1.838 + 2, 38, 31, 2, 39, 31, 2, 48, 31, 2, 49, 31, 1.839 + 2, 50, 31, 2, 51, 31, 2, 52, 31, 2, 53, 31, 1.840 + 2, 54, 31, 2, 55, 31, 2, 64, 31, 2, 65, 31, 1.841 + 2, 66, 31, 2, 67, 31, 2, 68, 31, 2, 69, 31, 1.842 + 6, 197, 3, 0, 0, 19, 3, 10, 197, 3, 0, 0, 1.843 + 19, 3, 0, 0, 0, 3, 10, 197, 3, 0, 0, 19, 1.844 + 3, 0, 0, 1, 3, 10, 197, 3, 0, 0, 19, 3, 1.845 + 0, 0, 66, 3, 2, 81, 31, 2, 83, 31, 2, 85, 1.846 + 31, 2, 87, 31, 2, 96, 31, 2, 97, 31, 2, 98, 1.847 + 31, 2, 99, 31, 2, 100, 31, 2, 101, 31, 2, 102, 1.848 + 31, 2, 103, 31, 6, 0, 31, 0, 0, 185, 3, 6, 1.849 + 1, 31, 0, 0, 185, 3, 6, 2, 31, 0, 0, 185, 1.850 + 3, 6, 3, 31, 0, 0, 185, 3, 6, 4, 31, 0, 1.851 + 0, 185, 3, 6, 5, 31, 0, 0, 185, 3, 6, 6, 1.852 + 31, 0, 0, 185, 3, 6, 7, 31, 0, 0, 185, 3, 1.853 + 6, 32, 31, 0, 0, 185, 3, 6, 33, 31, 0, 0, 1.854 + 185, 3, 6, 34, 31, 0, 0, 185, 3, 6, 35, 31, 1.855 + 0, 0, 185, 3, 6, 36, 31, 0, 0, 185, 3, 6, 1.856 + 37, 31, 0, 0, 185, 3, 6, 38, 31, 0, 0, 185, 1.857 + 3, 6, 39, 31, 0, 0, 185, 3, 6, 96, 31, 0, 1.858 + 0, 185, 3, 6, 97, 31, 0, 0, 185, 3, 6, 98, 1.859 + 31, 0, 0, 185, 3, 6, 99, 31, 0, 0, 185, 3, 1.860 + 6, 100, 31, 0, 0, 185, 3, 6, 101, 31, 0, 0, 1.861 + 185, 3, 6, 102, 31, 0, 0, 185, 3, 6, 103, 31, 1.862 + 0, 0, 185, 3, 6, 112, 31, 0, 0, 185, 3, 6, 1.863 + 177, 3, 0, 0, 185, 3, 6, 172, 3, 0, 0, 185, 1.864 + 3, 6, 177, 3, 0, 0, 66, 3, 10, 177, 3, 0, 1.865 + 0, 66, 3, 0, 0, 185, 3, 2, 176, 31, 2, 177, 1.866 + 31, 2, 112, 31, 2, 113, 31, 6, 116, 31, 0, 0, 1.867 + 185, 3, 6, 183, 3, 0, 0, 185, 3, 6, 174, 3, 1.868 + 0, 0, 185, 3, 6, 183, 3, 0, 0, 66, 3, 10, 1.869 + 183, 3, 0, 0, 66, 3, 0, 0, 185, 3, 2, 114, 1.870 + 31, 2, 115, 31, 2, 116, 31, 2, 117, 31, 10, 185, 1.871 + 3, 0, 0, 8, 3, 0, 0, 0, 3, 6, 185, 3, 1.872 + 0, 0, 66, 3, 10, 185, 3, 0, 0, 8, 3, 0, 1.873 + 0, 66, 3, 2, 208, 31, 2, 209, 31, 2, 118, 31, 1.874 + 2, 119, 31, 10, 197, 3, 0, 0, 8, 3, 0, 0, 1.875 + 0, 3, 6, 193, 3, 0, 0, 19, 3, 6, 197, 3, 1.876 + 0, 0, 66, 3, 10, 197, 3, 0, 0, 8, 3, 0, 1.877 + 0, 66, 3, 2, 224, 31, 2, 225, 31, 2, 122, 31, 1.878 + 2, 123, 31, 2, 229, 31, 6, 124, 31, 0, 0, 185, 1.879 + 3, 6, 201, 3, 0, 0, 185, 3, 6, 206, 3, 0, 1.880 + 0, 185, 3, 6, 201, 3, 0, 0, 66, 3, 10, 201, 1.881 + 3, 0, 0, 66, 3, 0, 0, 185, 3, 2, 120, 31, 1.882 + 2, 121, 31, 2, 124, 31, 2, 125, 31, 5, 114, 0, 1.883 + 0, 0, 115, 5, 176, 0, 0, 0, 99, 5, 176, 0, 1.884 + 0, 0, 102, 5, 110, 0, 0, 0, 111, 5, 115, 0, 1.885 + 0, 0, 109, 9, 116, 0, 0, 0, 101, 0, 0, 0, 1.886 + 108, 5, 116, 0, 0, 0, 109, 2, 112, 33, 2, 113, 1.887 + 33, 2, 114, 33, 2, 115, 33, 2, 116, 33, 2, 117, 1.888 + 33, 2, 118, 33, 2, 119, 33, 2, 120, 33, 2, 121, 1.889 + 33, 2, 122, 33, 2, 123, 33, 2, 124, 33, 2, 125, 1.890 + 33, 2, 126, 33, 2, 127, 33, 2, 208, 36, 2, 209, 1.891 + 36, 2, 210, 36, 2, 211, 36, 2, 212, 36, 2, 213, 1.892 + 36, 2, 214, 36, 2, 215, 36, 2, 216, 36, 2, 217, 1.893 + 36, 2, 218, 36, 2, 219, 36, 2, 220, 36, 2, 221, 1.894 + 36, 2, 222, 36, 2, 223, 36, 2, 224, 36, 2, 225, 1.895 + 36, 2, 226, 36, 2, 227, 36, 2, 228, 36, 2, 229, 1.896 + 36, 2, 230, 36, 2, 231, 36, 2, 232, 36, 2, 233, 1.897 + 36, 9, 104, 0, 0, 0, 112, 0, 0, 0, 97, 5, 1.898 + 97, 0, 0, 0, 117, 5, 111, 0, 0, 0, 118, 5, 1.899 + 112, 0, 0, 0, 97, 5, 110, 0, 0, 0, 97, 5, 1.900 + 188, 3, 0, 0, 97, 5, 109, 0, 0, 0, 97, 5, 1.901 + 107, 0, 0, 0, 97, 5, 107, 0, 0, 0, 98, 5, 1.902 + 109, 0, 0, 0, 98, 5, 103, 0, 0, 0, 98, 5, 1.903 + 112, 0, 0, 0, 102, 5, 110, 0, 0, 0, 102, 5, 1.904 + 188, 3, 0, 0, 102, 5, 104, 0, 0, 0, 122, 9, 1.905 + 107, 0, 0, 0, 104, 0, 0, 0, 122, 9, 109, 0, 1.906 + 0, 0, 104, 0, 0, 0, 122, 9, 103, 0, 0, 0, 1.907 + 104, 0, 0, 0, 122, 9, 116, 0, 0, 0, 104, 0, 1.908 + 0, 0, 122, 9, 107, 0, 0, 0, 112, 0, 0, 0, 1.909 + 97, 9, 109, 0, 0, 0, 112, 0, 0, 0, 97, 9, 1.910 + 103, 0, 0, 0, 112, 0, 0, 0, 97, 5, 112, 0, 1.911 + 0, 0, 118, 5, 110, 0, 0, 0, 118, 5, 188, 3, 1.912 + 0, 0, 118, 5, 109, 0, 0, 0, 118, 5, 107, 0, 1.913 + 0, 0, 118, 5, 112, 0, 0, 0, 119, 5, 110, 0, 1.914 + 0, 0, 119, 5, 188, 3, 0, 0, 119, 5, 109, 0, 1.915 + 0, 0, 119, 5, 107, 0, 0, 0, 119, 6, 107, 0, 1.916 + 0, 0, 201, 3, 6, 109, 0, 0, 0, 201, 3, 5, 1.917 + 98, 0, 0, 0, 113, 13, 99, 0, 0, 0, 21, 34, 1.918 + 0, 0, 107, 0, 0, 0, 103, 9, 99, 0, 0, 0, 1.919 + 111, 0, 0, 0, 46, 5, 100, 0, 0, 0, 98, 5, 1.920 + 103, 0, 0, 0, 121, 5, 104, 0, 0, 0, 112, 5, 1.921 + 107, 0, 0, 0, 107, 5, 107, 0, 0, 0, 109, 5, 1.922 + 112, 0, 0, 0, 104, 9, 112, 0, 0, 0, 112, 0, 1.923 + 0, 0, 109, 5, 112, 0, 0, 0, 114, 5, 115, 0, 1.924 + 0, 0, 118, 5, 119, 0, 0, 0, 98, 5, 102, 0, 1.925 + 0, 0, 102, 5, 102, 0, 0, 0, 105, 5, 102, 0, 1.926 + 0, 0, 108, 9, 102, 0, 0, 0, 102, 0, 0, 0, 1.927 + 105, 9, 102, 0, 0, 0, 102, 0, 0, 0, 108, 5, 1.928 + 115, 0, 0, 0, 116, 6, 116, 5, 0, 0, 118, 5, 1.929 + 6, 116, 5, 0, 0, 101, 5, 6, 116, 5, 0, 0, 1.930 + 107, 5, 6, 126, 5, 0, 0, 118, 5, 6, 116, 5, 1.931 + 0, 0, 109, 5, 2, 65, 255, 2, 66, 255, 2, 67, 1.932 + 255, 2, 68, 255, 2, 69, 255, 2, 70, 255, 2, 71, 1.933 + 255, 2, 72, 255, 2, 73, 255, 2, 74, 255, 2, 75, 1.934 + 255, 2, 76, 255, 2, 77, 255, 2, 78, 255, 2, 79, 1.935 + 255, 2, 80, 255, 2, 81, 255, 2, 82, 255, 2, 83, 1.936 + 255, 2, 84, 255, 2, 85, 255, 2, 86, 255, 2, 87, 1.937 + 255, 2, 88, 255, 2, 89, 255, 2, 90, 255, 3, 40, 1.938 + 4, 1, 3, 41, 4, 1, 3, 42, 4, 1, 3, 43, 1.939 + 4, 1, 3, 44, 4, 1, 3, 45, 4, 1, 3, 46, 1.940 + 4, 1, 3, 47, 4, 1, 3, 48, 4, 1, 3, 49, 1.941 + 4, 1, 3, 50, 4, 1, 3, 51, 4, 1, 3, 52, 1.942 + 4, 1, 3, 53, 4, 1, 3, 54, 4, 1, 3, 55, 1.943 + 4, 1, 3, 56, 4, 1, 3, 57, 4, 1, 3, 58, 1.944 + 4, 1, 3, 59, 4, 1, 3, 60, 4, 1, 3, 61, 1.945 + 4, 1, 3, 62, 4, 1, 3, 63, 4, 1, 3, 64, 1.946 + 4, 1, 3, 65, 4, 1, 3, 66, 4, 1, 3, 67, 1.947 + 4, 1, 3, 68, 4, 1, 3, 69, 4, 1, 3, 70, 1.948 + 4, 1, 3, 71, 4, 1, 3, 72, 4, 1, 3, 73, 1.949 + 4, 1, 3, 74, 4, 1, 3, 75, 4, 1, 3, 76, 1.950 + 4, 1, 3, 77, 4, 1, 1.951 +}; 1.952 + 1.953 +static const unsigned short nameprep_id11_prohibited_imap[] = { 1.954 + 68, 196, 196, 324, 196, 196, 196, 452, 1.955 + 196, 196, 196, 580, 196, 196, 196, 580, 1.956 + 196, 196, 196, 580, 196, 196, 196, 580, 1.957 + 196, 196, 196, 580, 196, 196, 196, 580, 1.958 + 196, 196, 196, 580, 196, 196, 196, 580, 1.959 + 196, 196, 196, 580, 196, 196, 196, 580, 1.960 + 196, 196, 196, 580, 196, 196, 196, 580, 1.961 + 708, 196, 196, 580, 836, 836, 836, 836, 1.962 + 836, 836, 836, 836, 0, 1, 0, 0, 1.963 + 0, 0, 2, 0, 0, 0, 0, 0, 1.964 + 0, 3, 4, 0, 0, 0, 0, 0, 1.965 + 0, 0, 0, 0, 0, 0, 0, 0, 1.966 + 0, 0, 0, 0, 0, 0, 0, 0, 1.967 + 0, 0, 0, 0, 0, 0, 0, 0, 1.968 + 0, 5, 0, 0, 6, 0, 0, 0, 1.969 + 0, 0, 0, 0, 0, 0, 0, 0, 1.970 + 0, 0, 0, 0, 7, 0, 0, 0, 1.971 + 0, 0, 0, 0, 0, 0, 0, 0, 1.972 + 0, 0, 0, 0, 0, 0, 0, 0, 1.973 + 0, 0, 0, 0, 0, 0, 0, 0, 1.974 + 0, 0, 0, 8, 5, 0, 0, 0, 1.975 + 0, 0, 0, 0, 0, 0, 0, 0, 1.976 + 0, 0, 0, 0, 0, 0, 0, 0, 1.977 + 0, 0, 0, 0, 0, 0, 0, 0, 1.978 + 0, 0, 0, 0, 0, 0, 0, 0, 1.979 + 0, 0, 0, 0, 0, 0, 0, 0, 1.980 + 0, 0, 0, 0, 0, 0, 0, 0, 1.981 + 0, 0, 0, 0, 0, 0, 0, 0, 1.982 + 0, 0, 0, 0, 0, 0, 0, 0, 1.983 + 0, 0, 0, 0, 0, 0, 0, 0, 1.984 + 0, 0, 0, 0, 0, 0, 0, 0, 1.985 + 0, 0, 0, 0, 0, 0, 0, 0, 1.986 + 0, 0, 0, 0, 0, 0, 0, 0, 1.987 + 0, 0, 0, 0, 0, 0, 0, 0, 1.988 + 0, 0, 0, 0, 0, 0, 0, 0, 1.989 + 0, 0, 0, 0, 0, 0, 0, 0, 1.990 + 0, 0, 0, 0, 0, 0, 0, 0, 1.991 + 0, 0, 0, 0, 0, 0, 0, 0, 1.992 + 0, 0, 0, 0, 0, 0, 0, 0, 1.993 + 0, 0, 0, 0, 0, 0, 0, 0, 1.994 + 0, 0, 0, 0, 0, 0, 0, 0, 1.995 + 0, 0, 0, 0, 0, 0, 0, 0, 1.996 + 0, 0, 0, 0, 0, 0, 0, 0, 1.997 + 0, 0, 0, 0, 0, 0, 0, 0, 1.998 + 0, 0, 0, 0, 0, 0, 0, 0, 1.999 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1000 + 0, 0, 0, 0, 9, 9, 9, 9, 1.1001 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1002 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1003 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1004 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1005 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1006 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1007 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1008 + 9, 9, 9, 9, 9, 9, 0, 0, 1.1009 + 0, 0, 0, 0, 0, 0, 0, 10, 1.1010 + 0, 0, 0, 11, 0, 0, 0, 0, 1.1011 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1012 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1013 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1014 + 0, 0, 0, 0, 0, 0, 12, 0, 1.1015 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1016 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1017 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1018 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1019 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1020 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1021 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1022 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1023 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1024 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1025 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1026 + 0, 0, 0, 13, 0, 0, 0, 0, 1.1027 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1028 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1029 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1030 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1031 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1032 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1033 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1034 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1035 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1036 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1037 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1038 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1039 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1040 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1041 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1042 + 0, 0, 0, 13, 14, 0, 0, 0, 1.1043 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1044 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1045 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1046 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1047 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1048 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1049 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1050 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1051 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1052 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1053 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1054 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1055 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1056 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1057 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1058 + 0, 0, 0, 0, 9, 9, 9, 9, 1.1059 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1060 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1061 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1062 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1063 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1064 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1065 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1066 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1067 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1068 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1069 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1070 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1071 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1072 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1073 + 9, 9, 9, 9, 9, 9, 9, 9, 1.1074 + 9, 9, 9, 9, 1.1075 +}; 1.1076 + 1.1077 +static const struct { 1.1078 + unsigned char bm[16]; 1.1079 +} nameprep_id11_prohibited_bitmap[] = { 1.1080 + {{ 1.1081 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1082 + }}, 1.1083 + {{ 1.1084 + 255,255,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1085 + }}, 1.1086 + {{ 1.1087 + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 1.1088 + }}, 1.1089 + {{ 1.1090 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 1.1091 + }}, 1.1092 + {{ 1.1093 + 0,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1094 + }}, 1.1095 + {{ 1.1096 + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1097 + }}, 1.1098 + {{ 1.1099 + 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1100 + }}, 1.1101 + {{ 1.1102 + 255,199, 0, 0, 0,255, 0, 0, 0, 0, 0,128, 14,252, 0, 0, 1.1103 + }}, 1.1104 + {{ 1.1105 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 15, 1.1106 + }}, 1.1107 + {{ 1.1108 + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 1.1109 + }}, 1.1110 + {{ 1.1111 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,255,255, 0, 0, 1.1112 + }}, 1.1113 + {{ 1.1114 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 1.1115 + }}, 1.1116 + {{ 1.1117 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 7, 1.1118 + }}, 1.1119 + {{ 1.1120 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1.1121 + }}, 1.1122 + {{ 1.1123 + 2, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, 1.1124 + }}, 1.1125 +}; 1.1126 + 1.1127 +static const unsigned short nameprep_id11_unassigned_imap[] = { 1.1128 + 68, 196, 324, 452, 580, 708, 708, 836, 1.1129 + 964, 964, 1092, 1220, 708, 708, 708, 1348, 1.1130 + 708, 708, 708, 1348, 708, 708, 708, 1348, 1.1131 + 708, 708, 708, 1348, 708, 708, 708, 1348, 1.1132 + 708, 708, 708, 1348, 708, 708, 708, 1348, 1.1133 + 708, 708, 708, 1348, 708, 708, 708, 1348, 1.1134 + 708, 708, 708, 1348, 708, 708, 708, 1348, 1.1135 + 1476, 708, 708, 1348, 964, 964, 964, 964, 1.1136 + 964, 964, 964, 964, 0, 0, 0, 0, 1.1137 + 1, 2, 3, 4, 0, 5, 6, 7, 1.1138 + 8, 9, 10, 11, 12, 12, 13, 14, 1.1139 + 15, 16, 17, 18, 19, 20, 21, 22, 1.1140 + 23, 24, 25, 26, 27, 28, 29, 30, 1.1141 + 31, 32, 33, 34, 35, 0, 0, 0, 1.1142 + 36, 37, 38, 39, 40, 41, 12, 12, 1.1143 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1144 + 0, 42, 43, 44, 45, 46, 47, 48, 1.1145 + 0, 0, 0, 49, 50, 51, 0, 0, 1.1146 + 52, 53, 54, 55, 0, 0, 0, 0, 1.1147 + 0, 0, 12, 12, 12, 12, 12, 12, 1.1148 + 12, 56, 0, 57, 58, 59, 60, 61, 1.1149 + 62, 63, 64, 65, 0, 0, 0, 0, 1.1150 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1151 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1152 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1153 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1154 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1155 + 0, 0, 0, 0, 0, 0, 0, 66, 1.1156 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1157 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1158 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1159 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1160 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1161 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1162 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1163 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1164 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1165 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1166 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1167 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1168 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1169 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1170 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1171 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1172 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1173 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1174 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1175 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1176 + 0, 0, 0, 67, 0, 0, 0, 0, 1.1177 + 0, 0, 0, 0, 0, 68, 12, 12, 1.1178 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1179 + 12, 12, 12, 12, 0, 0, 0, 0, 1.1180 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1181 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1182 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1183 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1184 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1185 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1186 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1187 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1188 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1189 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1190 + 0, 0, 0, 69, 0, 0, 0, 0, 1.1191 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1192 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1193 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1194 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1195 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1196 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1197 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1198 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1199 + 70, 12, 71, 72, 0, 0, 73, 74, 1.1200 + 75, 76, 35, 77, 12, 12, 12, 12, 1.1201 + 12, 12, 78, 12, 79, 12, 12, 12, 1.1202 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1203 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1204 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1205 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1206 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1207 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1208 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1209 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1210 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1211 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1212 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1213 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1214 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1215 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1216 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1217 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1218 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1219 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1220 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1221 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1222 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1223 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1224 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1225 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1226 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1227 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1228 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1229 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1230 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1231 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1232 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1233 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1234 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1235 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1236 + 12, 12, 12, 12, 0, 80, 81, 82, 1.1237 + 12, 12, 12, 12, 83, 84, 85, 0, 1.1238 + 0, 86, 0, 87, 12, 12, 12, 12, 1.1239 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1240 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1241 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1242 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1243 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1244 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1245 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1246 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1247 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1248 + 12, 12, 12, 88, 0, 0, 0, 0, 1.1249 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1250 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1251 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1252 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1253 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1254 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1255 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1256 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1257 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1258 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1259 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1260 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1261 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1262 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1263 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1264 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1265 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1266 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1267 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1268 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1269 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1270 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1271 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1272 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1273 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1274 + 0, 89, 12, 12, 12, 12, 12, 12, 1.1275 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1276 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1277 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1278 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1279 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1280 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1281 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1282 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1283 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1284 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1285 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1286 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1287 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1288 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1289 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1290 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1291 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1292 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1293 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1294 + 12, 12, 12, 12, 0, 0, 0, 0, 1.1295 + 90, 12, 12, 12, 12, 12, 12, 12, 1.1296 + 12, 12, 12, 88, 12, 12, 12, 12, 1.1297 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1298 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1299 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1300 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1301 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1302 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1303 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1304 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1305 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1306 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1307 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1308 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1309 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1310 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1311 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1312 + 12, 12, 12, 88, 91, 12, 12, 12, 1.1313 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1314 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1315 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1316 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1317 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1318 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1319 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1320 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1321 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1322 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1323 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1324 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1325 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1326 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1327 + 12, 12, 12, 12, 12, 12, 12, 12, 1.1328 + 12, 12, 12, 12, 1.1329 +}; 1.1330 + 1.1331 +static const struct { 1.1332 + unsigned char bm[16]; 1.1333 +} nameprep_id11_unassigned_bitmap[] = { 1.1334 + {{ 1.1335 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1336 + }}, 1.1337 + {{ 1.1338 + 0, 0, 0, 0, 2, 0,240,255,255,255, 0, 0, 0, 0, 0, 0, 1.1339 + }}, 1.1340 + {{ 1.1341 + 0, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0,128,255,255, 1.1342 + }}, 1.1343 + {{ 1.1344 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0,207,187, 1.1345 + }}, 1.1346 + {{ 1.1347 + 15, 40, 0, 0, 4, 0, 0, 0, 0,128, 0, 0, 0, 0,128,255, 1.1348 + }}, 1.1349 + {{ 1.1350 + 128, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0,192,252, 1.1351 + }}, 1.1352 + {{ 1.1353 + 0, 0,255,255,255,255, 1, 0, 0, 0,128, 1, 1, 0, 0, 0, 1.1354 + }}, 1.1355 + {{ 1.1356 + 0,249, 1, 0, 4, 0, 0, 4,224,255, 0, 0, 0,248,224,255, 1.1357 + }}, 1.1358 + {{ 1.1359 + 255,239,255,119, 1, 0, 0,248, 0, 0,192,255, 0, 0, 0, 0, 1.1360 + }}, 1.1361 + {{ 1.1362 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 0,128, 1.1363 + }}, 1.1364 + {{ 1.1365 + 0, 64, 0, 0, 0,224, 0, 0, 0,248,255,255,255,255,255,255, 1.1366 + }}, 1.1367 + {{ 1.1368 + 0, 0, 0, 0, 0, 0,252,255,255,255,255,255,255,255,255,255, 1.1369 + }}, 1.1370 + {{ 1.1371 + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 1.1372 + }}, 1.1373 + {{ 1.1374 + 17, 0, 0, 0, 0, 0, 0, 12, 0,192,224, 0, 0, 0,254,255, 1.1375 + }}, 1.1376 + {{ 1.1377 + 17, 96, 6, 0, 0, 2, 58, 44, 96,198,127, 79, 48, 0, 0,248, 1.1378 + }}, 1.1379 + {{ 1.1380 + 27,120, 6, 0, 0, 2,146, 44,120,198,255,161, 63, 0,224,255, 1.1381 + }}, 1.1382 + {{ 1.1383 + 17, 80, 4, 0, 0, 2, 18, 12, 64,196,254,255, 62, 0,255,255, 1.1384 + }}, 1.1385 + {{ 1.1386 + 17, 96, 6, 0, 0, 2, 50, 12,112,198, 63, 79, 60, 0,254,255, 1.1387 + }}, 1.1388 + {{ 1.1389 + 19, 56,194, 41,231, 56, 64, 60, 56,194,127,255,127, 0,248,255, 1.1390 + }}, 1.1391 + {{ 1.1392 + 17, 32, 2, 0, 0, 2, 16, 60, 32,194,159,255, 60, 0,255,255, 1.1393 + }}, 1.1394 + {{ 1.1395 + 19, 32, 2, 0, 0, 2, 16, 60, 32,194,159,191, 60, 0,255,255, 1.1396 + }}, 1.1397 + {{ 1.1398 + 19, 32, 2, 0, 0, 2, 0, 60, 48,194,127,255, 60, 0,255,255, 1.1399 + }}, 1.1400 + {{ 1.1401 + 19, 0,128, 3, 0, 0, 4,208,128,123,160, 0,255,255,227,255, 1.1402 + }}, 1.1403 + {{ 1.1404 + 1, 0, 0, 0, 0, 0, 0,120, 0, 0, 0,240,255,255,255,255, 1.1405 + }}, 1.1406 + {{ 1.1407 + 105,218, 15, 1, 81, 19, 0,196,160,192, 0,204,255,255,255,255, 1.1408 + }}, 1.1409 + {{ 1.1410 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,248, 1, 0, 1.1411 + }}, 1.1412 + {{ 1.1413 + 0,240, 0, 1, 0, 0, 0, 32, 0, 96,255,255,255,255,255,255, 1.1414 + }}, 1.1415 + {{ 1.1416 + 0, 0, 0, 0, 4, 9, 56,252, 0, 0, 0,252,255,255,255,255, 1.1417 + }}, 1.1418 + {{ 1.1419 + 255,255,255,255, 0, 0, 0, 0,192,255, 0, 0, 0, 0, 0,246, 1.1420 + }}, 1.1421 + {{ 1.1422 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 0, 0, 0, 0, 1.1423 + }}, 1.1424 + {{ 1.1425 + 0, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 1.1426 + }}, 1.1427 + {{ 1.1428 + 128, 0, 0, 0, 0, 0, 0, 0,128,194,128,194, 0, 0, 0, 0, 1.1429 + }}, 1.1430 + {{ 1.1431 + 128,194, 0, 0, 0,128,194,128,194,128,128, 0, 0,128, 0, 0, 1.1432 + }}, 1.1433 + {{ 1.1434 + 0,128,194,128, 0, 0, 0, 0,128, 0, 0,248, 1, 0, 0,224, 1.1435 + }}, 1.1436 + {{ 1.1437 + 255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,255, 1.1438 + }}, 1.1439 + {{ 1.1440 + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1441 + }}, 1.1442 + {{ 1.1443 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255, 1.1444 + }}, 1.1445 + {{ 1.1446 + 0, 0, 0,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,255, 1.1447 + }}, 1.1448 + {{ 1.1449 + 0, 32,224,255, 0, 0,128,255, 0, 0,240,255, 0, 32,242,255, 1.1450 + }}, 1.1451 + {{ 1.1452 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 0,252,255,255, 1.1453 + }}, 1.1454 + {{ 1.1455 + 0,128, 0,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1.1456 + }}, 1.1457 + {{ 1.1458 + 0, 0, 0, 0, 0,252,255,255,255,255,255,255,255,255,255,255, 1.1459 + }}, 1.1460 + {{ 1.1461 + 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 1.1462 + }}, 1.1463 + {{ 1.1464 + 0, 0,192,192, 0, 0, 0, 0,192,192, 0, 85, 0, 0, 0,192, 1.1465 + }}, 1.1466 + {{ 1.1467 + 0, 0, 0, 0, 0, 0, 32, 0, 32, 0, 48, 16, 0, 0, 35,128, 1.1468 + }}, 1.1469 + {{ 1.1470 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,127,240, 3, 12, 0, 1.1471 + }}, 1.1472 + {{ 1.1473 + 0,128,255,255, 0, 0,252,255,255,255, 0, 0, 0,248,255,255, 1.1474 + }}, 1.1475 + {{ 1.1476 + 0, 0, 0, 0, 0, 0, 0, 24, 0,240, 7, 0, 0, 0, 0, 0, 1.1477 + }}, 1.1478 + {{ 1.1479 + 240,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1480 + }}, 1.1481 + {{ 1.1482 + 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255,255,255,255,255,255, 1.1483 + }}, 1.1484 + {{ 1.1485 + 0, 0, 0, 0,128,255,255,255, 0,248,255,255, 0, 0, 0, 0, 1.1486 + }}, 1.1487 + {{ 1.1488 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 1.1489 + }}, 1.1490 + {{ 1.1491 + 0, 0, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1.1492 + }}, 1.1493 + {{ 1.1494 + 0,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 1.1495 + }}, 1.1496 + {{ 1.1497 + 33, 12, 0, 0, 0, 1, 0, 0, 0, 80,184,128, 1, 0, 0, 0, 1.1498 + }}, 1.1499 + {{ 1.1500 + 0, 0,224, 0, 0, 0, 1,128,255,255, 0, 0, 0,240, 0, 0, 1.1501 + }}, 1.1502 + {{ 1.1503 + 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,255, 1.1504 + }}, 1.1505 + {{ 1.1506 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,255,255,255, 0,240, 1.1507 + }}, 1.1508 + {{ 1.1509 + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1.1510 + }}, 1.1511 + {{ 1.1512 + 0, 0,128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1513 + }}, 1.1514 + {{ 1.1515 + 31, 0, 0, 0, 0,224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1516 + }}, 1.1517 + {{ 1.1518 + 0,128, 0, 0, 0, 0, 0,255,255,255,255,255,255,255, 0, 0, 1.1519 + }}, 1.1520 + {{ 1.1521 + 0, 0, 0,224, 0, 0, 0, 0,240,255, 1, 0, 0, 0, 0,112, 1.1522 + }}, 1.1523 + {{ 1.1524 + 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 0, 0, 0, 0,128, 1.1525 + }}, 1.1526 + {{ 1.1527 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7, 1.1528 + }}, 1.1529 + {{ 1.1530 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 0, 0, 0,128, 1.1531 + }}, 1.1532 + {{ 1.1533 + 0, 0, 0, 0, 0, 0,192,255,255,255,255,255,255,255,255,255, 1.1534 + }}, 1.1535 + {{ 1.1536 + 0, 0, 0, 0,192,255,255,255,255,255,255,255,255,255,255,255, 1.1537 + }}, 1.1538 + {{ 1.1539 + 0,224, 0, 0, 0, 0, 0, 0,128,255,255,255,255,255,255,255, 1.1540 + }}, 1.1541 + {{ 1.1542 + 0, 0, 0, 0,240,255,255,255,255,255,255,255,255,255,255,255, 1.1543 + }}, 1.1544 + {{ 1.1545 + 0, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0,248,255,255, 1.1546 + }}, 1.1547 + {{ 1.1548 + 128,255, 7, 31, 0, 0,128,160, 36, 0, 0, 0, 0, 0, 0, 0, 1.1549 + }}, 1.1550 + {{ 1.1551 + 0, 0, 0, 0, 0, 0,252,255,255,255, 7, 0, 0, 0, 0, 0, 1.1552 + }}, 1.1553 + {{ 1.1554 + 0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0, 1.1555 + }}, 1.1556 + {{ 1.1557 + 0, 0, 3, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0,224, 1.1558 + }}, 1.1559 + {{ 1.1560 + 0, 0,255,255,240,255, 0, 0,128, 1, 8, 0,128,240, 32, 0, 1.1561 + }}, 1.1562 + {{ 1.1563 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 1.1564 + }}, 1.1565 + {{ 1.1566 + 0, 0, 0, 0, 0, 0, 0,128, 3, 3, 3,227,128,128,255, 1, 1.1567 + }}, 1.1568 + {{ 1.1569 + 0, 0, 0,128,240,255, 0, 0, 0,248,255,255,255,255,255,255, 1.1570 + }}, 1.1571 + {{ 1.1572 + 0, 0, 0, 0,192, 0, 0, 0, 0,192,255,255,255,255,255,255, 1.1573 + }}, 1.1574 + {{ 1.1575 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,255, 1.1576 + }}, 1.1577 + {{ 1.1578 + 0, 0, 0, 0,128, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1579 + }}, 1.1580 + {{ 1.1581 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,255,255,255,255, 1.1582 + }}, 1.1583 + {{ 1.1584 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 1.1585 + }}, 1.1586 + {{ 1.1587 + 0, 0, 0, 32,155, 33, 0, 20, 18, 0, 0, 0, 0, 0, 0, 0, 1.1588 + }}, 1.1589 + {{ 1.1590 + 64, 24, 32, 32, 0, 0, 0,132,160, 3, 2, 0, 0, 0, 0, 0, 1.1591 + }}, 1.1592 + {{ 1.1593 + 0, 0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1594 + }}, 1.1595 + {{ 1.1596 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 1.1597 + }}, 1.1598 + {{ 1.1599 + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 63, 1.1600 + }}, 1.1601 + {{ 1.1602 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255,255,255,255,255, 1.1603 + }}, 1.1604 + {{ 1.1605 + 0, 0, 0,192,255,255,255,255,255,255,255,255,255,255,255,255, 1.1606 + }}, 1.1607 + {{ 1.1608 + 253,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1609 + }}, 1.1610 +}; 1.1611 + 1.1612 +static const unsigned short nameprep_id11_bidi_imap[] = { 1.1613 + 272, 400, 528, 656, 784, 912, 912, 912, 1.1614 + 912, 1040, 1168, 912, 912, 1296, 912, 1424, 1.1615 + 1552, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1616 + 1680, 1680, 1680, 1680, 1680, 1808, 1680, 1680, 1.1617 + 912, 912, 912, 912, 912, 912, 912, 912, 1.1618 + 912, 912, 1936, 1680, 1680, 1680, 1680, 2064, 1.1619 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1620 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1621 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1622 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1623 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1624 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1625 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1626 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1627 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1628 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1629 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1630 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1631 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1632 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1633 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1634 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1635 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1636 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1637 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1638 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1639 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1640 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1641 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1642 + 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1680, 1.1643 + 912, 912, 912, 912, 912, 912, 912, 912, 1.1644 + 912, 912, 912, 912, 912, 912, 912, 2192, 1.1645 + 912, 912, 912, 912, 912, 912, 912, 912, 1.1646 + 912, 912, 912, 912, 912, 912, 912, 2192, 1.1647 + 0, 0, 1, 1, 0, 2, 3, 3, 1.1648 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1649 + 4, 5, 6, 4, 4, 7, 8, 9, 1.1650 + 0, 0, 0, 10, 11, 12, 13, 14, 1.1651 + 4, 4, 4, 4, 15, 4, 13, 16, 1.1652 + 17, 18, 19, 20, 21, 22, 23, 24, 1.1653 + 25, 26, 27, 28, 29, 29, 30, 31, 1.1654 + 32, 33, 0, 0, 29, 34, 0, 0, 1.1655 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1656 + 35, 36, 37, 38, 39, 40, 41, 42, 1.1657 + 43, 44, 45, 46, 47, 48, 49, 50, 1.1658 + 39, 51, 41, 52, 53, 54, 55, 56, 1.1659 + 57, 58, 59, 60, 61, 62, 63, 60, 1.1660 + 61, 64, 65, 60, 66, 67, 68, 69, 1.1661 + 20, 70, 71, 0, 72, 73, 74, 0, 1.1662 + 75, 76, 77, 78, 79, 80, 81, 0, 1.1663 + 4, 82, 83, 0, 0, 4, 84, 85, 1.1664 + 4, 4, 86, 4, 4, 87, 4, 88, 1.1665 + 89, 4, 90, 4, 91, 92, 93, 13, 1.1666 + 92, 4, 94, 95, 0, 4, 4, 96, 1.1667 + 20, 4, 4, 4, 4, 4, 4, 4, 1.1668 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1669 + 4, 4, 4, 97, 1, 4, 4, 98, 1.1670 + 99, 100, 101, 102, 4, 103, 104, 105, 1.1671 + 106, 4, 4, 83, 4, 107, 0, 0, 1.1672 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1673 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1674 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1675 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1676 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1677 + 4, 4, 4, 4, 108, 4, 4, 88, 1.1678 + 109, 4, 110, 111, 4, 112, 113, 114, 1.1679 + 115, 0, 0, 116, 0, 0, 0, 0, 1.1680 + 117, 118, 119, 4, 120, 0, 0, 0, 1.1681 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1682 + 0, 121, 4, 122, 123, 0, 0, 0, 1.1683 + 0, 0, 0, 0, 124, 4, 4, 105, 1.1684 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1685 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1686 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1687 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1688 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1689 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1690 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1691 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1692 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1693 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1694 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1695 + 125, 126, 20, 4, 127, 20, 4, 128, 1.1696 + 129, 130, 4, 4, 13, 83, 0, 6, 1.1697 + 131, 4, 120, 132, 4, 98, 133, 134, 1.1698 + 4, 4, 4, 135, 4, 4, 111, 134, 1.1699 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1700 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1701 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1702 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1703 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1704 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1705 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1706 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1707 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1708 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1709 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1710 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1711 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1712 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1713 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1714 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1715 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1716 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1717 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1718 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1719 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1720 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1721 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1722 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1723 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1724 + 4, 4, 4, 4, 4, 14, 0, 0, 1.1725 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1726 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1727 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1728 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1729 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1730 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1731 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1732 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1733 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1734 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1735 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1736 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1737 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1738 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1739 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1740 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1741 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1742 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1743 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1744 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1745 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1746 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1747 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1748 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1749 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1750 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1751 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1752 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1753 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1754 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1755 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1756 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1757 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1758 + 4, 4, 4, 4, 4, 136, 0, 0, 1.1759 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1760 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1761 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1762 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1763 + 4, 4, 4, 4, 137, 0, 0, 0, 1.1764 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1765 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1766 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1767 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1768 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1769 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1770 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1771 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1772 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1773 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1774 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1775 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1776 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1777 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1778 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1779 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1780 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1781 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1782 + 4, 4, 4, 4, 4, 120, 0, 0, 1.1783 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1784 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1785 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1786 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1787 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1788 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1789 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1790 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1791 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1792 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1793 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1794 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1795 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1796 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1797 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1798 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1799 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1800 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1801 + 4, 138, 4, 139, 0, 0, 0, 0, 1.1802 + 140, 141, 142, 29, 29, 143, 144, 29, 1.1803 + 29, 29, 29, 29, 29, 29, 29, 29, 1.1804 + 29, 145, 146, 29, 147, 29, 148, 149, 1.1805 + 0, 0, 0, 150, 29, 29, 29, 151, 1.1806 + 0, 1, 1, 152, 4, 134, 153, 0, 1.1807 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1808 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1809 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1810 + 134, 154, 139, 0, 0, 0, 0, 0, 1.1811 + 4, 155, 156, 0, 0, 0, 0, 0, 1.1812 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1813 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1814 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1815 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1816 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1817 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1818 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1819 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1820 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1821 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1822 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1823 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1824 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1825 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1826 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1827 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1828 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1829 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1830 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1831 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1832 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1833 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1834 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1835 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1836 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1837 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1838 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1839 + 4, 4, 4, 4, 4, 4, 4, 14, 1.1840 + 4, 157, 4, 158, 159, 160, 111, 0, 1.1841 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1842 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1843 + 4, 4, 161, 4, 162, 163, 164, 4, 1.1844 + 165, 166, 167, 4, 4, 4, 4, 4, 1.1845 + 4, 4, 4, 4, 4, 168, 4, 4, 1.1846 + 4, 4, 4, 4, 4, 4, 105, 0, 1.1847 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1848 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1849 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1850 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1851 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1852 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1853 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1854 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1855 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1856 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1857 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1858 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1859 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1860 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1861 + 4, 4, 4, 4, 4, 4, 97, 0, 1.1862 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1863 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1864 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1865 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1866 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1867 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1868 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1869 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1870 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1871 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1872 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1873 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1874 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1875 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1876 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1877 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1878 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1879 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1880 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1881 + 111, 0, 0, 0, 0, 0, 0, 0, 1.1882 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1883 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1884 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1885 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1886 + 0, 0, 0, 0, 0, 0, 0, 0, 1.1887 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1888 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1889 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1890 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1891 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1892 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1893 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1894 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1895 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1896 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1897 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1898 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1899 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1900 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1901 + 4, 4, 4, 4, 4, 4, 4, 4, 1.1902 + 4, 4, 4, 4, 4, 4, 4, 111, 1.1903 +}; 1.1904 + 1.1905 +static const struct { 1.1906 + unsigned char tbl[32]; 1.1907 +} nameprep_id11_bidi_table[] = { 1.1908 + {{ 1.1909 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1910 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1911 + }}, 1.1912 + {{ 1.1913 + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1914 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 1.1915 + }}, 1.1916 + {{ 1.1917 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1.1918 + 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1.1919 + }}, 1.1920 + {{ 1.1921 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1922 + 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 1.1923 + }}, 1.1924 + {{ 1.1925 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1926 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1927 + }}, 1.1928 + {{ 1.1929 + 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1930 + 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1931 + }}, 1.1932 + {{ 1.1933 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1.1934 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1935 + }}, 1.1936 + {{ 1.1937 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 1.1938 + 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 1.1939 + }}, 1.1940 + {{ 1.1941 + 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1.1942 + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1943 + }}, 1.1944 + {{ 1.1945 + 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1.1946 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1947 + }}, 1.1948 + {{ 1.1949 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1950 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1.1951 + }}, 1.1952 + {{ 1.1953 + 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 2, 0, 2, 0, 2, 2, 2, 1.1954 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1955 + }}, 1.1956 + {{ 1.1957 + 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1958 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1959 + }}, 1.1960 + {{ 1.1961 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 1.1962 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1963 + }}, 1.1964 + {{ 1.1965 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1966 + 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1967 + }}, 1.1968 + {{ 1.1969 + 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 1.1970 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1971 + }}, 1.1972 + {{ 1.1973 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1974 + 2, 2, 2, 2, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 1.1975 + }}, 1.1976 + {{ 1.1977 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1.1978 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1979 + }}, 1.1980 + {{ 1.1981 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1982 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1983 + }}, 1.1984 + {{ 1.1985 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1986 + 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 1.1987 + }}, 1.1988 + {{ 1.1989 + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1990 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.1991 + }}, 1.1992 + {{ 1.1993 + 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1.1994 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1995 + }}, 1.1996 + {{ 1.1997 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1998 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1.1999 + }}, 1.2000 + {{ 1.2001 + 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1.2002 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2003 + }}, 1.2004 + {{ 1.2005 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1.2006 + 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2007 + }}, 1.2008 + {{ 1.2009 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2010 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1.2011 + }}, 1.2012 + {{ 1.2013 + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2014 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1.2015 + }}, 1.2016 + {{ 1.2017 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1.2018 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2019 + }}, 1.2020 + {{ 1.2021 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1.2022 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2023 + }}, 1.2024 + {{ 1.2025 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2026 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2027 + }}, 1.2028 + {{ 1.2029 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2030 + 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1.2031 + }}, 1.2032 + {{ 1.2033 + 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2034 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1.2035 + }}, 1.2036 + {{ 1.2037 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1.2038 + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2039 + }}, 1.2040 + {{ 1.2041 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1.2042 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2043 + }}, 1.2044 + {{ 1.2045 + 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2046 + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2047 + }}, 1.2048 + {{ 1.2049 + 0, 0, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2050 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2051 + }}, 1.2052 + {{ 1.2053 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2054 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 1.2055 + }}, 1.2056 + {{ 1.2057 + 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 2, 1.2058 + 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 1.2059 + }}, 1.2060 + {{ 1.2061 + 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2062 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2063 + }}, 1.2064 + {{ 1.2065 + 0, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 1.2066 + 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2067 + }}, 1.2068 + {{ 1.2069 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 1.2070 + 0, 2, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 1.2071 + }}, 1.2072 + {{ 1.2073 + 2, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 0, 0, 1.2074 + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, 2, 0, 2, 1.2075 + }}, 1.2076 + {{ 1.2077 + 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2078 + 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 1.2079 + }}, 1.2080 + {{ 1.2081 + 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 1.2082 + 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2083 + }}, 1.2084 + {{ 1.2085 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 1.2086 + 0, 2, 2, 0, 2, 2, 0, 2, 2, 0, 0, 0, 0, 2, 2, 1.2087 + }}, 1.2088 + {{ 1.2089 + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2090 + 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 2, 0, 1.2091 + }}, 1.2092 + {{ 1.2093 + 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1.2094 + 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2095 + }}, 1.2096 + {{ 1.2097 + 0, 0, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 1.2098 + 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2099 + }}, 1.2100 + {{ 1.2101 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 1.2102 + 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 1.2103 + }}, 1.2104 + {{ 1.2105 + 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0, 2, 1.2106 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2107 + }}, 1.2108 + {{ 1.2109 + 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1.2110 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2111 + }}, 1.2112 + {{ 1.2113 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 1.2114 + 0, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, 0, 2, 2, 0, 1.2115 + }}, 1.2116 + {{ 1.2117 + 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2118 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2119 + }}, 1.2120 + {{ 1.2121 + 0, 0, 0, 2, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 1.2122 + 0, 2, 2, 2, 2, 0, 0, 0, 2, 2, 0, 2, 0, 2, 2, 1.2123 + }}, 1.2124 + {{ 1.2125 + 0, 0, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 0, 0, 2, 2, 2, 1.2126 + 2, 2, 2, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 2, 2, 1.2127 + }}, 1.2128 + {{ 1.2129 + 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 1.2130 + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1.2131 + }}, 1.2132 + {{ 1.2133 + 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2134 + 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2135 + }}, 1.2136 + {{ 1.2137 + 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 1.2138 + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2139 + }}, 1.2140 + {{ 1.2141 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 1.2142 + 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1.2143 + }}, 1.2144 + {{ 1.2145 + 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2146 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2147 + }}, 1.2148 + {{ 1.2149 + 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1.2150 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2151 + }}, 1.2152 + {{ 1.2153 + 0, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 1.2154 + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2155 + }}, 1.2156 + {{ 1.2157 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 1.2158 + 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 0, 1.2159 + }}, 1.2160 + {{ 1.2161 + 2, 2, 2, 2, 2, 0, 0, 2, 2, 0, 2, 2, 0, 0, 0, 0, 0, 1.2162 + 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1.2163 + }}, 1.2164 + {{ 1.2165 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 1.2166 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 1.2167 + }}, 1.2168 + {{ 1.2169 + 2, 0, 0, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 1.2170 + 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1.2171 + }}, 1.2172 + {{ 1.2173 + 0, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2174 + 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 1.2175 + }}, 1.2176 + {{ 1.2177 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2178 + 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 1.2179 + }}, 1.2180 + {{ 1.2181 + 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1.2182 + 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 1.2183 + }}, 1.2184 + {{ 1.2185 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2186 + 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2187 + }}, 1.2188 + {{ 1.2189 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2190 + 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2191 + }}, 1.2192 + {{ 1.2193 + 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1.2194 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1.2195 + }}, 1.2196 + {{ 1.2197 + 0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2, 0, 0, 0, 1.2198 + 0, 0, 0, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 1.2199 + }}, 1.2200 + {{ 1.2201 + 0, 2, 2, 2, 0, 2, 0, 2, 0, 0, 2, 2, 0, 2, 2, 2, 2, 1.2202 + 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1.2203 + }}, 1.2204 + {{ 1.2205 + 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1.2206 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 0, 0, 1.2207 + }}, 1.2208 + {{ 1.2209 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2210 + 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 1.2211 + }}, 1.2212 + {{ 1.2213 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2214 + 2, 2, 2, 2, 0, 2, 0, 2, 0, 0, 0, 0, 0, 2, 2, 1.2215 + }}, 1.2216 + {{ 1.2217 + 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 1.2218 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2219 + }}, 1.2220 + {{ 1.2221 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1.2222 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1.2223 + }}, 1.2224 + {{ 1.2225 + 0, 0, 0, 0, 0, 2, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 1.2226 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2227 + }}, 1.2228 + {{ 1.2229 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2230 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1.2231 + }}, 1.2232 + {{ 1.2233 + 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 0, 1.2234 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2235 + }}, 1.2236 + {{ 1.2237 + 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 0, 0, 0, 0, 1.2238 + 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 1.2239 + }}, 1.2240 + {{ 1.2241 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2242 + 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1.2243 + }}, 1.2244 + {{ 1.2245 + 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1.2246 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2247 + }}, 1.2248 + {{ 1.2249 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2250 + 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 0, 0, 0, 0, 1.2251 + }}, 1.2252 + {{ 1.2253 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2254 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2, 1.2255 + }}, 1.2256 + {{ 1.2257 + 2, 2, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2258 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2259 + }}, 1.2260 + {{ 1.2261 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2262 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1.2263 + }}, 1.2264 + {{ 1.2265 + 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2266 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2267 + }}, 1.2268 + {{ 1.2269 + 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0, 2, 1.2270 + 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0, 1.2271 + }}, 1.2272 + {{ 1.2273 + 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0, 2, 1.2274 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2275 + }}, 1.2276 + {{ 1.2277 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 1.2278 + 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 1.2279 + }}, 1.2280 + {{ 1.2281 + 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 1.2282 + 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 1.2283 + }}, 1.2284 + {{ 1.2285 + 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2286 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 1.2287 + }}, 1.2288 + {{ 1.2289 + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2290 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 1.2291 + }}, 1.2292 + {{ 1.2293 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2294 + 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2295 + }}, 1.2296 + {{ 1.2297 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2298 + 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2299 + }}, 1.2300 + {{ 1.2301 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2302 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2303 + }}, 1.2304 + {{ 1.2305 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 1.2306 + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2307 + }}, 1.2308 + {{ 1.2309 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2310 + 2, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2311 + }}, 1.2312 + {{ 1.2313 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2314 + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2315 + }}, 1.2316 + {{ 1.2317 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 1.2318 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2319 + }}, 1.2320 + {{ 1.2321 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2322 + 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1.2323 + }}, 1.2324 + {{ 1.2325 + 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1.2326 + 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 1.2327 + }}, 1.2328 + {{ 1.2329 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1.2330 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2331 + }}, 1.2332 + {{ 1.2333 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1.2334 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1.2335 + }}, 1.2336 + {{ 1.2337 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1.2338 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2339 + }}, 1.2340 + {{ 1.2341 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2342 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1.2343 + }}, 1.2344 + {{ 1.2345 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2346 + 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 1.2347 + }}, 1.2348 + {{ 1.2349 + 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 1.2350 + 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1.2351 + }}, 1.2352 + {{ 1.2353 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2354 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1.2355 + }}, 1.2356 + {{ 1.2357 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2358 + 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 1.2359 + }}, 1.2360 + {{ 1.2361 + 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 1.2362 + 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1.2363 + }}, 1.2364 + {{ 1.2365 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1.2366 + 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 1.2367 + }}, 1.2368 + {{ 1.2369 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 1.2370 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2371 + }}, 1.2372 + {{ 1.2373 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2374 + 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1.2375 + }}, 1.2376 + {{ 1.2377 + 0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 1.2378 + 2, 2, 2, 0, 2, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 1.2379 + }}, 1.2380 + {{ 1.2381 + 0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 2, 2, 2, 0, 2, 2, 1.2382 + 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 1.2383 + }}, 1.2384 + {{ 1.2385 + 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1.2386 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2387 + }}, 1.2388 + {{ 1.2389 + 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2390 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2391 + }}, 1.2392 + {{ 1.2393 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2394 + 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2395 + }}, 1.2396 + {{ 1.2397 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2398 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 1.2399 + }}, 1.2400 + {{ 1.2401 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2402 + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2403 + }}, 1.2404 + {{ 1.2405 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2406 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 1.2407 + }}, 1.2408 + {{ 1.2409 + 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2410 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2411 + }}, 1.2412 + {{ 1.2413 + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1.2414 + 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 1.2415 + }}, 1.2416 + {{ 1.2417 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2418 + 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1.2419 + }}, 1.2420 + {{ 1.2421 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2422 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 1.2423 + }}, 1.2424 + {{ 1.2425 + 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2426 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2427 + }}, 1.2428 + {{ 1.2429 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1.2430 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2431 + }}, 1.2432 + {{ 1.2433 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2434 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 1.2435 + }}, 1.2436 + {{ 1.2437 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2438 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 1.2439 + }}, 1.2440 + {{ 1.2441 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 1.2442 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2443 + }}, 1.2444 + {{ 1.2445 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2446 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1.2447 + }}, 1.2448 + {{ 1.2449 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2450 + 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 1.2451 + }}, 1.2452 + {{ 1.2453 + 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2454 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2455 + }}, 1.2456 + {{ 1.2457 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1.2458 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2459 + }}, 1.2460 + {{ 1.2461 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 1.2462 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2463 + }}, 1.2464 + {{ 1.2465 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1.2466 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2467 + }}, 1.2468 + {{ 1.2469 + 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2470 + 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 1, 0, 1, 1.2471 + }}, 1.2472 + {{ 1.2473 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1.2474 + 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1.2475 + }}, 1.2476 + {{ 1.2477 + 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2478 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2479 + }}, 1.2480 + {{ 1.2481 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2482 + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2483 + }}, 1.2484 + {{ 1.2485 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2486 + 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2487 + }}, 1.2488 + {{ 1.2489 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2490 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1.2491 + }}, 1.2492 + {{ 1.2493 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1.2494 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2495 + }}, 1.2496 + {{ 1.2497 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1.2498 + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2499 + }}, 1.2500 + {{ 1.2501 + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2502 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2503 + }}, 1.2504 + {{ 1.2505 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1.2506 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1.2507 + }}, 1.2508 + {{ 1.2509 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1.2510 + 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2511 + }}, 1.2512 + {{ 1.2513 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.2514 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1.2515 + }}, 1.2516 + {{ 1.2517 + 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2518 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2519 + }}, 1.2520 + {{ 1.2521 + 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 1.2522 + 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 0, 0, 0, 1.2523 + }}, 1.2524 + {{ 1.2525 + 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1.2526 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2527 + }}, 1.2528 + {{ 1.2529 + 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2530 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2531 + }}, 1.2532 + {{ 1.2533 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 1.2534 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2535 + }}, 1.2536 + {{ 1.2537 + 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 1.2538 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2539 + }}, 1.2540 + {{ 1.2541 + 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 1.2542 + 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2543 + }}, 1.2544 + {{ 1.2545 + 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 1.2546 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2547 + }}, 1.2548 + {{ 1.2549 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 1.2550 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2551 + }}, 1.2552 + {{ 1.2553 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2554 + 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2555 + }}, 1.2556 + {{ 1.2557 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2558 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 1.2559 + }}, 1.2560 + {{ 1.2561 + 0, 0, 2, 0, 0, 2, 2, 0, 0, 2, 2, 2, 2, 0, 2, 2, 2, 1.2562 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 1.2563 + }}, 1.2564 + {{ 1.2565 + 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2566 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2567 + }}, 1.2568 + {{ 1.2569 + 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 1.2570 + 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 1.2571 + }}, 1.2572 + {{ 1.2573 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2574 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 1.2575 + }}, 1.2576 + {{ 1.2577 + 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 1.2578 + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2579 + }}, 1.2580 + {{ 1.2581 + 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2582 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1.2583 + }}, 1.2584 +}; 1.2585 + 1.2586 +static const unsigned char nameprep_id11_bidi_data[] = { 1.2587 + idn_biditype_others, 1.2588 + idn_biditype_r_al, 1.2589 + idn_biditype_l, 1.2590 +}; 1.2591 +