xref: /openbsd-src/gnu/usr.bin/perl/regcharclass.h (revision 50b7afb2c2c0993b0894d4e34bf857cb13ed9c80)
1 /* -*- buffer-read-only: t -*-
2  *
3  *    regcharclass.h
4  *
5  *    Copyright (C) 2007, 2011 by Larry Wall and others
6  *
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.
9  *
10  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
11  * This file is built by regen/regcharclass.pl.
12  * Any changes made here will be lost!
13  */
14 
15 
16 #ifndef H_REGCHARCLASS   /* Guard against nested #includes */
17 #define H_REGCHARCLASS 1
18 
19 /*
20 	LNBREAK: Line Break: \R
21 
22 	"\x0D\x0A"      # CRLF - Network (Windows) line ending
23 	\p{VertSpace}
24 */
25 /*** GENERATED CODE ***/
26 #define is_LNBREAK(s,is_utf8)                                               \
27 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                        \
28 : ( 0x0D == ((U8*)s)[0] ) ?                                                 \
29     ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                     \
30 : ( is_utf8 ) ?                                                             \
31     ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
32 	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
33     : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
34 : ( 0x85 == ((U8*)s)[0] ) )
35 
36 /*** GENERATED CODE ***/
37 #define is_LNBREAK_safe(s,e,is_utf8)                                        \
38 ( ((e)-(s) > 2) ?                                                           \
39     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
40     : ( 0x0D == ((U8*)s)[0] ) ?                                             \
41 	( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
42     : ( is_utf8 ) ?                                                         \
43 	( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
44 	    ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
45 	: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
46     : ( 0x85 == ((U8*)s)[0] ) )                                             \
47 : ((e)-(s) > 1) ?                                                           \
48     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
49     : ( 0x0D == ((U8*)s)[0] ) ?                                             \
50 	( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
51     : ( is_utf8 ) ?                                                         \
52 	( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
53     : ( 0x85 == ((U8*)s)[0] ) )                                             \
54 : ((e)-(s) > 0) ?                                                           \
55     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
56     : ( !( is_utf8 ) ) ?                                                    \
57 	( 0x85 == ((U8*)s)[0] )                                             \
58     : 0 )                                                                   \
59 : 0 )
60 
61 /*** GENERATED CODE ***/
62 #define is_LNBREAK_utf8(s)                                                  \
63 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                        \
64 : ( 0x0D == ((U8*)s)[0] ) ?                                                 \
65     ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                     \
66 : ( 0xC2 == ((U8*)s)[0] ) ?                                                 \
67     ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                     \
68 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
69 
70 /*** GENERATED CODE ***/
71 #define is_LNBREAK_utf8_safe(s,e)                                           \
72 ( ((e)-(s) > 2) ?                                                           \
73     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
74     : ( 0x0D == ((U8*)s)[0] ) ?                                             \
75 	( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
76     : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
77 	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
78     : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
79 : ((e)-(s) > 1) ?                                                           \
80     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
81     : ( 0x0D == ((U8*)s)[0] ) ?                                             \
82 	( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
83     : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )      \
84 : ((e)-(s) > 0) ?                                                           \
85     ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D )                          \
86 : 0 )
87 
88 /*** GENERATED CODE ***/
89 #define is_LNBREAK_latin1(s)                                                \
90 ( ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) || 0x85 == ((U8*)s)[0] ) ? 1\
91 : ( 0x0D == ((U8*)s)[0] ) ?                                                 \
92     ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                     \
93 : 0 )
94 
95 /*** GENERATED CODE ***/
96 #define is_LNBREAK_latin1_safe(s,e)                                         \
97 ( ((e)-(s) > 1) ?                                                           \
98     ( ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) || 0x85 == ((U8*)s)[0] ) ? 1\
99     : ( 0x0D == ((U8*)s)[0] ) ?                                             \
100 	( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
101     : 0 )                                                                   \
102 : ((e)-(s) > 0) ?                                                           \
103     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
104 : 0 )
105 
106 /*
107 	HORIZWS: Horizontal Whitespace: \h \H
108 
109 	\p{HorizSpace}
110 */
111 /*** GENERATED CODE ***/
112 #define is_HORIZWS(s,is_utf8)                                               \
113 ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                        \
114 : ( is_utf8 ) ?                                                             \
115     ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
116 	( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
117     : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
118 	( ( 0x9A == ((U8*)s)[1] ) ?                                         \
119 	    ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                             \
120 	: ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
121     : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
122 	( ( 0x80 == ((U8*)s)[1] ) ?                                         \
123 	    ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
124 	: ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )  \
125     : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
126 : ( 0xA0 == ((U8*)s)[0] ) )
127 
128 /*** GENERATED CODE ***/
129 #define is_HORIZWS_safe(s,e,is_utf8)                                        \
130 ( ((e)-(s) > 2) ?                                                           \
131     ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
132     : ( is_utf8 ) ?                                                         \
133 	( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
134 	    ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )                             \
135 	: ( 0xE1 == ((U8*)s)[0] ) ?                                         \
136 	    ( ( 0x9A == ((U8*)s)[1] ) ?                                     \
137 		( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                         \
138 	    : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )\
139 	: ( 0xE2 == ((U8*)s)[0] ) ?                                         \
140 	    ( ( 0x80 == ((U8*)s)[1] ) ?                                     \
141 		( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
142 	    : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )\
143 	: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
144     : ( 0xA0 == ((U8*)s)[0] ) )                                             \
145 : ((e)-(s) > 1) ?                                                           \
146     ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
147     : ( is_utf8 ) ?                                                         \
148 	( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
149     : ( 0xA0 == ((U8*)s)[0] ) )                                             \
150 : ((e)-(s) > 0) ?                                                           \
151     ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
152     : ( !( is_utf8 ) ) ?                                                    \
153 	( 0xA0 == ((U8*)s)[0] )                                             \
154     : 0 )                                                                   \
155 : 0 )
156 
157 /*** GENERATED CODE ***/
158 #define is_HORIZWS_utf8(s)                                                  \
159 ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                        \
160 : ( 0xC2 == ((U8*)s)[0] ) ?                                                 \
161     ( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )                                     \
162 : ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
163     ( ( 0x9A == ((U8*)s)[1] ) ?                                             \
164 	( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
165     : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )      \
166 : ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
167     ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
168 	( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )      \
169     : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )      \
170 : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
171 
172 /*** GENERATED CODE ***/
173 #define is_HORIZWS_utf8_safe(s,e)                                           \
174 ( ((e)-(s) > 2) ?                                                           \
175     ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
176     : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
177 	( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
178     : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
179 	( ( 0x9A == ((U8*)s)[1] ) ?                                         \
180 	    ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                             \
181 	: ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
182     : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
183 	( ( 0x80 == ((U8*)s)[1] ) ?                                         \
184 	    ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
185 	: ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )  \
186     : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
187 : ((e)-(s) > 1) ?                                                           \
188     ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
189     : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 2 : 0 )      \
190 : ((e)-(s) > 0) ?                                                           \
191     ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] )                          \
192 : 0 )
193 
194 /*** GENERATED CODE ***/
195 #define is_HORIZWS_latin1(s)                                                \
196 ( ((U8*)s)[0] == 0x09 || ( ( ((U8*)s)[0] & 0x7F ) == 0x20 ) )
197 
198 /*** GENERATED CODE ***/
199 #define is_HORIZWS_latin1_safe(s,e)                                         \
200 ( ((e)-(s) > 0) ?                                                           \
201     ( ((U8*)s)[0] == 0x09 || ( ( ((U8*)s)[0] & 0x7F ) == 0x20 ) )           \
202 : 0 )
203 
204 /*** GENERATED CODE ***/
205 #define is_HORIZWS_high(s)                                                  \
206 ( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
207     ( ( 0x9A == ((U8*)s)[1] ) ?                                             \
208 	( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
209     : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )      \
210 : ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
211     ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
212 	( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )      \
213     : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )      \
214 : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
215 
216 /*** GENERATED CODE ***/
217 #define is_HORIZWS_high_safe(s,e)                                           \
218 ( ((e)-(s) > 2) ?                                                           \
219     ( ( 0xE1 == ((U8*)s)[0] ) ?                                             \
220 	( ( 0x9A == ((U8*)s)[1] ) ?                                         \
221 	    ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                             \
222 	: ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
223     : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
224 	( ( 0x80 == ((U8*)s)[1] ) ?                                         \
225 	    ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
226 	: ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )  \
227     : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
228 : 0 )
229 
230 /*** GENERATED CODE ***/
231 #define is_HORIZWS_cp(cp)                                                   \
232 ( 0x09 == cp || ( 0x09 < cp &&                                              \
233 ( 0x20 == cp || ( 0x20 < cp &&                                              \
234 ( 0xA0 == cp || ( 0xA0 < cp &&                                              \
235 ( 0x1680 == cp || ( 0x1680 < cp &&                                          \
236 ( 0x180E == cp || ( 0x180E < cp &&                                          \
237 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp &&                      \
238 ( 0x202F == cp || ( 0x202F < cp &&                                          \
239 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
240 
241 /*** GENERATED CODE ***/
242 #define is_HORIZWS_cp_high(cp)                                              \
243 ( 0x1680 == cp || ( 0x1680 < cp &&                                          \
244 ( 0x180E == cp || ( 0x180E < cp &&                                          \
245 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp &&                      \
246 ( 0x202F == cp || ( 0x202F < cp &&                                          \
247 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) )
248 
249 /*
250 	VERTWS: Vertical Whitespace: \v \V
251 
252 	\p{VertSpace}
253 */
254 /*** GENERATED CODE ***/
255 #define is_VERTWS(s,is_utf8)                                                \
256 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                        \
257 : ( is_utf8 ) ?                                                             \
258     ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
259 	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
260     : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
261 : ( 0x85 == ((U8*)s)[0] ) )
262 
263 /*** GENERATED CODE ***/
264 #define is_VERTWS_safe(s,e,is_utf8)                                         \
265 ( ((e)-(s) > 2) ?                                                           \
266     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
267     : ( is_utf8 ) ?                                                         \
268 	( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
269 	    ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
270 	: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
271     : ( 0x85 == ((U8*)s)[0] ) )                                             \
272 : ((e)-(s) > 1) ?                                                           \
273     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
274     : ( is_utf8 ) ?                                                         \
275 	( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
276     : ( 0x85 == ((U8*)s)[0] ) )                                             \
277 : ((e)-(s) > 0) ?                                                           \
278     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
279     : ( !( is_utf8 ) ) ?                                                    \
280 	( 0x85 == ((U8*)s)[0] )                                             \
281     : 0 )                                                                   \
282 : 0 )
283 
284 /*** GENERATED CODE ***/
285 #define is_VERTWS_utf8(s)                                                   \
286 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                        \
287 : ( 0xC2 == ((U8*)s)[0] ) ?                                                 \
288     ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                     \
289 : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
290 
291 /*** GENERATED CODE ***/
292 #define is_VERTWS_utf8_safe(s,e)                                            \
293 ( ((e)-(s) > 2) ?                                                           \
294     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
295     : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
296 	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
297     : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
298 : ((e)-(s) > 1) ?                                                           \
299     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
300     : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )      \
301 : ((e)-(s) > 0) ?                                                           \
302     ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D )                          \
303 : 0 )
304 
305 /*** GENERATED CODE ***/
306 #define is_VERTWS_high(s)                                                   \
307 ( ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
308 
309 /*** GENERATED CODE ***/
310 #define is_VERTWS_high_safe(s,e)                                            \
311 ( ( ( ( ((e)-(s) > 2) && ( 0xE2 == ((U8*)s)[0] ) ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
312 
313 /*** GENERATED CODE ***/
314 #define is_VERTWS_latin1(s)                                                 \
315 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )
316 
317 /*** GENERATED CODE ***/
318 #define is_VERTWS_latin1_safe(s,e)                                          \
319 ( ((e)-(s) > 0) ?                                                           \
320     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
321 : 0 )
322 
323 /*** GENERATED CODE ***/
324 #define is_VERTWS_cp(cp)                                                    \
325 ( ( 0x0A <= cp && cp <= 0x0D ) || ( 0x0D < cp &&                            \
326 ( 0x85 == cp || ( 0x85 < cp &&                                              \
327 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) )
328 
329 /*** GENERATED CODE ***/
330 #define is_VERTWS_cp_high(cp)                                               \
331 ( 0x2028 == cp || 0x2029 == cp )
332 
333 /*
334 	XDIGIT: Hexadecimal digits
335 
336 	\p{XDigit}
337 */
338 /*** GENERATED CODE ***/
339 #define is_XDIGIT_utf8(s)                                                   \
340 ( ( ( 0x30 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x39 ) || ( 0x41 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x46 ) || ( 0x61 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x66 ) ) ? 1\
341 : ( 0xEF == ((U8*)s)[0] ) ?                                                 \
342     ( ( 0xBC == ((U8*)s)[1] ) ?                                             \
343 	( ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x99 ) || ( 0xA1 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA6 ) ) ? 3 : 0 )\
344     : ( ( 0xBD == ((U8*)s)[1] ) && ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )\
345 : 0 )
346 
347 /*** GENERATED CODE ***/
348 #define is_XDIGIT_high(s)                                                   \
349 ( ( 0xEF == ((U8*)s)[0] ) ?                                                 \
350     ( ( 0xBC == ((U8*)s)[1] ) ?                                             \
351 	( ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x99 ) || ( 0xA1 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA6 ) ) ? 3 : 0 )\
352     : ( ( 0xBD == ((U8*)s)[1] ) && ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )\
353 : 0 )
354 
355 /*** GENERATED CODE ***/
356 #define is_XDIGIT_cp_high(cp)                                               \
357 ( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp &&                      \
358 ( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
359 
360 /*
361 	XPERLSPACE: \p{XPerlSpace}
362 
363 	\p{XPerlSpace}
364 */
365 /*** GENERATED CODE ***/
366 #define is_XPERLSPACE(s,is_utf8)                                            \
367 ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
368 : ( is_utf8 ) ?                                                             \
369     ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
370 	( ( 0x85 == ((U8*)s)[1] || 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )          \
371     : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
372 	( ( 0x9A == ((U8*)s)[1] ) ?                                         \
373 	    ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                             \
374 	: ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
375     : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
376 	( ( 0x80 == ((U8*)s)[1] ) ?                                         \
377 	    ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
378 	: ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )  \
379     : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
380 : ( 0x85 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] ) )
381 
382 /*** GENERATED CODE ***/
383 #define is_XPERLSPACE_utf8(s)                                               \
384 ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
385 : ( 0xC2 == ((U8*)s)[0] ) ?                                                 \
386     ( ( 0x85 == ((U8*)s)[1] || 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )              \
387 : ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
388     ( ( 0x9A == ((U8*)s)[1] ) ?                                             \
389 	( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
390     : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )      \
391 : ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
392     ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
393 	( ( ( ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
394     : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )      \
395 : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
396 
397 /*** GENERATED CODE ***/
398 #define is_XPERLSPACE_high(s)                                               \
399 ( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
400     ( ( 0x9A == ((U8*)s)[1] ) ?                                             \
401 	( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
402     : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )      \
403 : ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
404     ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
405 	( ( ( ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
406     : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )      \
407 : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
408 
409 /*** GENERATED CODE ***/
410 #define is_XPERLSPACE_cp_high(cp)                                           \
411 ( 0x1680 == cp || ( 0x1680 < cp &&                                          \
412 ( 0x180E == cp || ( 0x180E < cp &&                                          \
413 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp &&                      \
414 ( 0x2028 == cp || ( 0x2028 < cp &&                                          \
415 ( 0x2029 == cp || ( 0x2029 < cp &&                                          \
416 ( 0x202F == cp || ( 0x202F < cp &&                                          \
417 ( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) )
418 
419 /*
420 	REPLACEMENT: Unicode REPLACEMENT CHARACTER
421 
422 	0xFFFD
423 */
424 /*** GENERATED CODE ***/
425 #define is_REPLACEMENT_utf8_safe(s,e)                                       \
426 ( ( ( ( ((e)-(s) > 2) && ( 0xEF == ((U8*)s)[0] ) ) && ( 0xBF == ((U8*)s)[1] ) ) && ( 0xBD == ((U8*)s)[2] ) ) ? 3 : 0 )
427 
428 /*
429 	NONCHAR: Non character code points
430 
431 	\p{Nchar}
432 */
433 /*** GENERATED CODE ***/
434 #define is_NONCHAR_utf8(s)                                                  \
435 ( ( 0xEF == ((U8*)s)[0] ) ?                                                 \
436     ( ( 0xB7 == ((U8*)s)[1] ) ?                                             \
437 	( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ? 3 : 0 )          \
438     : ( ( 0xBF == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0xBE ) ) ? 3 : 0 )      \
439 : ( 0xF0 == ((U8*)s)[0] ) ?                                                 \
440     ( ( ( ( ((U8*)s)[1] == 0x9F || ( ( ((U8*)s)[1] & 0xEF ) == 0xAF ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
441 : ( 0xF1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xF3 ) ?                          \
442     ( ( ( ( ( ((U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
443 : ( ( ( ( 0xF4 == ((U8*)s)[0] ) && ( 0x8F == ((U8*)s)[1] ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )
444 
445 /*
446 	SURROGATE: Surrogate characters
447 
448 	\p{Gc=Cs}
449 */
450 /*** GENERATED CODE ***/
451 #define is_SURROGATE_utf8(s)                                                \
452 ( ( ( 0xED == ((U8*)s)[0] ) && ( ((U8*)s)[1] >= 0xA0 ) ) ? 3 : 0 )
453 
454 /*
455 	GCB_L: Grapheme_Cluster_Break=L
456 
457 	\p{_X_GCB_L}
458 */
459 /*** GENERATED CODE ***/
460 #define is_GCB_L_utf8(s)                                                    \
461 ( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
462     ( ( 0x84 == ((U8*)s)[1] ) ?                                             \
463 	3                                                                   \
464     : ( ( 0x85 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x9F ) ) ? 3 : 0 )      \
465 : ( ( ( 0xEA == ((U8*)s)[0] ) && ( 0xA5 == ((U8*)s)[1] ) ) && ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ) ? 3 : 0 )
466 
467 /*
468 	GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
469 
470 	\p{_X_LV_LVT_V}
471 */
472 /*** GENERATED CODE ***/
473 #define is_GCB_LV_LVT_V_utf8(s)                                             \
474 ( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
475     ( ( 0x85 == ((U8*)s)[1] ) ?                                             \
476 	( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 )                                 \
477     : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 )      \
478 : ( 0xEA == ((U8*)s)[0] ) ?                                                 \
479     ( ( ((U8*)s)[1] >= 0xB0 ) ?                                             \
480 	3                                                                   \
481     : 0 )                                                                   \
482 : ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ?                          \
483     3                                                                       \
484 : ( 0xED == ((U8*)s)[0] ) ?                                                 \
485     ( ( ((U8*)s)[1] <= 0x9D ) ?                                             \
486 	3                                                                   \
487     : ( 0x9E == ((U8*)s)[1] ) ?                                             \
488 	( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 )  \
489     : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )      \
490 : 0 )
491 
492 /*
493 	GCB_Prepend: Grapheme_Cluster_Break=Prepend
494 
495 	\p{_X_GCB_Prepend}
496 */
497 /*** GENERATED CODE ***/
498 #define is_GCB_Prepend_utf8(s)                                              \
499 ( 0 )
500 
501 /*
502 	GCB_RI: Grapheme_Cluster_Break=RI
503 
504 	\p{_X_RI}
505 */
506 /*** GENERATED CODE ***/
507 #define is_GCB_RI_utf8(s)                                                   \
508 ( ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
509 
510 /*
511 	GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
512 
513 	\p{_X_Special_Begin_Start}
514 */
515 /*** GENERATED CODE ***/
516 #define is_GCB_SPECIAL_BEGIN_START_utf8(s)                                  \
517 ( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
518     ( ( ( ((U8*)s)[1] & 0xFC ) == 0x84 ) ?                                  \
519 	3                                                                   \
520     : 0 )                                                                   \
521 : ( 0xEA == ((U8*)s)[0] ) ?                                                 \
522     ( ( 0xA5 == ((U8*)s)[1] ) ?                                             \
523 	( ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ? 3 : 0 )          \
524     : ( ((U8*)s)[1] >= 0xB0 ) ?                                             \
525 	3                                                                   \
526     : 0 )                                                                   \
527 : ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ?                          \
528     3                                                                       \
529 : ( 0xED == ((U8*)s)[0] ) ?                                                 \
530     ( ( ((U8*)s)[1] <= 0x9D ) ?                                             \
531 	3                                                                   \
532     : ( 0x9E == ((U8*)s)[1] ) ?                                             \
533 	( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 )  \
534     : ( ( 0x9F == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ) ? 3 : 0 )\
535 : ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
536 
537 /*
538 	GCB_T: Grapheme_Cluster_Break=T
539 
540 	\p{_X_GCB_T}
541 */
542 /*** GENERATED CODE ***/
543 #define is_GCB_T_utf8(s)                                                    \
544 ( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
545     ( ( 0x86 == ((U8*)s)[1] ) ?                                             \
546 	( ( ((U8*)s)[2] >= 0xA8 ) ? 3 : 0 )                                 \
547     : ( 0x87 == ((U8*)s)[1] ) ?                                             \
548 	3                                                                   \
549     : 0 )                                                                   \
550 : ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ? 3 : 0 )
551 
552 /*
553 	GCB_V: Grapheme_Cluster_Break=V
554 
555 	\p{_X_GCB_V}
556 */
557 /*** GENERATED CODE ***/
558 #define is_GCB_V_utf8(s)                                                    \
559 ( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
560     ( ( 0x85 == ((U8*)s)[1] ) ?                                             \
561 	( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 )                                 \
562     : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 )      \
563 : ( 0xED == ((U8*)s)[0] ) ?                                                 \
564     ( ( 0x9E == ((U8*)s)[1] ) ?                                             \
565 	( ( ((U8*)s)[2] >= 0xB0 ) ? 3 : 0 )                                 \
566     : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )      \
567 : 0 )
568 
569 /*
570 	QUOTEMETA: Meta-characters that \Q should quote
571 
572 	\p{_Perl_Quotemeta}
573 */
574 /*** GENERATED CODE ***/
575 #define is_QUOTEMETA_high(s)                                                \
576 ( ( 0xCD == ((U8*)s)[0] ) ?                                                 \
577     ( ( 0x8F == ((U8*)s)[1] ) ? 2 : 0 )                                     \
578 : ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
579     ( ( 0x85 == ((U8*)s)[1] ) ?                                             \
580 	( ( 0x9F == ((U8*)s)[2] || 0xA0 == ((U8*)s)[2] ) ? 3 : 0 )          \
581     : ( 0x9A == ((U8*)s)[1] ) ?                                             \
582 	( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
583     : ( 0x9E == ((U8*)s)[1] ) ?                                             \
584 	( ( ( ((U8*)s)[2] & 0xFE ) == 0xB4 ) ? 3 : 0 )                      \
585     : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8E ) ) ? 3 : 0 )\
586 : ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
587     ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
588 	( ( ((U8*)s)[2] <= 0xBE ) ? 3 : 0 )                                 \
589     : ( 0x81 == ((U8*)s)[1] ) ?                                             \
590 	( ( ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x93 ) || ( 0x95 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ) ? 3 : 0 )\
591     : ( 0x86 == ((U8*)s)[1] ) ?                                             \
592 	( ( ((U8*)s)[2] >= 0x90 ) ? 3 : 0 )                                 \
593     : ( ( 0x87 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x90 ) || ( 0x94 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x9C ) || ( 0x9F <= ((U8*)s)[1] && ((U8*)s)[1] <= 0xAF ) || ( ((U8*)s)[1] & 0xFE ) == 0xB8 ) ?\
594 	3                                                                   \
595     : ( 0x91 == ((U8*)s)[1] ) ?                                             \
596 	( ( ((U8*)s)[2] <= 0x9F ) ? 3 : 0 )                                 \
597     : ( 0x9D == ((U8*)s)[1] ) ?                                             \
598 	( ( ((U8*)s)[2] <= 0xB5 ) ? 3 : 0 )                                 \
599     : ( ( 0x9E == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0x94 ) ) ? 3 : 0 )      \
600 : ( 0xE3 == ((U8*)s)[0] ) ?                                                 \
601     ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
602 	( ( ( ((U8*)s)[2] <= 0x83 ) || ( 0x88 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA0 ) || 0xB0 == ((U8*)s)[2] ) ? 3 : 0 )\
603     : ( ( 0x85 == ((U8*)s)[1] ) && ( 0xA4 == ((U8*)s)[2] ) ) ? 3 : 0 )      \
604 : ( 0xEF == ((U8*)s)[0] ) ?                                                 \
605     ( ( 0xB4 == ((U8*)s)[1] ) ?                                             \
606 	( ( ((U8*)s)[2] >= 0xBE ) ? 3 : 0 )                                 \
607     : ( 0xB8 == ((U8*)s)[1] ) ?                                             \
608 	( ( ((U8*)s)[2] <= 0x8F ) ? 3 : 0 )                                 \
609     : ( 0xB9 == ((U8*)s)[1] ) ?                                             \
610 	( ( 0x85 == ((U8*)s)[2] || 0x86 == ((U8*)s)[2] ) ? 3 : 0 )          \
611     : ( 0xBB == ((U8*)s)[1] ) ?                                             \
612 	( ( 0xBF == ((U8*)s)[2] ) ? 3 : 0 )                                 \
613     : ( 0xBE == ((U8*)s)[1] ) ?                                             \
614 	( ( 0xA0 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
615     : ( ( 0xBF == ((U8*)s)[1] ) && ( 0xB0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xB8 ) ) ? 3 : 0 )\
616 : ( 0xF0 == ((U8*)s)[0] ) ?                                                 \
617     ( ( ( ( 0x9D == ((U8*)s)[1] ) && ( 0x85 == ((U8*)s)[2] ) ) && ( 0xB3 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0xBA ) ) ? 4 : 0 )\
618 : ( ( 0xF3 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 4 : 0 )
619 
620 /*
621 	MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
622 
623 	do regen/regcharclass_multi_char_folds.pl
624 	&regcharclass_multi_char_folds::multi_char_folds(1)
625 */
626 /*** GENERATED CODE ***/
627 #define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e)                             \
628 ( ( 0x61 == ((U8*)s)[0] ) ?                                                 \
629 	( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 )  \
630     : ( 0x66 == ((U8*)s)[0] ) ?                                             \
631 	( ( 0x66 == ((U8*)s)[1] ) ?                                         \
632 	    ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 )      \
633 	: ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )          \
634     : ( 0x68 == ((U8*)s)[0] ) ?                                             \
635 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
636     : ( 0x69 == ((U8*)s)[0] ) ?                                             \
637 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
638     : ( 0x6A == ((U8*)s)[0] ) ?                                             \
639 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 )  \
640     : ( 0x73 == ((U8*)s)[0] ) ?                                             \
641 	( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 )          \
642     : ( 0x74 == ((U8*)s)[0] ) ?                                             \
643 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
644     : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ?                      \
645 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 )  \
646     : ( 0xCA == ((U8*)s)[0] ) ?                                             \
647 	( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
648     : ( 0xCE == ((U8*)s)[0] ) ?                                             \
649 	( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ?                              \
650 	    ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
651 	: ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ?                  \
652 	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
653 		( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 )                         \
654 	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
655 	: ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
656     : ( 0xCF == ((U8*)s)[0] ) ?                                             \
657 	( ( 0x81 == ((U8*)s)[1] ) ?                                         \
658 	    ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
659 	: ( 0x85 == ((U8*)s)[1] ) ?                                         \
660 	    ( ( 0xCC == ((U8*)s)[2] ) ?                                     \
661 		( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 )                         \
662 	    : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
663 	: ( 0x89 == ((U8*)s)[1] ) ?                                         \
664 	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
665 		( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 )                         \
666 	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
667 	: ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
668     : ( 0xD5 == ((U8*)s)[0] ) ?                                             \
669 	( ( 0xA5 == ((U8*)s)[1] ) ?                                         \
670 	    ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
671 	: ( 0xB4 == ((U8*)s)[1] ) ?                                         \
672 	    ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
673 	: ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
674     : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
675 	( ( 0xBC == ((U8*)s)[1] ) ?                                         \
676 	    ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
677 	: ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
678     : 0 )
679 
680 
681 /*** GENERATED CODE ***/
682 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e)                             \
683 ( ((e)-(s) > 3) ?                                                           \
684     ( ( 0x61 == ((U8*)s)[0] ) ?                                             \
685 	( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 )  \
686     : ( 0x66 == ((U8*)s)[0] ) ?                                             \
687 	( ( 0x66 == ((U8*)s)[1] ) ?                                         \
688 	    ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 )      \
689 	: ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )          \
690     : ( 0x68 == ((U8*)s)[0] ) ?                                             \
691 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
692     : ( 0x69 == ((U8*)s)[0] ) ?                                             \
693 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
694     : ( 0x6A == ((U8*)s)[0] ) ?                                             \
695 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 )  \
696     : ( 0x73 == ((U8*)s)[0] ) ?                                             \
697 	( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 )          \
698     : ( 0x74 == ((U8*)s)[0] ) ?                                             \
699 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
700     : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ?                      \
701 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 )  \
702     : ( 0xCA == ((U8*)s)[0] ) ?                                             \
703 	( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
704     : ( 0xCE == ((U8*)s)[0] ) ?                                             \
705 	( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ?                              \
706 	    ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
707 	: ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ?                  \
708 	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
709 		( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 )                         \
710 	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
711 	: ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
712     : ( 0xCF == ((U8*)s)[0] ) ?                                             \
713 	( ( 0x81 == ((U8*)s)[1] ) ?                                         \
714 	    ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
715 	: ( 0x85 == ((U8*)s)[1] ) ?                                         \
716 	    ( ( 0xCC == ((U8*)s)[2] ) ?                                     \
717 		( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 )                         \
718 	    : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
719 	: ( 0x89 == ((U8*)s)[1] ) ?                                         \
720 	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
721 		( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 )                         \
722 	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
723 	: ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
724     : ( 0xD5 == ((U8*)s)[0] ) ?                                             \
725 	( ( 0xA5 == ((U8*)s)[1] ) ?                                         \
726 	    ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
727 	: ( 0xB4 == ((U8*)s)[1] ) ?                                         \
728 	    ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
729 	: ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
730     : 0 )                                                                   \
731 : ((e)-(s) > 2) ?                                                           \
732     ( ( 0x61 == ((U8*)s)[0] ) ?                                             \
733 	( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 )  \
734     : ( 0x66 == ((U8*)s)[0] ) ?                                             \
735 	( ( 0x66 == ((U8*)s)[1] ) ?                                         \
736 	    ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 )      \
737 	: ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )          \
738     : ( 0x68 == ((U8*)s)[0] ) ?                                             \
739 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
740     : ( 0x69 == ((U8*)s)[0] ) ?                                             \
741 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
742     : ( 0x6A == ((U8*)s)[0] ) ?                                             \
743 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 )  \
744     : ( 0x73 == ((U8*)s)[0] ) ?                                             \
745 	( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 )          \
746     : ( 0x74 == ((U8*)s)[0] ) ?                                             \
747 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
748     : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ?                      \
749 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 )  \
750     : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0xBC == ((U8*)s)[1] ) ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )\
751 : ((e)-(s) > 1) ?                                                           \
752     ( ( 0x66 == ((U8*)s)[0] ) ?                                             \
753 	( ( 0x66 == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\
754     : ( ( 0x73 == ((U8*)s)[0] ) && ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ? 2 : 0 )\
755 : 0 )
756 
757 
758 /*** GENERATED CODE ***/
759 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e)                                   \
760 ( ((e)-(s) > 5) ?                                                           \
761     ( ( 0x61 == ((U8*)s)[0] ) ?                                             \
762 	( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 )  \
763     : ( 0x66 == ((U8*)s)[0] ) ?                                             \
764 	( ( 0x66 == ((U8*)s)[1] ) ?                                         \
765 	    ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 )      \
766 	: ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )          \
767     : ( 0x68 == ((U8*)s)[0] ) ?                                             \
768 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
769     : ( 0x69 == ((U8*)s)[0] ) ?                                             \
770 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
771     : ( 0x6A == ((U8*)s)[0] ) ?                                             \
772 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 )  \
773     : ( 0x73 == ((U8*)s)[0] ) ?                                             \
774 	( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 )          \
775     : ( 0x74 == ((U8*)s)[0] ) ?                                             \
776 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
777     : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ?                      \
778 	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 )  \
779     : ( 0xCA == ((U8*)s)[0] ) ?                                             \
780 	( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
781     : ( 0xCE == ((U8*)s)[0] ) ?                                             \
782 	( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ?                              \
783 	    ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
784 	: ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ?                  \
785 	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
786 		( ( 0x82 == ((U8*)s)[3] ) ?                                 \
787 		    ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
788 		: 0 )                                                       \
789 	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
790 	: ( 0xB9 == ((U8*)s)[1] ) ?                                         \
791 	    ( ( 0xCC == ((U8*)s)[2] ) ?                                     \
792 		( ( 0x88 == ((U8*)s)[3] ) ?                                 \
793 		    ( ( 0xCC == ((U8*)s)[4] ) ?                             \
794 			( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 )      \
795 		    : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
796 		: 0 )                                                       \
797 	    : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
798 	: 0 )                                                               \
799     : ( 0xCF == ((U8*)s)[0] ) ?                                             \
800 	( ( 0x81 == ((U8*)s)[1] ) ?                                         \
801 	    ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
802 	: ( 0x85 == ((U8*)s)[1] ) ?                                         \
803 	    ( ( 0xCC == ((U8*)s)[2] ) ?                                     \
804 		( ( 0x88 == ((U8*)s)[3] ) ?                                 \
805 		    ( ( 0xCC == ((U8*)s)[4] ) ?                             \
806 			( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 )      \
807 		    : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
808 		: ( 0x93 == ((U8*)s)[3] ) ?                                 \
809 		    ( ( 0xCC == ((U8*)s)[4] ) ?                             \
810 			( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 4 )      \
811 		    : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 4 )\
812 		: 0 )                                                       \
813 	    : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
814 	: ( 0x89 == ((U8*)s)[1] ) ?                                         \
815 	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
816 		( ( 0x82 == ((U8*)s)[3] ) ?                                 \
817 		    ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
818 		: 0 )                                                       \
819 	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
820 	: ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
821     : ( 0xD5 == ((U8*)s)[0] ) ?                                             \
822 	( ( 0xA5 == ((U8*)s)[1] ) ?                                         \
823 	    ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
824 	: ( 0xB4 == ((U8*)s)[1] ) ?                                         \
825 	    ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
826 	: ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
827     : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
828 	( ( 0xBC == ((U8*)s)[1] ) ?                                         \
829 	    ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
830 	: ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
831     : 0 )                                                                   \
832 : ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
833 
834 /*
835 	MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
836 
837 	&regcharclass_multi_char_folds::multi_char_folds(0)
838 */
839 /*** GENERATED CODE ***/
840 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e)                                 \
841 ( ((e)-(s) > 2) ?                                                           \
842     ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ?                                  \
843 	( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) ?                              \
844 	    ( ( ( ( ((U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[2] & 0xDF ) == 0x4C ) ) ? 3 : 2 )\
845 	: ( ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
846     : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
847 : ((e)-(s) > 1) ?                                                           \
848     ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ?                                  \
849 	( ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
850     : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
851 : 0 )
852 
853 /*
854 	PATWS: pattern white space
855 
856 	\p{PatWS}
857 */
858 /*** GENERATED CODE ***/
859 #define is_PATWS(s,is_utf8)                                                 \
860 ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
861 : ( is_utf8 ) ?                                                             \
862     ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
863 	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
864     : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
865 : ( 0x85 == ((U8*)s)[0] ) )
866 
867 /*** GENERATED CODE ***/
868 #define is_PATWS_safe(s,e,is_utf8)                                          \
869 ( ((e)-(s) > 2) ?                                                           \
870     ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
871     : ( is_utf8 ) ?                                                         \
872 	( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
873 	    ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
874 	: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
875     : ( 0x85 == ((U8*)s)[0] ) )                                             \
876 : ((e)-(s) > 1) ?                                                           \
877     ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
878     : ( is_utf8 ) ?                                                         \
879 	( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
880     : ( 0x85 == ((U8*)s)[0] ) )                                             \
881 : ((e)-(s) > 0) ?                                                           \
882     ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
883     : ( !( is_utf8 ) ) ?                                                    \
884 	( 0x85 == ((U8*)s)[0] )                                             \
885     : 0 )                                                                   \
886 : 0 )
887 
888 /*** GENERATED CODE ***/
889 #define is_PATWS_non_low(s,is_utf8)                                         \
890 ( ( is_utf8 ) ?                                                             \
891     ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
892 	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
893     : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
894 : ( 0x85 == ((U8*)s)[0] ) )
895 
896 /*** GENERATED CODE ***/
897 #define is_PATWS_non_low_safe(s,e,is_utf8)                                  \
898 ( ((e)-(s) > 2) ?                                                           \
899     ( ( is_utf8 ) ?                                                         \
900 	( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
901 	    ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
902 	: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
903     : ( 0x85 == ((U8*)s)[0] ) )                                             \
904 : ((e)-(s) > 1) ?                                                           \
905     ( ( is_utf8 ) ?                                                         \
906 	( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
907     : ( 0x85 == ((U8*)s)[0] ) )                                             \
908 : ( ((e)-(s) > 0) && ( !( is_utf8 ) ) ) ? ( 0x85 == ((U8*)s)[0] ) : 0 )
909 
910 /*** GENERATED CODE ***/
911 #define is_PATWS_cp(cp)                                                     \
912 ( ( 0x09 <= cp && cp <= 0x0D ) || ( 0x0D < cp &&                            \
913 ( 0x20 == cp || ( 0x20 < cp &&                                              \
914 ( 0x85 == cp || ( 0x85 < cp &&                                              \
915 ( 0x200E == cp || ( 0x200E < cp &&                                          \
916 ( 0x200F == cp || ( 0x200F < cp &&                                          \
917 ( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) )
918 
919 
920 #endif /* H_REGCHARCLASS */
921 
922 /* ex: set ro: */
923