This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make pp_splice handle nonexistent array elements
[perl5.git] / regcharclass.h
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 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
28 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
29     ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )                   \
30 : ( is_utf8 ) ?                                                             \
31     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
32         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
33     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
34 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
35
36 /*** GENERATED CODE ***/
37 #define is_LNBREAK_safe(s,e,is_utf8)                                        \
38 ( ((e)-(s) > 2) ?                                                           \
39     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
40     : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
41         ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )               \
42     : ( is_utf8 ) ?                                                         \
43         ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
44             ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )           \
45         : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
46     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
47 : ((e)-(s) > 1) ?                                                           \
48     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
49     : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
50         ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )               \
51     : ( is_utf8 ) ?                                                         \
52         ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
53     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
54 : ((e)-(s) > 0) ?                                                           \
55     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
56     : ( !( is_utf8 ) ) ?                                                    \
57         ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )                           \
58     : 0 )                                                                   \
59 : 0 )
60
61 /*** GENERATED CODE ***/
62 #define is_LNBREAK_utf8(s)                                                  \
63 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
64 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
65     ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )                   \
66 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
67     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )                   \
68 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((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 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
74     : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
75         ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )               \
76     : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
77         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
78     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
79 : ((e)-(s) > 1) ?                                                           \
80     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) ? 1\
81     : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
82         ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )               \
83     : ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
84 : ((e)-(s) > 0) ?                                                           \
85     ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D )\
86 : 0 )
87
88 /*** GENERATED CODE ***/
89 #define is_LNBREAK_latin1(s)                                                \
90 ( ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
91 : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
92     ( ( 0x0A == NATIVE_TO_LATIN1(((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 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0C ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
99     : ( 0x0D == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
100         ( ( 0x0A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 1 )               \
101     : 0 )                                                                   \
102 : ((e)-(s) > 0) ?                                                           \
103     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x85 == NATIVE_TO_LATIN1(((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 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
114 : ( is_utf8 ) ?                                                             \
115     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
116         ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
117     : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
118         ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
119             ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )           \
120         : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
121     : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
122         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
123             ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
124         : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
125     : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
126 : ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
127
128 /*** GENERATED CODE ***/
129 #define is_HORIZWS_safe(s,e,is_utf8)                                        \
130 ( ((e)-(s) > 2) ?                                                           \
131     ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
132     : ( is_utf8 ) ?                                                         \
133         ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
134             ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )           \
135         : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
136             ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                   \
137                 ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )       \
138             : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
139         : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
140             ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                   \
141                 ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
142             : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
143         : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
144     : ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
145 : ((e)-(s) > 1) ?                                                           \
146     ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
147     : ( is_utf8 ) ?                                                         \
148         ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
149     : ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
150 : ((e)-(s) > 0) ?                                                           \
151     ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
152     : ( !( is_utf8 ) ) ?                                                    \
153         ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) )                           \
154     : 0 )                                                                   \
155 : 0 )
156
157 /*** GENERATED CODE ***/
158 #define is_HORIZWS_utf8(s)                                                  \
159 ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
160 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
161     ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )                   \
162 : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
163     ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
164         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )               \
165     : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
166 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
167     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
168         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
169     : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
170 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
171
172 /*** GENERATED CODE ***/
173 #define is_HORIZWS_utf8_safe(s,e)                                           \
174 ( ((e)-(s) > 2) ?                                                           \
175     ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
176     : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
177         ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
178     : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
179         ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
180             ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )           \
181         : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
182     : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
183         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
184             ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
185         : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
186     : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
187 : ((e)-(s) > 1) ?                                                           \
188     ( ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
189     : ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
190 : ((e)-(s) > 0) ?                                                           \
191     ( 0x09 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) )\
192 : 0 )
193
194 /*** GENERATED CODE ***/
195 #define is_HORIZWS_latin1(s)                                                \
196 ( NATIVE_TO_LATIN1(((U8*)s)[0]) == 0x09 || ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0x7F ) == 0x20 ) )
197
198 /*** GENERATED CODE ***/
199 #define is_HORIZWS_latin1_safe(s,e)                                         \
200 ( ((e)-(s) > 0) ?                                                           \
201     ( NATIVE_TO_LATIN1(((U8*)s)[0]) == 0x09 || ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0x7F ) == 0x20 ) )\
202 : 0 )
203
204 /*** GENERATED CODE ***/
205 #define is_HORIZWS_high(s)                                                  \
206 ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
207     ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
208         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )               \
209     : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
210 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
211     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
212         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
213     : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
214 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
215
216 /*** GENERATED CODE ***/
217 #define is_HORIZWS_high_safe(s,e)                                           \
218 ( ((e)-(s) > 2) ?                                                           \
219     ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
220         ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
221             ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )           \
222         : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
223     : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
224         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
225             ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
226         : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
227     : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
228 : 0 )
229
230 /*** GENERATED CODE ***/
231 #define is_HORIZWS_cp(cp)                                                   \
232 ( 0x09 == NATIVE_TO_UNI(cp) || ( 0x09 < NATIVE_TO_UNI(cp) &&                \
233 ( 0x20 == NATIVE_TO_UNI(cp) || ( 0x20 < NATIVE_TO_UNI(cp) &&                \
234 ( 0xA0 == NATIVE_TO_UNI(cp) || ( 0xA0 < NATIVE_TO_UNI(cp) &&                \
235 ( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) &&            \
236 ( 0x180E == NATIVE_TO_UNI(cp) || ( 0x180E < NATIVE_TO_UNI(cp) &&            \
237 ( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
238 ( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) &&            \
239 ( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
240
241 /*** GENERATED CODE ***/
242 #define is_HORIZWS_cp_high(cp)                                              \
243 ( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) &&            \
244 ( 0x180E == NATIVE_TO_UNI(cp) || ( 0x180E < NATIVE_TO_UNI(cp) &&            \
245 ( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
246 ( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) &&            \
247 ( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(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 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
257 : ( is_utf8 ) ?                                                             \
258     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
259         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
260     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
261 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
262
263 /*** GENERATED CODE ***/
264 #define is_VERTWS_safe(s,e,is_utf8)                                         \
265 ( ((e)-(s) > 2) ?                                                           \
266     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
267     : ( is_utf8 ) ?                                                         \
268         ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
269             ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )           \
270         : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
271     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
272 : ((e)-(s) > 1) ?                                                           \
273     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
274     : ( is_utf8 ) ?                                                         \
275         ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
276     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
277 : ((e)-(s) > 0) ?                                                           \
278     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
279     : ( !( is_utf8 ) ) ?                                                    \
280         ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )                           \
281     : 0 )                                                                   \
282 : 0 )
283
284 /*** GENERATED CODE ***/
285 #define is_VERTWS_utf8(s)                                                   \
286 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
287 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
288     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )                   \
289 : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((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 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
295     : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
296         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
297     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
298 : ((e)-(s) > 1) ?                                                           \
299     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) ? 1\
300     : ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
301 : ((e)-(s) > 0) ?                                                           \
302     ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D )\
303 : 0 )
304
305 /*** GENERATED CODE ***/
306 #define is_VERTWS_high(s)                                                   \
307 ( ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
308
309 /*** GENERATED CODE ***/
310 #define is_VERTWS_high_safe(s,e)                                            \
311 ( ( ( ( ((e)-(s) > 2) && ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
312
313 /*** GENERATED CODE ***/
314 #define is_VERTWS_latin1(s)                                                 \
315 ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )
316
317 /*** GENERATED CODE ***/
318 #define is_VERTWS_latin1_safe(s,e)                                          \
319 ( ((e)-(s) > 0) ?                                                           \
320     ( ( 0x0A <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )\
321 : 0 )
322
323 /*** GENERATED CODE ***/
324 #define is_VERTWS_cp(cp)                                                    \
325 ( ( 0x0A <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x0D ) || ( 0x0D < NATIVE_TO_UNI(cp) &&\
326 ( 0x85 == NATIVE_TO_UNI(cp) || ( 0x85 < NATIVE_TO_UNI(cp) &&                \
327 ( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) ) ) ) ) )
328
329 /*** GENERATED CODE ***/
330 #define is_VERTWS_cp_high(cp)                                               \
331 ( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) )
332
333 /*
334         XDIGIT: Hexadecimal digits
335
336         \p{XDigit}
337 */
338 /*** GENERATED CODE ***/
339 #define is_XDIGIT_utf8(s)                                                   \
340 ( ( ( 0x30 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x39 ) || ( 0x41 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x46 ) || ( 0x61 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x66 ) ) ? 1\
341 : ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
342     ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
343         ( ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x99 ) || ( 0xA1 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA6 ) ) ? 3 : 0 )\
344     : ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
345 : 0 )
346
347 /*** GENERATED CODE ***/
348 #define is_XDIGIT_high(s)                                                   \
349 ( ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
350     ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
351         ( ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x99 ) || ( 0xA1 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA6 ) ) ? 3 : 0 )\
352     : ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) ) ? 3 : 0 )\
353 : 0 )
354
355 /*** GENERATED CODE ***/
356 #define is_XDIGIT_cp_high(cp)                                               \
357 ( ( 0xFF10 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF19 ) || ( 0xFF19 < NATIVE_TO_UNI(cp) &&\
358 ( ( 0xFF21 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0xFF26 ) || ( 0xFF41 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(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 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
368 : ( is_utf8 ) ?                                                             \
369     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
370         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
371     : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
372         ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
373             ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )           \
374         : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
375     : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
376         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
377             ( ( ( 0x80 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
378         : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
379     : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
380 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
381
382 /*** GENERATED CODE ***/
383 #define is_XPERLSPACE_utf8(s)                                               \
384 ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
385 : ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
386     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
387 : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
388     ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
389         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )               \
390     : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
391 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
392     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
393         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
394     : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
395 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
396
397 /*** GENERATED CODE ***/
398 #define is_XPERLSPACE_high(s)                                               \
399 ( ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
400     ( ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
401         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )               \
402     : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
403 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
404     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
405         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8A ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 || 0xAF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
406     : ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
407 : ( ( ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )
408
409 /*** GENERATED CODE ***/
410 #define is_XPERLSPACE_cp_high(cp)                                           \
411 ( 0x1680 == NATIVE_TO_UNI(cp) || ( 0x1680 < NATIVE_TO_UNI(cp) &&            \
412 ( 0x180E == NATIVE_TO_UNI(cp) || ( 0x180E < NATIVE_TO_UNI(cp) &&            \
413 ( ( 0x2000 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x200A ) || ( 0x200A < NATIVE_TO_UNI(cp) &&\
414 ( 0x2028 == NATIVE_TO_UNI(cp) || ( 0x2028 < NATIVE_TO_UNI(cp) &&            \
415 ( 0x2029 == NATIVE_TO_UNI(cp) || ( 0x2029 < NATIVE_TO_UNI(cp) &&            \
416 ( 0x202F == NATIVE_TO_UNI(cp) || ( 0x202F < NATIVE_TO_UNI(cp) &&            \
417 ( 0x205F == NATIVE_TO_UNI(cp) || 0x3000 == NATIVE_TO_UNI(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 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xBD == NATIVE_TO_LATIN1(((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 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
436     ( ( 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
437         ( ( 0x90 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xAF ) ? 3 : 0 )\
438     : ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xBE ) ) ? 3 : 0 )\
439 : ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
440     ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) == 0x9F || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xEF ) == 0xAF ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )\
441 : ( 0xF1 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0xF3 ) ?\
442     ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xCF ) == 0x8F ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((U8*)s)[3]) >= 0xBE ) ) ? 4 : 0 )\
443 : ( ( ( ( 0xF4 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x8F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((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 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( NATIVE_TO_LATIN1(((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 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
462     ( ( 0x84 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
463         3                                                                   \
464     : ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9F ) ) ? 3 : 0 )\
465 : ( ( ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0xA0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((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 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
475     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
476         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA0 ) ? 3 : 0 )               \
477     : ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA7 ) ) ? 3 : 0 )\
478 : ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
479     ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xB0 ) ?                           \
480         3                                                                   \
481     : 0 )                                                                   \
482 : ( 0xEB == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xEC == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
483     3                                                                       \
484 : ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
485     ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9D ) ?                           \
486         3                                                                   \
487     : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
488         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA3 ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ) ? 3 : 0 )\
489     : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((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 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((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 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
518     ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFC ) == 0x84 ) ?                \
519         3                                                                   \
520     : 0 )                                                                   \
521 : ( 0xEA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
522     ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
523         ( ( 0xA0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBC ) ? 3 : 0 )\
524     : ( NATIVE_TO_LATIN1(((U8*)s)[1]) >= 0xB0 ) ?                           \
525         3                                                                   \
526     : 0 )                                                                   \
527 : ( 0xEB == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0xEC == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
528     3                                                                       \
529 : ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
530     ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9D ) ?                           \
531         3                                                                   \
532     : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
533         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA3 ) || ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ) ? 3 : 0 )\
534     : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x86 ) || ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBB ) ) ) ? 3 : 0 )\
535 : ( ( ( ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( NATIVE_TO_LATIN1(((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 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
545     ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
546         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA8 ) ? 3 : 0 )               \
547     : ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
548         3                                                                   \
549     : 0 )                                                                   \
550 : ( ( ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((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 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
560     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
561         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xA0 ) ? 3 : 0 )               \
562     : ( ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA7 ) ) ? 3 : 0 )\
563 : ( 0xED == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
564     ( ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
565         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xB0 ) ? 3 : 0 )               \
566     : ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((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 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
577     ( ( 0x8F == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )                   \
578 : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
579     ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
580         ( ( 0x9F == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
581     : ( 0x9A == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
582         ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )               \
583     : ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
584         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xB4 ) ? 3 : 0 )    \
585     : ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8B <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8E ) ) ? 3 : 0 )\
586 : ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
587     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
588         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xBE ) ? 3 : 0 )               \
589     : ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
590         ( ( ( 0x81 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x93 ) || ( 0x95 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xAF ) ) ? 3 : 0 )\
591     : ( 0x86 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
592         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0x90 ) ? 3 : 0 )               \
593     : ( ( 0x87 <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x90 ) || ( 0x94 <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0x9C ) || ( 0x9F <= NATIVE_TO_LATIN1(((U8*)s)[1]) && NATIVE_TO_LATIN1(((U8*)s)[1]) <= 0xAF ) || ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFE ) == 0xB8 ) ?\
594         3                                                                   \
595     : ( 0x91 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
596         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x9F ) ? 3 : 0 )               \
597     : ( 0x9D == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
598         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xB5 ) ? 3 : 0 )               \
599     : ( ( 0x9E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0x94 ) ) ? 3 : 0 )\
600 : ( 0xE3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
601     ( ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
602         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x83 ) || ( 0x88 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xA0 ) || 0xB0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
603     : ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xA4 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
604 : ( 0xEF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
605     ( ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
606         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) >= 0xBE ) ? 3 : 0 )               \
607     : ( 0xB8 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
608         ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0x8F ) ? 3 : 0 )               \
609     : ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
610         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x86 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )\
611     : ( 0xBB == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
612         ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )               \
613     : ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                           \
614         ( ( 0xA0 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 0 )               \
615     : ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB0 <= NATIVE_TO_LATIN1(((U8*)s)[2]) && NATIVE_TO_LATIN1(((U8*)s)[2]) <= 0xB8 ) ) ? 3 : 0 )\
616 : ( 0xF0 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
617     ( ( ( ( 0x9D == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB3 <= NATIVE_TO_LATIN1(((U8*)s)[3]) && NATIVE_TO_LATIN1(((U8*)s)[3]) <= 0xBA ) ) ? 4 : 0 )\
618 : ( ( 0xF3 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xA0 == NATIVE_TO_LATIN1(((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 ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )
629
630
631 /*** GENERATED CODE ***/
632 #define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e)                             \
633 ( ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
634         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
635     : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
636         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
637     : ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
638         ( ( ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
639     : ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
640         ( ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
641     : ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
642         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFD ) == 0xAC ) ?            \
643             ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
644         : ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?\
645             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
646                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ?               \
647                     ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
648                 : 0 )                                                       \
649             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
650         : ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
651             ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
652                 ( ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ?               \
653                     ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ?           \
654                         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) & 0xFE ) == 0x80 ) ? 6 : 0 )\
655                     : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 0 )\
656                 : 0 )                                                       \
657             : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
658         : 0 )                                                               \
659     : ( 0xCF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
660         ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
661             ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
662         : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
663             ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
664                 ( ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ?               \
665                     ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ?           \
666                         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) & 0xFE ) == 0x80 ) ? 6 : 0 )\
667                     : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 0 )\
668                 : ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ?               \
669                     ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ?           \
670                         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[5]) & 0xFE ) == 0x80 ) ? 6 : 4 )\
671                     : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
672                 : 0 )                                                       \
673             : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
674         : ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
675             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
676                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ?               \
677                     ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[4]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[5]) ) ) ? 6 : 4 )\
678                 : 0 )                                                       \
679             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
680         : ( ( ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
681     : ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
682         ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
683             ( ( ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
684         : ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
685             ( ( ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[3]) & 0xF7 ) == 0xA5 ) || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xAB || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xB6 ) ) ? 4 : 0 )\
686         : ( ( ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB6 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
687     : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
688         ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
689             ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xD8 ) == 0x80 ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
690         : ( ( ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFB ) == 0xB0 ) || NATIVE_TO_LATIN1(((U8*)s)[2]) == 0xBC ) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
691     : 0 )
692
693
694 /*** GENERATED CODE ***/
695 #define is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e)                             \
696 ( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
697         ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
698     : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
699         ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
700             ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
701         : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
702     : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
703         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
704     : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
705         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
706     : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
707         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
708     : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
709         ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
710     : ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
711         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
712     : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
713         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
714     : ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
715         ( ( ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
716     : ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
717         ( ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
718     : ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
719         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFD ) == 0xAC ) ?            \
720             ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
721         : ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?\
722             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
723                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
724             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
725         : ( ( ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
726     : ( 0xCF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
727         ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
728             ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
729         : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
730             ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
731                 ( ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
732             : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
733         : ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
734             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
735                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
736             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
737         : ( ( ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
738     : ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
739         ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
740             ( ( ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
741         : ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
742             ( ( ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[3]) & 0xF7 ) == 0xA5 ) || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xAB || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xB6 ) ) ? 4 : 0 )\
743         : ( ( ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB6 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
744     : 0 )
745
746
747 /*** GENERATED CODE ***/
748 #define is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e)                             \
749 ( ((e)-(s) > 2) ?                                                           \
750     ( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
751         ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
752     : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
753         ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
754             ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
755         : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
756     : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
757         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
758     : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
759         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
760     : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
761         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
762     : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
763         ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
764     : ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
765         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
766     : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
767         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
768     : ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
769 : ((e)-(s) > 1) ?                                                           \
770     ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
771         ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
772     : ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
773 : 0 )
774
775
776 /*** GENERATED CODE ***/
777 #define is_MULTI_CHAR_FOLD_utf8_safe_part4(s,e)                             \
778 ( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                               \
779         ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
780     : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
781         ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
782             ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
783         : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
784     : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
785         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
786     : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
787         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
788     : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
789         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
790     : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
791
792
793 /*** GENERATED CODE ***/
794 #define is_MULTI_CHAR_FOLD_utf8_safe_part5(s,e)                             \
795 ( ((e)-(s) > 4) ?                                                           \
796     ( ( 0x61 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
797         ( ( ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
798     : ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
799         ( ( 0x66 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
800             ( ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[2]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ? 3 : 2 )\
801         : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x6C == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
802     : ( 0x68 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
803         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
804     : ( 0x69 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
805         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x87 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
806     : ( 0x6A == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
807         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8C == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
808     : ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
809         ( ( 0x73 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0x74 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )\
810     : ( 0x74 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
811         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x88 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
812     : ( 0x77 == NATIVE_TO_LATIN1(((U8*)s)[0]) || 0x79 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?\
813         ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x8A == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
814     : ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
815         ( ( ( ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xC5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xBF == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
816     : ( 0xCA == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
817         ( ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0x6E == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) ? 3 : 0 )\
818     : ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
819         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xFD ) == 0xAC ) ?            \
820             ( ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
821         : ( 0xB1 == NATIVE_TO_LATIN1(((U8*)s)[1]) || 0xB7 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?\
822             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
823                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
824             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
825         : ( ( ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
826     : ( 0xCF == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
827         ( ( 0x81 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
828             ( ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
829         : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
830             ( ( 0xCC == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
831                 ( ( 0x93 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
832             : ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
833         : ( 0x89 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
834             ( ( 0xCD == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ?                   \
835                 ( ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ? 4 : 0 )       \
836             : ( ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
837         : ( ( ( 0x8E == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
838     : ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
839         ( ( 0xA5 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
840             ( ( ( 0xD6 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( 0x82 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
841         : ( 0xB4 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
842             ( ( ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[3]) & 0xF7 ) == 0xA5 ) || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xAB || NATIVE_TO_LATIN1(((U8*)s)[3]) == 0xB6 ) ) ? 4 : 0 )\
843         : ( ( ( 0xBE == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( 0xD5 == NATIVE_TO_LATIN1(((U8*)s)[2]) ) ) && ( 0xB6 == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) ? 4 : 0 )\
844     : ( 0xE1 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
845         ( ( 0xBC == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ?                       \
846             ( ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xD8 ) == 0x80 ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
847         : ( ( ( ( 0xBD == NATIVE_TO_LATIN1(((U8*)s)[1]) ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xF8 ) == 0xA0 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFB ) == 0xB0 ) || NATIVE_TO_LATIN1(((U8*)s)[2]) == 0xBC ) ) && ( 0xCE == NATIVE_TO_LATIN1(((U8*)s)[3]) ) ) && ( 0xB9 == NATIVE_TO_LATIN1(((U8*)s)[4]) ) ) ? 5 : 0 )\
848     : 0 )                                                                   \
849 : ((e)-(s) > 3) ? is_MULTI_CHAR_FOLD_utf8_safe_part2(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part3(s,e) )
850
851
852 /*** GENERATED CODE ***/
853 #define is_MULTI_CHAR_FOLD_utf8_safe(s,e)                                   \
854 ( ((e)-(s) > 5) ? is_MULTI_CHAR_FOLD_utf8_safe_part4(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part5(s,e) )
855
856 /*
857         MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
858
859         &regcharclass_multi_char_folds::multi_char_folds(0)
860 */
861 /*** GENERATED CODE ***/
862 #define is_MULTI_CHAR_FOLD_latin1_safe(s,e)                                 \
863 ( ((e)-(s) > 2) ?                                                           \
864     ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x46 ) ?                \
865         ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x46 ) ?            \
866             ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xDF ) == 0x4C ) ) ? 3 : 2 )\
867         : ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
868     : ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x53 ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x53 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
869 : ((e)-(s) > 1) ?                                                           \
870     ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x46 ) ?                \
871         ( ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x46 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x49 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
872     : ( ( ( NATIVE_TO_LATIN1(((U8*)s)[0]) & 0xDF ) == 0x53 ) && ( ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x53 ) || ( ( NATIVE_TO_LATIN1(((U8*)s)[1]) & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
873 : 0 )
874
875 /*
876         PATWS: pattern white space
877
878         \p{PatWS}
879 */
880 /*** GENERATED CODE ***/
881 #define is_PATWS(s,is_utf8)                                                 \
882 ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
883 : ( is_utf8 ) ?                                                             \
884     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
885         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
886     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
887 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
888
889 /*** GENERATED CODE ***/
890 #define is_PATWS_safe(s,e,is_utf8)                                          \
891 ( ((e)-(s) > 2) ?                                                           \
892     ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
893     : ( is_utf8 ) ?                                                         \
894         ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
895             ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )           \
896         : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
897     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
898 : ((e)-(s) > 1) ?                                                           \
899     ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
900     : ( is_utf8 ) ?                                                         \
901         ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
902     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
903 : ((e)-(s) > 0) ?                                                           \
904     ( ( ( 0x09 <= NATIVE_TO_LATIN1(((U8*)s)[0]) && NATIVE_TO_LATIN1(((U8*)s)[0]) <= 0x0D ) || 0x20 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ? 1\
905     : ( !( is_utf8 ) ) ?                                                    \
906         ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) )                           \
907     : 0 )                                                                   \
908 : 0 )
909
910 /*** GENERATED CODE ***/
911 #define is_PATWS_non_low(s,is_utf8)                                         \
912 ( ( is_utf8 ) ?                                                             \
913     ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                           \
914         ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )               \
915     : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
916 : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )
917
918 /*** GENERATED CODE ***/
919 #define is_PATWS_non_low_safe(s,e,is_utf8)                                  \
920 ( ((e)-(s) > 2) ?                                                           \
921     ( ( is_utf8 ) ?                                                         \
922         ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) ?                       \
923             ( ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ? 2 : 0 )           \
924         : ( ( ( 0xE2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x80 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) && ( ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0x8E || ( NATIVE_TO_LATIN1(((U8*)s)[2]) & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
925     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
926 : ((e)-(s) > 1) ?                                                           \
927     ( ( is_utf8 ) ?                                                         \
928         ( ( ( 0xC2 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) && ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[1]) ) ) ? 2 : 0 )\
929     : ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) )                           \
930 : ( ((e)-(s) > 0) && ( !( is_utf8 ) ) ) ? ( 0x85 == NATIVE_TO_LATIN1(((U8*)s)[0]) ) : 0 )
931
932 /*** GENERATED CODE ***/
933 #define is_PATWS_cp(cp)                                                     \
934 ( ( 0x09 <= NATIVE_TO_UNI(cp) && NATIVE_TO_UNI(cp) <= 0x0D ) || ( 0x0D < NATIVE_TO_UNI(cp) &&\
935 ( 0x20 == NATIVE_TO_UNI(cp) || ( 0x20 < NATIVE_TO_UNI(cp) &&                \
936 ( 0x85 == NATIVE_TO_UNI(cp) || ( 0x85 < NATIVE_TO_UNI(cp) &&                \
937 ( 0x200E == NATIVE_TO_UNI(cp) || ( 0x200E < NATIVE_TO_UNI(cp) &&            \
938 ( 0x200F == NATIVE_TO_UNI(cp) || ( 0x200F < NATIVE_TO_UNI(cp) &&            \
939 ( 0x2028 == NATIVE_TO_UNI(cp) || 0x2029 == NATIVE_TO_UNI(cp) ) ) ) ) ) ) ) ) ) ) )
940
941
942 #endif /* H_REGCHARCLASS */
943
944 /* ex: set ro: */