1 /* This file was generated by upbc (the upb compiler) from the input
2  * file:
3  *
4  *     validate/validate.proto
5  *
6  * Do not edit -- your changes will be discarded when the file is
7  * regenerated. */
8 
9 #include <stddef.h>
10 #include "upb/collections/array_internal.h"
11 #include "upb/message/internal.h"
12 #include "upb/mini_table/enum_internal.h"
13 #include "validate/validate.upb.h"
14 #include "google/protobuf/descriptor.upb.h"
15 #include "google/protobuf/duration.upb.h"
16 #include "google/protobuf/timestamp.upb.h"
17 
18 // Must be last.
19 #include "upb/port/def.inc"
20 
21 static const upb_MiniTableSub validate_FieldRules_submsgs[22] = {
22   {.submsg = &validate_FloatRules_msg_init},
23   {.submsg = &validate_DoubleRules_msg_init},
24   {.submsg = &validate_Int32Rules_msg_init},
25   {.submsg = &validate_Int64Rules_msg_init},
26   {.submsg = &validate_UInt32Rules_msg_init},
27   {.submsg = &validate_UInt64Rules_msg_init},
28   {.submsg = &validate_SInt32Rules_msg_init},
29   {.submsg = &validate_SInt64Rules_msg_init},
30   {.submsg = &validate_Fixed32Rules_msg_init},
31   {.submsg = &validate_Fixed64Rules_msg_init},
32   {.submsg = &validate_SFixed32Rules_msg_init},
33   {.submsg = &validate_SFixed64Rules_msg_init},
34   {.submsg = &validate_BoolRules_msg_init},
35   {.submsg = &validate_StringRules_msg_init},
36   {.submsg = &validate_BytesRules_msg_init},
37   {.submsg = &validate_EnumRules_msg_init},
38   {.submsg = &validate_MessageRules_msg_init},
39   {.submsg = &validate_RepeatedRules_msg_init},
40   {.submsg = &validate_MapRules_msg_init},
41   {.submsg = &validate_AnyRules_msg_init},
42   {.submsg = &validate_DurationRules_msg_init},
43   {.submsg = &validate_TimestampRules_msg_init},
44 };
45 
46 static const upb_MiniTableField validate_FieldRules__fields[22] = {
47   {1, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 0, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
48   {2, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 1, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
49   {3, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 2, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
50   {4, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 3, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
51   {5, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 4, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
52   {6, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 5, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
53   {7, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 6, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
54   {8, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 7, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
55   {9, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 8, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
56   {10, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 9, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
57   {11, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 10, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
58   {12, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 11, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
59   {13, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 12, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
60   {14, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 13, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
61   {15, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 14, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
62   {16, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 15, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
63   {17, UPB_SIZE(4, 8), 1, 16, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
64   {18, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 17, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
65   {19, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 18, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
66   {20, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 19, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
67   {21, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 20, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
68   {22, UPB_SIZE(12, 16), UPB_SIZE(-9, -5), 21, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
69 };
70 
71 const upb_MiniTable validate_FieldRules_msg_init = {
72   &validate_FieldRules_submsgs[0],
73   &validate_FieldRules__fields[0],
74   UPB_SIZE(16, 24), 22, kUpb_ExtMode_NonExtendable, 22, UPB_FASTTABLE_MASK(248), 0,
75   UPB_FASTTABLE_INIT({
76     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
77     {0x001000040100000a, &upb_pom_1bt_max64b},
78     {0x0010000402010012, &upb_pom_1bt_max128b},
79     {0x001000040302001a, &upb_pom_1bt_max64b},
80     {0x0010000404030022, &upb_pom_1bt_max128b},
81     {0x001000040504002a, &upb_pom_1bt_max64b},
82     {0x0010000406050032, &upb_pom_1bt_max128b},
83     {0x001000040706003a, &upb_pom_1bt_max64b},
84     {0x0010000408070042, &upb_pom_1bt_max128b},
85     {0x001000040908004a, &upb_pom_1bt_max64b},
86     {0x001000040a090052, &upb_pom_1bt_max128b},
87     {0x001000040b0a005a, &upb_pom_1bt_max64b},
88     {0x001000040c0b0062, &upb_pom_1bt_max128b},
89     {0x001000040d0c006a, &upb_pom_1bt_max64b},
90     {0x001000040e0d0072, &upb_pom_1bt_max192b},
91     {0x001000040f0e007a, &upb_pom_1bt_max192b},
92     {0x00100004100f0182, &upb_pom_2bt_max64b},
93     {0x000800000110018a, &upb_psm_2bt_max64b},
94     {0x0010000412110192, &upb_pom_2bt_max64b},
95     {0x001000041312019a, &upb_pom_2bt_max64b},
96     {0x00100004141301a2, &upb_pom_2bt_max64b},
97     {0x00100004151401aa, &upb_pom_2bt_max128b},
98     {0x00100004161501b2, &upb_pom_2bt_max64b},
99     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
100     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
101     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
102     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
103     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
104     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
105     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
106     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
107     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
108   })
109 };
110 
111 static const upb_MiniTableField validate_FloatRules__fields[8] = {
112   {1, 4, 1, kUpb_NoSub, 2, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
113   {2, 8, 2, kUpb_NoSub, 2, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
114   {3, 12, 3, kUpb_NoSub, 2, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
115   {4, 16, 4, kUpb_NoSub, 2, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
116   {5, 20, 5, kUpb_NoSub, 2, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
117   {6, UPB_SIZE(24, 32), 0, kUpb_NoSub, 2, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
118   {7, UPB_SIZE(28, 40), 0, kUpb_NoSub, 2, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
119   {8, UPB_SIZE(32, 24), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
120 };
121 
122 const upb_MiniTable validate_FloatRules_msg_init = {
123   NULL,
124   &validate_FloatRules__fields[0],
125   UPB_SIZE(40, 48), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
126   UPB_FASTTABLE_INIT({
127     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
128     {0x000400000100000d, &upb_psf4_1bt},
129     {0x0008000002000015, &upb_psf4_1bt},
130     {0x000c00000300001d, &upb_psf4_1bt},
131     {0x0010000004000025, &upb_psf4_1bt},
132     {0x001400000500002d, &upb_psf4_1bt},
133     {0x002000003f000035, &upb_prf4_1bt},
134     {0x002800003f00003d, &upb_prf4_1bt},
135     {0x0018000006000040, &upb_psb1_1bt},
136     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
137     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
138     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
139     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
140     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
141     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
142     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
143   })
144 };
145 
146 static const upb_MiniTableField validate_DoubleRules__fields[8] = {
147   {1, UPB_SIZE(16, 8), 1, kUpb_NoSub, 1, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
148   {2, UPB_SIZE(24, 16), 2, kUpb_NoSub, 1, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
149   {3, UPB_SIZE(32, 24), 3, kUpb_NoSub, 1, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
150   {4, UPB_SIZE(40, 32), 4, kUpb_NoSub, 1, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
151   {5, UPB_SIZE(48, 40), 5, kUpb_NoSub, 1, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
152   {6, UPB_SIZE(4, 48), 0, kUpb_NoSub, 1, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
153   {7, UPB_SIZE(8, 56), 0, kUpb_NoSub, 1, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
154   {8, UPB_SIZE(12, 1), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
155 };
156 
157 const upb_MiniTable validate_DoubleRules_msg_init = {
158   NULL,
159   &validate_DoubleRules__fields[0],
160   UPB_SIZE(56, 64), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
161   UPB_FASTTABLE_INIT({
162     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
163     {0x0008000001000009, &upb_psf8_1bt},
164     {0x0010000002000011, &upb_psf8_1bt},
165     {0x0018000003000019, &upb_psf8_1bt},
166     {0x0020000004000021, &upb_psf8_1bt},
167     {0x0028000005000029, &upb_psf8_1bt},
168     {0x003000003f000031, &upb_prf8_1bt},
169     {0x003800003f000039, &upb_prf8_1bt},
170     {0x0001000006000040, &upb_psb1_1bt},
171     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
172     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
173     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
174     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
175     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
176     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
177     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
178   })
179 };
180 
181 static const upb_MiniTableField validate_Int32Rules__fields[8] = {
182   {1, 4, 1, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
183   {2, 8, 2, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
184   {3, 12, 3, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
185   {4, 16, 4, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
186   {5, 20, 5, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
187   {6, UPB_SIZE(24, 32), 0, kUpb_NoSub, 5, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
188   {7, UPB_SIZE(28, 40), 0, kUpb_NoSub, 5, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
189   {8, UPB_SIZE(32, 24), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
190 };
191 
192 const upb_MiniTable validate_Int32Rules_msg_init = {
193   NULL,
194   &validate_Int32Rules__fields[0],
195   UPB_SIZE(40, 48), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
196   UPB_FASTTABLE_INIT({
197     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
198     {0x0004000001000008, &upb_psv4_1bt},
199     {0x0008000002000010, &upb_psv4_1bt},
200     {0x000c000003000018, &upb_psv4_1bt},
201     {0x0010000004000020, &upb_psv4_1bt},
202     {0x0014000005000028, &upb_psv4_1bt},
203     {0x002000003f000030, &upb_prv4_1bt},
204     {0x002800003f000038, &upb_prv4_1bt},
205     {0x0018000006000040, &upb_psb1_1bt},
206     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
207     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
208     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
209     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
210     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
211     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
212     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
213   })
214 };
215 
216 static const upb_MiniTableField validate_Int64Rules__fields[8] = {
217   {1, UPB_SIZE(16, 8), 1, kUpb_NoSub, 3, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
218   {2, UPB_SIZE(24, 16), 2, kUpb_NoSub, 3, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
219   {3, UPB_SIZE(32, 24), 3, kUpb_NoSub, 3, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
220   {4, UPB_SIZE(40, 32), 4, kUpb_NoSub, 3, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
221   {5, UPB_SIZE(48, 40), 5, kUpb_NoSub, 3, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
222   {6, UPB_SIZE(4, 48), 0, kUpb_NoSub, 3, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
223   {7, UPB_SIZE(8, 56), 0, kUpb_NoSub, 3, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
224   {8, UPB_SIZE(12, 1), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
225 };
226 
227 const upb_MiniTable validate_Int64Rules_msg_init = {
228   NULL,
229   &validate_Int64Rules__fields[0],
230   UPB_SIZE(56, 64), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
231   UPB_FASTTABLE_INIT({
232     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
233     {0x0008000001000008, &upb_psv8_1bt},
234     {0x0010000002000010, &upb_psv8_1bt},
235     {0x0018000003000018, &upb_psv8_1bt},
236     {0x0020000004000020, &upb_psv8_1bt},
237     {0x0028000005000028, &upb_psv8_1bt},
238     {0x003000003f000030, &upb_prv8_1bt},
239     {0x003800003f000038, &upb_prv8_1bt},
240     {0x0001000006000040, &upb_psb1_1bt},
241     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
242     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
243     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
244     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
245     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
246     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
247     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
248   })
249 };
250 
251 static const upb_MiniTableField validate_UInt32Rules__fields[8] = {
252   {1, 4, 1, kUpb_NoSub, 13, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
253   {2, 8, 2, kUpb_NoSub, 13, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
254   {3, 12, 3, kUpb_NoSub, 13, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
255   {4, 16, 4, kUpb_NoSub, 13, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
256   {5, 20, 5, kUpb_NoSub, 13, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
257   {6, UPB_SIZE(24, 32), 0, kUpb_NoSub, 13, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
258   {7, UPB_SIZE(28, 40), 0, kUpb_NoSub, 13, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
259   {8, UPB_SIZE(32, 24), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
260 };
261 
262 const upb_MiniTable validate_UInt32Rules_msg_init = {
263   NULL,
264   &validate_UInt32Rules__fields[0],
265   UPB_SIZE(40, 48), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
266   UPB_FASTTABLE_INIT({
267     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
268     {0x0004000001000008, &upb_psv4_1bt},
269     {0x0008000002000010, &upb_psv4_1bt},
270     {0x000c000003000018, &upb_psv4_1bt},
271     {0x0010000004000020, &upb_psv4_1bt},
272     {0x0014000005000028, &upb_psv4_1bt},
273     {0x002000003f000030, &upb_prv4_1bt},
274     {0x002800003f000038, &upb_prv4_1bt},
275     {0x0018000006000040, &upb_psb1_1bt},
276     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
277     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
278     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
279     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
280     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
281     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
282     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
283   })
284 };
285 
286 static const upb_MiniTableField validate_UInt64Rules__fields[8] = {
287   {1, UPB_SIZE(16, 8), 1, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
288   {2, UPB_SIZE(24, 16), 2, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
289   {3, UPB_SIZE(32, 24), 3, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
290   {4, UPB_SIZE(40, 32), 4, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
291   {5, UPB_SIZE(48, 40), 5, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
292   {6, UPB_SIZE(4, 48), 0, kUpb_NoSub, 4, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
293   {7, UPB_SIZE(8, 56), 0, kUpb_NoSub, 4, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
294   {8, UPB_SIZE(12, 1), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
295 };
296 
297 const upb_MiniTable validate_UInt64Rules_msg_init = {
298   NULL,
299   &validate_UInt64Rules__fields[0],
300   UPB_SIZE(56, 64), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
301   UPB_FASTTABLE_INIT({
302     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
303     {0x0008000001000008, &upb_psv8_1bt},
304     {0x0010000002000010, &upb_psv8_1bt},
305     {0x0018000003000018, &upb_psv8_1bt},
306     {0x0020000004000020, &upb_psv8_1bt},
307     {0x0028000005000028, &upb_psv8_1bt},
308     {0x003000003f000030, &upb_prv8_1bt},
309     {0x003800003f000038, &upb_prv8_1bt},
310     {0x0001000006000040, &upb_psb1_1bt},
311     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
312     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
313     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
314     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
315     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
316     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
317     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
318   })
319 };
320 
321 static const upb_MiniTableField validate_SInt32Rules__fields[8] = {
322   {1, 4, 1, kUpb_NoSub, 17, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
323   {2, 8, 2, kUpb_NoSub, 17, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
324   {3, 12, 3, kUpb_NoSub, 17, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
325   {4, 16, 4, kUpb_NoSub, 17, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
326   {5, 20, 5, kUpb_NoSub, 17, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
327   {6, UPB_SIZE(24, 32), 0, kUpb_NoSub, 17, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
328   {7, UPB_SIZE(28, 40), 0, kUpb_NoSub, 17, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
329   {8, UPB_SIZE(32, 24), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
330 };
331 
332 const upb_MiniTable validate_SInt32Rules_msg_init = {
333   NULL,
334   &validate_SInt32Rules__fields[0],
335   UPB_SIZE(40, 48), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
336   UPB_FASTTABLE_INIT({
337     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
338     {0x0004000001000008, &upb_psz4_1bt},
339     {0x0008000002000010, &upb_psz4_1bt},
340     {0x000c000003000018, &upb_psz4_1bt},
341     {0x0010000004000020, &upb_psz4_1bt},
342     {0x0014000005000028, &upb_psz4_1bt},
343     {0x002000003f000030, &upb_prz4_1bt},
344     {0x002800003f000038, &upb_prz4_1bt},
345     {0x0018000006000040, &upb_psb1_1bt},
346     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
347     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
348     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
349     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
350     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
351     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
352     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
353   })
354 };
355 
356 static const upb_MiniTableField validate_SInt64Rules__fields[8] = {
357   {1, UPB_SIZE(16, 8), 1, kUpb_NoSub, 18, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
358   {2, UPB_SIZE(24, 16), 2, kUpb_NoSub, 18, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
359   {3, UPB_SIZE(32, 24), 3, kUpb_NoSub, 18, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
360   {4, UPB_SIZE(40, 32), 4, kUpb_NoSub, 18, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
361   {5, UPB_SIZE(48, 40), 5, kUpb_NoSub, 18, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
362   {6, UPB_SIZE(4, 48), 0, kUpb_NoSub, 18, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
363   {7, UPB_SIZE(8, 56), 0, kUpb_NoSub, 18, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
364   {8, UPB_SIZE(12, 1), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
365 };
366 
367 const upb_MiniTable validate_SInt64Rules_msg_init = {
368   NULL,
369   &validate_SInt64Rules__fields[0],
370   UPB_SIZE(56, 64), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
371   UPB_FASTTABLE_INIT({
372     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
373     {0x0008000001000008, &upb_psz8_1bt},
374     {0x0010000002000010, &upb_psz8_1bt},
375     {0x0018000003000018, &upb_psz8_1bt},
376     {0x0020000004000020, &upb_psz8_1bt},
377     {0x0028000005000028, &upb_psz8_1bt},
378     {0x003000003f000030, &upb_prz8_1bt},
379     {0x003800003f000038, &upb_prz8_1bt},
380     {0x0001000006000040, &upb_psb1_1bt},
381     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
382     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
383     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
384     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
385     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
386     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
387     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
388   })
389 };
390 
391 static const upb_MiniTableField validate_Fixed32Rules__fields[8] = {
392   {1, 4, 1, kUpb_NoSub, 7, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
393   {2, 8, 2, kUpb_NoSub, 7, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
394   {3, 12, 3, kUpb_NoSub, 7, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
395   {4, 16, 4, kUpb_NoSub, 7, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
396   {5, 20, 5, kUpb_NoSub, 7, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
397   {6, UPB_SIZE(24, 32), 0, kUpb_NoSub, 7, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
398   {7, UPB_SIZE(28, 40), 0, kUpb_NoSub, 7, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
399   {8, UPB_SIZE(32, 24), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
400 };
401 
402 const upb_MiniTable validate_Fixed32Rules_msg_init = {
403   NULL,
404   &validate_Fixed32Rules__fields[0],
405   UPB_SIZE(40, 48), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
406   UPB_FASTTABLE_INIT({
407     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
408     {0x000400000100000d, &upb_psf4_1bt},
409     {0x0008000002000015, &upb_psf4_1bt},
410     {0x000c00000300001d, &upb_psf4_1bt},
411     {0x0010000004000025, &upb_psf4_1bt},
412     {0x001400000500002d, &upb_psf4_1bt},
413     {0x002000003f000035, &upb_prf4_1bt},
414     {0x002800003f00003d, &upb_prf4_1bt},
415     {0x0018000006000040, &upb_psb1_1bt},
416     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
417     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
418     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
419     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
420     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
421     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
422     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
423   })
424 };
425 
426 static const upb_MiniTableField validate_Fixed64Rules__fields[8] = {
427   {1, UPB_SIZE(16, 8), 1, kUpb_NoSub, 6, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
428   {2, UPB_SIZE(24, 16), 2, kUpb_NoSub, 6, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
429   {3, UPB_SIZE(32, 24), 3, kUpb_NoSub, 6, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
430   {4, UPB_SIZE(40, 32), 4, kUpb_NoSub, 6, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
431   {5, UPB_SIZE(48, 40), 5, kUpb_NoSub, 6, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
432   {6, UPB_SIZE(4, 48), 0, kUpb_NoSub, 6, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
433   {7, UPB_SIZE(8, 56), 0, kUpb_NoSub, 6, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
434   {8, UPB_SIZE(12, 1), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
435 };
436 
437 const upb_MiniTable validate_Fixed64Rules_msg_init = {
438   NULL,
439   &validate_Fixed64Rules__fields[0],
440   UPB_SIZE(56, 64), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
441   UPB_FASTTABLE_INIT({
442     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
443     {0x0008000001000009, &upb_psf8_1bt},
444     {0x0010000002000011, &upb_psf8_1bt},
445     {0x0018000003000019, &upb_psf8_1bt},
446     {0x0020000004000021, &upb_psf8_1bt},
447     {0x0028000005000029, &upb_psf8_1bt},
448     {0x003000003f000031, &upb_prf8_1bt},
449     {0x003800003f000039, &upb_prf8_1bt},
450     {0x0001000006000040, &upb_psb1_1bt},
451     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
452     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
453     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
454     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
455     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
456     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
457     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
458   })
459 };
460 
461 static const upb_MiniTableField validate_SFixed32Rules__fields[8] = {
462   {1, 4, 1, kUpb_NoSub, 15, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
463   {2, 8, 2, kUpb_NoSub, 15, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
464   {3, 12, 3, kUpb_NoSub, 15, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
465   {4, 16, 4, kUpb_NoSub, 15, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
466   {5, 20, 5, kUpb_NoSub, 15, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
467   {6, UPB_SIZE(24, 32), 0, kUpb_NoSub, 15, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
468   {7, UPB_SIZE(28, 40), 0, kUpb_NoSub, 15, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
469   {8, UPB_SIZE(32, 24), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
470 };
471 
472 const upb_MiniTable validate_SFixed32Rules_msg_init = {
473   NULL,
474   &validate_SFixed32Rules__fields[0],
475   UPB_SIZE(40, 48), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
476   UPB_FASTTABLE_INIT({
477     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
478     {0x000400000100000d, &upb_psf4_1bt},
479     {0x0008000002000015, &upb_psf4_1bt},
480     {0x000c00000300001d, &upb_psf4_1bt},
481     {0x0010000004000025, &upb_psf4_1bt},
482     {0x001400000500002d, &upb_psf4_1bt},
483     {0x002000003f000035, &upb_prf4_1bt},
484     {0x002800003f00003d, &upb_prf4_1bt},
485     {0x0018000006000040, &upb_psb1_1bt},
486     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
487     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
488     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
489     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
490     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
491     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
492     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
493   })
494 };
495 
496 static const upb_MiniTableField validate_SFixed64Rules__fields[8] = {
497   {1, UPB_SIZE(16, 8), 1, kUpb_NoSub, 16, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
498   {2, UPB_SIZE(24, 16), 2, kUpb_NoSub, 16, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
499   {3, UPB_SIZE(32, 24), 3, kUpb_NoSub, 16, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
500   {4, UPB_SIZE(40, 32), 4, kUpb_NoSub, 16, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
501   {5, UPB_SIZE(48, 40), 5, kUpb_NoSub, 16, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
502   {6, UPB_SIZE(4, 48), 0, kUpb_NoSub, 16, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
503   {7, UPB_SIZE(8, 56), 0, kUpb_NoSub, 16, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
504   {8, UPB_SIZE(12, 1), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
505 };
506 
507 const upb_MiniTable validate_SFixed64Rules_msg_init = {
508   NULL,
509   &validate_SFixed64Rules__fields[0],
510   UPB_SIZE(56, 64), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
511   UPB_FASTTABLE_INIT({
512     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
513     {0x0008000001000009, &upb_psf8_1bt},
514     {0x0010000002000011, &upb_psf8_1bt},
515     {0x0018000003000019, &upb_psf8_1bt},
516     {0x0020000004000021, &upb_psf8_1bt},
517     {0x0028000005000029, &upb_psf8_1bt},
518     {0x003000003f000031, &upb_prf8_1bt},
519     {0x003800003f000039, &upb_prf8_1bt},
520     {0x0001000006000040, &upb_psb1_1bt},
521     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
522     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
523     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
524     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
525     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
526     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
527     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
528   })
529 };
530 
531 static const upb_MiniTableField validate_BoolRules__fields[1] = {
532   {1, 1, 1, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
533 };
534 
535 const upb_MiniTable validate_BoolRules_msg_init = {
536   NULL,
537   &validate_BoolRules__fields[0],
538   8, 1, kUpb_ExtMode_NonExtendable, 1, UPB_FASTTABLE_MASK(8), 0,
539   UPB_FASTTABLE_INIT({
540     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
541     {0x0001000001000008, &upb_psb1_1bt},
542   })
543 };
544 
545 static const upb_MiniTableSub validate_StringRules_submsgs[1] = {
546   {.subenum = &validate_KnownRegex_enum_init},
547 };
548 
549 static const upb_MiniTableField validate_StringRules__fields[26] = {
550   {1, UPB_SIZE(24, 16), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
551   {2, 32, 2, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
552   {3, 40, 3, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
553   {4, 48, 4, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
554   {5, 56, 5, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
555   {6, 64, 6, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
556   {7, UPB_SIZE(72, 80), 7, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
557   {8, UPB_SIZE(80, 96), 8, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
558   {9, UPB_SIZE(88, 112), 9, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
559   {10, UPB_SIZE(4, 128), 0, kUpb_NoSub, 12, kUpb_FieldMode_Array | kUpb_LabelFlags_IsAlternate | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
560   {11, UPB_SIZE(8, 136), 0, kUpb_NoSub, 12, kUpb_FieldMode_Array | kUpb_LabelFlags_IsAlternate | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
561   {12, UPB_SIZE(20, 12), UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
562   {13, UPB_SIZE(20, 12), UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
563   {14, UPB_SIZE(20, 12), UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
564   {15, UPB_SIZE(20, 12), UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
565   {16, UPB_SIZE(20, 12), UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
566   {17, UPB_SIZE(20, 12), UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
567   {18, UPB_SIZE(20, 12), UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
568   {19, UPB_SIZE(96, 144), 10, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
569   {20, UPB_SIZE(104, 152), 11, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
570   {21, UPB_SIZE(20, 12), UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
571   {22, UPB_SIZE(20, 12), UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
572   {23, UPB_SIZE(112, 160), 12, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
573   {24, UPB_SIZE(20, 12), UPB_SIZE(-13, -5), 0, 14, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
574   {25, UPB_SIZE(16, 8), 13, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
575   {26, UPB_SIZE(17, 9), 14, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
576 };
577 
578 const upb_MiniTable validate_StringRules_msg_init = {
579   &validate_StringRules_submsgs[0],
580   &validate_StringRules__fields[0],
581   UPB_SIZE(120, 176), 26, kUpb_ExtMode_NonExtendable, 26, UPB_FASTTABLE_MASK(248), 0,
582   UPB_FASTTABLE_INIT({
583     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
584     {0x001000000100000a, &upb_pss_1bt},
585     {0x0020000002000010, &upb_psv8_1bt},
586     {0x0028000003000018, &upb_psv8_1bt},
587     {0x0030000004000020, &upb_psv8_1bt},
588     {0x0038000005000028, &upb_psv8_1bt},
589     {0x0040000006000032, &upb_pss_1bt},
590     {0x005000000700003a, &upb_pss_1bt},
591     {0x0060000008000042, &upb_pss_1bt},
592     {0x007000000900004a, &upb_pss_1bt},
593     {0x008000003f000052, &upb_prs_1bt},
594     {0x008800003f00005a, &upb_prs_1bt},
595     {0x000c00040c000060, &upb_pob1_1bt},
596     {0x000c00040d000068, &upb_pob1_1bt},
597     {0x000c00040e000070, &upb_pob1_1bt},
598     {0x000c00040f000078, &upb_pob1_1bt},
599     {0x000c000410000180, &upb_pob1_2bt},
600     {0x000c000411000188, &upb_pob1_2bt},
601     {0x000c000412000190, &upb_pob1_2bt},
602     {0x009000000a000198, &upb_psv8_2bt},
603     {0x009800000b0001a0, &upb_psv8_2bt},
604     {0x000c0004150001a8, &upb_pob1_2bt},
605     {0x000c0004160001b0, &upb_pob1_2bt},
606     {0x00a000000c0001ba, &upb_pss_2bt},
607     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
608     {0x000800000d0001c8, &upb_psb1_2bt},
609     {0x000900000e0001d0, &upb_psb1_2bt},
610     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
611     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
612     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
613     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
614     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
615   })
616 };
617 
618 static const upb_MiniTableField validate_BytesRules__fields[14] = {
619   {1, UPB_SIZE(20, 16), 1, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
620   {2, 32, 2, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
621   {3, 40, 3, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
622   {4, 48, 4, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsAlternate | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
623   {5, UPB_SIZE(56, 64), 5, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
624   {6, UPB_SIZE(64, 80), 6, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
625   {7, UPB_SIZE(72, 96), 7, kUpb_NoSub, 12, kUpb_FieldMode_Scalar | (kUpb_FieldRep_StringView << kUpb_FieldRep_Shift)},
626   {8, UPB_SIZE(4, 112), 0, kUpb_NoSub, 12, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
627   {9, UPB_SIZE(8, 120), 0, kUpb_NoSub, 12, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
628   {10, 2, UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
629   {11, 2, UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
630   {12, 2, UPB_SIZE(-13, -5), kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
631   {13, UPB_SIZE(80, 128), 8, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
632   {14, UPB_SIZE(16, 8), 9, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
633 };
634 
635 const upb_MiniTable validate_BytesRules_msg_init = {
636   NULL,
637   &validate_BytesRules__fields[0],
638   UPB_SIZE(88, 136), 14, kUpb_ExtMode_NonExtendable, 14, UPB_FASTTABLE_MASK(120), 0,
639   UPB_FASTTABLE_INIT({
640     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
641     {0x001000000100000a, &upb_psb_1bt},
642     {0x0020000002000010, &upb_psv8_1bt},
643     {0x0028000003000018, &upb_psv8_1bt},
644     {0x0030000004000022, &upb_pss_1bt},
645     {0x004000000500002a, &upb_psb_1bt},
646     {0x0050000006000032, &upb_psb_1bt},
647     {0x006000000700003a, &upb_psb_1bt},
648     {0x007000003f000042, &upb_prb_1bt},
649     {0x007800003f00004a, &upb_prb_1bt},
650     {0x000200040a000050, &upb_pob1_1bt},
651     {0x000200040b000058, &upb_pob1_1bt},
652     {0x000200040c000060, &upb_pob1_1bt},
653     {0x0080000008000068, &upb_psv8_1bt},
654     {0x0008000009000070, &upb_psb1_1bt},
655     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
656   })
657 };
658 
659 static const upb_MiniTableField validate_EnumRules__fields[4] = {
660   {1, 4, 1, kUpb_NoSub, 5, kUpb_FieldMode_Scalar | (kUpb_FieldRep_4Byte << kUpb_FieldRep_Shift)},
661   {2, 8, 2, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
662   {3, UPB_SIZE(12, 16), 0, kUpb_NoSub, 5, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
663   {4, UPB_SIZE(16, 24), 0, kUpb_NoSub, 5, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
664 };
665 
666 const upb_MiniTable validate_EnumRules_msg_init = {
667   NULL,
668   &validate_EnumRules__fields[0],
669   UPB_SIZE(24, 32), 4, kUpb_ExtMode_NonExtendable, 4, UPB_FASTTABLE_MASK(56), 0,
670   UPB_FASTTABLE_INIT({
671     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
672     {0x0004000001000008, &upb_psv4_1bt},
673     {0x0008000002000010, &upb_psb1_1bt},
674     {0x001000003f000018, &upb_prv4_1bt},
675     {0x001800003f000020, &upb_prv4_1bt},
676     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
677     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
678     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
679   })
680 };
681 
682 static const upb_MiniTableField validate_MessageRules__fields[2] = {
683   {1, 1, 1, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
684   {2, 2, 2, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
685 };
686 
687 const upb_MiniTable validate_MessageRules_msg_init = {
688   NULL,
689   &validate_MessageRules__fields[0],
690   8, 2, kUpb_ExtMode_NonExtendable, 2, UPB_FASTTABLE_MASK(24), 0,
691   UPB_FASTTABLE_INIT({
692     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
693     {0x0001000001000008, &upb_psb1_1bt},
694     {0x0002000002000010, &upb_psb1_1bt},
695     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
696   })
697 };
698 
699 static const upb_MiniTableSub validate_RepeatedRules_submsgs[1] = {
700   {.submsg = &validate_FieldRules_msg_init},
701 };
702 
703 static const upb_MiniTableField validate_RepeatedRules__fields[5] = {
704   {1, UPB_SIZE(16, 8), 1, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
705   {2, UPB_SIZE(24, 16), 2, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
706   {3, 1, 3, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
707   {4, UPB_SIZE(4, 24), 4, 0, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
708   {5, UPB_SIZE(8, 2), 5, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
709 };
710 
711 const upb_MiniTable validate_RepeatedRules_msg_init = {
712   &validate_RepeatedRules_submsgs[0],
713   &validate_RepeatedRules__fields[0],
714   32, 5, kUpb_ExtMode_NonExtendable, 5, UPB_FASTTABLE_MASK(56), 0,
715   UPB_FASTTABLE_INIT({
716     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
717     {0x0008000001000008, &upb_psv8_1bt},
718     {0x0010000002000010, &upb_psv8_1bt},
719     {0x0001000003000018, &upb_psb1_1bt},
720     {0x0018000004000022, &upb_psm_1bt_max64b},
721     {0x0002000005000028, &upb_psb1_1bt},
722     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
723     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
724   })
725 };
726 
727 static const upb_MiniTableSub validate_MapRules_submsgs[2] = {
728   {.submsg = &validate_FieldRules_msg_init},
729   {.submsg = &validate_FieldRules_msg_init},
730 };
731 
732 static const upb_MiniTableField validate_MapRules__fields[6] = {
733   {1, UPB_SIZE(16, 8), 1, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
734   {2, UPB_SIZE(24, 16), 2, kUpb_NoSub, 4, kUpb_FieldMode_Scalar | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
735   {3, 1, 3, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
736   {4, UPB_SIZE(4, 24), 4, 0, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
737   {5, UPB_SIZE(8, 32), 5, 1, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
738   {6, UPB_SIZE(12, 2), 6, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
739 };
740 
741 const upb_MiniTable validate_MapRules_msg_init = {
742   &validate_MapRules_submsgs[0],
743   &validate_MapRules__fields[0],
744   UPB_SIZE(32, 40), 6, kUpb_ExtMode_NonExtendable, 6, UPB_FASTTABLE_MASK(56), 0,
745   UPB_FASTTABLE_INIT({
746     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
747     {0x0008000001000008, &upb_psv8_1bt},
748     {0x0010000002000010, &upb_psv8_1bt},
749     {0x0001000003000018, &upb_psb1_1bt},
750     {0x0018000004000022, &upb_psm_1bt_max64b},
751     {0x002000000501002a, &upb_psm_1bt_max64b},
752     {0x0002000006000030, &upb_psb1_1bt},
753     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
754   })
755 };
756 
757 static const upb_MiniTableField validate_AnyRules__fields[3] = {
758   {1, 1, 1, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
759   {2, UPB_SIZE(4, 8), 0, kUpb_NoSub, 12, kUpb_FieldMode_Array | kUpb_LabelFlags_IsAlternate | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
760   {3, UPB_SIZE(8, 16), 0, kUpb_NoSub, 12, kUpb_FieldMode_Array | kUpb_LabelFlags_IsAlternate | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
761 };
762 
763 const upb_MiniTable validate_AnyRules_msg_init = {
764   NULL,
765   &validate_AnyRules__fields[0],
766   UPB_SIZE(16, 24), 3, kUpb_ExtMode_NonExtendable, 3, UPB_FASTTABLE_MASK(24), 0,
767   UPB_FASTTABLE_INIT({
768     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
769     {0x0001000001000008, &upb_psb1_1bt},
770     {0x000800003f000012, &upb_prs_1bt},
771     {0x001000003f00001a, &upb_prs_1bt},
772   })
773 };
774 
775 static const upb_MiniTableSub validate_DurationRules_submsgs[7] = {
776   {.submsg = &google_protobuf_Duration_msg_init},
777   {.submsg = &google_protobuf_Duration_msg_init},
778   {.submsg = &google_protobuf_Duration_msg_init},
779   {.submsg = &google_protobuf_Duration_msg_init},
780   {.submsg = &google_protobuf_Duration_msg_init},
781   {.submsg = &google_protobuf_Duration_msg_init},
782   {.submsg = &google_protobuf_Duration_msg_init},
783 };
784 
785 static const upb_MiniTableField validate_DurationRules__fields[8] = {
786   {1, 1, 1, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
787   {2, UPB_SIZE(4, 8), 2, 0, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
788   {3, UPB_SIZE(8, 16), 3, 1, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
789   {4, UPB_SIZE(12, 24), 4, 2, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
790   {5, UPB_SIZE(16, 32), 5, 3, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
791   {6, UPB_SIZE(20, 40), 6, 4, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
792   {7, UPB_SIZE(24, 48), 0, 5, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
793   {8, UPB_SIZE(28, 56), 0, 6, 11, kUpb_FieldMode_Array | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
794 };
795 
796 const upb_MiniTable validate_DurationRules_msg_init = {
797   &validate_DurationRules_submsgs[0],
798   &validate_DurationRules__fields[0],
799   UPB_SIZE(32, 64), 8, kUpb_ExtMode_NonExtendable, 8, UPB_FASTTABLE_MASK(120), 0,
800   UPB_FASTTABLE_INIT({
801     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
802     {0x0001000001000008, &upb_psb1_1bt},
803     {0x0008000002000012, &upb_psm_1bt_maxmaxb},
804     {0x001000000301001a, &upb_psm_1bt_maxmaxb},
805     {0x0018000004020022, &upb_psm_1bt_maxmaxb},
806     {0x002000000503002a, &upb_psm_1bt_maxmaxb},
807     {0x0028000006040032, &upb_psm_1bt_maxmaxb},
808     {0x003000003f05003a, &upb_prm_1bt_maxmaxb},
809     {0x003800003f060042, &upb_prm_1bt_maxmaxb},
810     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
811     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
812     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
813     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
814     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
815     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
816     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
817   })
818 };
819 
820 static const upb_MiniTableSub validate_TimestampRules_submsgs[6] = {
821   {.submsg = &google_protobuf_Timestamp_msg_init},
822   {.submsg = &google_protobuf_Timestamp_msg_init},
823   {.submsg = &google_protobuf_Timestamp_msg_init},
824   {.submsg = &google_protobuf_Timestamp_msg_init},
825   {.submsg = &google_protobuf_Timestamp_msg_init},
826   {.submsg = &google_protobuf_Duration_msg_init},
827 };
828 
829 static const upb_MiniTableField validate_TimestampRules__fields[9] = {
830   {1, 2, 1, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
831   {2, UPB_SIZE(4, 8), 2, 0, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
832   {3, UPB_SIZE(8, 16), 3, 1, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
833   {4, UPB_SIZE(12, 24), 4, 2, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
834   {5, UPB_SIZE(16, 32), 5, 3, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
835   {6, UPB_SIZE(20, 40), 6, 4, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
836   {7, UPB_SIZE(24, 3), 7, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
837   {8, UPB_SIZE(25, 4), 8, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
838   {9, UPB_SIZE(28, 48), 9, 5, 11, kUpb_FieldMode_Scalar | (UPB_SIZE(kUpb_FieldRep_4Byte, kUpb_FieldRep_8Byte) << kUpb_FieldRep_Shift)},
839 };
840 
841 const upb_MiniTable validate_TimestampRules_msg_init = {
842   &validate_TimestampRules_submsgs[0],
843   &validate_TimestampRules__fields[0],
844   UPB_SIZE(32, 56), 9, kUpb_ExtMode_NonExtendable, 9, UPB_FASTTABLE_MASK(120), 0,
845   UPB_FASTTABLE_INIT({
846     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
847     {0x0002000001000008, &upb_psb1_1bt},
848     {0x0008000002000012, &upb_psm_1bt_maxmaxb},
849     {0x001000000301001a, &upb_psm_1bt_maxmaxb},
850     {0x0018000004020022, &upb_psm_1bt_maxmaxb},
851     {0x002000000503002a, &upb_psm_1bt_maxmaxb},
852     {0x0028000006040032, &upb_psm_1bt_maxmaxb},
853     {0x0003000007000038, &upb_psb1_1bt},
854     {0x0004000008000040, &upb_psb1_1bt},
855     {0x003000000905004a, &upb_psm_1bt_maxmaxb},
856     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
857     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
858     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
859     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
860     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
861     {0x0000000000000000, &_upb_FastDecoder_DecodeGeneric},
862   })
863 };
864 
865 static const upb_MiniTable *messages_layout[23] = {
866   &validate_FieldRules_msg_init,
867   &validate_FloatRules_msg_init,
868   &validate_DoubleRules_msg_init,
869   &validate_Int32Rules_msg_init,
870   &validate_Int64Rules_msg_init,
871   &validate_UInt32Rules_msg_init,
872   &validate_UInt64Rules_msg_init,
873   &validate_SInt32Rules_msg_init,
874   &validate_SInt64Rules_msg_init,
875   &validate_Fixed32Rules_msg_init,
876   &validate_Fixed64Rules_msg_init,
877   &validate_SFixed32Rules_msg_init,
878   &validate_SFixed64Rules_msg_init,
879   &validate_BoolRules_msg_init,
880   &validate_StringRules_msg_init,
881   &validate_BytesRules_msg_init,
882   &validate_EnumRules_msg_init,
883   &validate_MessageRules_msg_init,
884   &validate_RepeatedRules_msg_init,
885   &validate_MapRules_msg_init,
886   &validate_AnyRules_msg_init,
887   &validate_DurationRules_msg_init,
888   &validate_TimestampRules_msg_init,
889 };
890 
891 extern const upb_MiniTable google_protobuf_FieldOptions_msg_init;
892 extern const upb_MiniTable google_protobuf_MessageOptions_msg_init;
893 extern const upb_MiniTable google_protobuf_OneofOptions_msg_init;
894 extern const upb_MiniTable validate_FieldRules_msg_init;
895 const upb_MiniTableExtension validate_disabled_ext = {
896   {1071, 0, 0, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsExtension | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
897   &google_protobuf_MessageOptions_msg_init,
898   {.submsg = NULL},
899 
900 };
901 const upb_MiniTableExtension validate_ignored_ext = {
902   {1072, 0, 0, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsExtension | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
903   &google_protobuf_MessageOptions_msg_init,
904   {.submsg = NULL},
905 
906 };
907 const upb_MiniTableExtension validate_required_ext = {
908   {1071, 0, 0, kUpb_NoSub, 8, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsExtension | (kUpb_FieldRep_1Byte << kUpb_FieldRep_Shift)},
909   &google_protobuf_OneofOptions_msg_init,
910   {.submsg = NULL},
911 
912 };
913 const upb_MiniTableExtension validate_rules_ext = {
914   {1071, 0, 0, 0, 11, kUpb_FieldMode_Scalar | kUpb_LabelFlags_IsExtension | (kUpb_FieldRep_8Byte << kUpb_FieldRep_Shift)},
915   &google_protobuf_FieldOptions_msg_init,
916   {.submsg = &validate_FieldRules_msg_init},
917 
918 };
919 
920 static const upb_MiniTableExtension *extensions_layout[4] = {
921   &validate_disabled_ext,
922   &validate_ignored_ext,
923   &validate_required_ext,
924   &validate_rules_ext,
925 };
926 
927 const upb_MiniTableEnum validate_KnownRegex_enum_init = {
928     64,
929     0,
930     {
931         0x7,
932         0x0,
933     },
934 };
935 
936 static const upb_MiniTableEnum *enums_layout[1] = {
937   &validate_KnownRegex_enum_init,
938 };
939 
940 const upb_MiniTableFile validate_validate_proto_upb_file_layout = {
941   messages_layout,
942   enums_layout,
943   extensions_layout,
944   23,
945   1,
946   4,
947 };
948 
949 #include "upb/port/undef.inc"
950 
951