1 /* -*- buffer-read-only: t -*-
5 * Copyright (C) 2007, 2011 by Larry Wall and others
7 * You may distribute under the terms of either the GNU General Public
8 * License or the Artistic License, as specified in the README file.
10 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
11 * This file is built by regen/regcharclass.pl.
12 * Any changes made here will be lost!
13 * WARNING: These macros are for internal Perl core use only, and may be
14 * changed or removed without notice.
18 #ifndef PERL_REGCHARCLASS_H_ /* Guard against nested #includes */
19 #define PERL_REGCHARCLASS_H_
21 #if 'A' == 65 /* ASCII/Latin1 */
23 LNBREAK: Line Break: \R
25 "\x0D\x0A" # CRLF - Network (Windows) line ending
28 /*** GENERATED CODE ***/
29 #define is_LNBREAK_safe(s,e,is_utf8) \
31 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \
32 : ( 0x0D == ((const U8*)s)[0] ) ? \
33 ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \
35 ( ( 0xC2 == ((const U8*)s)[0] ) ? \
36 ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \
37 : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 )\
38 : ( 0x85 == ((const U8*)s)[0] ) ) \
40 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \
41 : ( 0x0D == ((const U8*)s)[0] ) ? \
42 ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \
44 ( ( ( 0xC2 == ((const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 )\
45 : ( 0x85 == ((const U8*)s)[0] ) ) \
47 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0D ) ) ? 1 \
48 : ( !( is_utf8 ) ) ? \
49 ( 0x85 == ((const U8*)s)[0] ) \
53 /*** GENERATED CODE ***/
54 #define is_LNBREAK_utf8_safe(s,e) \
56 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \
57 : ( 0x0D == ((const U8*)s)[0] ) ? \
58 ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \
59 : ( 0xC2 == ((const U8*)s)[0] ) ? \
60 ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \
61 : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 )\
63 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) ) ? 1 \
64 : ( 0x0D == ((const U8*)s)[0] ) ? \
65 ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \
66 : ( ( 0xC2 == ((const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 )\
68 ( inRANGE(((const U8*)s)[0], 0x0A, 0x0D ) ) \
71 /*** GENERATED CODE ***/
72 #define is_LNBREAK_latin1_safe(s,e) \
74 ( ( inRANGE(((const U8*)s)[0], 0x0A, 0x0C ) || 0x85 == ((const U8*)s)[0] ) ? 1\
75 : ( 0x0D == ((const U8*)s)[0] ) ? \
76 ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) \
79 ( inRANGE(((const U8*)s)[0], 0x0A, 0x0D ) || 0x85 == ((const U8*)s)[0] )\
83 HORIZWS: Horizontal Whitespace: \h \H
87 /*** GENERATED CODE ***/
88 #define is_HORIZWS_high(s) \
89 ( ( 0xE1 == ((const U8*)s)[0] ) ? \
90 ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
91 : ( 0xE2 == ((const U8*)s)[0] ) ? \
92 ( ( 0x80 == ((const U8*)s)[1] ) ? \
93 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8A ) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 )\
94 : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ((const U8*)s)[2] ) ) ? 3 : 0 )\
95 : ( ( ( 0xE3 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )
97 /*** GENERATED CODE ***/
98 #define is_HORIZWS_cp_high(cp) \
99 ( 0x1680 == cp || ( 0x1680 < cp && \
100 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \
101 ( 0x202F == cp || ( 0x202F < cp && \
102 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
105 VERTWS: Vertical Whitespace: \v \V
109 /*** GENERATED CODE ***/
110 #define is_VERTWS_high(s) \
111 ( ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 )
113 /*** GENERATED CODE ***/
114 #define is_VERTWS_cp_high(cp) \
115 ( 0x2028 == cp || 0x2029 == cp )
118 XDIGIT: Hexadecimal digits
122 /*** GENERATED CODE ***/
123 #define is_XDIGIT_high(s) \
124 ( ( 0xEF == ((const U8*)s)[0] ) ? \
125 ( ( 0xBC == ((const U8*)s)[1] ) ? \
126 ( ( inRANGE(((const U8*)s)[2], 0x90, 0x99 ) || inRANGE(((const U8*)s)[2], 0xA1, 0xA6 ) ) ? 3 : 0 )\
127 : ( ( 0xBD == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x81, 0x86 ) ) ) ? 3 : 0 )\
130 /*** GENERATED CODE ***/
131 #define is_XDIGIT_cp_high(cp) \
132 ( inRANGE(cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \
133 ( inRANGE(cp, 0xFF21, 0xFF26) || inRANGE(cp, 0xFF41, 0xFF46) ) ) )
136 XPERLSPACE: \p{XPerlSpace}
140 /*** GENERATED CODE ***/
141 #define is_XPERLSPACE_high(s) \
142 ( ( 0xE1 == ((const U8*)s)[0] ) ? \
143 ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
144 : ( 0xE2 == ((const U8*)s)[0] ) ? \
145 ( ( 0x80 == ((const U8*)s)[1] ) ? \
146 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8A ) || inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 )\
147 : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ((const U8*)s)[2] ) ) ? 3 : 0 )\
148 : ( ( ( 0xE3 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 )
150 /*** GENERATED CODE ***/
151 #define is_XPERLSPACE_cp_high(cp) \
152 ( 0x1680 == cp || ( 0x1680 < cp && \
153 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \
154 ( 0x2028 == cp || ( 0x2028 < cp && \
155 ( 0x2029 == cp || ( 0x2029 < cp && \
156 ( 0x202F == cp || ( 0x202F < cp && \
157 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
160 NONCHAR: Non character code points
164 /*** GENERATED CODE ***/
165 #define is_NONCHAR_utf8_safe(s,e) \
166 ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xEF == ((const U8*)s)[0] ) ?\
167 ( ( 0xB7 == ((const U8*)s)[1] ) ? \
168 ( ( inRANGE(((const U8*)s)[2], 0x90, 0xAF ) ) ? 3 : 0 ) \
169 : ( ( 0xBF == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xBE, 0xBF ) ) ) ? 3 : 0 )\
170 : ( 0xF0 == ((const U8*)s)[0] ) ? \
171 ( ( ( ( ((const U8*)s)[1] == 0x9F || ( ( ((const U8*)s)[1] & 0xEF ) == 0xAF ) ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0xBE, 0xBF ) ) ) ? 4 : 0 )\
172 : ( inRANGE(((const U8*)s)[0], 0xF1, 0xF3 ) ) ? \
173 ( ( ( ( ( ((const U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0xBE, 0xBF ) ) ) ? 4 : 0 )\
174 : ( ( ( ( 0xF4 == ((const U8*)s)[0] ) && ( 0x8F == ((const U8*)s)[1] ) ) && ( 0xBF == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0xBE, 0xBF ) ) ) ? 4 : 0 ) : 0 )
177 SURROGATE: Surrogate code points
181 /*** GENERATED CODE ***/
182 #define is_SURROGATE_utf8_safe(s,e) \
183 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xED == ((const U8*)s)[0] ) ) && ( inRANGE(((const U8*)s)[1], 0xA0, 0xBF ) ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0xBF ) ) ) ? 3 : 0 )
186 QUOTEMETA: Meta-characters that \Q should quote
190 /*** GENERATED CODE ***/
191 #define is_QUOTEMETA_high(s) \
192 ( ( 0xCD == ((const U8*)s)[0] ) ? \
193 ( ( 0x8F == ((const U8*)s)[1] ) ? 2 : 0 ) \
194 : ( 0xD8 == ((const U8*)s)[0] ) ? \
195 ( ( 0x9C == ((const U8*)s)[1] ) ? 2 : 0 ) \
196 : ( 0xE1 == ((const U8*)s)[0] ) ? \
197 ( ( 0x85 == ((const U8*)s)[1] ) ? \
198 ( ( inRANGE(((const U8*)s)[2], 0x9F, 0xA0 ) ) ? 3 : 0 ) \
199 : ( 0x9A == ((const U8*)s)[1] ) ? \
200 ( ( 0x80 == ((const U8*)s)[2] ) ? 3 : 0 ) \
201 : ( 0x9E == ((const U8*)s)[1] ) ? \
202 ( ( inRANGE(((const U8*)s)[2], 0xB4, 0xB5 ) ) ? 3 : 0 ) \
203 : ( ( 0xA0 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x8B, 0x8E ) ) ) ? 3 : 0 )\
204 : ( 0xE2 == ((const U8*)s)[0] ) ? \
205 ( ( 0x80 == ((const U8*)s)[1] ) ? \
206 ( ( inRANGE(((const U8*)s)[2], 0x80, 0xBE ) ) ? 3 : 0 ) \
207 : ( 0x81 == ((const U8*)s)[1] ) ? \
208 ( ( inRANGE(((const U8*)s)[2], 0x81, 0x93 ) || inRANGE(((const U8*)s)[2], 0x95, 0xAF ) ) ? 3 : 0 )\
209 : ( 0x86 == ((const U8*)s)[1] ) ? \
210 ( ( inRANGE(((const U8*)s)[2], 0x90, 0xBF ) ) ? 3 : 0 ) \
211 : ( inRANGE(((const U8*)s)[1], 0x87, 0x90 ) || inRANGE(((const U8*)s)[1], 0x94, 0x9C ) || inRANGE(((const U8*)s)[1], 0x9F, 0xAF ) || inRANGE(((const U8*)s)[1], 0xB8, 0xB9 ) ) ?\
213 : ( 0x91 == ((const U8*)s)[1] ) ? \
214 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x9F ) ) ? 3 : 0 ) \
215 : ( 0x9D == ((const U8*)s)[1] ) ? \
216 ( ( inRANGE(((const U8*)s)[2], 0x80, 0xB5 ) ) ? 3 : 0 ) \
217 : ( ( 0x9E == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x94, 0xBF ) ) ) ? 3 : 0 )\
218 : ( 0xE3 == ((const U8*)s)[0] ) ? \
219 ( ( 0x80 == ((const U8*)s)[1] ) ? \
220 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x83 ) || inRANGE(((const U8*)s)[2], 0x88, 0xA0 ) || 0xB0 == ((const U8*)s)[2] ) ? 3 : 0 )\
221 : ( ( 0x85 == ((const U8*)s)[1] ) && ( 0xA4 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
222 : ( 0xEF == ((const U8*)s)[0] ) ? \
223 ( ( 0xB4 == ((const U8*)s)[1] ) ? \
224 ( ( inRANGE(((const U8*)s)[2], 0xBE, 0xBF ) ) ? 3 : 0 ) \
225 : ( 0xB8 == ((const U8*)s)[1] ) ? \
226 ( ( inRANGE(((const U8*)s)[2], 0x80, 0x8F ) ) ? 3 : 0 ) \
227 : ( 0xB9 == ((const U8*)s)[1] ) ? \
228 ( ( inRANGE(((const U8*)s)[2], 0x85, 0x86 ) ) ? 3 : 0 ) \
229 : ( 0xBB == ((const U8*)s)[1] ) ? \
230 ( ( 0xBF == ((const U8*)s)[2] ) ? 3 : 0 ) \
231 : ( 0xBE == ((const U8*)s)[1] ) ? \
232 ( ( 0xA0 == ((const U8*)s)[2] ) ? 3 : 0 ) \
233 : ( ( 0xBF == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xB0, 0xB8 ) ) ) ? 3 : 0 )\
234 : ( 0xF0 == ((const U8*)s)[0] ) ? \
235 ( ( 0x9B == ((const U8*)s)[1] ) ? \
236 ( ( ( 0xB2 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0xA0, 0xA3 ) ) ) ? 4 : 0 )\
237 : ( ( ( 0x9D == ((const U8*)s)[1] ) && ( 0x85 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0xB3, 0xBA ) ) ) ? 4 : 0 )\
238 : ( ( 0xF3 == ((const U8*)s)[0] ) && ( 0xA0 == ((const U8*)s)[1] ) ) ? 4 : 0 )
241 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
243 ®charclass_multi_char_folds::multi_char_folds('u', 'a')
245 /*** GENERATED CODE ***/
246 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
247 ( ( 0x61 == ((const U8*)s)[0] ) ? \
248 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\
249 : ( 0x66 == ((const U8*)s)[0] ) ? \
250 ( ( 0x66 == ((const U8*)s)[1] ) ? \
251 ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\
252 : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\
253 : ( 0x68 == ((const U8*)s)[0] ) ? \
254 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
255 : ( 0x69 == ((const U8*)s)[0] ) ? \
256 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
257 : ( 0x6A == ((const U8*)s)[0] ) ? \
258 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\
259 : ( 0x73 == ((const U8*)s)[0] ) ? \
260 ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \
261 : ( 0x74 == ((const U8*)s)[0] ) ? \
262 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
263 : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \
264 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\
265 : ( 0xC5 == ((const U8*)s)[0] ) ? \
266 ( ( ( ( 0xBF == ((const U8*)s)[1] ) && ( 0xC5 == ((const U8*)s)[2] ) ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\
267 : ( 0xCA == ((const U8*)s)[0] ) ? \
268 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\
269 : ( 0xCE == ((const U8*)s)[0] ) ? \
270 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \
271 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
272 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \
273 ( ( 0xCD == ((const U8*)s)[2] ) ? \
274 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \
275 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
276 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
277 : ( 0xCF == ((const U8*)s)[0] ) ? \
278 ( ( 0x81 == ((const U8*)s)[1] ) ? \
279 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
280 : ( 0x85 == ((const U8*)s)[1] ) ? \
281 ( ( 0xCC == ((const U8*)s)[2] ) ? \
282 ( ( 0x93 == ((const U8*)s)[3] ) ? 4 : 0 ) \
283 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
284 : ( 0x89 == ((const U8*)s)[1] ) ? \
285 ( ( 0xCD == ((const U8*)s)[2] ) ? \
286 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \
287 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
288 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
289 : ( 0xD5 == ((const U8*)s)[0] ) ? \
290 ( ( 0xA5 == ((const U8*)s)[1] ) ? \
291 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
292 : ( 0xB4 == ((const U8*)s)[1] ) ? \
293 ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
294 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
295 : ( 0xE1 == ((const U8*)s)[0] ) ? \
296 ( ( 0xBC == ((const U8*)s)[1] ) ? \
297 ( ( ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
298 : ( ( ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
302 /*** GENERATED CODE ***/
303 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
305 ( ( 0x61 == ((const U8*)s)[0] ) ? \
306 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\
307 : ( 0x66 == ((const U8*)s)[0] ) ? \
308 ( ( 0x66 == ((const U8*)s)[1] ) ? \
309 ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\
310 : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\
311 : ( 0x68 == ((const U8*)s)[0] ) ? \
312 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
313 : ( 0x69 == ((const U8*)s)[0] ) ? \
314 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
315 : ( 0x6A == ((const U8*)s)[0] ) ? \
316 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\
317 : ( 0x73 == ((const U8*)s)[0] ) ? \
318 ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \
319 : ( 0x74 == ((const U8*)s)[0] ) ? \
320 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
321 : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \
322 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\
323 : ( 0xC5 == ((const U8*)s)[0] ) ? \
324 ( ( ( ( 0xBF == ((const U8*)s)[1] ) && ( 0xC5 == ((const U8*)s)[2] ) ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\
325 : ( 0xCA == ((const U8*)s)[0] ) ? \
326 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\
327 : ( 0xCE == ((const U8*)s)[0] ) ? \
328 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \
329 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
330 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \
331 ( ( 0xCD == ((const U8*)s)[2] ) ? \
332 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \
333 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
334 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
335 : ( 0xCF == ((const U8*)s)[0] ) ? \
336 ( ( 0x81 == ((const U8*)s)[1] ) ? \
337 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
338 : ( 0x85 == ((const U8*)s)[1] ) ? \
339 ( ( 0xCC == ((const U8*)s)[2] ) ? \
340 ( ( 0x93 == ((const U8*)s)[3] ) ? 4 : 0 ) \
341 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
342 : ( 0x89 == ((const U8*)s)[1] ) ? \
343 ( ( 0xCD == ((const U8*)s)[2] ) ? \
344 ( ( 0x82 == ((const U8*)s)[3] ) ? 4 : 0 ) \
345 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
346 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
347 : ( 0xD5 == ((const U8*)s)[0] ) ? \
348 ( ( 0xA5 == ((const U8*)s)[1] ) ? \
349 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
350 : ( 0xB4 == ((const U8*)s)[1] ) ? \
351 ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
352 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
355 ( ( 0x61 == ((const U8*)s)[0] ) ? \
356 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\
357 : ( 0x66 == ((const U8*)s)[0] ) ? \
358 ( ( 0x66 == ((const U8*)s)[1] ) ? \
359 ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\
360 : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\
361 : ( 0x68 == ((const U8*)s)[0] ) ? \
362 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
363 : ( 0x69 == ((const U8*)s)[0] ) ? \
364 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
365 : ( 0x6A == ((const U8*)s)[0] ) ? \
366 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\
367 : ( 0x73 == ((const U8*)s)[0] ) ? \
368 ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \
369 : ( 0x74 == ((const U8*)s)[0] ) ? \
370 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
371 : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \
372 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\
373 : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0xBC == ((const U8*)s)[1] ) ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\
375 ( ( 0x66 == ((const U8*)s)[0] ) ? \
376 ( ( 0x66 == ((const U8*)s)[1] || 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\
377 : ( ( 0x73 == ((const U8*)s)[0] ) && ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ) ? 2 : 0 )\
381 /*** GENERATED CODE ***/
382 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
384 ( ( 0x61 == ((const U8*)s)[0] ) ? \
385 ( ( ( 0xCA == ((const U8*)s)[1] ) && ( 0xBE == ((const U8*)s)[2] ) ) ? 3 : 0 )\
386 : ( 0x66 == ((const U8*)s)[0] ) ? \
387 ( ( 0x66 == ((const U8*)s)[1] ) ? \
388 ( ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ? 3 : 2 )\
389 : ( 0x69 == ((const U8*)s)[1] || 0x6C == ((const U8*)s)[1] ) ? 2 : 0 )\
390 : ( 0x68 == ((const U8*)s)[0] ) ? \
391 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
392 : ( 0x69 == ((const U8*)s)[0] ) ? \
393 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x87 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
394 : ( 0x6A == ((const U8*)s)[0] ) ? \
395 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8C == ((const U8*)s)[2] ) ) ? 3 : 0 )\
396 : ( 0x73 == ((const U8*)s)[0] ) ? \
397 ( ( inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ? 2 : 0 ) \
398 : ( 0x74 == ((const U8*)s)[0] ) ? \
399 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x88 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
400 : ( 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? \
401 ( ( ( 0xCC == ((const U8*)s)[1] ) && ( 0x8A == ((const U8*)s)[2] ) ) ? 3 : 0 )\
402 : ( 0xC5 == ((const U8*)s)[0] ) ? \
403 ( ( ( ( 0xBF == ((const U8*)s)[1] ) && ( 0xC5 == ((const U8*)s)[2] ) ) && ( 0xBF == ((const U8*)s)[3] ) ) ? 4 : 0 )\
404 : ( 0xCA == ((const U8*)s)[0] ) ? \
405 ( ( ( 0xBC == ((const U8*)s)[1] ) && ( 0x6E == ((const U8*)s)[2] ) ) ? 3 : 0 )\
406 : ( 0xCE == ((const U8*)s)[0] ) ? \
407 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? \
408 ( ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
409 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \
410 ( ( 0xCD == ((const U8*)s)[2] ) ? \
411 ( ( 0x82 == ((const U8*)s)[3] ) ? \
412 ( ( ( 0xCE == ((const U8*)s)[4] ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 4 )\
414 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
415 : ( 0xB9 == ((const U8*)s)[1] ) ? \
416 ( ( 0xCC == ((const U8*)s)[2] ) ? \
417 ( ( 0x88 == ((const U8*)s)[3] ) ? \
418 ( ( 0xCC == ((const U8*)s)[4] ) ? \
419 ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\
420 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
422 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
424 : ( 0xCF == ((const U8*)s)[0] ) ? \
425 ( ( 0x81 == ((const U8*)s)[1] ) ? \
426 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x93 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
427 : ( 0x85 == ((const U8*)s)[1] ) ? \
428 ( ( 0xCC == ((const U8*)s)[2] ) ? \
429 ( ( 0x88 == ((const U8*)s)[3] ) ? \
430 ( ( 0xCC == ((const U8*)s)[4] ) ? \
431 ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\
432 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
433 : ( 0x93 == ((const U8*)s)[3] ) ? \
434 ( ( 0xCC == ((const U8*)s)[4] ) ? \
435 ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 4 )\
436 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 4 )\
438 : ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
439 : ( 0x89 == ((const U8*)s)[1] ) ? \
440 ( ( 0xCD == ((const U8*)s)[2] ) ? \
441 ( ( 0x82 == ((const U8*)s)[3] ) ? \
442 ( ( ( 0xCE == ((const U8*)s)[4] ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 4 )\
444 : ( ( 0xCE == ((const U8*)s)[2] ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
445 : ( ( ( 0x8E == ((const U8*)s)[1] ) && ( 0xCE == ((const U8*)s)[2] ) ) && ( 0xB9 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
446 : ( 0xD5 == ((const U8*)s)[0] ) ? \
447 ( ( 0xA5 == ((const U8*)s)[1] ) ? \
448 ( ( ( 0xD6 == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
449 : ( 0xB4 == ((const U8*)s)[1] ) ? \
450 ( ( ( 0xD5 == ((const U8*)s)[2] ) && ( ( ( ((const U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)s)[3] == 0xAB || ((const U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
451 : ( ( ( 0xBE == ((const U8*)s)[1] ) && ( 0xD5 == ((const U8*)s)[2] ) ) && ( 0xB6 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
452 : ( 0xE1 == ((const U8*)s)[0] ) ? \
453 ( ( 0xBC == ((const U8*)s)[1] ) ? \
454 ( ( ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
455 : ( ( ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((const U8*)s)[3] ) ) && ( 0xB9 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
457 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
460 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
462 ®charclass_multi_char_folds::multi_char_folds('l', 'a')
464 /*** GENERATED CODE ***/
465 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
467 ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ? \
468 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) ? \
469 ( ( ( ( ((const U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[2] & 0xDF ) == 0x4C ) ) ? 3 : 2 )\
470 : ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
471 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x53 ) && ( inRANGE(((const U8*)s)[1], 0x53, 0x54 ) || inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ) ? 2 : 0 )\
473 ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ? \
474 ( ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) || ( ( ((const U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
475 : ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x53 ) && ( inRANGE(((const U8*)s)[1], 0x53, 0x54 ) || inRANGE(((const U8*)s)[1], 0x73, 0x74 ) ) ) ? 2 : 0 )\
479 THREE_CHAR_FOLD: A three-character multi-char fold
481 ®charclass_multi_char_folds::multi_char_folds('u', '3')
483 /*** GENERATED CODE ***/
484 #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \
486 ( ( 0x66 == ((const U8*)s)[0] ) ? \
487 ( ( ( 0x66 == ((const U8*)s)[1] ) && ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ) ? 3 : 0 )\
488 : ( 0xCE == ((const U8*)s)[0] ) ? \
489 ( ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \
490 ( ( ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) && ( 0xCE == ((const U8*)s)[4] ) ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
491 : ( ( ( 0xB9 == ((const U8*)s)[1] ) && ( 0xCC == ((const U8*)s)[2] ) ) && ( 0x88 == ((const U8*)s)[3] ) ) ? ( ( 0xCC == ((const U8*)s)[4] ) ?\
492 ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\
493 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\
494 : ( 0xCF == ((const U8*)s)[0] ) ? \
495 ( ( 0x85 == ((const U8*)s)[1] ) ? \
496 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] || 0x93 == ((const U8*)s)[3] ) ) ? ( ( 0xCC == ((const U8*)s)[4] ) ?\
497 ( ( inRANGE(((const U8*)s)[5], 0x80, 0x81 ) ) ? 6 : 0 )\
498 : ( ( 0xCD == ((const U8*)s)[4] ) && ( 0x82 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\
499 : ( ( ( ( ( 0x89 == ((const U8*)s)[1] ) && ( 0xCD == ((const U8*)s)[2] ) ) && ( 0x82 == ((const U8*)s)[3] ) ) && ( 0xCE == ((const U8*)s)[4] ) ) && ( 0xB9 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
501 : ( ( ( ((e)-(s) > 2) && ( 0x66 == ((const U8*)s)[0] ) ) && ( 0x66 == ((const U8*)s)[1] ) ) && ( 0x69 == ((const U8*)s)[2] || 0x6C == ((const U8*)s)[2] ) ) ? 3 : 0 )
504 THREE_CHAR_FOLD: A three-character multi-char fold
506 ®charclass_multi_char_folds::multi_char_folds('l', '3')
508 /*** GENERATED CODE ***/
509 #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \
510 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ) && ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) ) && ( ( ( ((const U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((const U8*)s)[2] & 0xDF ) == 0x4C ) ) ) ? 3 : 0 )
513 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds
515 ®charclass_multi_char_folds::multi_char_folds('u', 'h')
517 /*** GENERATED CODE ***/
518 #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \
520 ( ( 0x61 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? 1\
521 : ( 0x66 == ((const U8*)s)[0] ) ? \
522 ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \
523 : ( 0xCA == ((const U8*)s)[0] ) ? \
524 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \
525 : ( 0xCE == ((const U8*)s)[0] ) ? \
526 ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) ? 2 \
527 : ( 0xB1 == ((const U8*)s)[1] || 0xB7 == ((const U8*)s)[1] ) ? \
528 ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
529 : ( 0xB9 == ((const U8*)s)[1] ) ? \
530 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
532 : ( 0xCF == ((const U8*)s)[0] ) ? \
533 ( ( 0x81 == ((const U8*)s)[1] || 0x8E == ((const U8*)s)[1] ) ? 2 \
534 : ( 0x85 == ((const U8*)s)[1] ) ? \
535 ( ( ( 0xCC == ((const U8*)s)[2] ) && ( 0x88 == ((const U8*)s)[3] || 0x93 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
536 : ( 0x89 == ((const U8*)s)[1] ) ? \
537 ( ( ( 0xCD == ((const U8*)s)[2] ) && ( 0x82 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
539 : ( 0xD5 == ((const U8*)s)[0] ) ? \
540 ( ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ? 2 : 0 )\
541 : ( 0xE1 == ((const U8*)s)[0] ) ? \
542 ( ( 0xBC == ((const U8*)s)[1] ) ? \
543 ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) ? 3 : 0 ) \
544 : ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) ? 3 : 0 )\
547 ( ( 0x61 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? 1\
548 : ( 0x66 == ((const U8*)s)[0] ) ? \
549 ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \
550 : ( 0xCA == ((const U8*)s)[0] ) ? \
551 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \
552 : ( 0xCE == ((const U8*)s)[0] ) ? \
553 ( ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) || ( ( ((const U8*)s)[1] & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0xB7 ) ? 2 : 0 )\
554 : ( 0xCF == ((const U8*)s)[0] ) ? \
555 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x81 ) || ((const U8*)s)[1] == 0x89 || ((const U8*)s)[1] == 0x8E ) ? 2 : 0 )\
556 : ( 0xD5 == ((const U8*)s)[0] ) ? \
557 ( ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ? 2 : 0 )\
558 : ( 0xE1 == ((const U8*)s)[0] ) ? \
559 ( ( 0xBC == ((const U8*)s)[1] ) ? \
560 ( ( ( ((const U8*)s)[2] & 0xD8 ) == 0x80 ) ? 3 : 0 ) \
561 : ( ( 0xBD == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)s)[2] & 0xFB ) == 0xB0 ) || ((const U8*)s)[2] == 0xBC ) ) ? 3 : 0 )\
564 ( ( 0x61 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] ) ? 1\
565 : ( 0x66 == ((const U8*)s)[0] ) ? \
566 ( ( 0x66 == ((const U8*)s)[1] ) ? 2 : 1 ) \
567 : ( 0xCA == ((const U8*)s)[0] ) ? \
568 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \
569 : ( 0xCE == ((const U8*)s)[0] ) ? \
570 ( ( ( ( ((const U8*)s)[1] & 0xFD ) == 0xAC ) || ( ( ((const U8*)s)[1] & 0xF7 ) == 0xB1 ) || ((const U8*)s)[1] == 0xB7 ) ? 2 : 0 )\
571 : ( 0xCF == ((const U8*)s)[0] ) ? \
572 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x81 ) || ((const U8*)s)[1] == 0x89 || ((const U8*)s)[1] == 0x8E ) ? 2 : 0 )\
573 : ( ( 0xD5 == ((const U8*)s)[0] ) && ( 0xA5 == ((const U8*)s)[1] || 0xB4 == ((const U8*)s)[1] || 0xBE == ((const U8*)s)[1] ) ) ? 2 : 0 )\
575 ( 0x61 == ((const U8*)s)[0] || 0x66 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x68, 0x6A ) || inRANGE(((const U8*)s)[0], 0x73, 0x74 ) || 0x77 == ((const U8*)s)[0] || 0x79 == ((const U8*)s)[0] )\
579 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds
581 ®charclass_multi_char_folds::multi_char_folds('l', 'h')
583 /*** GENERATED CODE ***/
584 #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \
586 ( ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x41 ) || ( ( ((const U8*)s)[0] & 0xDE ) == 0x48 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x4A ) || ( ( ((const U8*)s)[0] & 0xDB ) == 0x53 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x54 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x59 ) ) ? 1\
587 : ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) ? \
588 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x46 ) ? 2 : 1 ) \
591 ( ( ( ((const U8*)s)[0] & 0xDF ) == 0x41 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x46 ) || ( ( ((const U8*)s)[0] & 0xDE ) == 0x48 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x4A ) || ( ( ((const U8*)s)[0] & 0xDB ) == 0x53 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x54 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x59 ) )\
595 FOLDS_TO_MULTI: characters that fold to multi-char strings
597 \p{_Perl_Folds_To_Multi_Char}
599 /*** GENERATED CODE ***/
600 #define is_FOLDS_TO_MULTI_utf8(s) \
601 ( ( 0xC3 == ((const U8*)s)[0] ) ? \
602 ( ( 0x9F == ((const U8*)s)[1] ) ? 2 : 0 ) \
603 : ( 0xC4 == ((const U8*)s)[0] || 0xC7 == ((const U8*)s)[0] ) ? \
604 ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \
605 : ( 0xC5 == ((const U8*)s)[0] ) ? \
606 ( ( 0x89 == ((const U8*)s)[1] ) ? 2 : 0 ) \
607 : ( 0xCE == ((const U8*)s)[0] ) ? \
608 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x90 ) ? 2 : 0 ) \
609 : ( 0xD6 == ((const U8*)s)[0] ) ? \
610 ( ( 0x87 == ((const U8*)s)[1] ) ? 2 : 0 ) \
611 : ( 0xE1 == ((const U8*)s)[0] ) ? \
612 ( ( 0xBA == ((const U8*)s)[1] ) ? \
613 ( ( inRANGE(((const U8*)s)[2], 0x96, 0x9A ) || 0x9E == ((const U8*)s)[2] ) ? 3 : 0 )\
614 : ( 0xBD == ((const U8*)s)[1] ) ? \
615 ( ( ( ((const U8*)s)[2] & 0xF9 ) == 0x90 ) ? 3 : 0 ) \
616 : ( 0xBE == ((const U8*)s)[1] ) ? \
617 ( ( inRANGE(((const U8*)s)[2], 0x80, 0xAF ) || inRANGE(((const U8*)s)[2], 0xB2, 0xB4 ) || inRANGE(((const U8*)s)[2], 0xB6, 0xB7 ) || 0xBC == ((const U8*)s)[2] ) ? 3 : 0 )\
618 : ( ( 0xBF == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xCA ) == 0x82 ) || ( ( ((const U8*)s)[2] & 0xF7 ) == 0x84 ) || ((const U8*)s)[2] == 0xA4 || ( ( ((const U8*)s)[2] & 0xF7 ) == 0xB4 ) ) ) ? 3 : 0 )\
619 : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0x86 ) || inRANGE(((const U8*)s)[2], 0x93, 0x97 ) ) ) ? 3 : 0 )
622 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
624 \p{_Perl_Problematic_Locale_Folds}
626 /*** GENERATED CODE ***/
627 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
628 ( ( ((const U8*)s)[0] <= 0x7F ) ? 1 \
629 : ( inRANGE(((const U8*)s)[0], 0xC2, 0xC3 ) ) ? \
631 : ( 0xC4 == ((const U8*)s)[0] ) ? \
632 ( ( inRANGE(((const U8*)s)[1], 0xB0, 0xB1 ) ) ? 2 : 0 ) \
633 : ( 0xC5 == ((const U8*)s)[0] ) ? \
634 ( ( 0x89 == ((const U8*)s)[1] || 0xB8 == ((const U8*)s)[1] || 0xBF == ((const U8*)s)[1] ) ? 2 : 0 )\
635 : ( 0xC7 == ((const U8*)s)[0] ) ? \
636 ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \
637 : ( 0xCC == ((const U8*)s)[0] ) ? \
638 ( ( 0x87 == ((const U8*)s)[1] ) ? 2 : 0 ) \
639 : ( 0xCE == ((const U8*)s)[0] ) ? \
640 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \
641 : ( 0xE1 == ((const U8*)s)[0] ) ? \
642 ( ( ( 0xBA == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x96, 0x9A ) || 0x9E == ((const U8*)s)[2] ) ) ? 3 : 0 )\
643 : ( 0xE2 == ((const U8*)s)[0] ) ? \
644 ( ( ( 0x84 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xAA, 0xAB ) ) ) ? 3 : 0 )\
645 : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0x86 ) ) ) ? 3 : 0 )
647 /*** GENERATED CODE ***/
648 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
649 ( cp <= 0xFF || ( 0xFF < cp && \
650 ( 0x130 == cp || ( 0x130 < cp && \
651 ( 0x131 == cp || ( 0x131 < cp && \
652 ( 0x149 == cp || ( 0x149 < cp && \
653 ( 0x178 == cp || ( 0x178 < cp && \
654 ( 0x17F == cp || ( 0x17F < cp && \
655 ( 0x1F0 == cp || ( 0x1F0 < cp && \
656 ( 0x307 == cp || ( 0x307 < cp && \
657 ( 0x39C == cp || ( 0x39C < cp && \
658 ( 0x3BC == cp || ( 0x3BC < cp && \
659 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \
660 ( 0x1E9E == cp || ( 0x1E9E < cp && \
661 ( 0x212A == cp || ( 0x212A < cp && \
662 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
665 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
667 \p{_Perl_Problematic_Locale_Foldeds_Start}
669 /*** GENERATED CODE ***/
670 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
671 ( ( ((const U8*)s)[0] <= 0x7F ) ? 1 \
672 : ( inRANGE(((const U8*)s)[0], 0xC2, 0xC3 ) ) ? \
674 : ( 0xC4 == ((const U8*)s)[0] ) ? \
675 ( ( inRANGE(((const U8*)s)[1], 0xB0, 0xB1 ) ) ? 2 : 0 ) \
676 : ( 0xC5 == ((const U8*)s)[0] ) ? \
677 ( ( 0x89 == ((const U8*)s)[1] || 0xB8 == ((const U8*)s)[1] || 0xBF == ((const U8*)s)[1] ) ? 2 : 0 )\
678 : ( 0xC7 == ((const U8*)s)[0] ) ? \
679 ( ( 0xB0 == ((const U8*)s)[1] ) ? 2 : 0 ) \
680 : ( 0xCA == ((const U8*)s)[0] ) ? \
681 ( ( 0xBC == ((const U8*)s)[1] ) ? 2 : 0 ) \
682 : ( 0xCE == ((const U8*)s)[0] ) ? \
683 ( ( ( ((const U8*)s)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) \
684 : ( 0xE1 == ((const U8*)s)[0] ) ? \
685 ( ( ( 0xBA == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x96, 0x9A ) || 0x9E == ((const U8*)s)[2] ) ) ? 3 : 0 )\
686 : ( 0xE2 == ((const U8*)s)[0] ) ? \
687 ( ( ( 0x84 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0xAA, 0xAB ) ) ) ? 3 : 0 )\
688 : ( ( ( 0xEF == ((const U8*)s)[0] ) && ( 0xAC == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0x86 ) ) ) ? 3 : 0 )
690 /*** GENERATED CODE ***/
691 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
692 ( cp <= 0xFF || ( 0xFF < cp && \
693 ( 0x130 == cp || ( 0x130 < cp && \
694 ( 0x131 == cp || ( 0x131 < cp && \
695 ( 0x149 == cp || ( 0x149 < cp && \
696 ( 0x178 == cp || ( 0x178 < cp && \
697 ( 0x17F == cp || ( 0x17F < cp && \
698 ( 0x1F0 == cp || ( 0x1F0 < cp && \
699 ( 0x2BC == cp || ( 0x2BC < cp && \
700 ( 0x39C == cp || ( 0x39C < cp && \
701 ( 0x3BC == cp || ( 0x3BC < cp && \
702 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \
703 ( 0x1E9E == cp || ( 0x1E9E < cp && \
704 ( 0x212A == cp || ( 0x212A < cp && \
705 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
708 PATWS: pattern white space
712 /*** GENERATED CODE ***/
713 #define is_PATWS_safe(s,e,is_utf8) \
714 ( ( LIKELY((e) > (s)) ) ? \
715 ( ( inRANGE(((const U8*)s)[0], 0x09, 0x0D ) || 0x20 == ((const U8*)s)[0] ) ? 1\
717 ( 0x85 == ((const U8*)s)[0] ) \
718 : ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ? \
719 ( ( 0xC2 == ((const U8*)s)[0] ) ? \
720 ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) \
721 : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x8E, 0x8F ) || inRANGE(((const U8*)s)[2], 0xA8, 0xA9 ) ) ) ? 3 : 0 )\
725 /*** GENERATED CODE ***/
726 #define is_PATWS_cp(cp) \
727 ( inRANGE(cp, 0x09, 0x0D) || ( 0x0D < cp && \
728 ( 0x20 == cp || ( 0x20 < cp && \
729 ( 0x85 == cp || ( 0x85 < cp && \
730 ( 0x200E == cp || ( 0x200E < cp && \
731 ( 0x200F == cp || ( 0x200F < cp && \
732 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) )
735 HANGUL_ED: Hangul syllables whose first character is \xED
739 /*** GENERATED CODE ***/
740 #define is_HANGUL_ED_utf8_safe(s,e) \
741 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( 0xED == ((const U8*)s)[0] ) ) && ( inRANGE(((const U8*)s)[1], 0x80, 0x9F ) ) ) && ( inRANGE(((const U8*)s)[2], 0x80, 0xBF ) ) ) ? 3 : 0 )
743 #endif /* ASCII/Latin1 */
745 #if 'A' == 193 /* EBCDIC 1047 */ \
746 && '\\' == 224 && '[' == 173 && ']' == 189 && '{' == 192 && '}' == 208 \
747 && '^' == 95 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
748 && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 21
750 LNBREAK: Line Break: \R
752 "\x0D\x0A" # CRLF - Network (Windows) line ending
755 /*** GENERATED CODE ***/
756 #define is_LNBREAK_safe(s,e,is_utf8) \
758 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\
759 : ( 0x0D == ((const U8*)s)[0] ) ? \
760 ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \
761 : ( ( ( ( is_utf8 ) && ( 0xCA == ((const U8*)s)[0] ) ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\
763 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\
764 : ( 0x0D == ((const U8*)s)[0] ) ? \
765 ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \
768 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\
771 /*** GENERATED CODE ***/
772 #define is_LNBREAK_utf8_safe(s,e) \
774 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\
775 : ( 0x0D == ((const U8*)s)[0] ) ? \
776 ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \
777 : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\
779 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\
780 : ( 0x0D == ((const U8*)s)[0] ) ? \
781 ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \
784 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\
787 /*** GENERATED CODE ***/
788 #define is_LNBREAK_latin1_safe(s,e) \
790 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\
791 : ( 0x0D == ((const U8*)s)[0] ) ? \
792 ( ( 0x15 == ((const U8*)s)[1] ) ? 2 : 1 ) \
795 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\
799 HORIZWS: Horizontal Whitespace: \h \H
803 /*** GENERATED CODE ***/
804 #define is_HORIZWS_high(s) \
805 ( ( 0xBC == ((const U8*)s)[0] ) ? \
806 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
807 : ( 0xCA == ((const U8*)s)[0] ) ? \
808 ( ( 0x41 == ((const U8*)s)[1] ) ? \
809 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\
810 : ( 0x42 == ((const U8*)s)[1] ) ? \
811 ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \
812 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
813 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )
815 /*** GENERATED CODE ***/
816 #define is_HORIZWS_cp_high(cp) \
817 ( 0x1680 == cp || ( 0x1680 < cp && \
818 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \
819 ( 0x202F == cp || ( 0x202F < cp && \
820 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
823 VERTWS: Vertical Whitespace: \v \V
827 /*** GENERATED CODE ***/
828 #define is_VERTWS_high(s) \
829 ( ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )
831 /*** GENERATED CODE ***/
832 #define is_VERTWS_cp_high(cp) \
833 ( 0x2028 == cp || 0x2029 == cp )
836 XDIGIT: Hexadecimal digits
840 /*** GENERATED CODE ***/
841 #define is_XDIGIT_high(s) \
842 ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x73 == ((const U8*)s)[1] ) ) ? ( ( 0x67 == ((const U8*)s)[2] ) ?\
843 ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x68 ) ) ? 4 : 0 )\
844 : ( ( inRANGE(((const U8*)s)[2], 0x68, 0x69 ) ) && ( inRANGE(((const U8*)s)[3], 0x42, 0x47 ) ) ) ? 4 : 0 ) : 0 )
846 /*** GENERATED CODE ***/
847 #define is_XDIGIT_cp_high(cp) \
848 ( inRANGE(cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \
849 ( inRANGE(cp, 0xFF21, 0xFF26) || inRANGE(cp, 0xFF41, 0xFF46) ) ) )
852 XPERLSPACE: \p{XPerlSpace}
856 /*** GENERATED CODE ***/
857 #define is_XPERLSPACE_high(s) \
858 ( ( 0xBC == ((const U8*)s)[0] ) ? \
859 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
860 : ( 0xCA == ((const U8*)s)[0] ) ? \
861 ( ( 0x41 == ((const U8*)s)[1] ) ? \
862 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\
863 : ( 0x42 == ((const U8*)s)[1] ) ? \
864 ( ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) || 0x56 == ((const U8*)s)[2] ) ? 3 : 0 )\
865 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
866 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )
868 /*** GENERATED CODE ***/
869 #define is_XPERLSPACE_cp_high(cp) \
870 ( 0x1680 == cp || ( 0x1680 < cp && \
871 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \
872 ( 0x2028 == cp || ( 0x2028 < cp && \
873 ( 0x2029 == cp || ( 0x2029 < cp && \
874 ( 0x202F == cp || ( 0x202F < cp && \
875 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
878 NONCHAR: Non character code points
882 /*** GENERATED CODE ***/
883 #define is_NONCHAR_utf8_safe(s,e) \
884 ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xDD == ((const U8*)s)[0] ) ?\
885 ( ( 0x73 == ((const U8*)s)[1] ) ? \
886 ( ( 0x55 == ((const U8*)s)[2] ) ? \
887 ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x73 ) ) ? 4 : 0 )\
888 : ( 0x56 == ((const U8*)s)[2] ) ? \
889 ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\
890 : ( ( 0x73 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x72, 0x73 ) ) ) ? 4 : 0 )\
892 : ( 0xDF == ((const U8*)s)[0] || 0xEA == ((const U8*)s)[0] || 0xEC == ((const U8*)s)[0] ) ?\
893 ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x72, 0x73 ) ) ) ? 4 : 0 )\
894 : ( 0xED == ((const U8*)s)[0] ) ? \
895 ( ( ( ( ( ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x52 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x54 ) || ((const U8*)s)[1] == 0x58 || ((const U8*)s)[1] == 0x62 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x64 ) || ( ( ((const U8*)s)[1] & 0xFD ) == 0x68 ) || ( ( ((const U8*)s)[1] & 0xFD ) == 0x71 ) ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) && ( inRANGE(((const U8*)s)[4], 0x72, 0x73 ) ) ) ? 5 : 0 )\
896 : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( 0x73 == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) && ( inRANGE(((const U8*)s)[4], 0x72, 0x73 ) ) ) ? 5 : 0 ) : 0 )
899 SURROGATE: Surrogate code points
903 /*** GENERATED CODE ***/
904 #define is_SURROGATE_utf8_safe(s,e) \
905 ( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDD == ((const U8*)s)[0] ) ) && ( inRANGE(((const U8*)s)[1], 0x65, 0x66 ) ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x73 ) ) ) ? 4 : 0 )
908 QUOTEMETA: Meta-characters that \Q should quote
912 /*** GENERATED CODE ***/
913 #define is_QUOTEMETA_high(s) \
914 ( ( 0xB1 == ((const U8*)s)[0] ) ? \
915 ( ( 0x56 == ((const U8*)s)[1] ) ? 2 : 0 ) \
916 : ( 0xB8 == ((const U8*)s)[0] ) ? \
917 ( ( ( 0x57 == ((const U8*)s)[1] ) && ( 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
918 : ( 0xBB == ((const U8*)s)[0] ) ? \
919 ( ( 0x51 == ((const U8*)s)[1] ) ? \
920 ( ( 0x73 == ((const U8*)s)[2] ) ? 3 : 0 ) \
921 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
922 : ( 0xBC == ((const U8*)s)[0] ) ? \
923 ( ( 0x63 == ((const U8*)s)[1] ) ? \
924 ( ( 0x41 == ((const U8*)s)[2] ) ? 3 : 0 ) \
925 : ( ( 0x71 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x63, 0x64 ) ) ) ? 3 : 0 )\
926 : ( 0xBE == ((const U8*)s)[0] ) ? \
927 ( ( ( 0x41 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x52, 0x55 ) ) ) ? 3 : 0 )\
928 : ( 0xCA == ((const U8*)s)[0] ) ? \
929 ( ( 0x41 == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x54, 0x59 ) || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x73 ) ) ?\
930 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ? 3 : 0 )\
931 : ( 0x42 == ((const U8*)s)[1] ) ? \
932 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\
933 : ( 0x43 == ((const U8*)s)[1] ) ? \
934 ( ( inRANGE(((const U8*)s)[2], 0x42, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x62 == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x64, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ? 3 : 0 )\
935 : ( 0x44 == ((const U8*)s)[1] ) ? \
936 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x56 ) ) ? 3 : 0 )\
937 : ( ( 0x53 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x57, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) ? 3 : 0 )\
938 : ( 0xCB == ((const U8*)s)[0] ) ? \
939 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x43 ) || inRANGE(((const U8*)s)[1], 0x49, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || inRANGE(((const U8*)s)[1], 0x62, 0x69 ) || inRANGE(((const U8*)s)[1], 0x71, 0x73 ) ) ?\
940 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ? 3 : 0 )\
941 : ( 0x6A == ((const U8*)s)[1] ) ? \
942 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x64 ) ) ? 3 : 0 )\
943 : ( ( 0x70 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x63, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) ? 3 : 0 )\
944 : ( 0xCC == ((const U8*)s)[0] ) ? \
945 ( ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x73 ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) ? 3 : 0 )\
946 : ( 0xCD == ((const U8*)s)[0] ) ? \
947 ( ( ( inRANGE(((const U8*)s)[1], 0x57, 0x59 ) || 0x62 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ) ? 3 : 0 )\
948 : ( 0xCE == ((const U8*)s)[0] ) ? \
949 ( ( 0x41 == ((const U8*)s)[1] ) ? \
950 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x44 ) || inRANGE(((const U8*)s)[2], 0x49, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ? 3 : 0 )\
951 : ( 0x42 == ((const U8*)s)[1] ) ? \
952 ( ( 0x41 == ((const U8*)s)[2] || 0x57 == ((const U8*)s)[2] ) ? 3 : 0 )\
953 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x45 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
954 : ( 0xDD == ((const U8*)s)[0] ) ? \
955 ( ( 0x73 == ((const U8*)s)[1] ) ? \
956 ( ( 0x4A == ((const U8*)s)[2] ) ? \
957 ( ( inRANGE(((const U8*)s)[3], 0x72, 0x73 ) ) ? 4 : 0 ) \
958 : ( 0x57 == ((const U8*)s)[2] ) ? \
959 ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\
960 : ( 0x59 == ((const U8*)s)[2] ) ? \
961 ( ( inRANGE(((const U8*)s)[3], 0x46, 0x47 ) ) ? 4 : 0 ) \
962 : ( 0x66 == ((const U8*)s)[2] ) ? \
963 ( ( 0x73 == ((const U8*)s)[3] ) ? 4 : 0 ) \
964 : ( 0x71 == ((const U8*)s)[2] ) ? \
965 ( ( 0x41 == ((const U8*)s)[3] ) ? 4 : 0 ) \
966 : ( ( 0x73 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x67 ) ) ) ? 4 : 0 )\
968 : ( 0xDF == ((const U8*)s)[0] ) ? \
969 ( ( 0x56 == ((const U8*)s)[1] ) ? \
970 ( ( ( 0x46 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x44 ) ) ) ? 4 : 0 )\
971 : ( ( ( 0x63 == ((const U8*)s)[1] ) && ( 0x52 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x62, 0x69 ) ) ) ? 4 : 0 )\
972 : ( ( ( ( ( 0xED == ((const U8*)s)[0] ) && ( 0x70 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x44 ) ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x59 ) || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x73 ) ) ) && ( inRANGE(((const U8*)s)[4], 0x41, 0x4A ) || inRANGE(((const U8*)s)[4], 0x51, 0x59 ) || inRANGE(((const U8*)s)[4], 0x62, 0x6A ) || inRANGE(((const U8*)s)[4], 0x70, 0x73 ) ) ) ? 5 : 0 )
975 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
977 ®charclass_multi_char_folds::multi_char_folds('u', 'a')
979 /*** GENERATED CODE ***/
980 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
981 ( ( 0x86 == ((const U8*)s)[1] ) ? \
982 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\
983 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )
986 /*** GENERATED CODE ***/
987 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
988 ( ( 0x88 == ((const U8*)s)[0] ) ? \
989 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
990 : ( 0x89 == ((const U8*)s)[0] ) ? \
991 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
992 : ( 0x8F == ((const U8*)s)[0] ) ? \
993 ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x8F == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
994 : ( 0x91 == ((const U8*)s)[0] ) ? \
995 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
996 : ( 0xA2 == ((const U8*)s)[0] ) ? \
997 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \
998 : ( 0xA3 == ((const U8*)s)[0] ) ? \
999 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1000 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \
1001 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1002 : ( 0xAB == ((const U8*)s)[0] ) ? \
1003 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1004 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1005 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \
1006 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1007 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \
1008 ( ( 0xB1 == ((const U8*)s)[2] ) ? \
1009 ( ( 0x43 == ((const U8*)s)[3] ) ? \
1010 ( ( ( 0xB4 == ((const U8*)s)[4] ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 4 )\
1012 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1013 : ( 0x68 == ((const U8*)s)[1] ) ? \
1014 ( ( 0xAF == ((const U8*)s)[2] ) ? \
1015 ( ( 0x49 == ((const U8*)s)[3] ) ? \
1016 ( ( 0xAF == ((const U8*)s)[4] ) ? \
1017 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\
1018 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1020 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1022 : ( 0xB5 == ((const U8*)s)[0] ) ? \
1023 ( ( 0x42 == ((const U8*)s)[1] ) ? \
1024 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1025 : ( 0x46 == ((const U8*)s)[1] ) ? \
1026 ( ( 0xAF == ((const U8*)s)[2] ) ? \
1027 ( ( 0x49 == ((const U8*)s)[3] ) ? \
1028 ( ( 0xAF == ((const U8*)s)[4] ) ? \
1029 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\
1030 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1031 : ( 0x62 == ((const U8*)s)[3] ) ? \
1032 ( ( 0xAF == ((const U8*)s)[4] ) ? \
1033 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 4 )\
1034 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 4 )\
1036 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1037 : ( 0x4A == ((const U8*)s)[1] ) ? \
1038 ( ( 0xB1 == ((const U8*)s)[2] ) ? \
1039 ( ( 0x43 == ((const U8*)s)[3] ) ? \
1040 ( ( ( 0xB4 == ((const U8*)s)[4] ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 4 )\
1042 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1043 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1044 : ( 0xB8 == ((const U8*)s)[0] ) ? \
1045 ( ( 0x52 == ((const U8*)s)[1] ) ? \
1046 ( ( 0x46 == ((const U8*)s)[2] ) ? \
1047 ( ( ( ( 0xB8 == ((const U8*)s)[3] ) && ( 0x53 == ((const U8*)s)[4] ) ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1048 : ( 0x63 == ((const U8*)s)[2] ) ? \
1049 ( ( ( ( 0xB8 == ((const U8*)s)[3] ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x46 == ((const U8*)s)[5] || 0x52 == ((const U8*)s)[5] || 0x54 == ((const U8*)s)[5] || 0x65 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1050 : ( ( ( ( 0x72 == ((const U8*)s)[2] ) && ( 0xB8 == ((const U8*)s)[3] ) ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x65 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1052 : ( 0xBF == ((const U8*)s)[0] ) ? \
1053 ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \
1054 ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
1055 : ( ( ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x70 == ((const U8*)s)[2] ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
1059 /*** GENERATED CODE ***/
1060 #define is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) \
1061 ( ( 0x81 == ((const U8*)s)[0] ) ? \
1062 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1063 : ( 0x86 == ((const U8*)s)[0] ) ? \
1064 ( ( 0x86 == ((const U8*)s)[1] ) ? \
1065 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\
1066 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\
1067 : ( 0x88 == ((const U8*)s)[0] ) ? \
1068 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1069 : ( 0x89 == ((const U8*)s)[0] ) ? \
1070 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1071 : ( 0x8F == ((const U8*)s)[0] ) ? \
1072 ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x8F == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1073 : ( 0x91 == ((const U8*)s)[0] ) ? \
1074 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1075 : ( 0xA2 == ((const U8*)s)[0] ) ? \
1076 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \
1077 : ( 0xA3 == ((const U8*)s)[0] ) ? \
1078 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1079 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \
1080 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1081 : ( 0xAB == ((const U8*)s)[0] ) ? \
1082 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1083 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1084 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \
1085 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1086 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \
1087 ( ( 0xB1 == ((const U8*)s)[2] ) ? \
1088 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1089 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1090 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1091 : ( 0xB5 == ((const U8*)s)[0] ) ? \
1092 ( ( 0x42 == ((const U8*)s)[1] ) ? \
1093 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1094 : ( 0x46 == ((const U8*)s)[1] ) ? \
1095 ( ( 0xAF == ((const U8*)s)[2] ) ? \
1096 ( ( 0x62 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1097 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1098 : ( 0x4A == ((const U8*)s)[1] ) ? \
1099 ( ( 0xB1 == ((const U8*)s)[2] ) ? \
1100 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1101 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1102 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1103 : ( 0xBF == ((const U8*)s)[0] ) ? \
1104 ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \
1105 ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
1106 : ( ( ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x70 == ((const U8*)s)[2] ) ) && ( 0xB4 == ((const U8*)s)[3] ) ) && ( 0x68 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
1110 /*** GENERATED CODE ***/
1111 #define is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) \
1113 ( ( 0x81 == ((const U8*)s)[0] ) ? \
1114 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1115 : ( 0x86 == ((const U8*)s)[0] ) ? \
1116 ( ( 0x86 == ((const U8*)s)[1] ) ? \
1117 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\
1118 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\
1119 : ( 0x88 == ((const U8*)s)[0] ) ? \
1120 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1121 : ( 0x89 == ((const U8*)s)[0] ) ? \
1122 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1123 : ( 0x8F == ((const U8*)s)[0] ) ? \
1124 ( ( ( ( 0x73 == ((const U8*)s)[1] ) && ( 0x8F == ((const U8*)s)[2] ) ) && ( 0x73 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1125 : ( 0x91 == ((const U8*)s)[0] ) ? \
1126 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1127 : ( 0xA2 == ((const U8*)s)[0] ) ? \
1128 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \
1129 : ( 0xA3 == ((const U8*)s)[0] ) ? \
1130 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1131 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \
1132 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1133 : ( 0xAB == ((const U8*)s)[0] ) ? \
1134 ( ( ( 0x70 == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1135 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1136 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \
1137 ( ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1138 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \
1139 ( ( 0xB1 == ((const U8*)s)[2] ) ? \
1140 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1141 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1142 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1143 : ( 0xB5 == ((const U8*)s)[0] ) ? \
1144 ( ( 0x42 == ((const U8*)s)[1] ) ? \
1145 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x62 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1146 : ( 0x46 == ((const U8*)s)[1] ) ? \
1147 ( ( 0xAF == ((const U8*)s)[2] ) ? \
1148 ( ( 0x62 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1149 : ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1150 : ( 0x4A == ((const U8*)s)[1] ) ? \
1151 ( ( 0xB1 == ((const U8*)s)[2] ) ? \
1152 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1153 : ( ( 0xB4 == ((const U8*)s)[2] ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1154 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB4 == ((const U8*)s)[2] ) ) && ( 0x68 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1157 ( ( 0x81 == ((const U8*)s)[0] ) ? \
1158 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1159 : ( 0x86 == ((const U8*)s)[0] ) ? \
1160 ( ( 0x86 == ((const U8*)s)[1] ) ? \
1161 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\
1162 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\
1163 : ( 0x88 == ((const U8*)s)[0] ) ? \
1164 ( ( ( 0xB0 == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1165 : ( 0x89 == ((const U8*)s)[0] ) ? \
1166 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1167 : ( 0x91 == ((const U8*)s)[0] ) ? \
1168 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1169 : ( 0xA2 == ((const U8*)s)[0] ) ? \
1170 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \
1171 : ( 0xA3 == ((const U8*)s)[0] ) ? \
1172 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1173 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \
1174 ( ( ( 0xAF == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1175 : ( ( ( 0xAB == ((const U8*)s)[0] ) && ( 0x70 == ((const U8*)s)[1] ) ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1177 ( ( 0x86 == ((const U8*)s)[0] ) ? \
1178 ( ( 0x86 == ((const U8*)s)[1] || 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\
1179 : ( ( 0xA2 == ((const U8*)s)[0] ) && ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ) ? 2 : 0 )\
1183 /*** GENERATED CODE ***/
1184 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
1186 ( ( 0x81 == ((const U8*)s)[0] ) ? \
1187 ( ( ( 0xAB == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1188 : ( 0x86 == ((const U8*)s)[0] ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )\
1189 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) )
1192 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
1194 ®charclass_multi_char_folds::multi_char_folds('l', 'a')
1196 /*** GENERATED CODE ***/
1197 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
1199 ( ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \
1200 ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? \
1201 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[2] & 0xBF ) == 0x93 ) ) ? 3 : 2 )\
1202 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
1203 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
1205 ( ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \
1206 ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
1207 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
1211 THREE_CHAR_FOLD: A three-character multi-char fold
1213 ®charclass_multi_char_folds::multi_char_folds('u', '3')
1215 /*** GENERATED CODE ***/
1216 #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \
1218 ( ( 0x86 == ((const U8*)s)[0] ) ? \
1219 ( ( ( 0x86 == ((const U8*)s)[1] ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1220 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1221 ( ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \
1222 ( ( ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB4 == ((const U8*)s)[4] ) ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1223 : ( ( ( 0x68 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x49 == ((const U8*)s)[3] ) ) ? ( ( 0xAF == ((const U8*)s)[4] ) ?\
1224 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\
1225 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\
1226 : ( 0xB5 == ((const U8*)s)[0] ) ? \
1227 ( ( 0x46 == ((const U8*)s)[1] ) ? \
1228 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x62 == ((const U8*)s)[3] ) ) ? ( ( 0xAF == ((const U8*)s)[4] ) ?\
1229 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\
1230 : ( ( 0xB1 == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\
1231 : ( ( ( ( ( 0x4A == ((const U8*)s)[1] ) && ( 0xB1 == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB4 == ((const U8*)s)[4] ) ) && ( 0x68 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1233 : ( ( ( ((e)-(s) > 2) && ( 0x86 == ((const U8*)s)[0] ) ) && ( 0x86 == ((const U8*)s)[1] ) ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 )
1236 THREE_CHAR_FOLD: A three-character multi-char fold
1238 ®charclass_multi_char_folds::multi_char_folds('l', '3')
1240 /*** GENERATED CODE ***/
1241 #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \
1242 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ) && ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[2] & 0xBF ) == 0x93 ) ) ) ? 3 : 0 )
1245 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds
1247 ®charclass_multi_char_folds::multi_char_folds('u', 'h')
1249 /*** GENERATED CODE ***/
1250 #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \
1252 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\
1253 : ( 0x86 == ((const U8*)s)[0] ) ? \
1254 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \
1255 : ( 0xAB == ((const U8*)s)[0] ) ? \
1256 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1257 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1258 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \
1259 : ( 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] ) ? \
1260 ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
1261 : ( 0x68 == ((const U8*)s)[1] ) ? \
1262 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
1264 : ( 0xB5 == ((const U8*)s)[0] ) ? \
1265 ( ( 0x42 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \
1266 : ( 0x46 == ((const U8*)s)[1] ) ? \
1267 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x62 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
1268 : ( 0x4A == ((const U8*)s)[1] ) ? \
1269 ( ( ( 0xB1 == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
1271 : ( 0xB8 == ((const U8*)s)[0] ) ? \
1272 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1273 : ( 0xBF == ((const U8*)s)[0] ) ? \
1274 ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \
1275 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \
1276 : ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1279 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\
1280 : ( 0x86 == ((const U8*)s)[0] ) ? \
1281 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \
1282 : ( 0xAB == ((const U8*)s)[0] ) ? \
1283 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1284 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1285 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] || 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] || 0x68 == ((const U8*)s)[1] ) ? 2 : 0 )\
1286 : ( 0xB5 == ((const U8*)s)[0] ) ? \
1287 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ? 2 : 0 )\
1288 : ( 0xB8 == ((const U8*)s)[0] ) ? \
1289 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1290 : ( 0xBF == ((const U8*)s)[0] ) ? \
1291 ( ( inRANGE(((const U8*)s)[1], 0x67, 0x68 ) ) ? \
1292 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \
1293 : ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1296 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\
1297 : ( 0x86 == ((const U8*)s)[0] ) ? \
1298 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \
1299 : ( 0xAB == ((const U8*)s)[0] ) ? \
1300 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1301 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1302 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] || 0x58 == ((const U8*)s)[1] || 0x66 == ((const U8*)s)[1] || 0x68 == ((const U8*)s)[1] ) ? 2 : 0 )\
1303 : ( ( 0xB5 == ((const U8*)s)[0] ) && ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ) ? 2 : 0 )\
1305 ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA8 )\
1309 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds
1311 ®charclass_multi_char_folds::multi_char_folds('l', 'h')
1313 /*** GENERATED CODE ***/
1314 #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \
1316 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA6 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) ) ? 1\
1317 : ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \
1318 ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? 2 : 1 ) \
1321 ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0x9F ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) )\
1325 FOLDS_TO_MULTI: characters that fold to multi-char strings
1327 \p{_Perl_Folds_To_Multi_Char}
1329 /*** GENERATED CODE ***/
1330 #define is_FOLDS_TO_MULTI_utf8(s) \
1331 ( ( 0x8A == ((const U8*)s)[0] ) ? \
1332 ( ( 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1333 : ( 0x8D == ((const U8*)s)[0] || 0x9C == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB3, 0xB4 ) ) ?\
1334 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1335 : ( 0x8E == ((const U8*)s)[0] ) ? \
1336 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \
1337 : ( 0xB8 == ((const U8*)s)[0] ) ? \
1338 ( ( ( 0x53 == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1339 : ( 0xBF == ((const U8*)s)[0] ) ? \
1340 ( ( 0x63 == ((const U8*)s)[1] ) ? \
1341 ( ( inRANGE(((const U8*)s)[2], 0x65, 0x69 ) || 0x72 == ((const U8*)s)[2] ) ? 3 : 0 )\
1342 : ( 0x69 == ((const U8*)s)[1] ) ? \
1343 ( ( 0x57 == ((const U8*)s)[2] || 0x59 == ((const U8*)s)[2] || 0x63 == ((const U8*)s)[2] || 0x65 == ((const U8*)s)[2] ) ? 3 : 0 )\
1344 : ( 0x70 == ((const U8*)s)[1] ) ? \
1345 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x73 ) ) ? 3 : 0 )\
1346 : ( 0x71 == ((const U8*)s)[1] ) ? \
1347 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x56 ) || 0x59 == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x63 ) || inRANGE(((const U8*)s)[2], 0x65, 0x66 ) || 0x70 == ((const U8*)s)[2] ) ? 3 : 0 )\
1348 : ( 0x72 == ((const U8*)s)[1] ) ? \
1349 ( ( inRANGE(((const U8*)s)[2], 0x43, 0x45 ) || inRANGE(((const U8*)s)[2], 0x47, 0x48 ) || 0x53 == ((const U8*)s)[2] || 0x59 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x65, 0x66 ) ) ? 3 : 0 )\
1350 : ( ( 0x73 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x43, 0x45 ) || inRANGE(((const U8*)s)[2], 0x47, 0x48 ) || 0x59 == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x63 ) || inRANGE(((const U8*)s)[2], 0x65, 0x66 ) || 0x70 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1351 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) || inRANGE(((const U8*)s)[3], 0x62, 0x66 ) ) ) ? 4 : 0 )
1354 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
1356 \p{_Perl_Problematic_Locale_Folds}
1358 /*** GENERATED CODE ***/
1359 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
1360 ( ( ( ((const U8*)s)[0] <= 0x40 ) || inRANGE(((const U8*)s)[0], 0x4B, 0x50 ) || inRANGE(((const U8*)s)[0], 0x5A, 0x61 ) || inRANGE(((const U8*)s)[0], 0x6B, 0x6F ) || inRANGE(((const U8*)s)[0], 0x79, 0x7F ) || inRANGE(((const U8*)s)[0], 0x81, 0x89 ) || inRANGE(((const U8*)s)[0], 0x91, 0x99 ) || inRANGE(((const U8*)s)[0], 0xA1, 0xA9 ) || 0xAD == ((const U8*)s)[0] || 0xBD == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xC0, 0xC9 ) || inRANGE(((const U8*)s)[0], 0xD0, 0xD9 ) || 0xE0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xE2, 0xE9 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) || 0xFF == ((const U8*)s)[0] ) ? 1\
1361 : ( 0x80 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x8A, 0x8B ) ) ?\
1362 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x73 ) ) ? 2 : 0 )\
1363 : ( 0x8D == ((const U8*)s)[0] ) ? \
1364 ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \
1365 : ( 0x8E == ((const U8*)s)[0] ) ? \
1366 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \
1367 : ( 0x8F == ((const U8*)s)[0] ) ? \
1368 ( ( 0x67 == ((const U8*)s)[1] || 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1369 : ( 0x9C == ((const U8*)s)[0] ) ? \
1370 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1371 : ( 0xAF == ((const U8*)s)[0] ) ? \
1372 ( ( 0x48 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1373 : ( inRANGE(((const U8*)s)[0], 0xB3, 0xB4 ) ) ? \
1374 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1375 : ( 0xBF == ((const U8*)s)[0] ) ? \
1376 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x65, 0x69 ) || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1377 : ( 0xCA == ((const U8*)s)[0] ) ? \
1378 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\
1379 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 )
1381 /*** GENERATED CODE ***/
1382 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
1383 ( cp <= 0xFF || ( 0xFF < cp && \
1384 ( 0x130 == cp || ( 0x130 < cp && \
1385 ( 0x131 == cp || ( 0x131 < cp && \
1386 ( 0x149 == cp || ( 0x149 < cp && \
1387 ( 0x178 == cp || ( 0x178 < cp && \
1388 ( 0x17F == cp || ( 0x17F < cp && \
1389 ( 0x1F0 == cp || ( 0x1F0 < cp && \
1390 ( 0x307 == cp || ( 0x307 < cp && \
1391 ( 0x39C == cp || ( 0x39C < cp && \
1392 ( 0x3BC == cp || ( 0x3BC < cp && \
1393 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \
1394 ( 0x1E9E == cp || ( 0x1E9E < cp && \
1395 ( 0x212A == cp || ( 0x212A < cp && \
1396 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
1399 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
1401 \p{_Perl_Problematic_Locale_Foldeds_Start}
1403 /*** GENERATED CODE ***/
1404 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
1405 ( ( ( ((const U8*)s)[0] <= 0x40 ) || inRANGE(((const U8*)s)[0], 0x4B, 0x50 ) || inRANGE(((const U8*)s)[0], 0x5A, 0x61 ) || inRANGE(((const U8*)s)[0], 0x6B, 0x6F ) || inRANGE(((const U8*)s)[0], 0x79, 0x7F ) || inRANGE(((const U8*)s)[0], 0x81, 0x89 ) || inRANGE(((const U8*)s)[0], 0x91, 0x99 ) || inRANGE(((const U8*)s)[0], 0xA1, 0xA9 ) || 0xAD == ((const U8*)s)[0] || 0xBD == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xC0, 0xC9 ) || inRANGE(((const U8*)s)[0], 0xD0, 0xD9 ) || 0xE0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xE2, 0xE9 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) || 0xFF == ((const U8*)s)[0] ) ? 1\
1406 : ( 0x80 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x8A, 0x8B ) ) ?\
1407 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x73 ) ) ? 2 : 0 )\
1408 : ( 0x8D == ((const U8*)s)[0] ) ? \
1409 ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \
1410 : ( 0x8E == ((const U8*)s)[0] ) ? \
1411 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \
1412 : ( 0x8F == ((const U8*)s)[0] ) ? \
1413 ( ( 0x67 == ((const U8*)s)[1] || 0x73 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1414 : ( 0x9C == ((const U8*)s)[0] ) ? \
1415 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1416 : ( 0xAB == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB3, 0xB4 ) ) ?\
1417 ( ( 0x70 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1418 : ( 0xBF == ((const U8*)s)[0] ) ? \
1419 ( ( ( 0x63 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x65, 0x69 ) || 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1420 : ( 0xCA == ((const U8*)s)[0] ) ? \
1421 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\
1422 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) && ( 0x67 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 )
1424 /*** GENERATED CODE ***/
1425 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
1426 ( cp <= 0xFF || ( 0xFF < cp && \
1427 ( 0x130 == cp || ( 0x130 < cp && \
1428 ( 0x131 == cp || ( 0x131 < cp && \
1429 ( 0x149 == cp || ( 0x149 < cp && \
1430 ( 0x178 == cp || ( 0x178 < cp && \
1431 ( 0x17F == cp || ( 0x17F < cp && \
1432 ( 0x1F0 == cp || ( 0x1F0 < cp && \
1433 ( 0x2BC == cp || ( 0x2BC < cp && \
1434 ( 0x39C == cp || ( 0x39C < cp && \
1435 ( 0x3BC == cp || ( 0x3BC < cp && \
1436 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \
1437 ( 0x1E9E == cp || ( 0x1E9E < cp && \
1438 ( 0x212A == cp || ( 0x212A < cp && \
1439 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
1442 PATWS: pattern white space
1446 /*** GENERATED CODE ***/
1447 #define is_PATWS_safe(s,e,is_utf8) \
1448 ( ( LIKELY((e) > (s)) ) ? \
1449 ( ( 0x05 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] || 0x40 == ((const U8*)s)[0] ) ? 1\
1450 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((const U8*)s)[0] ) ) ? ( ( 0x41 == ((const U8*)s)[1] ) ?\
1451 ( ( inRANGE(((const U8*)s)[2], 0x55, 0x56 ) ) ? 3 : 0 ) \
1452 : ( ( 0x42 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 ) : 0 )\
1455 /*** GENERATED CODE ***/
1456 #define is_PATWS_cp(cp) \
1457 ( 0x05 == cp || ( 0x05 < cp && \
1458 ( inRANGE(cp, 0x0B, 0x0D) || ( 0x0D < cp && \
1459 ( 0x15 == cp || ( 0x15 < cp && \
1460 ( 0x25 == cp || ( 0x25 < cp && \
1461 ( 0x40 == cp || ( 0x40 < cp && \
1462 ( 0x200E == cp || ( 0x200E < cp && \
1463 ( 0x200F == cp || ( 0x200F < cp && \
1464 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
1466 #endif /* EBCDIC 1047 */
1468 #if 'A' == 193 /* EBCDIC 037 */ \
1469 && '\\' == 224 && '[' == 186 && ']' == 187 && '{' == 192 && '}' == 208 \
1470 && '^' == 176 && '~' == 161 && '!' == 90 && '#' == 123 && '|' == 79 \
1471 && '$' == 91 && '@' == 124 && '`' == 121 && '\n' == 37
1473 LNBREAK: Line Break: \R
1475 "\x0D\x0A" # CRLF - Network (Windows) line ending
1478 /*** GENERATED CODE ***/
1479 #define is_LNBREAK_safe(s,e,is_utf8) \
1481 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\
1482 : ( 0x0D == ((const U8*)s)[0] ) ? \
1483 ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \
1484 : ( ( ( ( is_utf8 ) && ( 0xCA == ((const U8*)s)[0] ) ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\
1486 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\
1487 : ( 0x0D == ((const U8*)s)[0] ) ? \
1488 ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \
1491 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\
1494 /*** GENERATED CODE ***/
1495 #define is_LNBREAK_utf8_safe(s,e) \
1497 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\
1498 : ( 0x0D == ((const U8*)s)[0] ) ? \
1499 ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \
1500 : ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )\
1502 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\
1503 : ( 0x0D == ((const U8*)s)[0] ) ? \
1504 ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \
1507 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\
1510 /*** GENERATED CODE ***/
1511 #define is_LNBREAK_latin1_safe(s,e) \
1513 ( ( inRANGE(((const U8*)s)[0], 0x0B, 0x0C ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] ) ? 1\
1514 : ( 0x0D == ((const U8*)s)[0] ) ? \
1515 ( ( 0x25 == ((const U8*)s)[1] ) ? 2 : 1 ) \
1518 ( inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] )\
1522 HORIZWS: Horizontal Whitespace: \h \H
1526 /*** GENERATED CODE ***/
1527 #define is_HORIZWS_high(s) \
1528 ( ( 0xBD == ((const U8*)s)[0] ) ? \
1529 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1530 : ( 0xCA == ((const U8*)s)[0] ) ? \
1531 ( ( 0x41 == ((const U8*)s)[1] ) ? \
1532 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\
1533 : ( 0x42 == ((const U8*)s)[1] ) ? \
1534 ( ( 0x56 == ((const U8*)s)[2] ) ? 3 : 0 ) \
1535 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1536 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )
1538 /*** GENERATED CODE ***/
1539 #define is_HORIZWS_cp_high(cp) \
1540 ( 0x1680 == cp || ( 0x1680 < cp && \
1541 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \
1542 ( 0x202F == cp || ( 0x202F < cp && \
1543 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) )
1546 VERTWS: Vertical Whitespace: \v \V
1550 /*** GENERATED CODE ***/
1551 #define is_VERTWS_high(s) \
1552 ( ( ( ( 0xCA == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 )
1554 /*** GENERATED CODE ***/
1555 #define is_VERTWS_cp_high(cp) \
1556 ( 0x2028 == cp || 0x2029 == cp )
1559 XDIGIT: Hexadecimal digits
1563 /*** GENERATED CODE ***/
1564 #define is_XDIGIT_high(s) \
1565 ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x72 == ((const U8*)s)[1] ) ) ? ( ( 0x66 == ((const U8*)s)[2] ) ?\
1566 ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x67 ) ) ? 4 : 0 )\
1567 : ( ( inRANGE(((const U8*)s)[2], 0x67, 0x68 ) ) && ( inRANGE(((const U8*)s)[3], 0x42, 0x47 ) ) ) ? 4 : 0 ) : 0 )
1569 /*** GENERATED CODE ***/
1570 #define is_XDIGIT_cp_high(cp) \
1571 ( inRANGE(cp, 0xFF10, 0xFF19) || ( 0xFF19 < cp && \
1572 ( inRANGE(cp, 0xFF21, 0xFF26) || inRANGE(cp, 0xFF41, 0xFF46) ) ) )
1575 XPERLSPACE: \p{XPerlSpace}
1579 /*** GENERATED CODE ***/
1580 #define is_XPERLSPACE_high(s) \
1581 ( ( 0xBD == ((const U8*)s)[0] ) ? \
1582 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1583 : ( 0xCA == ((const U8*)s)[0] ) ? \
1584 ( ( 0x41 == ((const U8*)s)[1] ) ? \
1585 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || 0x51 == ((const U8*)s)[2] ) ? 3 : 0 )\
1586 : ( 0x42 == ((const U8*)s)[1] ) ? \
1587 ( ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) || 0x56 == ((const U8*)s)[2] ) ? 3 : 0 )\
1588 : ( ( 0x43 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1589 : ( ( ( 0xCE == ((const U8*)s)[0] ) && ( 0x41 == ((const U8*)s)[1] ) ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )
1591 /*** GENERATED CODE ***/
1592 #define is_XPERLSPACE_cp_high(cp) \
1593 ( 0x1680 == cp || ( 0x1680 < cp && \
1594 ( inRANGE(cp, 0x2000, 0x200A) || ( 0x200A < cp && \
1595 ( 0x2028 == cp || ( 0x2028 < cp && \
1596 ( 0x2029 == cp || ( 0x2029 < cp && \
1597 ( 0x202F == cp || ( 0x202F < cp && \
1598 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) )
1601 NONCHAR: Non character code points
1605 /*** GENERATED CODE ***/
1606 #define is_NONCHAR_utf8_safe(s,e) \
1607 ( ( ( LIKELY((e) > (s)) ) && ( LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) ) ? ( ( 0xDD == ((const U8*)s)[0] ) ?\
1608 ( ( 0x72 == ((const U8*)s)[1] ) ? \
1609 ( ( 0x55 == ((const U8*)s)[2] ) ? \
1610 ( ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x72 ) ) ? 4 : 0 )\
1611 : ( 0x56 == ((const U8*)s)[2] ) ? \
1612 ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\
1613 : ( ( 0x72 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x71, 0x72 ) ) ) ? 4 : 0 )\
1615 : ( 0xDF == ((const U8*)s)[0] || 0xEA == ((const U8*)s)[0] || 0xEC == ((const U8*)s)[0] ) ?\
1616 ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x71, 0x72 ) ) ) ? 4 : 0 )\
1617 : ( 0xED == ((const U8*)s)[0] ) ? \
1618 ( ( ( ( ( ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x52 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x54 ) || ((const U8*)s)[1] == 0x58 || ((const U8*)s)[1] == 0x5F || ((const U8*)s)[1] == 0x63 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) || ((const U8*)s)[1] == 0x69 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x70 ) ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) && ( inRANGE(((const U8*)s)[4], 0x71, 0x72 ) ) ) ? 5 : 0 )\
1619 : ( ( ( ( ( 0xEE == ((const U8*)s)[0] ) && ( 0x42 == ((const U8*)s)[1] ) ) && ( 0x72 == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) && ( inRANGE(((const U8*)s)[4], 0x71, 0x72 ) ) ) ? 5 : 0 ) : 0 )
1622 SURROGATE: Surrogate code points
1626 /*** GENERATED CODE ***/
1627 #define is_SURROGATE_utf8_safe(s,e) \
1628 ( ( ( ( ( ( ((e) - (s)) >= 4 ) && ( 0xDD == ((const U8*)s)[0] ) ) && ( inRANGE(((const U8*)s)[1], 0x64, 0x65 ) ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x72 ) ) ) ? 4 : 0 )
1631 QUOTEMETA: Meta-characters that \Q should quote
1635 /*** GENERATED CODE ***/
1636 #define is_QUOTEMETA_high_part0(s) \
1637 ( ( 0x51 == ((const U8*)s)[1] ) ? \
1638 ( ( 0x72 == ((const U8*)s)[2] ) ? 3 : 0 ) \
1639 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x41 == ((const U8*)s)[2] ) ) ? 3 : 0 )
1642 /*** GENERATED CODE ***/
1643 #define is_QUOTEMETA_high_part1(s) \
1644 ( ( 0xBD == ((const U8*)s)[0] ) ? \
1645 ( ( 0x62 == ((const U8*)s)[1] ) ? \
1646 ( ( 0x41 == ((const U8*)s)[2] ) ? 3 : 0 ) \
1647 : ( ( 0x70 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x62, 0x63 ) ) ) ? 3 : 0 )\
1648 : ( 0xBE == ((const U8*)s)[0] ) ? \
1649 ( ( ( 0x41 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x52, 0x55 ) ) ) ? 3 : 0 )\
1650 : ( 0xCA == ((const U8*)s)[0] ) ? \
1651 ( ( 0x41 == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x54, 0x59 ) || 0x5F == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x72 ) ) ?\
1652 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\
1653 : ( 0x42 == ((const U8*)s)[1] ) ? \
1654 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x71 ) ) ? 3 : 0 )\
1655 : ( 0x43 == ((const U8*)s)[1] ) ? \
1656 ( ( inRANGE(((const U8*)s)[2], 0x42, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x63, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\
1657 : ( 0x44 == ((const U8*)s)[1] ) ? \
1658 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x56 ) ) ? 3 : 0 )\
1659 : ( ( 0x53 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) ? 3 : 0 )\
1660 : ( 0xCB == ((const U8*)s)[0] ) ? \
1661 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x43 ) || inRANGE(((const U8*)s)[1], 0x49, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x62, 0x68 ) || inRANGE(((const U8*)s)[1], 0x70, 0x72 ) ) ?\
1662 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\
1663 : ( 0x69 == ((const U8*)s)[1] ) ? \
1664 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x63 ) ) ? 3 : 0 )\
1665 : ( ( 0x6A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) ? 3 : 0 )\
1666 : ( 0xCC == ((const U8*)s)[0] ) ? \
1667 ( ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x72 ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) ? 3 : 0 )\
1668 : ( 0xCD == ((const U8*)s)[0] ) ? \
1669 ( ( ( inRANGE(((const U8*)s)[1], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ) ? 3 : 0 )\
1670 : ( 0xCE == ((const U8*)s)[0] ) ? \
1671 ( ( 0x41 == ((const U8*)s)[1] ) ? \
1672 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x44 ) || inRANGE(((const U8*)s)[2], 0x49, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\
1673 : ( 0x42 == ((const U8*)s)[1] ) ? \
1674 ( ( 0x41 == ((const U8*)s)[2] || 0x57 == ((const U8*)s)[2] ) ? 3 : 0 )\
1675 : ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x45 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1676 : ( 0xDD == ((const U8*)s)[0] ) ? \
1677 ( ( 0x72 == ((const U8*)s)[1] ) ? \
1678 ( ( 0x4A == ((const U8*)s)[2] ) ? \
1679 ( ( inRANGE(((const U8*)s)[3], 0x71, 0x72 ) ) ? 4 : 0 ) \
1680 : ( 0x57 == ((const U8*)s)[2] ) ? \
1681 ( ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x56 ) ) ? 4 : 0 )\
1682 : ( 0x59 == ((const U8*)s)[2] ) ? \
1683 ( ( inRANGE(((const U8*)s)[3], 0x46, 0x47 ) ) ? 4 : 0 ) \
1684 : ( 0x65 == ((const U8*)s)[2] ) ? \
1685 ( ( 0x72 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1686 : ( 0x70 == ((const U8*)s)[2] ) ? \
1687 ( ( 0x41 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1688 : ( ( 0x72 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x57, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x66 ) ) ) ? 4 : 0 )\
1690 : ( 0xDF == ((const U8*)s)[0] ) ? \
1691 ( ( 0x56 == ((const U8*)s)[1] ) ? \
1692 ( ( ( 0x46 == ((const U8*)s)[2] ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x44 ) ) ) ? 4 : 0 )\
1693 : ( ( ( 0x62 == ((const U8*)s)[1] ) && ( 0x52 == ((const U8*)s)[2] ) ) && ( 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x68 ) ) ) ? 4 : 0 )\
1694 : ( ( ( ( ( 0xED == ((const U8*)s)[0] ) && ( 0x6A == ((const U8*)s)[1] ) ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x44 ) ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x4A ) || inRANGE(((const U8*)s)[3], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x6A ) || inRANGE(((const U8*)s)[3], 0x70, 0x72 ) ) ) && ( inRANGE(((const U8*)s)[4], 0x41, 0x4A ) || inRANGE(((const U8*)s)[4], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[4] || inRANGE(((const U8*)s)[4], 0x62, 0x6A ) || inRANGE(((const U8*)s)[4], 0x70, 0x72 ) ) ) ? 5 : 0 )
1697 /*** GENERATED CODE ***/
1698 #define is_QUOTEMETA_high(s) \
1699 ( ( 0xAF == ((const U8*)s)[0] ) ? \
1700 ( ( 0x56 == ((const U8*)s)[1] ) ? 2 : 0 ) \
1701 : ( 0xB7 == ((const U8*)s)[0] ) ? \
1702 ( ( ( 0x57 == ((const U8*)s)[1] ) && ( 0x6A == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1703 : ( 0xBC == ((const U8*)s)[0] ) ? is_QUOTEMETA_high_part0(s) : is_QUOTEMETA_high_part1(s) )
1706 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
1708 ®charclass_multi_char_folds::multi_char_folds('u', 'a')
1710 /*** GENERATED CODE ***/
1711 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) \
1712 ( ( 0x86 == ((const U8*)s)[1] ) ? \
1713 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\
1714 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )
1717 /*** GENERATED CODE ***/
1718 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) \
1719 ( ( 0x88 == ((const U8*)s)[0] ) ? \
1720 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1721 : ( 0x89 == ((const U8*)s)[0] ) ? \
1722 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1723 : ( 0x8E == ((const U8*)s)[0] ) ? \
1724 ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x8E == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1725 : ( 0x91 == ((const U8*)s)[0] ) ? \
1726 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1727 : ( 0xA2 == ((const U8*)s)[0] ) ? \
1728 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \
1729 : ( 0xA3 == ((const U8*)s)[0] ) ? \
1730 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1731 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \
1732 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1733 : ( 0xAA == ((const U8*)s)[0] ) ? \
1734 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1735 : ( 0xB3 == ((const U8*)s)[0] ) ? \
1736 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \
1737 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1738 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \
1739 ( ( 0xAF == ((const U8*)s)[2] ) ? \
1740 ( ( 0x43 == ((const U8*)s)[3] ) ? \
1741 ( ( ( 0xB3 == ((const U8*)s)[4] ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 4 )\
1743 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1744 : ( 0x67 == ((const U8*)s)[1] ) ? \
1745 ( ( 0xAD == ((const U8*)s)[2] ) ? \
1746 ( ( 0x49 == ((const U8*)s)[3] ) ? \
1747 ( ( 0xAD == ((const U8*)s)[4] ) ? \
1748 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\
1749 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1751 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1753 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1754 ( ( 0x42 == ((const U8*)s)[1] ) ? \
1755 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1756 : ( 0x46 == ((const U8*)s)[1] ) ? \
1757 ( ( 0xAD == ((const U8*)s)[2] ) ? \
1758 ( ( 0x49 == ((const U8*)s)[3] ) ? \
1759 ( ( 0xAD == ((const U8*)s)[4] ) ? \
1760 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\
1761 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1762 : ( 0x5F == ((const U8*)s)[3] ) ? \
1763 ( ( 0xAD == ((const U8*)s)[4] ) ? \
1764 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 4 )\
1765 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 4 )\
1767 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1768 : ( 0x4A == ((const U8*)s)[1] ) ? \
1769 ( ( 0xAF == ((const U8*)s)[2] ) ? \
1770 ( ( 0x43 == ((const U8*)s)[3] ) ? \
1771 ( ( ( 0xB3 == ((const U8*)s)[4] ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 4 )\
1773 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1774 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1775 : ( 0xB7 == ((const U8*)s)[0] ) ? \
1776 ( ( 0x52 == ((const U8*)s)[1] ) ? \
1777 ( ( 0x46 == ((const U8*)s)[2] ) ? \
1778 ( ( ( ( 0xB7 == ((const U8*)s)[3] ) && ( 0x53 == ((const U8*)s)[4] ) ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1779 : ( 0x62 == ((const U8*)s)[2] ) ? \
1780 ( ( ( ( 0xB7 == ((const U8*)s)[3] ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x46 == ((const U8*)s)[5] || 0x52 == ((const U8*)s)[5] || 0x54 == ((const U8*)s)[5] || 0x64 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1781 : ( ( ( ( 0x71 == ((const U8*)s)[2] ) && ( 0xB7 == ((const U8*)s)[3] ) ) && ( 0x52 == ((const U8*)s)[4] ) ) && ( 0x64 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1783 : ( 0xBF == ((const U8*)s)[0] ) ? \
1784 ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \
1785 ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
1786 : ( ( ( ( 0x69 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x6A == ((const U8*)s)[2] ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
1790 /*** GENERATED CODE ***/
1791 #define is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) \
1792 ( ( 0x81 == ((const U8*)s)[0] ) ? \
1793 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1794 : ( 0x86 == ((const U8*)s)[0] ) ? \
1795 ( ( 0x86 == ((const U8*)s)[1] ) ? \
1796 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\
1797 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\
1798 : ( 0x88 == ((const U8*)s)[0] ) ? \
1799 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1800 : ( 0x89 == ((const U8*)s)[0] ) ? \
1801 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1802 : ( 0x8E == ((const U8*)s)[0] ) ? \
1803 ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x8E == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1804 : ( 0x91 == ((const U8*)s)[0] ) ? \
1805 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1806 : ( 0xA2 == ((const U8*)s)[0] ) ? \
1807 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \
1808 : ( 0xA3 == ((const U8*)s)[0] ) ? \
1809 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1810 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \
1811 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1812 : ( 0xAA == ((const U8*)s)[0] ) ? \
1813 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1814 : ( 0xB3 == ((const U8*)s)[0] ) ? \
1815 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \
1816 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1817 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \
1818 ( ( 0xAF == ((const U8*)s)[2] ) ? \
1819 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1820 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1821 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1822 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1823 ( ( 0x42 == ((const U8*)s)[1] ) ? \
1824 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1825 : ( 0x46 == ((const U8*)s)[1] ) ? \
1826 ( ( 0xAD == ((const U8*)s)[2] ) ? \
1827 ( ( 0x5F == ((const U8*)s)[3] ) ? 4 : 0 ) \
1828 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1829 : ( 0x4A == ((const U8*)s)[1] ) ? \
1830 ( ( 0xAF == ((const U8*)s)[2] ) ? \
1831 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1832 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1833 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1834 : ( 0xBF == ((const U8*)s)[0] ) ? \
1835 ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \
1836 ( ( ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
1837 : ( ( ( ( 0x69 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x6A == ((const U8*)s)[2] ) ) && ( 0xB3 == ((const U8*)s)[3] ) ) && ( 0x67 == ((const U8*)s)[4] ) ) ? 5 : 0 )\
1841 /*** GENERATED CODE ***/
1842 #define is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) \
1844 ( ( 0x81 == ((const U8*)s)[0] ) ? \
1845 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1846 : ( 0x86 == ((const U8*)s)[0] ) ? \
1847 ( ( 0x86 == ((const U8*)s)[1] ) ? \
1848 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\
1849 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\
1850 : ( 0x88 == ((const U8*)s)[0] ) ? \
1851 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1852 : ( 0x89 == ((const U8*)s)[0] ) ? \
1853 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1854 : ( 0x8E == ((const U8*)s)[0] ) ? \
1855 ( ( ( ( 0x72 == ((const U8*)s)[1] ) && ( 0x8E == ((const U8*)s)[2] ) ) && ( 0x72 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1856 : ( 0x91 == ((const U8*)s)[0] ) ? \
1857 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1858 : ( 0xA2 == ((const U8*)s)[0] ) ? \
1859 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \
1860 : ( 0xA3 == ((const U8*)s)[0] ) ? \
1861 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1862 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \
1863 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1864 : ( 0xAA == ((const U8*)s)[0] ) ? \
1865 ( ( ( 0x6A == ((const U8*)s)[1] ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1866 : ( 0xB3 == ((const U8*)s)[0] ) ? \
1867 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? \
1868 ( ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1869 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \
1870 ( ( 0xAF == ((const U8*)s)[2] ) ? \
1871 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1872 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1873 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1874 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1875 ( ( 0x42 == ((const U8*)s)[1] ) ? \
1876 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x5F == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1877 : ( 0x46 == ((const U8*)s)[1] ) ? \
1878 ( ( 0xAD == ((const U8*)s)[2] ) ? \
1879 ( ( 0x5F == ((const U8*)s)[3] ) ? 4 : 0 ) \
1880 : ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1881 : ( 0x4A == ((const U8*)s)[1] ) ? \
1882 ( ( 0xAF == ((const U8*)s)[2] ) ? \
1883 ( ( 0x43 == ((const U8*)s)[3] ) ? 4 : 0 ) \
1884 : ( ( 0xB3 == ((const U8*)s)[2] ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1885 : ( ( ( 0x55 == ((const U8*)s)[1] ) && ( 0xB3 == ((const U8*)s)[2] ) ) && ( 0x67 == ((const U8*)s)[3] ) ) ? 4 : 0 )\
1888 ( ( 0x81 == ((const U8*)s)[0] ) ? \
1889 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1890 : ( 0x86 == ((const U8*)s)[0] ) ? \
1891 ( ( 0x86 == ((const U8*)s)[1] ) ? \
1892 ( ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ? 3 : 2 )\
1893 : ( 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\
1894 : ( 0x88 == ((const U8*)s)[0] ) ? \
1895 ( ( ( 0xAE == ((const U8*)s)[1] ) && ( 0x58 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1896 : ( 0x89 == ((const U8*)s)[0] ) ? \
1897 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1898 : ( 0x91 == ((const U8*)s)[0] ) ? \
1899 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x53 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1900 : ( 0xA2 == ((const U8*)s)[0] ) ? \
1901 ( ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ? 2 : 0 ) \
1902 : ( 0xA3 == ((const U8*)s)[0] ) ? \
1903 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x49 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1904 : ( 0xA6 == ((const U8*)s)[0] || 0xA8 == ((const U8*)s)[0] ) ? \
1905 ( ( ( 0xAD == ((const U8*)s)[1] ) && ( 0x51 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1906 : ( ( ( 0xAA == ((const U8*)s)[0] ) && ( 0x6A == ((const U8*)s)[1] ) ) && ( 0x95 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1908 ( ( 0x86 == ((const U8*)s)[0] ) ? \
1909 ( ( 0x86 == ((const U8*)s)[1] || 0x89 == ((const U8*)s)[1] || 0x93 == ((const U8*)s)[1] ) ? 2 : 0 )\
1910 : ( ( 0xA2 == ((const U8*)s)[0] ) && ( inRANGE(((const U8*)s)[1], 0xA2, 0xA3 ) ) ) ? 2 : 0 )\
1914 /*** GENERATED CODE ***/
1915 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e) \
1917 ( ( 0x81 == ((const U8*)s)[0] ) ? \
1918 ( ( ( 0xAA == ((const U8*)s)[1] ) && ( 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1919 : ( 0x86 == ((const U8*)s)[0] ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )\
1920 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) )
1923 MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
1925 ®charclass_multi_char_folds::multi_char_folds('l', 'a')
1927 /*** GENERATED CODE ***/
1928 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e) \
1930 ( ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \
1931 ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? \
1932 ( ( ( ( ((const U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[2] & 0xBF ) == 0x93 ) ) ? 3 : 2 )\
1933 : ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
1934 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
1936 ( ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \
1937 ( ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[1] & 0xBF ) == 0x93 ) ) ? 2 : 0 )\
1938 : ( ( ( ((const U8*)s)[0] & 0xBF ) == 0xA2 ) && ( ( ((const U8*)s)[1] & 0xBE ) == 0xA2 ) ) ? 2 : 0 )\
1942 THREE_CHAR_FOLD: A three-character multi-char fold
1944 ®charclass_multi_char_folds::multi_char_folds('u', '3')
1946 /*** GENERATED CODE ***/
1947 #define is_THREE_CHAR_FOLD_utf8_safe(s,e) \
1949 ( ( 0x86 == ((const U8*)s)[0] ) ? \
1950 ( ( ( 0x86 == ((const U8*)s)[1] ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
1951 : ( 0xB3 == ((const U8*)s)[0] ) ? \
1952 ( ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \
1953 ( ( ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB3 == ((const U8*)s)[4] ) ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1954 : ( ( ( 0x67 == ((const U8*)s)[1] ) && ( 0xAD == ((const U8*)s)[2] ) ) && ( 0x49 == ((const U8*)s)[3] ) ) ? ( ( 0xAD == ((const U8*)s)[4] ) ?\
1955 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\
1956 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\
1957 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1958 ( ( 0x46 == ((const U8*)s)[1] ) ? \
1959 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x5F == ((const U8*)s)[3] ) ) ? ( ( 0xAD == ((const U8*)s)[4] ) ?\
1960 ( ( inRANGE(((const U8*)s)[5], 0x41, 0x42 ) ) ? 6 : 0 )\
1961 : ( ( 0xAF == ((const U8*)s)[4] ) && ( 0x43 == ((const U8*)s)[5] ) ) ? 6 : 0 ) : 0 )\
1962 : ( ( ( ( ( 0x4A == ((const U8*)s)[1] ) && ( 0xAF == ((const U8*)s)[2] ) ) && ( 0x43 == ((const U8*)s)[3] ) ) && ( 0xB3 == ((const U8*)s)[4] ) ) && ( 0x67 == ((const U8*)s)[5] ) ) ? 6 : 0 )\
1964 : ( ( ( ((e)-(s) > 2) && ( 0x86 == ((const U8*)s)[0] ) ) && ( 0x86 == ((const U8*)s)[1] ) ) && ( 0x89 == ((const U8*)s)[2] || 0x93 == ((const U8*)s)[2] ) ) ? 3 : 0 )
1967 THREE_CHAR_FOLD: A three-character multi-char fold
1969 ®charclass_multi_char_folds::multi_char_folds('l', '3')
1971 /*** GENERATED CODE ***/
1972 #define is_THREE_CHAR_FOLD_latin1_safe(s,e) \
1973 ( ( ( ( ( ((e) - (s)) >= 3 ) && ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ) && ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ) && ( ( ( ((const U8*)s)[2] & 0xBF ) == 0x89 ) || ( ( ((const U8*)s)[2] & 0xBF ) == 0x93 ) ) ) ? 3 : 0 )
1976 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds
1978 ®charclass_multi_char_folds::multi_char_folds('u', 'h')
1980 /*** GENERATED CODE ***/
1981 #define is_THREE_CHAR_FOLD_HEAD_utf8_safe(s,e) \
1983 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\
1984 : ( 0x86 == ((const U8*)s)[0] ) ? \
1985 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \
1986 : ( 0xAA == ((const U8*)s)[0] ) ? \
1987 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \
1988 : ( 0xB3 == ((const U8*)s)[0] ) ? \
1989 ( ( 0x53 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \
1990 : ( 0x58 == ((const U8*)s)[1] || 0x65 == ((const U8*)s)[1] ) ? \
1991 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
1992 : ( 0x67 == ((const U8*)s)[1] ) ? \
1993 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
1995 : ( 0xB4 == ((const U8*)s)[0] ) ? \
1996 ( ( 0x42 == ((const U8*)s)[1] || 0x55 == ((const U8*)s)[1] ) ? 2 \
1997 : ( 0x46 == ((const U8*)s)[1] ) ? \
1998 ( ( ( 0xAD == ((const U8*)s)[2] ) && ( 0x49 == ((const U8*)s)[3] || 0x5F == ((const U8*)s)[3] ) ) ? 4 : 2 )\
1999 : ( 0x4A == ((const U8*)s)[1] ) ? \
2000 ( ( ( 0xAF == ((const U8*)s)[2] ) && ( 0x43 == ((const U8*)s)[3] ) ) ? 4 : 2 )\
2002 : ( 0xB7 == ((const U8*)s)[0] ) ? \
2003 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
2004 : ( 0xBF == ((const U8*)s)[0] ) ? \
2005 ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \
2006 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \
2007 : ( ( 0x69 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x6A == ((const U8*)s)[2] ) ) ? 3 : 0 )\
2010 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\
2011 : ( 0x86 == ((const U8*)s)[0] ) ? \
2012 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \
2013 : ( 0xAA == ((const U8*)s)[0] ) ? \
2014 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \
2015 : ( 0xB3 == ((const U8*)s)[0] ) ? \
2016 ( ( ((const U8*)s)[1] == 0x53 || ((const U8*)s)[1] == 0x55 || ((const U8*)s)[1] == 0x58 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) ) ? 2 : 0 )\
2017 : ( 0xB4 == ((const U8*)s)[0] ) ? \
2018 ( ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ? 2 : 0 )\
2019 : ( 0xB7 == ((const U8*)s)[0] ) ? \
2020 ( ( ( 0x52 == ((const U8*)s)[1] ) && ( 0x46 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
2021 : ( 0xBF == ((const U8*)s)[0] ) ? \
2022 ( ( inRANGE(((const U8*)s)[1], 0x66, 0x67 ) ) ? \
2023 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) ) ? 3 : 0 ) \
2024 : ( ( 0x69 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x41, 0x48 ) || 0x57 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x6A == ((const U8*)s)[2] ) ) ? 3 : 0 )\
2027 ( ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA6 || ((const U8*)s)[0] == 0xA8 ) ? 1\
2028 : ( 0x86 == ((const U8*)s)[0] ) ? \
2029 ( ( 0x86 == ((const U8*)s)[1] ) ? 2 : 1 ) \
2030 : ( 0xAA == ((const U8*)s)[0] ) ? \
2031 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \
2032 : ( 0xB3 == ((const U8*)s)[0] ) ? \
2033 ( ( ((const U8*)s)[1] == 0x53 || ((const U8*)s)[1] == 0x55 || ((const U8*)s)[1] == 0x58 || ( ( ((const U8*)s)[1] & 0xFD ) == 0x65 ) ) ? 2 : 0 )\
2034 : ( ( 0xB4 == ((const U8*)s)[0] ) && ( ( ( ((const U8*)s)[1] & 0xFB ) == 0x42 ) || ((const U8*)s)[1] == 0x4A || ((const U8*)s)[1] == 0x55 ) ) ? 2 : 0 )\
2036 ( ( ( ((const U8*)s)[0] & 0xEF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xDF ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xFE ) == 0xA2 ) || ((const U8*)s)[0] == 0xA8 )\
2040 THREE_CHAR_FOLD_HEAD: The first two of three-character multi-char folds
2042 ®charclass_multi_char_folds::multi_char_folds('l', 'h')
2044 /*** GENERATED CODE ***/
2045 #define is_THREE_CHAR_FOLD_HEAD_latin1_safe(s,e) \
2047 ( ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA6 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) ) ? 1\
2048 : ( ( ((const U8*)s)[0] & 0xBF ) == 0x86 ) ? \
2049 ( ( ( ((const U8*)s)[1] & 0xBF ) == 0x86 ) ? 2 : 1 ) \
2052 ( ( ( ((const U8*)s)[0] & 0xAF ) == 0x81 ) || ( ( ((const U8*)s)[0] & 0x9F ) == 0x86 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0x88 ) || ( ( ((const U8*)s)[0] & 0xBE ) == 0xA2 ) || ( ( ((const U8*)s)[0] & 0xBF ) == 0xA8 ) )\
2056 FOLDS_TO_MULTI: characters that fold to multi-char strings
2058 \p{_Perl_Folds_To_Multi_Char}
2060 /*** GENERATED CODE ***/
2061 #define is_FOLDS_TO_MULTI_utf8(s) \
2062 ( ( 0x80 == ((const U8*)s)[0] ) ? \
2063 ( ( 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \
2064 : ( 0x8C == ((const U8*)s)[0] || 0x9B == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB2, 0xB3 ) ) ?\
2065 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
2066 : ( 0x8D == ((const U8*)s)[0] ) ? \
2067 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \
2068 : ( 0xB7 == ((const U8*)s)[0] ) ? \
2069 ( ( ( 0x53 == ((const U8*)s)[1] ) && ( 0x48 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
2070 : ( 0xBF == ((const U8*)s)[0] ) ? \
2071 ( ( 0x62 == ((const U8*)s)[1] ) ? \
2072 ( ( inRANGE(((const U8*)s)[2], 0x64, 0x68 ) || 0x71 == ((const U8*)s)[2] ) ? 3 : 0 )\
2073 : ( 0x68 == ((const U8*)s)[1] ) ? \
2074 ( ( 0x57 == ((const U8*)s)[2] || 0x59 == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || 0x64 == ((const U8*)s)[2] ) ? 3 : 0 )\
2075 : ( 0x6A == ((const U8*)s)[1] ) ? \
2076 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x62, 0x6A ) || inRANGE(((const U8*)s)[2], 0x70, 0x72 ) ) ? 3 : 0 )\
2077 : ( 0x70 == ((const U8*)s)[1] ) ? \
2078 ( ( inRANGE(((const U8*)s)[2], 0x41, 0x4A ) || inRANGE(((const U8*)s)[2], 0x51, 0x56 ) || 0x59 == ((const U8*)s)[2] || 0x5F == ((const U8*)s)[2] || 0x62 == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x64, 0x65 ) || 0x6A == ((const U8*)s)[2] ) ? 3 : 0 )\
2079 : ( 0x71 == ((const U8*)s)[1] ) ? \
2080 ( ( inRANGE(((const U8*)s)[2], 0x43, 0x45 ) || inRANGE(((const U8*)s)[2], 0x47, 0x48 ) || 0x53 == ((const U8*)s)[2] || 0x59 == ((const U8*)s)[2] || 0x5F == ((const U8*)s)[2] || inRANGE(((const U8*)s)[2], 0x64, 0x65 ) ) ? 3 : 0 )\
2081 : ( ( 0x72 == ((const U8*)s)[1] ) && ( ( ( ((const U8*)s)[2] & 0xFB ) == 0x43 ) || ( ( ((const U8*)s)[2] & 0xDE ) == 0x44 ) || ((const U8*)s)[2] == 0x48 || ((const U8*)s)[2] == 0x59 || ((const U8*)s)[2] == 0x5F || ( ( ((const U8*)s)[2] & 0xF7 ) == 0x62 ) ) ) ? 3 : 0 )\
2082 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) || 0x5F == ((const U8*)s)[3] || inRANGE(((const U8*)s)[3], 0x62, 0x65 ) ) ) ? 4 : 0 )
2085 PROBLEMATIC_LOCALE_FOLD: characters whose fold is problematic under locale
2087 \p{_Perl_Problematic_Locale_Folds}
2089 /*** GENERATED CODE ***/
2090 #define is_PROBLEMATIC_LOCALE_FOLD_utf8(s) \
2091 ( ( ( ((const U8*)s)[0] <= 0x40 ) || inRANGE(((const U8*)s)[0], 0x4B, 0x50 ) || inRANGE(((const U8*)s)[0], 0x5A, 0x5E ) || inRANGE(((const U8*)s)[0], 0x60, 0x61 ) || inRANGE(((const U8*)s)[0], 0x6B, 0x6F ) || inRANGE(((const U8*)s)[0], 0x79, 0x7F ) || inRANGE(((const U8*)s)[0], 0x81, 0x89 ) || inRANGE(((const U8*)s)[0], 0x91, 0x99 ) || inRANGE(((const U8*)s)[0], 0xA1, 0xA9 ) || 0xB0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xBA, 0xBB ) || inRANGE(((const U8*)s)[0], 0xC0, 0xC9 ) || inRANGE(((const U8*)s)[0], 0xD0, 0xD9 ) || 0xE0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xE2, 0xE9 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) || 0xFF == ((const U8*)s)[0] ) ? 1\
2092 : ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || 0x8A == ((const U8*)s)[0] ) ?\
2093 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x72 ) ) ? 2 : 0 )\
2094 : ( 0x8C == ((const U8*)s)[0] ) ? \
2095 ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \
2096 : ( 0x8D == ((const U8*)s)[0] ) ? \
2097 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \
2098 : ( 0x8E == ((const U8*)s)[0] ) ? \
2099 ( ( 0x66 == ((const U8*)s)[1] || 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \
2100 : ( 0x9B == ((const U8*)s)[0] ) ? \
2101 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
2102 : ( 0xAD == ((const U8*)s)[0] ) ? \
2103 ( ( 0x48 == ((const U8*)s)[1] ) ? 2 : 0 ) \
2104 : ( inRANGE(((const U8*)s)[0], 0xB2, 0xB3 ) ) ? \
2105 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \
2106 : ( 0xBF == ((const U8*)s)[0] ) ? \
2107 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x64, 0x68 ) || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
2108 : ( 0xCA == ((const U8*)s)[0] ) ? \
2109 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\
2110 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 )
2112 /*** GENERATED CODE ***/
2113 #define is_PROBLEMATIC_LOCALE_FOLD_cp(cp) \
2114 ( cp <= 0xFF || ( 0xFF < cp && \
2115 ( 0x130 == cp || ( 0x130 < cp && \
2116 ( 0x131 == cp || ( 0x131 < cp && \
2117 ( 0x149 == cp || ( 0x149 < cp && \
2118 ( 0x178 == cp || ( 0x178 < cp && \
2119 ( 0x17F == cp || ( 0x17F < cp && \
2120 ( 0x1F0 == cp || ( 0x1F0 < cp && \
2121 ( 0x307 == cp || ( 0x307 < cp && \
2122 ( 0x39C == cp || ( 0x39C < cp && \
2123 ( 0x3BC == cp || ( 0x3BC < cp && \
2124 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \
2125 ( 0x1E9E == cp || ( 0x1E9E < cp && \
2126 ( 0x212A == cp || ( 0x212A < cp && \
2127 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2130 PROBLEMATIC_LOCALE_FOLDEDS_START: The first folded character of folds which are problematic under locale
2132 \p{_Perl_Problematic_Locale_Foldeds_Start}
2134 /*** GENERATED CODE ***/
2135 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(s) \
2136 ( ( ( ((const U8*)s)[0] <= 0x40 ) || inRANGE(((const U8*)s)[0], 0x4B, 0x50 ) || inRANGE(((const U8*)s)[0], 0x5A, 0x5E ) || inRANGE(((const U8*)s)[0], 0x60, 0x61 ) || inRANGE(((const U8*)s)[0], 0x6B, 0x6F ) || inRANGE(((const U8*)s)[0], 0x79, 0x7F ) || inRANGE(((const U8*)s)[0], 0x81, 0x89 ) || inRANGE(((const U8*)s)[0], 0x91, 0x99 ) || inRANGE(((const U8*)s)[0], 0xA1, 0xA9 ) || 0xB0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xBA, 0xBB ) || inRANGE(((const U8*)s)[0], 0xC0, 0xC9 ) || inRANGE(((const U8*)s)[0], 0xD0, 0xD9 ) || 0xE0 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xE2, 0xE9 ) || inRANGE(((const U8*)s)[0], 0xF0, 0xF9 ) || 0xFF == ((const U8*)s)[0] ) ? 1\
2137 : ( 0x78 == ((const U8*)s)[0] || 0x80 == ((const U8*)s)[0] || 0x8A == ((const U8*)s)[0] ) ?\
2138 ( ( inRANGE(((const U8*)s)[1], 0x41, 0x4A ) || inRANGE(((const U8*)s)[1], 0x51, 0x59 ) || 0x5F == ((const U8*)s)[1] || inRANGE(((const U8*)s)[1], 0x62, 0x6A ) || inRANGE(((const U8*)s)[1], 0x70, 0x72 ) ) ? 2 : 0 )\
2139 : ( 0x8C == ((const U8*)s)[0] ) ? \
2140 ( ( inRANGE(((const U8*)s)[1], 0x57, 0x58 ) ) ? 2 : 0 ) \
2141 : ( 0x8D == ((const U8*)s)[0] ) ? \
2142 ( ( 0x4A == ((const U8*)s)[1] ) ? 2 : 0 ) \
2143 : ( 0x8E == ((const U8*)s)[0] ) ? \
2144 ( ( 0x66 == ((const U8*)s)[1] || 0x72 == ((const U8*)s)[1] ) ? 2 : 0 ) \
2145 : ( 0x9B == ((const U8*)s)[0] ) ? \
2146 ( ( 0x57 == ((const U8*)s)[1] ) ? 2 : 0 ) \
2147 : ( 0xAA == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0xB2, 0xB3 ) ) ?\
2148 ( ( 0x6A == ((const U8*)s)[1] ) ? 2 : 0 ) \
2149 : ( 0xBF == ((const U8*)s)[0] ) ? \
2150 ( ( ( 0x62 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x64, 0x68 ) || 0x71 == ((const U8*)s)[2] ) ) ? 3 : 0 )\
2151 : ( 0xCA == ((const U8*)s)[0] ) ? \
2152 ( ( ( 0x4A == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x51, 0x52 ) ) ) ? 3 : 0 )\
2153 : ( ( ( ( 0xDD == ((const U8*)s)[0] ) && ( 0x71 == ((const U8*)s)[1] ) ) && ( 0x66 == ((const U8*)s)[2] ) ) && ( inRANGE(((const U8*)s)[3], 0x41, 0x47 ) ) ) ? 4 : 0 )
2155 /*** GENERATED CODE ***/
2156 #define is_PROBLEMATIC_LOCALE_FOLDEDS_START_cp(cp) \
2157 ( cp <= 0xFF || ( 0xFF < cp && \
2158 ( 0x130 == cp || ( 0x130 < cp && \
2159 ( 0x131 == cp || ( 0x131 < cp && \
2160 ( 0x149 == cp || ( 0x149 < cp && \
2161 ( 0x178 == cp || ( 0x178 < cp && \
2162 ( 0x17F == cp || ( 0x17F < cp && \
2163 ( 0x1F0 == cp || ( 0x1F0 < cp && \
2164 ( 0x2BC == cp || ( 0x2BC < cp && \
2165 ( 0x39C == cp || ( 0x39C < cp && \
2166 ( 0x3BC == cp || ( 0x3BC < cp && \
2167 ( inRANGE(cp, 0x1E96, 0x1E9A) || ( 0x1E9A < cp && \
2168 ( 0x1E9E == cp || ( 0x1E9E < cp && \
2169 ( 0x212A == cp || ( 0x212A < cp && \
2170 ( 0x212B == cp || inRANGE(cp, 0xFB00, 0xFB06) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2173 PATWS: pattern white space
2177 /*** GENERATED CODE ***/
2178 #define is_PATWS_safe(s,e,is_utf8) \
2179 ( ( LIKELY((e) > (s)) ) ? \
2180 ( ( 0x05 == ((const U8*)s)[0] || inRANGE(((const U8*)s)[0], 0x0B, 0x0D ) || 0x15 == ((const U8*)s)[0] || 0x25 == ((const U8*)s)[0] || 0x40 == ((const U8*)s)[0] ) ? 1\
2181 : ( ( is_utf8 && LIKELY(((e) - (s)) >= UTF8SKIP(s)) ) && ( 0xCA == ((const U8*)s)[0] ) ) ? ( ( 0x41 == ((const U8*)s)[1] ) ?\
2182 ( ( inRANGE(((const U8*)s)[2], 0x55, 0x56 ) ) ? 3 : 0 ) \
2183 : ( ( 0x42 == ((const U8*)s)[1] ) && ( inRANGE(((const U8*)s)[2], 0x49, 0x4A ) ) ) ? 3 : 0 ) : 0 )\
2186 /*** GENERATED CODE ***/
2187 #define is_PATWS_cp(cp) \
2188 ( 0x05 == cp || ( 0x05 < cp && \
2189 ( inRANGE(cp, 0x0B, 0x0D) || ( 0x0D < cp && \
2190 ( 0x15 == cp || ( 0x15 < cp && \
2191 ( 0x25 == cp || ( 0x25 < cp && \
2192 ( 0x40 == cp || ( 0x40 < cp && \
2193 ( 0x200E == cp || ( 0x200E < cp && \
2194 ( 0x200F == cp || ( 0x200F < cp && \
2195 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
2197 #endif /* EBCDIC 037 */
2199 #endif /* PERL_REGCHARCLASS_H_ */
2202 * 64f46a4b25d29a7f952077ee277909df8599a7a803759805c865914d981671a2 lib/Unicode/UCD.pm
2203 * 5e91b649379ec79af7cfb6b09410a24557cba4c6d733cd0a2b8a78a1448736d2 lib/unicore/ArabicShaping.txt
2204 * f5feb19cd084b2b1568fbc0f94f4b4b54941406e7fb36c7570f8352fd5022dbe lib/unicore/BidiBrackets.txt
2205 * e6cbd8ffe94f2e0fbfa6695d6c06c1e72eef7d3aa93cb6329d111285198b5e62 lib/unicore/BidiMirroring.txt
2206 * a28b205afe8625fffdb6544a5fe14cf02b91493d9900f07820fa2102a17548f7 lib/unicore/Blocks.txt
2207 * 9c772627c6ee77eea6a17b42927b8ee28ca05dc65d6a511062104baaf3d12294 lib/unicore/CaseFolding.txt
2208 * abc8394c5bde62453118b00c1c5842160a04d7fffb2e829ee5426b846596d081 lib/unicore/CompositionExclusions.txt
2209 * 2fc081011d8fabaf7cf4937732dd5a6d6a57e492c43f3adfeded513387ee0ec3 lib/unicore/DAge.txt
2210 * a6eb7a8671fb532fbd88c37fd7b20b5b2e7dbfc8b121f74c14abe2947db0da68 lib/unicore/DCoreProperties.txt
2211 * 92dcdda84142194a1596f22180fcdf8c0e7f86897f09cc9203c7dc636c549f5f lib/unicore/DNormalizationProps.txt
2212 * 904500178b2e752635bef27aaed3a2a3718a100bce35ff96b3890be7a8315d8f lib/unicore/EastAsianWidth.txt
2213 * 1989b03d93023d8f5cc33eebf0d2ea80c8bd8f8c97843059ea039acb582c2078 lib/unicore/EmojiData.txt
2214 * d7930c2a7318e66b4ba756d5e5b41fbc586c2ad43d450ae9d320a758510bae2e lib/unicore/EquivalentUnifiedIdeograph.txt
2215 * 8606af08712a8c18fe268d418e2e5a87eddee6e190cce4c2d5a76b4fadf035e8 lib/unicore/HangulSyllableType.txt
2216 * 49a1bf18b048454154881f6a8a605b5e2fc73e85fcc4df1cb26d52e8c2aeb9bf lib/unicore/IndicPositionalCategory.txt
2217 * 1b6f3ef6e00e5b2e2a93d2d3c954ca1cce368599c5f11874cd0f0ce222d4637b lib/unicore/IndicSyllabicCategory.txt
2218 * 285c5c1ae458bc3ccd6a1398a94d2d67ce6bc1d7fc0f098762836050345e9434 lib/unicore/Jamo.txt
2219 * 961f842fc70b5afd1d82c6645e68c10d1f701382aed38ae38cb2ff27f671903c lib/unicore/LineBreak.txt
2220 * ff61a0687d2f32c0dd1094254b8bde967883b43c2d4d50fd17531d498e41ab2c lib/unicore/NameAliases.txt
2221 * d3eb9a288ebeaf9de1237989f490705e287b6f610b59d2459fb1b7c2d8e39c39 lib/unicore/NamedSequences.txt
2222 * d30d3ee430cf3527449d024954f053e419fa4aa2246eb59e5cd8d621af0c4b3f lib/unicore/PropList.txt
2223 * efce54f7c715a332c19b3d14c6a0eea30c6cde91caf6ff0d21c755be933736f4 lib/unicore/PropValueAliases.txt
2224 * d3cc3f9f0b6a8f0b7ef1d6ef202675426c28f4a75de01fc69ed977a93a00982b lib/unicore/PropertyAliases.txt
2225 * 3746848c181b5dbc1e614dfac9b8a5e3568e6525c693ac14e692ac55dec57e91 lib/unicore/ScriptExtensions.txt
2226 * e6313a8edfd24f36c7a006fbcf1d1b7245b5dd009c6dde80441f0da08b822c43 lib/unicore/Scripts.txt
2227 * 817ce2e9edca8e075a153f54b8f3b020345e37652cd2bda9b1495c366af17e7e lib/unicore/SpecialCasing.txt
2228 * 93ab1acd8fd9d450463b50ae77eab151a7cda48f98b25b56baed8070f80fc936 lib/unicore/UnicodeData.txt
2229 * ec5ba64af58297a46de17848eb984d2b231adb304de92e9d0d3befdbf9dc2551 lib/unicore/VerticalOrientation.txt
2230 * 95bd55cf803b93eb0b4990cf0e1d70ede263b36412d9c6921fd6f15cef058961 lib/unicore/auxiliary/GCBTest.txt
2231 * 39d73448fd257e6082f83ddf4c8bf6feb191e85dc8fc56b1a8512482de5e3dea lib/unicore/auxiliary/GraphemeBreakProperty.txt
2232 * f385e70f79f5959ae66d64b00f4bda39db6cef78e5363a0cdd88db46eafc6c8f lib/unicore/auxiliary/LBTest.txt
2233 * 7d6c909af97d0ab545a132d412f6e4e65c7eb5158514a7feb9bf00bcd05875f9 lib/unicore/auxiliary/SBTest.txt
2234 * c47d674ef4170c46185bf56f7a4c6627f65f012295e0994f7dc4aea51f8fd8cf lib/unicore/auxiliary/SentenceBreakProperty.txt
2235 * 3e3320bbbe775de7f1a0b9a30021eb949116a9b05cb461c90596c5ecf1743831 lib/unicore/auxiliary/WBTest.txt
2236 * f221f89fe3bb3becc00de726d5694c4b7f464c316baff6d339b2ff3900bcb96c lib/unicore/auxiliary/WordBreakProperty.txt
2237 * db2c41c618bab54b00e58223ad11cec550f9b9fd1a471de236e660da92fe4870 lib/unicore/extracted/DBidiClass.txt
2238 * fecd8a1c49935d794c4c1012f4158aa536a13049a4c10d01aaf7b5f90f3b2cbc lib/unicore/extracted/DBinaryProperties.txt
2239 * db6f38fb4aa8b9181b5e6a9f320de9d5c2c9b5687116a619b3cb90138b025e0b lib/unicore/extracted/DCombiningClass.txt
2240 * 2524f69c175831fd84bfbaf13ea37992f41db167d728c51b1d0002c1d0b130b0 lib/unicore/extracted/DDecompositionType.txt
2241 * 16852301d54ae59b5cfe0daa6b8e17fb688ed055d59b2a5a11eaafc650cc9d30 lib/unicore/extracted/DEastAsianWidth.txt
2242 * 78f898b988049a5bea5039cea6ffe87a92596859ac660a6c438519b512fe2ee6 lib/unicore/extracted/DGeneralCategory.txt
2243 * 33441692403901287c834f96bd33b671133a6f74e2732c61a497608b9e434932 lib/unicore/extracted/DJoinGroup.txt
2244 * a792ac5ef602e3bace679cc96d7491701dcdb73d81c782253de88fdcc5e70e50 lib/unicore/extracted/DJoinType.txt
2245 * 78e2600e24fa7d5ab62117de50b382f8b31b08401c37a0782c38dacb340b64e7 lib/unicore/extracted/DLineBreak.txt
2246 * 1bde4ad73e271c6349fbd1972e54f38bba5cc1900c28f678e79b9e8909b31793 lib/unicore/extracted/DNumType.txt
2247 * 6278722699123f3890e4b1cc42011e96d8960e4958a3b93484361530983d2611 lib/unicore/extracted/DNumValues.txt
2248 * 498da0b9ef6a52bfd71bda5771005bbe4cfc37b456d9d350cd840991eb80c8b1 lib/unicore/mktables
2249 * a712c758275b460d18fa77a26ed3589689bb3f69dcc1ea99b913e32db92a5cd2 lib/unicore/version
2250 * 2680b9254eb236c5c090f11b149605043e8c8433661b96efc4a42fb4709342a5 regen/charset_translations.pl
2251 * f9a393e7add8c7c2728356473ce5b52246d51295b2da0c48fb6f0aa21799e2bb regen/regcharclass.pl
2252 * b549b9989c6987563dad8f8ad6b984c8026cdc283d60ea34457959c5d4b4ade0 regen/regcharclass_multi_char_folds.pl