Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-17 08:40:26

0001 // Copyright (c) 2023 T. Zachary Laine
0002 //
0003 // Distributed under the Boost Software License, Version 1.0. (See accompanying
0004 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0005 
0006 // Warning: This header is auto-generated (see misc/generate_aggr_to_tuple.py).
0007 // The lack of include guards is intentional.
0008 
0009 namespace boost::parser::detail {
0010 
0011 
0012 template<> struct tie_aggregate_impl<1> {
0013 template<typename T> static constexpr auto call(T & x) {
0014 auto & [
0015     _01
0016 ] = x;
0017 return parser::tuple<
0018     decltype(_01) &
0019 >(
0020     _01
0021 );
0022 }
0023 };
0024 
0025 
0026 template<> struct tie_aggregate_impl<2> {
0027 template<typename T> static constexpr auto call(T & x) {
0028 auto & [
0029     _01, _02
0030 ] = x;
0031 return parser::tuple<
0032     decltype(_01) &, decltype(_02) &
0033 >(
0034     _01, _02
0035 );
0036 }
0037 };
0038 
0039 
0040 template<> struct tie_aggregate_impl<3> {
0041 template<typename T> static constexpr auto call(T & x) {
0042 auto & [
0043     _01, _02, _03
0044 ] = x;
0045 return parser::tuple<
0046     decltype(_01) &, decltype(_02) &, decltype(_03) &
0047 >(
0048     _01, _02, _03
0049 );
0050 }
0051 };
0052 
0053 
0054 template<> struct tie_aggregate_impl<4> {
0055 template<typename T> static constexpr auto call(T & x) {
0056 auto & [
0057     _01, _02, _03, _04
0058 ] = x;
0059 return parser::tuple<
0060     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &
0061 >(
0062     _01, _02, _03, _04
0063 );
0064 }
0065 };
0066 
0067 
0068 template<> struct tie_aggregate_impl<5> {
0069 template<typename T> static constexpr auto call(T & x) {
0070 auto & [
0071     _01, _02, _03, _04, _05
0072 ] = x;
0073 return parser::tuple<
0074     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &
0075 >(
0076     _01, _02, _03, _04, _05
0077 );
0078 }
0079 };
0080 
0081 
0082 template<> struct tie_aggregate_impl<6> {
0083 template<typename T> static constexpr auto call(T & x) {
0084 auto & [
0085     _01, _02, _03, _04, _05, _06
0086 ] = x;
0087 return parser::tuple<
0088     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0089     decltype(_06) &
0090 >(
0091     _01, _02, _03, _04, _05, _06
0092 );
0093 }
0094 };
0095 
0096 
0097 template<> struct tie_aggregate_impl<7> {
0098 template<typename T> static constexpr auto call(T & x) {
0099 auto & [
0100     _01, _02, _03, _04, _05, _06, _07
0101 ] = x;
0102 return parser::tuple<
0103     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0104     decltype(_06) &, decltype(_07) &
0105 >(
0106     _01, _02, _03, _04, _05, _06, _07
0107 );
0108 }
0109 };
0110 
0111 
0112 template<> struct tie_aggregate_impl<8> {
0113 template<typename T> static constexpr auto call(T & x) {
0114 auto & [
0115     _01, _02, _03, _04, _05, _06, _07, _08
0116 ] = x;
0117 return parser::tuple<
0118     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0119     decltype(_06) &, decltype(_07) &, decltype(_08) &
0120 >(
0121     _01, _02, _03, _04, _05, _06, _07, _08
0122 );
0123 }
0124 };
0125 
0126 
0127 template<> struct tie_aggregate_impl<9> {
0128 template<typename T> static constexpr auto call(T & x) {
0129 auto & [
0130     _01, _02, _03, _04, _05, _06, _07, _08, _09
0131 ] = x;
0132 return parser::tuple<
0133     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0134     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &
0135 >(
0136     _01, _02, _03, _04, _05, _06, _07, _08, _09
0137 );
0138 }
0139 };
0140 
0141 
0142 template<> struct tie_aggregate_impl<10> {
0143 template<typename T> static constexpr auto call(T & x) {
0144 auto & [
0145     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a
0146 ] = x;
0147 return parser::tuple<
0148     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0149     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &
0150 >(
0151     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a
0152 );
0153 }
0154 };
0155 
0156 
0157 template<> struct tie_aggregate_impl<11> {
0158 template<typename T> static constexpr auto call(T & x) {
0159 auto & [
0160     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b
0161 ] = x;
0162 return parser::tuple<
0163     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0164     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0165     decltype(_0b) &
0166 >(
0167     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b
0168 );
0169 }
0170 };
0171 
0172 
0173 template<> struct tie_aggregate_impl<12> {
0174 template<typename T> static constexpr auto call(T & x) {
0175 auto & [
0176     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c
0177 ] = x;
0178 return parser::tuple<
0179     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0180     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0181     decltype(_0b) &, decltype(_0c) &
0182 >(
0183     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c
0184 );
0185 }
0186 };
0187 
0188 
0189 template<> struct tie_aggregate_impl<13> {
0190 template<typename T> static constexpr auto call(T & x) {
0191 auto & [
0192     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d
0193 ] = x;
0194 return parser::tuple<
0195     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0196     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0197     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &
0198 >(
0199     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d
0200 );
0201 }
0202 };
0203 
0204 
0205 template<> struct tie_aggregate_impl<14> {
0206 template<typename T> static constexpr auto call(T & x) {
0207 auto & [
0208     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e
0209 ] = x;
0210 return parser::tuple<
0211     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0212     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0213     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &
0214 >(
0215     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e
0216 );
0217 }
0218 };
0219 
0220 
0221 template<> struct tie_aggregate_impl<15> {
0222 template<typename T> static constexpr auto call(T & x) {
0223 auto & [
0224     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f
0225 ] = x;
0226 return parser::tuple<
0227     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0228     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0229     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &
0230 >(
0231     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f
0232 );
0233 }
0234 };
0235 
0236 
0237 template<> struct tie_aggregate_impl<16> {
0238 template<typename T> static constexpr auto call(T & x) {
0239 auto & [
0240     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0241     _10
0242 ] = x;
0243 return parser::tuple<
0244     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0245     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0246     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0247     decltype(_10) &
0248 >(
0249     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0250     _10
0251 );
0252 }
0253 };
0254 
0255 
0256 template<> struct tie_aggregate_impl<17> {
0257 template<typename T> static constexpr auto call(T & x) {
0258 auto & [
0259     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0260     _10, _11
0261 ] = x;
0262 return parser::tuple<
0263     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0264     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0265     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0266     decltype(_10) &, decltype(_11) &
0267 >(
0268     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0269     _10, _11
0270 );
0271 }
0272 };
0273 
0274 
0275 template<> struct tie_aggregate_impl<18> {
0276 template<typename T> static constexpr auto call(T & x) {
0277 auto & [
0278     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0279     _10, _11, _12
0280 ] = x;
0281 return parser::tuple<
0282     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0283     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0284     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0285     decltype(_10) &, decltype(_11) &, decltype(_12) &
0286 >(
0287     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0288     _10, _11, _12
0289 );
0290 }
0291 };
0292 
0293 
0294 template<> struct tie_aggregate_impl<19> {
0295 template<typename T> static constexpr auto call(T & x) {
0296 auto & [
0297     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0298     _10, _11, _12, _13
0299 ] = x;
0300 return parser::tuple<
0301     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0302     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0303     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0304     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &
0305 >(
0306     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0307     _10, _11, _12, _13
0308 );
0309 }
0310 };
0311 
0312 
0313 template<> struct tie_aggregate_impl<20> {
0314 template<typename T> static constexpr auto call(T & x) {
0315 auto & [
0316     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0317     _10, _11, _12, _13, _14
0318 ] = x;
0319 return parser::tuple<
0320     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0321     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0322     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0323     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &
0324 >(
0325     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0326     _10, _11, _12, _13, _14
0327 );
0328 }
0329 };
0330 
0331 
0332 template<> struct tie_aggregate_impl<21> {
0333 template<typename T> static constexpr auto call(T & x) {
0334 auto & [
0335     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0336     _10, _11, _12, _13, _14, _15
0337 ] = x;
0338 return parser::tuple<
0339     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0340     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0341     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0342     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0343     decltype(_15) &
0344 >(
0345     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0346     _10, _11, _12, _13, _14, _15
0347 );
0348 }
0349 };
0350 
0351 
0352 template<> struct tie_aggregate_impl<22> {
0353 template<typename T> static constexpr auto call(T & x) {
0354 auto & [
0355     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0356     _10, _11, _12, _13, _14, _15, _16
0357 ] = x;
0358 return parser::tuple<
0359     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0360     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0361     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0362     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0363     decltype(_15) &, decltype(_16) &
0364 >(
0365     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0366     _10, _11, _12, _13, _14, _15, _16
0367 );
0368 }
0369 };
0370 
0371 
0372 template<> struct tie_aggregate_impl<23> {
0373 template<typename T> static constexpr auto call(T & x) {
0374 auto & [
0375     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0376     _10, _11, _12, _13, _14, _15, _16, _17
0377 ] = x;
0378 return parser::tuple<
0379     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0380     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0381     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0382     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0383     decltype(_15) &, decltype(_16) &, decltype(_17) &
0384 >(
0385     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0386     _10, _11, _12, _13, _14, _15, _16, _17
0387 );
0388 }
0389 };
0390 
0391 
0392 template<> struct tie_aggregate_impl<24> {
0393 template<typename T> static constexpr auto call(T & x) {
0394 auto & [
0395     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0396     _10, _11, _12, _13, _14, _15, _16, _17, _18
0397 ] = x;
0398 return parser::tuple<
0399     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0400     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0401     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0402     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0403     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &
0404 >(
0405     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0406     _10, _11, _12, _13, _14, _15, _16, _17, _18
0407 );
0408 }
0409 };
0410 
0411 
0412 template<> struct tie_aggregate_impl<25> {
0413 template<typename T> static constexpr auto call(T & x) {
0414 auto & [
0415     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0416     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19
0417 ] = x;
0418 return parser::tuple<
0419     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0420     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0421     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0422     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0423     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &
0424 >(
0425     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0426     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19
0427 );
0428 }
0429 };
0430 
0431 
0432 template<> struct tie_aggregate_impl<26> {
0433 template<typename T> static constexpr auto call(T & x) {
0434 auto & [
0435     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0436     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a
0437 ] = x;
0438 return parser::tuple<
0439     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0440     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0441     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0442     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0443     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0444     decltype(_1a) &
0445 >(
0446     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0447     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a
0448 );
0449 }
0450 };
0451 
0452 
0453 template<> struct tie_aggregate_impl<27> {
0454 template<typename T> static constexpr auto call(T & x) {
0455 auto & [
0456     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0457     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b
0458 ] = x;
0459 return parser::tuple<
0460     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0461     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0462     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0463     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0464     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0465     decltype(_1a) &, decltype(_1b) &
0466 >(
0467     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0468     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b
0469 );
0470 }
0471 };
0472 
0473 
0474 template<> struct tie_aggregate_impl<28> {
0475 template<typename T> static constexpr auto call(T & x) {
0476 auto & [
0477     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0478     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c
0479 ] = x;
0480 return parser::tuple<
0481     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0482     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0483     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0484     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0485     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0486     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &
0487 >(
0488     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0489     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c
0490 );
0491 }
0492 };
0493 
0494 
0495 template<> struct tie_aggregate_impl<29> {
0496 template<typename T> static constexpr auto call(T & x) {
0497 auto & [
0498     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0499     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d
0500 ] = x;
0501 return parser::tuple<
0502     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0503     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0504     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0505     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0506     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0507     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &
0508 >(
0509     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0510     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d
0511 );
0512 }
0513 };
0514 
0515 
0516 template<> struct tie_aggregate_impl<30> {
0517 template<typename T> static constexpr auto call(T & x) {
0518 auto & [
0519     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0520     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e
0521 ] = x;
0522 return parser::tuple<
0523     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0524     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0525     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0526     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0527     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0528     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &
0529 >(
0530     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0531     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e
0532 );
0533 }
0534 };
0535 
0536 
0537 template<> struct tie_aggregate_impl<31> {
0538 template<typename T> static constexpr auto call(T & x) {
0539 auto & [
0540     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0541     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0542     _1f
0543 ] = x;
0544 return parser::tuple<
0545     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0546     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0547     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0548     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0549     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0550     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0551     decltype(_1f) &
0552 >(
0553     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0554     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0555     _1f
0556 );
0557 }
0558 };
0559 
0560 
0561 template<> struct tie_aggregate_impl<32> {
0562 template<typename T> static constexpr auto call(T & x) {
0563 auto & [
0564     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0565     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0566     _1f, _20
0567 ] = x;
0568 return parser::tuple<
0569     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0570     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0571     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0572     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0573     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0574     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0575     decltype(_1f) &, decltype(_20) &
0576 >(
0577     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0578     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0579     _1f, _20
0580 );
0581 }
0582 };
0583 
0584 
0585 template<> struct tie_aggregate_impl<33> {
0586 template<typename T> static constexpr auto call(T & x) {
0587 auto & [
0588     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0589     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0590     _1f, _20, _21
0591 ] = x;
0592 return parser::tuple<
0593     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0594     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0595     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0596     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0597     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0598     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0599     decltype(_1f) &, decltype(_20) &, decltype(_21) &
0600 >(
0601     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0602     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0603     _1f, _20, _21
0604 );
0605 }
0606 };
0607 
0608 
0609 template<> struct tie_aggregate_impl<34> {
0610 template<typename T> static constexpr auto call(T & x) {
0611 auto & [
0612     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0613     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0614     _1f, _20, _21, _22
0615 ] = x;
0616 return parser::tuple<
0617     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0618     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0619     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0620     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0621     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0622     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0623     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &
0624 >(
0625     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0626     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0627     _1f, _20, _21, _22
0628 );
0629 }
0630 };
0631 
0632 
0633 template<> struct tie_aggregate_impl<35> {
0634 template<typename T> static constexpr auto call(T & x) {
0635 auto & [
0636     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0637     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0638     _1f, _20, _21, _22, _23
0639 ] = x;
0640 return parser::tuple<
0641     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0642     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0643     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0644     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0645     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0646     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0647     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &
0648 >(
0649     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0650     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0651     _1f, _20, _21, _22, _23
0652 );
0653 }
0654 };
0655 
0656 
0657 template<> struct tie_aggregate_impl<36> {
0658 template<typename T> static constexpr auto call(T & x) {
0659 auto & [
0660     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0661     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0662     _1f, _20, _21, _22, _23, _24
0663 ] = x;
0664 return parser::tuple<
0665     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0666     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0667     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0668     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0669     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0670     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0671     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0672     decltype(_24) &
0673 >(
0674     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0675     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0676     _1f, _20, _21, _22, _23, _24
0677 );
0678 }
0679 };
0680 
0681 
0682 template<> struct tie_aggregate_impl<37> {
0683 template<typename T> static constexpr auto call(T & x) {
0684 auto & [
0685     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0686     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0687     _1f, _20, _21, _22, _23, _24, _25
0688 ] = x;
0689 return parser::tuple<
0690     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0691     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0692     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0693     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0694     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0695     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0696     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0697     decltype(_24) &, decltype(_25) &
0698 >(
0699     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0700     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0701     _1f, _20, _21, _22, _23, _24, _25
0702 );
0703 }
0704 };
0705 
0706 
0707 template<> struct tie_aggregate_impl<38> {
0708 template<typename T> static constexpr auto call(T & x) {
0709 auto & [
0710     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0711     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0712     _1f, _20, _21, _22, _23, _24, _25, _26
0713 ] = x;
0714 return parser::tuple<
0715     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0716     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0717     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0718     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0719     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0720     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0721     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0722     decltype(_24) &, decltype(_25) &, decltype(_26) &
0723 >(
0724     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0725     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0726     _1f, _20, _21, _22, _23, _24, _25, _26
0727 );
0728 }
0729 };
0730 
0731 
0732 template<> struct tie_aggregate_impl<39> {
0733 template<typename T> static constexpr auto call(T & x) {
0734 auto & [
0735     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0736     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0737     _1f, _20, _21, _22, _23, _24, _25, _26, _27
0738 ] = x;
0739 return parser::tuple<
0740     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0741     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0742     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0743     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0744     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0745     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0746     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0747     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &
0748 >(
0749     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0750     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0751     _1f, _20, _21, _22, _23, _24, _25, _26, _27
0752 );
0753 }
0754 };
0755 
0756 
0757 template<> struct tie_aggregate_impl<40> {
0758 template<typename T> static constexpr auto call(T & x) {
0759 auto & [
0760     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0761     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0762     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28
0763 ] = x;
0764 return parser::tuple<
0765     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0766     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0767     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0768     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0769     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0770     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0771     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0772     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &
0773 >(
0774     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0775     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0776     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28
0777 );
0778 }
0779 };
0780 
0781 
0782 template<> struct tie_aggregate_impl<41> {
0783 template<typename T> static constexpr auto call(T & x) {
0784 auto & [
0785     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0786     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0787     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29
0788 ] = x;
0789 return parser::tuple<
0790     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0791     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0792     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0793     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0794     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0795     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0796     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0797     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
0798     decltype(_29) &
0799 >(
0800     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0801     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0802     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29
0803 );
0804 }
0805 };
0806 
0807 
0808 template<> struct tie_aggregate_impl<42> {
0809 template<typename T> static constexpr auto call(T & x) {
0810 auto & [
0811     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0812     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0813     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a
0814 ] = x;
0815 return parser::tuple<
0816     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0817     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0818     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0819     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0820     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0821     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0822     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0823     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
0824     decltype(_29) &, decltype(_2a) &
0825 >(
0826     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0827     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0828     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a
0829 );
0830 }
0831 };
0832 
0833 
0834 template<> struct tie_aggregate_impl<43> {
0835 template<typename T> static constexpr auto call(T & x) {
0836 auto & [
0837     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0838     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0839     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b
0840 ] = x;
0841 return parser::tuple<
0842     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0843     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0844     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0845     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0846     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0847     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0848     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0849     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
0850     decltype(_29) &, decltype(_2a) &, decltype(_2b) &
0851 >(
0852     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0853     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0854     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b
0855 );
0856 }
0857 };
0858 
0859 
0860 template<> struct tie_aggregate_impl<44> {
0861 template<typename T> static constexpr auto call(T & x) {
0862 auto & [
0863     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0864     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0865     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c
0866 ] = x;
0867 return parser::tuple<
0868     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0869     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0870     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0871     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0872     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0873     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0874     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0875     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
0876     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &
0877 >(
0878     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0879     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0880     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c
0881 );
0882 }
0883 };
0884 
0885 
0886 template<> struct tie_aggregate_impl<45> {
0887 template<typename T> static constexpr auto call(T & x) {
0888 auto & [
0889     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0890     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0891     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d
0892 ] = x;
0893 return parser::tuple<
0894     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0895     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0896     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0897     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0898     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0899     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0900     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0901     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
0902     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &
0903 >(
0904     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0905     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0906     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d
0907 );
0908 }
0909 };
0910 
0911 
0912 template<> struct tie_aggregate_impl<46> {
0913 template<typename T> static constexpr auto call(T & x) {
0914 auto & [
0915     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0916     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0917     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
0918     _2e
0919 ] = x;
0920 return parser::tuple<
0921     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0922     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0923     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0924     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0925     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0926     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0927     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0928     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
0929     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
0930     decltype(_2e) &
0931 >(
0932     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0933     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0934     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
0935     _2e
0936 );
0937 }
0938 };
0939 
0940 
0941 template<> struct tie_aggregate_impl<47> {
0942 template<typename T> static constexpr auto call(T & x) {
0943 auto & [
0944     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0945     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0946     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
0947     _2e, _2f
0948 ] = x;
0949 return parser::tuple<
0950     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0951     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0952     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0953     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0954     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0955     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0956     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0957     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
0958     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
0959     decltype(_2e) &, decltype(_2f) &
0960 >(
0961     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0962     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0963     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
0964     _2e, _2f
0965 );
0966 }
0967 };
0968 
0969 
0970 template<> struct tie_aggregate_impl<48> {
0971 template<typename T> static constexpr auto call(T & x) {
0972 auto & [
0973     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0974     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0975     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
0976     _2e, _2f, _30
0977 ] = x;
0978 return parser::tuple<
0979     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
0980     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
0981     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
0982     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
0983     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
0984     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
0985     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
0986     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
0987     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
0988     decltype(_2e) &, decltype(_2f) &, decltype(_30) &
0989 >(
0990     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
0991     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
0992     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
0993     _2e, _2f, _30
0994 );
0995 }
0996 };
0997 
0998 
0999 template<> struct tie_aggregate_impl<49> {
1000 template<typename T> static constexpr auto call(T & x) {
1001 auto & [
1002     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1003     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1004     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1005     _2e, _2f, _30, _31
1006 ] = x;
1007 return parser::tuple<
1008     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1009     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1010     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1011     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1012     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1013     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1014     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1015     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1016     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1017     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &
1018 >(
1019     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1020     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1021     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1022     _2e, _2f, _30, _31
1023 );
1024 }
1025 };
1026 
1027 
1028 template<> struct tie_aggregate_impl<50> {
1029 template<typename T> static constexpr auto call(T & x) {
1030 auto & [
1031     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1032     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1033     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1034     _2e, _2f, _30, _31, _32
1035 ] = x;
1036 return parser::tuple<
1037     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1038     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1039     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1040     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1041     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1042     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1043     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1044     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1045     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1046     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &
1047 >(
1048     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1049     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1050     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1051     _2e, _2f, _30, _31, _32
1052 );
1053 }
1054 };
1055 
1056 
1057 template<> struct tie_aggregate_impl<51> {
1058 template<typename T> static constexpr auto call(T & x) {
1059 auto & [
1060     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1061     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1062     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1063     _2e, _2f, _30, _31, _32, _33
1064 ] = x;
1065 return parser::tuple<
1066     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1067     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1068     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1069     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1070     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1071     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1072     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1073     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1074     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1075     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1076     decltype(_33) &
1077 >(
1078     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1079     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1080     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1081     _2e, _2f, _30, _31, _32, _33
1082 );
1083 }
1084 };
1085 
1086 
1087 template<> struct tie_aggregate_impl<52> {
1088 template<typename T> static constexpr auto call(T & x) {
1089 auto & [
1090     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1091     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1092     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1093     _2e, _2f, _30, _31, _32, _33, _34
1094 ] = x;
1095 return parser::tuple<
1096     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1097     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1098     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1099     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1100     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1101     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1102     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1103     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1104     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1105     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1106     decltype(_33) &, decltype(_34) &
1107 >(
1108     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1109     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1110     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1111     _2e, _2f, _30, _31, _32, _33, _34
1112 );
1113 }
1114 };
1115 
1116 
1117 template<> struct tie_aggregate_impl<53> {
1118 template<typename T> static constexpr auto call(T & x) {
1119 auto & [
1120     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1121     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1122     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1123     _2e, _2f, _30, _31, _32, _33, _34, _35
1124 ] = x;
1125 return parser::tuple<
1126     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1127     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1128     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1129     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1130     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1131     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1132     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1133     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1134     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1135     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1136     decltype(_33) &, decltype(_34) &, decltype(_35) &
1137 >(
1138     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1139     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1140     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1141     _2e, _2f, _30, _31, _32, _33, _34, _35
1142 );
1143 }
1144 };
1145 
1146 
1147 template<> struct tie_aggregate_impl<54> {
1148 template<typename T> static constexpr auto call(T & x) {
1149 auto & [
1150     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1151     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1152     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1153     _2e, _2f, _30, _31, _32, _33, _34, _35, _36
1154 ] = x;
1155 return parser::tuple<
1156     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1157     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1158     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1159     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1160     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1161     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1162     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1163     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1164     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1165     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1166     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &
1167 >(
1168     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1169     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1170     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1171     _2e, _2f, _30, _31, _32, _33, _34, _35, _36
1172 );
1173 }
1174 };
1175 
1176 
1177 template<> struct tie_aggregate_impl<55> {
1178 template<typename T> static constexpr auto call(T & x) {
1179 auto & [
1180     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1181     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1182     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1183     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37
1184 ] = x;
1185 return parser::tuple<
1186     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1187     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1188     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1189     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1190     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1191     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1192     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1193     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1194     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1195     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1196     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &
1197 >(
1198     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1199     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1200     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1201     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37
1202 );
1203 }
1204 };
1205 
1206 
1207 template<> struct tie_aggregate_impl<56> {
1208 template<typename T> static constexpr auto call(T & x) {
1209 auto & [
1210     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1211     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1212     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1213     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38
1214 ] = x;
1215 return parser::tuple<
1216     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1217     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1218     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1219     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1220     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1221     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1222     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1223     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1224     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1225     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1226     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1227     decltype(_38) &
1228 >(
1229     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1230     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1231     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1232     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38
1233 );
1234 }
1235 };
1236 
1237 
1238 template<> struct tie_aggregate_impl<57> {
1239 template<typename T> static constexpr auto call(T & x) {
1240 auto & [
1241     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1242     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1243     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1244     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39
1245 ] = x;
1246 return parser::tuple<
1247     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1248     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1249     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1250     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1251     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1252     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1253     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1254     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1255     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1256     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1257     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1258     decltype(_38) &, decltype(_39) &
1259 >(
1260     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1261     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1262     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1263     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39
1264 );
1265 }
1266 };
1267 
1268 
1269 template<> struct tie_aggregate_impl<58> {
1270 template<typename T> static constexpr auto call(T & x) {
1271 auto & [
1272     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1273     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1274     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1275     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a
1276 ] = x;
1277 return parser::tuple<
1278     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1279     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1280     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1281     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1282     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1283     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1284     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1285     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1286     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1287     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1288     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1289     decltype(_38) &, decltype(_39) &, decltype(_3a) &
1290 >(
1291     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1292     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1293     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1294     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a
1295 );
1296 }
1297 };
1298 
1299 
1300 template<> struct tie_aggregate_impl<59> {
1301 template<typename T> static constexpr auto call(T & x) {
1302 auto & [
1303     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1304     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1305     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1306     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b
1307 ] = x;
1308 return parser::tuple<
1309     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1310     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1311     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1312     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1313     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1314     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1315     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1316     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1317     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1318     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1319     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1320     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &
1321 >(
1322     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1323     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1324     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1325     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b
1326 );
1327 }
1328 };
1329 
1330 
1331 template<> struct tie_aggregate_impl<60> {
1332 template<typename T> static constexpr auto call(T & x) {
1333 auto & [
1334     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1335     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1336     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1337     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c
1338 ] = x;
1339 return parser::tuple<
1340     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1341     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1342     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1343     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1344     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1345     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1346     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1347     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1348     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1349     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1350     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1351     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &
1352 >(
1353     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1354     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1355     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1356     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c
1357 );
1358 }
1359 };
1360 
1361 
1362 template<> struct tie_aggregate_impl<61> {
1363 template<typename T> static constexpr auto call(T & x) {
1364 auto & [
1365     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1366     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1367     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1368     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1369     _3d
1370 ] = x;
1371 return parser::tuple<
1372     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1373     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1374     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1375     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1376     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1377     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1378     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1379     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1380     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1381     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1382     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1383     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1384     decltype(_3d) &
1385 >(
1386     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1387     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1388     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1389     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1390     _3d
1391 );
1392 }
1393 };
1394 
1395 
1396 template<> struct tie_aggregate_impl<62> {
1397 template<typename T> static constexpr auto call(T & x) {
1398 auto & [
1399     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1400     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1401     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1402     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1403     _3d, _3e
1404 ] = x;
1405 return parser::tuple<
1406     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1407     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1408     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1409     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1410     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1411     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1412     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1413     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1414     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1415     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1416     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1417     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1418     decltype(_3d) &, decltype(_3e) &
1419 >(
1420     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1421     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1422     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1423     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1424     _3d, _3e
1425 );
1426 }
1427 };
1428 
1429 
1430 template<> struct tie_aggregate_impl<63> {
1431 template<typename T> static constexpr auto call(T & x) {
1432 auto & [
1433     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1434     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1435     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1436     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1437     _3d, _3e, _3f
1438 ] = x;
1439 return parser::tuple<
1440     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1441     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1442     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1443     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1444     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1445     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1446     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1447     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1448     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1449     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1450     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1451     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1452     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &
1453 >(
1454     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1455     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1456     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1457     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1458     _3d, _3e, _3f
1459 );
1460 }
1461 };
1462 
1463 
1464 template<> struct tie_aggregate_impl<64> {
1465 template<typename T> static constexpr auto call(T & x) {
1466 auto & [
1467     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1468     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1469     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1470     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1471     _3d, _3e, _3f, _40
1472 ] = x;
1473 return parser::tuple<
1474     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1475     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1476     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1477     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1478     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1479     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1480     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1481     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1482     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1483     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1484     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1485     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1486     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &
1487 >(
1488     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1489     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1490     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1491     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1492     _3d, _3e, _3f, _40
1493 );
1494 }
1495 };
1496 
1497 
1498 template<> struct tie_aggregate_impl<65> {
1499 template<typename T> static constexpr auto call(T & x) {
1500 auto & [
1501     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1502     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1503     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1504     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1505     _3d, _3e, _3f, _40, _41
1506 ] = x;
1507 return parser::tuple<
1508     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1509     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1510     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1511     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1512     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1513     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1514     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1515     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1516     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1517     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1518     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1519     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1520     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &
1521 >(
1522     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1523     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1524     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1525     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1526     _3d, _3e, _3f, _40, _41
1527 );
1528 }
1529 };
1530 
1531 
1532 template<> struct tie_aggregate_impl<66> {
1533 template<typename T> static constexpr auto call(T & x) {
1534 auto & [
1535     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1536     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1537     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1538     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1539     _3d, _3e, _3f, _40, _41, _42
1540 ] = x;
1541 return parser::tuple<
1542     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1543     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1544     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1545     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1546     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1547     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1548     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1549     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1550     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1551     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1552     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1553     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1554     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1555     decltype(_42) &
1556 >(
1557     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1558     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1559     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1560     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1561     _3d, _3e, _3f, _40, _41, _42
1562 );
1563 }
1564 };
1565 
1566 
1567 template<> struct tie_aggregate_impl<67> {
1568 template<typename T> static constexpr auto call(T & x) {
1569 auto & [
1570     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1571     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1572     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1573     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1574     _3d, _3e, _3f, _40, _41, _42, _43
1575 ] = x;
1576 return parser::tuple<
1577     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1578     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1579     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1580     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1581     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1582     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1583     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1584     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1585     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1586     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1587     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1588     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1589     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1590     decltype(_42) &, decltype(_43) &
1591 >(
1592     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1593     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1594     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1595     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1596     _3d, _3e, _3f, _40, _41, _42, _43
1597 );
1598 }
1599 };
1600 
1601 
1602 template<> struct tie_aggregate_impl<68> {
1603 template<typename T> static constexpr auto call(T & x) {
1604 auto & [
1605     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1606     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1607     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1608     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1609     _3d, _3e, _3f, _40, _41, _42, _43, _44
1610 ] = x;
1611 return parser::tuple<
1612     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1613     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1614     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1615     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1616     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1617     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1618     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1619     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1620     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1621     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1622     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1623     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1624     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1625     decltype(_42) &, decltype(_43) &, decltype(_44) &
1626 >(
1627     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1628     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1629     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1630     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1631     _3d, _3e, _3f, _40, _41, _42, _43, _44
1632 );
1633 }
1634 };
1635 
1636 
1637 template<> struct tie_aggregate_impl<69> {
1638 template<typename T> static constexpr auto call(T & x) {
1639 auto & [
1640     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1641     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1642     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1643     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1644     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45
1645 ] = x;
1646 return parser::tuple<
1647     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1648     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1649     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1650     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1651     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1652     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1653     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1654     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1655     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1656     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1657     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1658     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1659     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1660     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &
1661 >(
1662     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1663     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1664     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1665     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1666     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45
1667 );
1668 }
1669 };
1670 
1671 
1672 template<> struct tie_aggregate_impl<70> {
1673 template<typename T> static constexpr auto call(T & x) {
1674 auto & [
1675     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1676     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1677     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1678     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1679     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46
1680 ] = x;
1681 return parser::tuple<
1682     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1683     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1684     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1685     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1686     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1687     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1688     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1689     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1690     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1691     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1692     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1693     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1694     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1695     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &
1696 >(
1697     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1698     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1699     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1700     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1701     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46
1702 );
1703 }
1704 };
1705 
1706 
1707 template<> struct tie_aggregate_impl<71> {
1708 template<typename T> static constexpr auto call(T & x) {
1709 auto & [
1710     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1711     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1712     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1713     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1714     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47
1715 ] = x;
1716 return parser::tuple<
1717     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1718     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1719     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1720     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1721     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1722     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1723     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1724     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1725     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1726     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1727     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1728     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1729     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1730     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
1731     decltype(_47) &
1732 >(
1733     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1734     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1735     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1736     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1737     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47
1738 );
1739 }
1740 };
1741 
1742 
1743 template<> struct tie_aggregate_impl<72> {
1744 template<typename T> static constexpr auto call(T & x) {
1745 auto & [
1746     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1747     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1748     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1749     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1750     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48
1751 ] = x;
1752 return parser::tuple<
1753     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1754     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1755     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1756     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1757     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1758     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1759     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1760     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1761     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1762     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1763     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1764     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1765     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1766     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
1767     decltype(_47) &, decltype(_48) &
1768 >(
1769     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1770     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1771     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1772     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1773     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48
1774 );
1775 }
1776 };
1777 
1778 
1779 template<> struct tie_aggregate_impl<73> {
1780 template<typename T> static constexpr auto call(T & x) {
1781 auto & [
1782     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1783     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1784     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1785     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1786     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49
1787 ] = x;
1788 return parser::tuple<
1789     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1790     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1791     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1792     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1793     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1794     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1795     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1796     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1797     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1798     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1799     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1800     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1801     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1802     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
1803     decltype(_47) &, decltype(_48) &, decltype(_49) &
1804 >(
1805     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1806     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1807     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1808     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1809     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49
1810 );
1811 }
1812 };
1813 
1814 
1815 template<> struct tie_aggregate_impl<74> {
1816 template<typename T> static constexpr auto call(T & x) {
1817 auto & [
1818     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1819     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1820     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1821     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1822     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a
1823 ] = x;
1824 return parser::tuple<
1825     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1826     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1827     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1828     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1829     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1830     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1831     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1832     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1833     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1834     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1835     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1836     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1837     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1838     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
1839     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &
1840 >(
1841     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1842     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1843     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1844     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1845     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a
1846 );
1847 }
1848 };
1849 
1850 
1851 template<> struct tie_aggregate_impl<75> {
1852 template<typename T> static constexpr auto call(T & x) {
1853 auto & [
1854     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1855     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1856     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1857     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1858     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b
1859 ] = x;
1860 return parser::tuple<
1861     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1862     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1863     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1864     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1865     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1866     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1867     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1868     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1869     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1870     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1871     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1872     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1873     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1874     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
1875     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &
1876 >(
1877     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1878     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1879     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1880     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1881     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b
1882 );
1883 }
1884 };
1885 
1886 
1887 template<> struct tie_aggregate_impl<76> {
1888 template<typename T> static constexpr auto call(T & x) {
1889 auto & [
1890     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1891     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1892     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1893     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1894     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
1895     _4c
1896 ] = x;
1897 return parser::tuple<
1898     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1899     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1900     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1901     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1902     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1903     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1904     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1905     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1906     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1907     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1908     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1909     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1910     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1911     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
1912     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
1913     decltype(_4c) &
1914 >(
1915     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1916     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1917     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1918     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1919     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
1920     _4c
1921 );
1922 }
1923 };
1924 
1925 
1926 template<> struct tie_aggregate_impl<77> {
1927 template<typename T> static constexpr auto call(T & x) {
1928 auto & [
1929     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1930     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1931     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1932     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1933     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
1934     _4c, _4d
1935 ] = x;
1936 return parser::tuple<
1937     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1938     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1939     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1940     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1941     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1942     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1943     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1944     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1945     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1946     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1947     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1948     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1949     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1950     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
1951     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
1952     decltype(_4c) &, decltype(_4d) &
1953 >(
1954     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1955     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1956     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1957     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1958     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
1959     _4c, _4d
1960 );
1961 }
1962 };
1963 
1964 
1965 template<> struct tie_aggregate_impl<78> {
1966 template<typename T> static constexpr auto call(T & x) {
1967 auto & [
1968     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1969     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1970     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1971     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1972     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
1973     _4c, _4d, _4e
1974 ] = x;
1975 return parser::tuple<
1976     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
1977     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
1978     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
1979     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
1980     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
1981     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
1982     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
1983     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
1984     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
1985     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
1986     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
1987     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
1988     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
1989     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
1990     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
1991     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &
1992 >(
1993     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
1994     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
1995     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
1996     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
1997     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
1998     _4c, _4d, _4e
1999 );
2000 }
2001 };
2002 
2003 
2004 template<> struct tie_aggregate_impl<79> {
2005 template<typename T> static constexpr auto call(T & x) {
2006 auto & [
2007     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2008     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2009     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2010     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2011     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2012     _4c, _4d, _4e, _4f
2013 ] = x;
2014 return parser::tuple<
2015     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2016     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2017     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2018     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2019     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2020     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2021     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2022     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2023     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2024     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2025     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2026     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2027     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2028     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2029     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2030     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &
2031 >(
2032     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2033     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2034     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2035     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2036     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2037     _4c, _4d, _4e, _4f
2038 );
2039 }
2040 };
2041 
2042 
2043 template<> struct tie_aggregate_impl<80> {
2044 template<typename T> static constexpr auto call(T & x) {
2045 auto & [
2046     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2047     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2048     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2049     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2050     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2051     _4c, _4d, _4e, _4f, _50
2052 ] = x;
2053 return parser::tuple<
2054     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2055     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2056     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2057     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2058     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2059     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2060     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2061     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2062     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2063     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2064     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2065     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2066     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2067     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2068     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2069     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &
2070 >(
2071     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2072     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2073     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2074     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2075     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2076     _4c, _4d, _4e, _4f, _50
2077 );
2078 }
2079 };
2080 
2081 
2082 template<> struct tie_aggregate_impl<81> {
2083 template<typename T> static constexpr auto call(T & x) {
2084 auto & [
2085     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2086     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2087     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2088     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2089     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2090     _4c, _4d, _4e, _4f, _50, _51
2091 ] = x;
2092 return parser::tuple<
2093     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2094     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2095     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2096     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2097     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2098     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2099     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2100     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2101     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2102     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2103     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2104     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2105     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2106     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2107     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2108     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2109     decltype(_51) &
2110 >(
2111     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2112     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2113     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2114     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2115     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2116     _4c, _4d, _4e, _4f, _50, _51
2117 );
2118 }
2119 };
2120 
2121 
2122 template<> struct tie_aggregate_impl<82> {
2123 template<typename T> static constexpr auto call(T & x) {
2124 auto & [
2125     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2126     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2127     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2128     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2129     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2130     _4c, _4d, _4e, _4f, _50, _51, _52
2131 ] = x;
2132 return parser::tuple<
2133     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2134     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2135     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2136     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2137     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2138     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2139     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2140     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2141     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2142     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2143     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2144     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2145     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2146     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2147     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2148     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2149     decltype(_51) &, decltype(_52) &
2150 >(
2151     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2152     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2153     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2154     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2155     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2156     _4c, _4d, _4e, _4f, _50, _51, _52
2157 );
2158 }
2159 };
2160 
2161 
2162 template<> struct tie_aggregate_impl<83> {
2163 template<typename T> static constexpr auto call(T & x) {
2164 auto & [
2165     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2166     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2167     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2168     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2169     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2170     _4c, _4d, _4e, _4f, _50, _51, _52, _53
2171 ] = x;
2172 return parser::tuple<
2173     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2174     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2175     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2176     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2177     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2178     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2179     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2180     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2181     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2182     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2183     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2184     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2185     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2186     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2187     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2188     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2189     decltype(_51) &, decltype(_52) &, decltype(_53) &
2190 >(
2191     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2192     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2193     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2194     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2195     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2196     _4c, _4d, _4e, _4f, _50, _51, _52, _53
2197 );
2198 }
2199 };
2200 
2201 
2202 template<> struct tie_aggregate_impl<84> {
2203 template<typename T> static constexpr auto call(T & x) {
2204 auto & [
2205     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2206     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2207     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2208     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2209     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2210     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54
2211 ] = x;
2212 return parser::tuple<
2213     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2214     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2215     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2216     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2217     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2218     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2219     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2220     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2221     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2222     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2223     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2224     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2225     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2226     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2227     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2228     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2229     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &
2230 >(
2231     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2232     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2233     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2234     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2235     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2236     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54
2237 );
2238 }
2239 };
2240 
2241 
2242 template<> struct tie_aggregate_impl<85> {
2243 template<typename T> static constexpr auto call(T & x) {
2244 auto & [
2245     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2246     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2247     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2248     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2249     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2250     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55
2251 ] = x;
2252 return parser::tuple<
2253     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2254     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2255     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2256     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2257     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2258     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2259     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2260     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2261     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2262     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2263     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2264     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2265     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2266     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2267     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2268     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2269     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &
2270 >(
2271     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2272     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2273     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2274     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2275     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2276     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55
2277 );
2278 }
2279 };
2280 
2281 
2282 template<> struct tie_aggregate_impl<86> {
2283 template<typename T> static constexpr auto call(T & x) {
2284 auto & [
2285     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2286     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2287     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2288     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2289     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2290     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56
2291 ] = x;
2292 return parser::tuple<
2293     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2294     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2295     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2296     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2297     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2298     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2299     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2300     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2301     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2302     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2303     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2304     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2305     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2306     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2307     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2308     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2309     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2310     decltype(_56) &
2311 >(
2312     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2313     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2314     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2315     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2316     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2317     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56
2318 );
2319 }
2320 };
2321 
2322 
2323 template<> struct tie_aggregate_impl<87> {
2324 template<typename T> static constexpr auto call(T & x) {
2325 auto & [
2326     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2327     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2328     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2329     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2330     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2331     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57
2332 ] = x;
2333 return parser::tuple<
2334     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2335     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2336     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2337     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2338     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2339     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2340     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2341     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2342     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2343     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2344     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2345     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2346     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2347     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2348     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2349     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2350     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2351     decltype(_56) &, decltype(_57) &
2352 >(
2353     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2354     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2355     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2356     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2357     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2358     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57
2359 );
2360 }
2361 };
2362 
2363 
2364 template<> struct tie_aggregate_impl<88> {
2365 template<typename T> static constexpr auto call(T & x) {
2366 auto & [
2367     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2368     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2369     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2370     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2371     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2372     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58
2373 ] = x;
2374 return parser::tuple<
2375     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2376     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2377     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2378     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2379     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2380     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2381     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2382     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2383     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2384     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2385     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2386     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2387     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2388     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2389     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2390     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2391     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2392     decltype(_56) &, decltype(_57) &, decltype(_58) &
2393 >(
2394     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2395     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2396     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2397     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2398     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2399     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58
2400 );
2401 }
2402 };
2403 
2404 
2405 template<> struct tie_aggregate_impl<89> {
2406 template<typename T> static constexpr auto call(T & x) {
2407 auto & [
2408     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2409     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2410     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2411     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2412     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2413     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59
2414 ] = x;
2415 return parser::tuple<
2416     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2417     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2418     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2419     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2420     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2421     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2422     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2423     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2424     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2425     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2426     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2427     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2428     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2429     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2430     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2431     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2432     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2433     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &
2434 >(
2435     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2436     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2437     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2438     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2439     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2440     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59
2441 );
2442 }
2443 };
2444 
2445 
2446 template<> struct tie_aggregate_impl<90> {
2447 template<typename T> static constexpr auto call(T & x) {
2448 auto & [
2449     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2450     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2451     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2452     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2453     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2454     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a
2455 ] = x;
2456 return parser::tuple<
2457     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2458     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2459     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2460     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2461     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2462     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2463     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2464     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2465     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2466     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2467     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2468     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2469     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2470     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2471     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2472     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2473     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2474     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &
2475 >(
2476     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2477     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2478     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2479     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2480     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2481     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a
2482 );
2483 }
2484 };
2485 
2486 
2487 template<> struct tie_aggregate_impl<91> {
2488 template<typename T> static constexpr auto call(T & x) {
2489 auto & [
2490     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2491     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2492     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2493     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2494     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2495     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2496     _5b
2497 ] = x;
2498 return parser::tuple<
2499     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2500     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2501     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2502     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2503     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2504     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2505     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2506     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2507     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2508     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2509     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2510     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2511     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2512     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2513     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2514     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2515     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2516     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &,
2517     decltype(_5b) &
2518 >(
2519     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2520     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2521     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2522     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2523     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2524     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2525     _5b
2526 );
2527 }
2528 };
2529 
2530 
2531 template<> struct tie_aggregate_impl<92> {
2532 template<typename T> static constexpr auto call(T & x) {
2533 auto & [
2534     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2535     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2536     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2537     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2538     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2539     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2540     _5b, _5c
2541 ] = x;
2542 return parser::tuple<
2543     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2544     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2545     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2546     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2547     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2548     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2549     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2550     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2551     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2552     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2553     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2554     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2555     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2556     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2557     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2558     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2559     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2560     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &,
2561     decltype(_5b) &, decltype(_5c) &
2562 >(
2563     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2564     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2565     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2566     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2567     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2568     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2569     _5b, _5c
2570 );
2571 }
2572 };
2573 
2574 
2575 template<> struct tie_aggregate_impl<93> {
2576 template<typename T> static constexpr auto call(T & x) {
2577 auto & [
2578     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2579     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2580     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2581     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2582     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2583     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2584     _5b, _5c, _5d
2585 ] = x;
2586 return parser::tuple<
2587     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2588     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2589     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2590     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2591     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2592     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2593     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2594     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2595     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2596     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2597     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2598     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2599     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2600     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2601     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2602     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2603     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2604     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &,
2605     decltype(_5b) &, decltype(_5c) &, decltype(_5d) &
2606 >(
2607     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2608     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2609     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2610     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2611     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2612     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2613     _5b, _5c, _5d
2614 );
2615 }
2616 };
2617 
2618 
2619 template<> struct tie_aggregate_impl<94> {
2620 template<typename T> static constexpr auto call(T & x) {
2621 auto & [
2622     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2623     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2624     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2625     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2626     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2627     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2628     _5b, _5c, _5d, _5e
2629 ] = x;
2630 return parser::tuple<
2631     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2632     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2633     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2634     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2635     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2636     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2637     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2638     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2639     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2640     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2641     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2642     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2643     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2644     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2645     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2646     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2647     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2648     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &,
2649     decltype(_5b) &, decltype(_5c) &, decltype(_5d) &, decltype(_5e) &
2650 >(
2651     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2652     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2653     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2654     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2655     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2656     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2657     _5b, _5c, _5d, _5e
2658 );
2659 }
2660 };
2661 
2662 
2663 template<> struct tie_aggregate_impl<95> {
2664 template<typename T> static constexpr auto call(T & x) {
2665 auto & [
2666     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2667     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2668     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2669     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2670     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2671     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2672     _5b, _5c, _5d, _5e, _5f
2673 ] = x;
2674 return parser::tuple<
2675     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2676     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2677     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2678     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2679     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2680     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2681     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2682     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2683     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2684     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2685     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2686     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2687     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2688     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2689     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2690     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2691     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2692     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &,
2693     decltype(_5b) &, decltype(_5c) &, decltype(_5d) &, decltype(_5e) &, decltype(_5f) &
2694 >(
2695     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2696     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2697     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2698     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2699     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2700     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2701     _5b, _5c, _5d, _5e, _5f
2702 );
2703 }
2704 };
2705 
2706 
2707 template<> struct tie_aggregate_impl<96> {
2708 template<typename T> static constexpr auto call(T & x) {
2709 auto & [
2710     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2711     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2712     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2713     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2714     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2715     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2716     _5b, _5c, _5d, _5e, _5f, _60
2717 ] = x;
2718 return parser::tuple<
2719     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2720     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2721     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2722     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2723     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2724     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2725     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2726     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2727     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2728     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2729     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2730     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2731     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2732     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2733     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2734     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2735     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2736     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &,
2737     decltype(_5b) &, decltype(_5c) &, decltype(_5d) &, decltype(_5e) &, decltype(_5f) &,
2738     decltype(_60) &
2739 >(
2740     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2741     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2742     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2743     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2744     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2745     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2746     _5b, _5c, _5d, _5e, _5f, _60
2747 );
2748 }
2749 };
2750 
2751 
2752 template<> struct tie_aggregate_impl<97> {
2753 template<typename T> static constexpr auto call(T & x) {
2754 auto & [
2755     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2756     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2757     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2758     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2759     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2760     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2761     _5b, _5c, _5d, _5e, _5f, _60, _61
2762 ] = x;
2763 return parser::tuple<
2764     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2765     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2766     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2767     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2768     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2769     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2770     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2771     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2772     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2773     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2774     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2775     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2776     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2777     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2778     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2779     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2780     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2781     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &,
2782     decltype(_5b) &, decltype(_5c) &, decltype(_5d) &, decltype(_5e) &, decltype(_5f) &,
2783     decltype(_60) &, decltype(_61) &
2784 >(
2785     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2786     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2787     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2788     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2789     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2790     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2791     _5b, _5c, _5d, _5e, _5f, _60, _61
2792 );
2793 }
2794 };
2795 
2796 
2797 template<> struct tie_aggregate_impl<98> {
2798 template<typename T> static constexpr auto call(T & x) {
2799 auto & [
2800     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2801     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2802     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2803     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2804     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2805     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2806     _5b, _5c, _5d, _5e, _5f, _60, _61, _62
2807 ] = x;
2808 return parser::tuple<
2809     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2810     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2811     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2812     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2813     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2814     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2815     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2816     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2817     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2818     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2819     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2820     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2821     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2822     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2823     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2824     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2825     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2826     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &,
2827     decltype(_5b) &, decltype(_5c) &, decltype(_5d) &, decltype(_5e) &, decltype(_5f) &,
2828     decltype(_60) &, decltype(_61) &, decltype(_62) &
2829 >(
2830     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2831     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2832     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2833     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2834     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2835     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2836     _5b, _5c, _5d, _5e, _5f, _60, _61, _62
2837 );
2838 }
2839 };
2840 
2841 
2842 template<> struct tie_aggregate_impl<99> {
2843 template<typename T> static constexpr auto call(T & x) {
2844 auto & [
2845     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2846     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2847     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2848     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2849     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2850     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2851     _5b, _5c, _5d, _5e, _5f, _60, _61, _62, _63
2852 ] = x;
2853 return parser::tuple<
2854     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2855     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2856     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2857     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2858     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2859     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2860     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2861     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2862     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2863     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2864     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2865     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2866     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2867     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2868     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2869     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2870     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2871     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &,
2872     decltype(_5b) &, decltype(_5c) &, decltype(_5d) &, decltype(_5e) &, decltype(_5f) &,
2873     decltype(_60) &, decltype(_61) &, decltype(_62) &, decltype(_63) &
2874 >(
2875     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2876     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2877     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2878     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2879     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2880     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2881     _5b, _5c, _5d, _5e, _5f, _60, _61, _62, _63
2882 );
2883 }
2884 };
2885 
2886 
2887 template<> struct tie_aggregate_impl<100> {
2888 template<typename T> static constexpr auto call(T & x) {
2889 auto & [
2890     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2891     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2892     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2893     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2894     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2895     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2896     _5b, _5c, _5d, _5e, _5f, _60, _61, _62, _63, _64
2897 ] = x;
2898 return parser::tuple<
2899     decltype(_01) &, decltype(_02) &, decltype(_03) &, decltype(_04) &, decltype(_05) &,
2900     decltype(_06) &, decltype(_07) &, decltype(_08) &, decltype(_09) &, decltype(_0a) &,
2901     decltype(_0b) &, decltype(_0c) &, decltype(_0d) &, decltype(_0e) &, decltype(_0f) &,
2902     decltype(_10) &, decltype(_11) &, decltype(_12) &, decltype(_13) &, decltype(_14) &,
2903     decltype(_15) &, decltype(_16) &, decltype(_17) &, decltype(_18) &, decltype(_19) &,
2904     decltype(_1a) &, decltype(_1b) &, decltype(_1c) &, decltype(_1d) &, decltype(_1e) &,
2905     decltype(_1f) &, decltype(_20) &, decltype(_21) &, decltype(_22) &, decltype(_23) &,
2906     decltype(_24) &, decltype(_25) &, decltype(_26) &, decltype(_27) &, decltype(_28) &,
2907     decltype(_29) &, decltype(_2a) &, decltype(_2b) &, decltype(_2c) &, decltype(_2d) &,
2908     decltype(_2e) &, decltype(_2f) &, decltype(_30) &, decltype(_31) &, decltype(_32) &,
2909     decltype(_33) &, decltype(_34) &, decltype(_35) &, decltype(_36) &, decltype(_37) &,
2910     decltype(_38) &, decltype(_39) &, decltype(_3a) &, decltype(_3b) &, decltype(_3c) &,
2911     decltype(_3d) &, decltype(_3e) &, decltype(_3f) &, decltype(_40) &, decltype(_41) &,
2912     decltype(_42) &, decltype(_43) &, decltype(_44) &, decltype(_45) &, decltype(_46) &,
2913     decltype(_47) &, decltype(_48) &, decltype(_49) &, decltype(_4a) &, decltype(_4b) &,
2914     decltype(_4c) &, decltype(_4d) &, decltype(_4e) &, decltype(_4f) &, decltype(_50) &,
2915     decltype(_51) &, decltype(_52) &, decltype(_53) &, decltype(_54) &, decltype(_55) &,
2916     decltype(_56) &, decltype(_57) &, decltype(_58) &, decltype(_59) &, decltype(_5a) &,
2917     decltype(_5b) &, decltype(_5c) &, decltype(_5d) &, decltype(_5e) &, decltype(_5f) &,
2918     decltype(_60) &, decltype(_61) &, decltype(_62) &, decltype(_63) &, decltype(_64) &
2919 >(
2920     _01, _02, _03, _04, _05, _06, _07, _08, _09, _0a, _0b, _0c, _0d, _0e, _0f,
2921     _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _1a, _1b, _1c, _1d, _1e,
2922     _1f, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _2a, _2b, _2c, _2d,
2923     _2e, _2f, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _3a, _3b, _3c,
2924     _3d, _3e, _3f, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _4a, _4b,
2925     _4c, _4d, _4e, _4f, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _5a,
2926     _5b, _5c, _5d, _5e, _5f, _60, _61, _62, _63, _64
2927 );
2928 }
2929 };
2930 
2931 
2932 }
2933