//
// Copyright (C) 2011-14 Irwin Zaid, DyND Developers
// BSD 2-Clause License, see LICENSE.txt
//

#ifndef _DYND__PP_GEN_HPP_
#define _DYND__PP_GEN_HPP_

#define DYND_PP_INT_MAX 7
#define DYND_PP_LEN_MAX 8 // The maximum list length that is fully supported
#define DYND_PP_DEP_MAX 3 // The maximum macro depth that is fully supported

#define DYND_PP_INTS (0, 1, 2, 3, 4, 5, 6, 7)

/**
 * Expands to whatever is at 2 * DYND_PP_LEN_MAX in __VA_ARGS__.
 */
#define DYND_PP_GET_ARG_16(...) DYND_PP_ID(DYND_PP__GET_ARG_16(__VA_ARGS__))
#define DYND_PP__GET_ARG_16(A0, A1, A2, A3, A4, A5, A6, A7, \
    A8, A9, A10, A11, A12, A13, A14, A15, \
    A16, ...) A16

/**
 * Expands to 1 if __VA_ARGS__ has a comma. Otherwise 0.
 */
#define DYND_PP_HAS_COMMA(...) DYND_PP_ID(DYND_PP__HAS_COMMA(__VA_ARGS__))
#define DYND_PP__HAS_COMMA(...) DYND_PP_GET_ARG_16(__VA_ARGS__, \
    1, 1, 1, 1, 1, 1, 1, 1, \
    1, 1, 1, 1, 1, 1, 1, 0, \
    0)

/**
 * Expands to the length of A. A has to be a list with at most 2 * DYND_PP_LEN_MAX tokens.
 */
#define DYND_PP_LEN(A) DYND_PP_IF_ELSE(DYND_PP_IS_EMPTY(A))(DYND_PP_LEN_IF_EMPTY)(DYND_PP_LEN_IF_NOT_EMPTY)(A)
#define DYND_PP_LEN_IF_EMPTY(A) 0
#define DYND_PP_LEN_IF_NOT_EMPTY(A) DYND_PP_GET_ARG_16(DYND_PP_ID A, \
    16, 15, 14, 13, 12, 11, 10, 9, \
    8, 7, 6, 5, 4, 3, 2, 1)

/**
 * Increments A. A has to be an integer between 0 and DYND_PP_LEN_MAX - 1 inclusively.
 */
#define DYND_PP_INC(A) DYND_PP_PASTE(DYND_PP_INC_, A)
#define DYND_PP_INC_0 1
#define DYND_PP_INC_1 2
#define DYND_PP_INC_2 3
#define DYND_PP_INC_3 4
#define DYND_PP_INC_4 5
#define DYND_PP_INC_5 6
#define DYND_PP_INC_6 7
#define DYND_PP_INC_7 8

/**
 * Decrements A. A has to be an integer between 1 and DYND_PP_LEN_MAX inclusively.
 */
#define DYND_PP_DEC(A) DYND_PP_PASTE(DYND_PP_DEC_, A)
#define DYND_PP_DEC_1 0
#define DYND_PP_DEC_2 1
#define DYND_PP_DEC_3 2
#define DYND_PP_DEC_4 3
#define DYND_PP_DEC_5 4
#define DYND_PP_DEC_6 5
#define DYND_PP_DEC_7 6
#define DYND_PP_DEC_8 7

#define DYND_PP_CAT(A) DYND_PP_PASTE(DYND_PP_CAT_, DYND_PP_LEN(A))(A)
#define DYND_PP_CAT_0(A)
#define DYND_PP_CAT_1 DYND_PP_FIRST
#define DYND_PP_CAT_2(A) DYND_PP_PASTE(DYND_PP_FIRST(A), DYND_PP_FIRST(DYND_PP_POP_FIRST(A)))
#define DYND_PP_CAT_3(A) DYND_PP_PASTE(DYND_PP_FIRST(A), DYND_PP_CAT_2(DYND_PP_POP_FIRST(A)))
#define DYND_PP_CAT_4(A) DYND_PP_PASTE(DYND_PP_FIRST(A), DYND_PP_CAT_3(DYND_PP_POP_FIRST(A)))
#define DYND_PP_CAT_5(A) DYND_PP_PASTE(DYND_PP_FIRST(A), DYND_PP_CAT_4(DYND_PP_POP_FIRST(A)))
#define DYND_PP_CAT_6(A) DYND_PP_PASTE(DYND_PP_FIRST(A), DYND_PP_CAT_5(DYND_PP_POP_FIRST(A)))
#define DYND_PP_CAT_7(A) DYND_PP_PASTE(DYND_PP_FIRST(A), DYND_PP_CAT_6(DYND_PP_POP_FIRST(A)))
#define DYND_PP_CAT_8(A) DYND_PP_PASTE(DYND_PP_FIRST(A), DYND_PP_CAT_7(DYND_PP_POP_FIRST(A)))

#define DYND_PP_SLICE_FROM(START, A) DYND_PP_PASTE(DYND_PP_SLICE_FROM_, START)(A)
#define DYND_PP_SLICE_FROM_0(A) A
#define DYND_PP_SLICE_FROM_1(A) DYND_PP_POP_FIRST(A)
#define DYND_PP_SLICE_FROM_2(A) DYND_PP_SLICE_FROM_1(DYND_PP_POP_FIRST(A))
#define DYND_PP_SLICE_FROM_3(A) DYND_PP_SLICE_FROM_2(DYND_PP_POP_FIRST(A))
#define DYND_PP_SLICE_FROM_4(A) DYND_PP_SLICE_FROM_3(DYND_PP_POP_FIRST(A))
#define DYND_PP_SLICE_FROM_5(A) DYND_PP_SLICE_FROM_4(DYND_PP_POP_FIRST(A))
#define DYND_PP_SLICE_FROM_6(A) DYND_PP_SLICE_FROM_5(DYND_PP_POP_FIRST(A))
#define DYND_PP_SLICE_FROM_7(A) DYND_PP_SLICE_FROM_6(DYND_PP_POP_FIRST(A))
#define DYND_PP_SLICE_FROM_8(A) DYND_PP_SLICE_FROM_7(DYND_PP_POP_FIRST(A))

#define DYND_PP_SLICE_TO(STOP, A) DYND_PP_PASTE(DYND_PP_SLICE_TO_, STOP)(A)
#define DYND_PP_SLICE_TO_0(A) ()
#define DYND_PP_SLICE_TO_1(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_TO_2(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_TO_1(DYND_PP_POP_FIRST(A)))
#define DYND_PP_SLICE_TO_3(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_TO_2(DYND_PP_POP_FIRST(A)))
#define DYND_PP_SLICE_TO_4(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_TO_3(DYND_PP_POP_FIRST(A)))
#define DYND_PP_SLICE_TO_5(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_TO_4(DYND_PP_POP_FIRST(A)))
#define DYND_PP_SLICE_TO_6(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_TO_5(DYND_PP_POP_FIRST(A)))
#define DYND_PP_SLICE_TO_7(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_TO_6(DYND_PP_POP_FIRST(A)))
#define DYND_PP_SLICE_TO_8(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_TO_7(DYND_PP_POP_FIRST(A)))

#define DYND_PP_SLICE_WITH(STEP, A) DYND_PP_PASTE(DYND_PP_SLICE_WITH_, DYND_PP_PASTE(STEP, DYND_PP_PASTE(_, DYND_PP_LEN(A))))(A)
#define DYND_PP_SLICE_WITH_1_0(A) ()
#define DYND_PP_SLICE_WITH_1_1(A) A
#define DYND_PP_SLICE_WITH_1_2(A) A
#define DYND_PP_SLICE_WITH_1_3(A) A
#define DYND_PP_SLICE_WITH_1_4(A) A
#define DYND_PP_SLICE_WITH_1_5(A) A
#define DYND_PP_SLICE_WITH_1_6(A) A
#define DYND_PP_SLICE_WITH_1_7(A) A
#define DYND_PP_SLICE_WITH_1_8(A) A
#define DYND_PP_SLICE_WITH_2_0(A) ()
#define DYND_PP_SLICE_WITH_2_1(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_2_2(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_2_3(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_2_1(DYND_PP_SLICE_FROM(2, A)))
#define DYND_PP_SLICE_WITH_2_4(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_2_2(DYND_PP_SLICE_FROM(2, A)))
#define DYND_PP_SLICE_WITH_2_5(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_2_3(DYND_PP_SLICE_FROM(2, A)))
#define DYND_PP_SLICE_WITH_2_6(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_2_4(DYND_PP_SLICE_FROM(2, A)))
#define DYND_PP_SLICE_WITH_2_7(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_2_5(DYND_PP_SLICE_FROM(2, A)))
#define DYND_PP_SLICE_WITH_2_8(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_2_6(DYND_PP_SLICE_FROM(2, A)))
#define DYND_PP_SLICE_WITH_3_0(A) ()
#define DYND_PP_SLICE_WITH_3_1(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_3_2(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_3_3(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_3_4(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_3_1(DYND_PP_SLICE_FROM(3, A)))
#define DYND_PP_SLICE_WITH_3_5(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_3_2(DYND_PP_SLICE_FROM(3, A)))
#define DYND_PP_SLICE_WITH_3_6(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_3_3(DYND_PP_SLICE_FROM(3, A)))
#define DYND_PP_SLICE_WITH_3_7(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_3_4(DYND_PP_SLICE_FROM(3, A)))
#define DYND_PP_SLICE_WITH_3_8(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_3_5(DYND_PP_SLICE_FROM(3, A)))
#define DYND_PP_SLICE_WITH_4_0(A) ()
#define DYND_PP_SLICE_WITH_4_1(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_4_2(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_4_3(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_4_4(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_4_5(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_4_1(DYND_PP_SLICE_FROM(4, A)))
#define DYND_PP_SLICE_WITH_4_6(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_4_2(DYND_PP_SLICE_FROM(4, A)))
#define DYND_PP_SLICE_WITH_4_7(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_4_3(DYND_PP_SLICE_FROM(4, A)))
#define DYND_PP_SLICE_WITH_4_8(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_4_4(DYND_PP_SLICE_FROM(4, A)))
#define DYND_PP_SLICE_WITH_5_0(A) ()
#define DYND_PP_SLICE_WITH_5_1(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_5_2(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_5_3(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_5_4(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_5_5(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_5_6(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_5_1(DYND_PP_SLICE_FROM(5, A)))
#define DYND_PP_SLICE_WITH_5_7(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_5_2(DYND_PP_SLICE_FROM(5, A)))
#define DYND_PP_SLICE_WITH_5_8(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_5_3(DYND_PP_SLICE_FROM(5, A)))
#define DYND_PP_SLICE_WITH_6_0(A) ()
#define DYND_PP_SLICE_WITH_6_1(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_6_2(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_6_3(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_6_4(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_6_5(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_6_6(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_6_7(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_6_1(DYND_PP_SLICE_FROM(6, A)))
#define DYND_PP_SLICE_WITH_6_8(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_6_2(DYND_PP_SLICE_FROM(6, A)))
#define DYND_PP_SLICE_WITH_7_0(A) ()
#define DYND_PP_SLICE_WITH_7_1(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_7_2(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_7_3(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_7_4(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_7_5(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_7_6(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_7_7(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_7_8(A) DYND_PP_PREPEND(DYND_PP_FIRST(A), DYND_PP_SLICE_WITH_7_1(DYND_PP_SLICE_FROM(7, A)))
#define DYND_PP_SLICE_WITH_8_0(A) ()
#define DYND_PP_SLICE_WITH_8_1(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_8_2(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_8_3(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_8_4(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_8_5(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_8_6(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_8_7(A) (DYND_PP_FIRST(A))
#define DYND_PP_SLICE_WITH_8_8(A) (DYND_PP_FIRST(A))

/**
 * Expands to a list filled with 0. N has to be an integer between 0 and DYND_PP_LEN_MAX inclusively.
 */
#define DYND_PP_ZEROS(N) DYND_PP_PASTE(DYND_PP_ZEROS_, N)
#define DYND_PP_ZEROS_0 ()
#define DYND_PP_ZEROS_1 (0)
#define DYND_PP_ZEROS_2 (0, 0)
#define DYND_PP_ZEROS_3 (0, 0, 0)
#define DYND_PP_ZEROS_4 (0, 0, 0, 0)
#define DYND_PP_ZEROS_5 (0, 0, 0, 0, 0)
#define DYND_PP_ZEROS_6 (0, 0, 0, 0, 0, 0)
#define DYND_PP_ZEROS_7 (0, 0, 0, 0, 0, 0, 0)
#define DYND_PP_ZEROS_8 (0, 0, 0, 0, 0, 0, 0, 0)

/**
 * Expands to a list filled with 1. N has to be an integer between 0 and DYND_PP_LEN_MAX inclusively.
 */
#define DYND_PP_ONES(N) DYND_PP_PASTE(DYND_PP_ONES_, N)
#define DYND_PP_ONES_0 ()
#define DYND_PP_ONES_1 (1)
#define DYND_PP_ONES_2 (1, 1)
#define DYND_PP_ONES_3 (1, 1, 1)
#define DYND_PP_ONES_4 (1, 1, 1, 1)
#define DYND_PP_ONES_5 (1, 1, 1, 1, 1)
#define DYND_PP_ONES_6 (1, 1, 1, 1, 1, 1)
#define DYND_PP_ONES_7 (1, 1, 1, 1, 1, 1, 1)
#define DYND_PP_ONES_8 (1, 1, 1, 1, 1, 1, 1, 1)

#define DYND_PP_REPEAT DYND_PP_REPEAT_0
#define DYND_PP_REPEAT_0(TOK, LEN) (DYND_PP_JOIN_REPEAT_0(TOK, (,), LEN))
#define DYND_PP_REPEAT_1(TOK, LEN) (DYND_PP_JOIN_REPEAT_1(TOK, (,), LEN))
#define DYND_PP_REPEAT_2(TOK, LEN) (DYND_PP_JOIN_REPEAT_2(TOK, (,), LEN))

#define DYND_PP_JOIN_REPEAT DYND_PP_JOIN_REPEAT_0
#define DYND_PP_JOIN_REPEAT_0(TOK, SEP, LEN) DYND_PP_PASTE(DYND_PP_JOIN_REPEAT_0_, LEN)(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_0_0(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_0_1(TOK, SEP) TOK
#define DYND_PP_JOIN_REPEAT_0_2(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_0_1(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_0_3(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_0_2(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_0_4(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_0_3(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_0_5(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_0_4(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_0_6(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_0_5(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_0_7(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_0_6(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_0_8(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_0_7(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_1(TOK, SEP, LEN) DYND_PP_PASTE(DYND_PP_JOIN_REPEAT_1_, LEN)(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_1_0(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_1_1(TOK, SEP) TOK
#define DYND_PP_JOIN_REPEAT_1_2(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_1_1(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_1_3(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_1_2(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_1_4(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_1_3(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_1_5(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_1_4(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_1_6(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_1_5(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_1_7(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_1_6(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_1_8(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_1_7(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_2(TOK, SEP, LEN) DYND_PP_PASTE(DYND_PP_JOIN_REPEAT_2_, LEN)(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_2_0(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_2_1(TOK, SEP) TOK
#define DYND_PP_JOIN_REPEAT_2_2(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_2_1(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_2_3(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_2_2(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_2_4(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_2_3(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_2_5(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_2_4(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_2_6(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_2_5(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_2_7(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_2_6(TOK, SEP)
#define DYND_PP_JOIN_REPEAT_2_8(TOK, SEP) TOK DYND_PP_ID SEP DYND_PP_JOIN_REPEAT_2_7(TOK, SEP)

#define DYND_PP_MAP DYND_PP_MAP_0
#define DYND_PP_MAP_0(MAC, A) (DYND_PP_JOIN_MAP_0(MAC, (,), A))
#define DYND_PP_MAP_1(MAC, A) (DYND_PP_JOIN_MAP_1(MAC, (,), A))
#define DYND_PP_MAP_2(MAC, A) (DYND_PP_JOIN_MAP_2(MAC, (,), A))
#define DYND_PP_MAP_3(MAC, A) (DYND_PP_JOIN_MAP_3(MAC, (,), A))

#define DYND_PP_JOIN_MAP DYND_PP_JOIN_MAP_0
#define DYND_PP_JOIN_MAP_0(MAC, SEP, A) DYND_PP_PASTE(DYND_PP_JOIN_MAP_0_ , DYND_PP_LEN(A))(MAC, SEP, A)
#define DYND_PP_JOIN_MAP_0_0(MAC, SEP, A)
#define DYND_PP_JOIN_MAP_0_1(MAC, SEP, A) MAC(DYND_PP_FIRST(A))
#define DYND_PP_JOIN_MAP_0_2(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_0_1(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_0_3(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_0_2(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_0_4(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_0_3(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_0_5(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_0_4(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_0_6(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_0_5(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_0_7(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_0_6(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_0_8(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_0_7(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_1(MAC, SEP, A) DYND_PP_PASTE(DYND_PP_JOIN_MAP_1_ , DYND_PP_LEN(A))(MAC, SEP, A)
#define DYND_PP_JOIN_MAP_1_0(MAC, SEP, A)
#define DYND_PP_JOIN_MAP_1_1(MAC, SEP, A) MAC(DYND_PP_FIRST(A))
#define DYND_PP_JOIN_MAP_1_2(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_1_1(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_1_3(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_1_2(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_1_4(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_1_3(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_1_5(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_1_4(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_1_6(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_1_5(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_1_7(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_1_6(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_1_8(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_1_7(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_2(MAC, SEP, A) DYND_PP_PASTE(DYND_PP_JOIN_MAP_2_ , DYND_PP_LEN(A))(MAC, SEP, A)
#define DYND_PP_JOIN_MAP_2_0(MAC, SEP, A)
#define DYND_PP_JOIN_MAP_2_1(MAC, SEP, A) MAC(DYND_PP_FIRST(A))
#define DYND_PP_JOIN_MAP_2_2(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_2_1(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_2_3(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_2_2(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_2_4(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_2_3(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_2_5(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_2_4(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_2_6(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_2_5(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_2_7(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_2_6(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_2_8(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_2_7(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_3(MAC, SEP, A) DYND_PP_PASTE(DYND_PP_JOIN_MAP_3_ , DYND_PP_LEN(A))(MAC, SEP, A)
#define DYND_PP_JOIN_MAP_3_0(MAC, SEP, A)
#define DYND_PP_JOIN_MAP_3_1(MAC, SEP, A) MAC(DYND_PP_FIRST(A))
#define DYND_PP_JOIN_MAP_3_2(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_3_1(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_3_3(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_3_2(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_3_4(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_3_3(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_3_5(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_3_4(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_3_6(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_3_5(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_3_7(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_3_6(MAC, SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_MAP_3_8(MAC, SEP, A) MAC(DYND_PP_FIRST(A)) DYND_PP_ID SEP DYND_PP_JOIN_MAP_3_7(MAC, SEP, DYND_PP_POP_FIRST(A))

#define DYND_PP_REDUCE DYND_PP_REDUCE_0
#define DYND_PP_REDUCE_0(MAC, A0) DYND_PP_PASTE(DYND_PP_REDUCE_0_, DYND_PP_LEN(A0))(MAC, A0)
#define DYND_PP_REDUCE_0_1(MAC, A0) DYND_PP_FIRST(A0)
#define DYND_PP_REDUCE_0_2(MAC, A0) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0)))
#define DYND_PP_REDUCE_0_3(MAC, A0) DYND_PP_REDUCE_0_2(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_0_4(MAC, A0) DYND_PP_REDUCE_0_3(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_0_5(MAC, A0) DYND_PP_REDUCE_0_4(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_0_6(MAC, A0) DYND_PP_REDUCE_0_5(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_0_7(MAC, A0) DYND_PP_REDUCE_0_6(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_0_8(MAC, A0) DYND_PP_REDUCE_0_7(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_1(MAC, A0) DYND_PP_PASTE(DYND_PP_REDUCE_1_, DYND_PP_LEN(A0))(MAC, A0)
#define DYND_PP_REDUCE_1_1(MAC, A0) DYND_PP_FIRST(A0)
#define DYND_PP_REDUCE_1_2(MAC, A0) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0)))
#define DYND_PP_REDUCE_1_3(MAC, A0) DYND_PP_REDUCE_1_2(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_1_4(MAC, A0) DYND_PP_REDUCE_1_3(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_1_5(MAC, A0) DYND_PP_REDUCE_1_4(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_1_6(MAC, A0) DYND_PP_REDUCE_1_5(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_1_7(MAC, A0) DYND_PP_REDUCE_1_6(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_1_8(MAC, A0) DYND_PP_REDUCE_1_7(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_2(MAC, A0) DYND_PP_PASTE(DYND_PP_REDUCE_2_, DYND_PP_LEN(A0))(MAC, A0)
#define DYND_PP_REDUCE_2_1(MAC, A0) DYND_PP_FIRST(A0)
#define DYND_PP_REDUCE_2_2(MAC, A0) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0)))
#define DYND_PP_REDUCE_2_3(MAC, A0) DYND_PP_REDUCE_2_2(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_2_4(MAC, A0) DYND_PP_REDUCE_2_3(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_2_5(MAC, A0) DYND_PP_REDUCE_2_4(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_2_6(MAC, A0) DYND_PP_REDUCE_2_5(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_2_7(MAC, A0) DYND_PP_REDUCE_2_6(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))
#define DYND_PP_REDUCE_2_8(MAC, A0) DYND_PP_REDUCE_2_7(MAC, DYND_PP_PREPEND(MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(DYND_PP_POP_FIRST(A0))), DYND_PP_POP_FIRST(DYND_PP_POP_FIRST(A0))))

#define DYND_PP_ELWISE DYND_PP_ELWISE_0
#define DYND_PP_ELWISE_0(...) DYND_PP_ID(DYND_PP__ELWISE_0(__VA_ARGS__))
#define DYND_PP__ELWISE_0(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__ELWISE_0_, DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__))))(__VA_ARGS__))
#define DYND_PP__ELWISE_0_2(MAC, A0, A1) (DYND_PP__JOIN_ELWISE_0_2(MAC, (,), A0, A1))
#define DYND_PP__ELWISE_0_3(MAC, A0, A1, A2) (DYND_PP__JOIN_ELWISE_0_3(MAC, (,), A0, A1, A2))
#define DYND_PP__ELWISE_0_4(MAC, A0, A1, A2, A3) (DYND_PP__JOIN_ELWISE_0_4(MAC, (,), A0, A1, A2, A3))
#define DYND_PP_ELWISE_1(...) DYND_PP_ID(DYND_PP__ELWISE_1(__VA_ARGS__))
#define DYND_PP__ELWISE_1(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__ELWISE_1_, DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__))))(__VA_ARGS__))
#define DYND_PP__ELWISE_1_2(MAC, A0, A1) (DYND_PP__JOIN_ELWISE_1_2(MAC, (,), A0, A1))
#define DYND_PP__ELWISE_1_3(MAC, A0, A1, A2) (DYND_PP__JOIN_ELWISE_1_3(MAC, (,), A0, A1, A2))
#define DYND_PP__ELWISE_1_4(MAC, A0, A1, A2, A3) (DYND_PP__JOIN_ELWISE_1_4(MAC, (,), A0, A1, A2, A3))
#define DYND_PP_ELWISE_2(...) DYND_PP_ID(DYND_PP__ELWISE_2(__VA_ARGS__))
#define DYND_PP__ELWISE_2(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__ELWISE_2_, DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__))))(__VA_ARGS__))
#define DYND_PP__ELWISE_2_2(MAC, A0, A1) (DYND_PP__JOIN_ELWISE_2_2(MAC, (,), A0, A1))
#define DYND_PP__ELWISE_2_3(MAC, A0, A1, A2) (DYND_PP__JOIN_ELWISE_2_3(MAC, (,), A0, A1, A2))
#define DYND_PP__ELWISE_2_4(MAC, A0, A1, A2, A3) (DYND_PP__JOIN_ELWISE_2_4(MAC, (,), A0, A1, A2, A3))

#define DYND_PP_JOIN_ELWISE DYND_PP_JOIN_ELWISE_0
#define DYND_PP_JOIN_ELWISE_0(...) DYND_PP_ID(DYND_PP__JOIN_ELWISE_0(__VA_ARGS__))
#define DYND_PP__JOIN_ELWISE_0(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_0_, DYND_PP_DEC(DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__)))))(__VA_ARGS__))
#define DYND_PP__JOIN_ELWISE_0_2(MAC, SEP, A0, A1) DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_0_2_, DYND_PP_LEN(A0))(MAC, SEP, A0, A1)
#define DYND_PP__JOIN_ELWISE_0_2_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_0_2_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_2_1(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_0_2_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_2_2(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_0_2_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_2_3(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_0_2_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_2_4(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_0_2_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_2_5(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_0_2_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_2_6(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_0_2_8(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_2_7(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_0_3(MAC, SEP, A0, A1, A2) DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_0_3_, DYND_PP_LEN(A0))(MAC, SEP, A0, A1, A2)
#define DYND_PP__JOIN_ELWISE_0_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_0_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_3_1(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_0_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_3_2(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_0_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_3_3(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_0_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_3_4(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_0_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_3_5(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_0_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_3_6(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_0_3_8(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_3_7(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_0_4(MAC, SEP, A0, A1, A2, A3) DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_0_4_, DYND_PP_LEN(A0))(MAC, SEP, A0, A1, A2, A3)
#define DYND_PP__JOIN_ELWISE_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_4_1(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_4_2(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_4_3(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_4_4(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_4_5(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_4_6(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_0_4_8(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_0_4_7(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP_JOIN_ELWISE_1(...) DYND_PP_ID(DYND_PP__JOIN_ELWISE_1(__VA_ARGS__))
#define DYND_PP__JOIN_ELWISE_1(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_1_, DYND_PP_DEC(DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__)))))(__VA_ARGS__))
#define DYND_PP__JOIN_ELWISE_1_2(MAC, SEP, A0, A1) DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_1_2_, DYND_PP_LEN(A0))(MAC, SEP, A0, A1)
#define DYND_PP__JOIN_ELWISE_1_2_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_1_2_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_2_1(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_1_2_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_2_2(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_1_2_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_2_3(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_1_2_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_2_4(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_1_2_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_2_5(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_1_2_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_2_6(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_1_2_8(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_2_7(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_1_3(MAC, SEP, A0, A1, A2) DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_1_3_, DYND_PP_LEN(A0))(MAC, SEP, A0, A1, A2)
#define DYND_PP__JOIN_ELWISE_1_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_1_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_3_1(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_1_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_3_2(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_1_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_3_3(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_1_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_3_4(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_1_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_3_5(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_1_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_3_6(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_1_3_8(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_3_7(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_1_4(MAC, SEP, A0, A1, A2, A3) DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_1_4_, DYND_PP_LEN(A0))(MAC, SEP, A0, A1, A2, A3)
#define DYND_PP__JOIN_ELWISE_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_4_1(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_4_2(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_4_3(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_4_4(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_4_5(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_4_6(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_1_4_8(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_1_4_7(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP_JOIN_ELWISE_2(...) DYND_PP_ID(DYND_PP__JOIN_ELWISE_2(__VA_ARGS__))
#define DYND_PP__JOIN_ELWISE_2(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_2_, DYND_PP_DEC(DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__)))))(__VA_ARGS__))
#define DYND_PP__JOIN_ELWISE_2_2(MAC, SEP, A0, A1) DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_2_2_, DYND_PP_LEN(A0))(MAC, SEP, A0, A1)
#define DYND_PP__JOIN_ELWISE_2_2_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_2_2_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_2_1(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_2_2_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_2_2(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_2_2_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_2_3(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_2_2_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_2_4(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_2_2_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_2_5(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_2_2_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_2_6(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_2_2_8(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_2_7(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1))
#define DYND_PP__JOIN_ELWISE_2_3(MAC, SEP, A0, A1, A2) DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_2_3_, DYND_PP_LEN(A0))(MAC, SEP, A0, A1, A2)
#define DYND_PP__JOIN_ELWISE_2_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_2_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_3_1(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_2_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_3_2(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_2_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_3_3(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_2_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_3_4(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_2_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_3_5(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_2_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_3_6(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_2_3_8(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_3_7(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2))
#define DYND_PP__JOIN_ELWISE_2_4(MAC, SEP, A0, A1, A2, A3) DYND_PP_PASTE(DYND_PP__JOIN_ELWISE_2_4_, DYND_PP_LEN(A0))(MAC, SEP, A0, A1, A2, A3)
#define DYND_PP__JOIN_ELWISE_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_4_1(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_4_2(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_4_3(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_4_4(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_4_5(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_4_6(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))
#define DYND_PP__JOIN_ELWISE_2_4_8(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_ELWISE_2_4_7(MAC, SEP, DYND_PP_POP_FIRST(A0), DYND_PP_POP_FIRST(A1), DYND_PP_POP_FIRST(A2), DYND_PP_POP_FIRST(A3))

#define DYND_PP_OUTER DYND_PP_OUTER_0
#define DYND_PP_OUTER_0(...) DYND_PP_ID(DYND_PP__OUTER_0(__VA_ARGS__))
#define DYND_PP__OUTER_0(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__OUTER_0_, DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__))))(__VA_ARGS__))
#define DYND_PP__OUTER_0_2(MAC, A0, A1) (DYND_PP__JOIN_OUTER_0_2(MAC, (,), A0, A1))
#define DYND_PP__OUTER_0_3(MAC, A0, A1, A2) (DYND_PP__JOIN_OUTER_0_3(MAC, (,), A0, A1, A2))
#define DYND_PP__OUTER_0_4(MAC, A0, A1, A2, A3) (DYND_PP__JOIN_OUTER_0_4(MAC, (,), A0, A1, A2, A3))
#define DYND_PP_OUTER_1(...) DYND_PP_ID(DYND_PP__OUTER_1(__VA_ARGS__))
#define DYND_PP__OUTER_1(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__OUTER_1_, DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__))))(__VA_ARGS__))
#define DYND_PP__OUTER_1_2(MAC, A0, A1) (DYND_PP__JOIN_OUTER_1_2(MAC, (,), A0, A1))
#define DYND_PP__OUTER_1_3(MAC, A0, A1, A2) (DYND_PP__JOIN_OUTER_1_3(MAC, (,), A0, A1, A2))
#define DYND_PP__OUTER_1_4(MAC, A0, A1, A2, A3) (DYND_PP__JOIN_OUTER_1_4(MAC, (,), A0, A1, A2, A3))
#define DYND_PP_OUTER_2(...) DYND_PP_ID(DYND_PP__OUTER_2(__VA_ARGS__))
#define DYND_PP__OUTER_2(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__OUTER_2_, DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__))))(__VA_ARGS__))
#define DYND_PP__OUTER_2_2(MAC, A0, A1) (DYND_PP__JOIN_OUTER_2_2(MAC, (,), A0, A1))
#define DYND_PP__OUTER_2_3(MAC, A0, A1, A2) (DYND_PP__JOIN_OUTER_2_3(MAC, (,), A0, A1, A2))
#define DYND_PP__OUTER_2_4(MAC, A0, A1, A2, A3) (DYND_PP__JOIN_OUTER_2_4(MAC, (,), A0, A1, A2, A3))

#define DYND_PP_JOIN_OUTER DYND_PP_JOIN_OUTER_0
#define DYND_PP_JOIN_OUTER_0(...) DYND_PP_ID(DYND_PP__JOIN_OUTER_0(__VA_ARGS__))
#define DYND_PP__JOIN_OUTER_0(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__JOIN_OUTER_0_, DYND_PP_DEC(DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__)))))(__VA_ARGS__))
#define DYND_PP__JOIN_OUTER_0_2(MAC, SEP, A0, A1) DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_2_, DYND_PP_DEC(DYND_PP_LEN(A0)), _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, A0, A1)
#define DYND_PP__JOIN_OUTER_0_2_0_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1))
#define DYND_PP__JOIN_OUTER_0_2_0_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_0_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_0_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_0_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_0_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_0_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_0_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_0_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_0_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_0_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_0_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_0_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_0_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_0_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_1_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_1_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_1_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_1_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_1_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_1_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_1_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_1_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_1_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_1_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_1_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_1_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_1_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_1_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_1_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_2_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_2_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_2_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_2_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_2_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_2_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_2_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_2_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_2_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_2_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_2_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_2_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_2_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_2_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_2_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_3_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_3_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_3_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_3_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_3_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_3_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_3_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_3_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_3_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_3_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_3_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_3_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_3_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_3_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_3_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_4_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_4_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_4_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_4_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_4_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_4_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_4_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_4_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_4_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_4_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_4_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_4_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_4_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_4_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_4_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_5_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_5_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_5_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_5_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_5_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_5_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_5_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_5_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_5_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_5_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_5_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_5_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_5_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_5_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_5_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_6_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_6_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_6_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_6_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_6_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_6_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_6_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_6_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_6_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_6_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_6_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_6_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_6_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_6_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_6_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_7_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_7_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_7_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_7_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_7_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_7_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_7_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_7_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_7_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_7_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_7_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_7_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_7_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_2_7_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_2_7_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_0_3(MAC, SEP, A0, A1, A2) DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_, DYND_PP_DEC(DYND_PP_LEN(A0)), _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, A1, A2)
#define DYND_PP__JOIN_OUTER_0_3_0_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2))
#define DYND_PP__JOIN_OUTER_0_3_0_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_0_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_0_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_1_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_1_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_2_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_2_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_3_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_3_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_4_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_4_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_5_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_5_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_6_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_6_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_3_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_3_7_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_3_7_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_0_4(MAC, SEP, A0, A1, A2, A3) DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_, DYND_PP_DEC(DYND_PP_LEN(A0)), _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, A2, A3)
#define DYND_PP__JOIN_OUTER_0_4_0_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3))
#define DYND_PP__JOIN_OUTER_0_4_0_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_0_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_0_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_1_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_1_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_2_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_2_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_3_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_3_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_4_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_4_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_5_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_5_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_6_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_6_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_0_4_7_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_0_4_7_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_0_4_7_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP_JOIN_OUTER_1(...) DYND_PP_ID(DYND_PP__JOIN_OUTER_1(__VA_ARGS__))
#define DYND_PP__JOIN_OUTER_1(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__JOIN_OUTER_1_, DYND_PP_DEC(DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__)))))(__VA_ARGS__))
#define DYND_PP__JOIN_OUTER_1_2(MAC, SEP, A0, A1) DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_2_, DYND_PP_DEC(DYND_PP_LEN(A0)), _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, A0, A1)
#define DYND_PP__JOIN_OUTER_1_2_0_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1))
#define DYND_PP__JOIN_OUTER_1_2_0_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_0_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_0_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_0_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_0_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_0_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_0_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_0_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_0_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_0_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_0_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_0_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_0_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_0_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_1_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_1_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_1_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_1_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_1_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_1_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_1_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_1_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_1_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_1_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_1_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_1_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_1_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_1_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_1_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_2_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_2_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_2_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_2_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_2_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_2_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_2_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_2_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_2_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_2_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_2_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_2_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_2_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_2_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_2_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_3_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_3_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_3_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_3_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_3_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_3_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_3_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_3_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_3_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_3_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_3_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_3_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_3_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_3_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_3_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_4_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_4_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_4_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_4_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_4_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_4_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_4_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_4_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_4_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_4_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_4_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_4_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_4_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_4_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_4_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_5_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_5_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_5_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_5_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_5_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_5_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_5_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_5_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_5_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_5_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_5_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_5_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_5_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_5_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_5_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_6_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_6_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_6_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_6_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_6_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_6_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_6_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_6_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_6_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_6_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_6_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_6_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_6_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_6_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_6_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_7_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_7_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_7_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_7_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_7_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_7_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_7_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_7_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_7_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_7_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_7_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_7_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_7_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_2_7_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_2_7_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_1_3(MAC, SEP, A0, A1, A2) DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_, DYND_PP_DEC(DYND_PP_LEN(A0)), _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, A1, A2)
#define DYND_PP__JOIN_OUTER_1_3_0_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2))
#define DYND_PP__JOIN_OUTER_1_3_0_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_0_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_0_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_1_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_1_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_2_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_2_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_3_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_3_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_4_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_4_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_5_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_5_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_6_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_6_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_3_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_3_7_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_3_7_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_1_4(MAC, SEP, A0, A1, A2, A3) DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_, DYND_PP_DEC(DYND_PP_LEN(A0)), _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, A2, A3)
#define DYND_PP__JOIN_OUTER_1_4_0_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3))
#define DYND_PP__JOIN_OUTER_1_4_0_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_0_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_0_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_1_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_1_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_2_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_2_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_3_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_3_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_4_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_4_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_5_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_5_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_6_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_6_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_1_4_7_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_1_4_7_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_1_4_7_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP_JOIN_OUTER_2(...) DYND_PP_ID(DYND_PP__JOIN_OUTER_2(__VA_ARGS__))
#define DYND_PP__JOIN_OUTER_2(...) DYND_PP_ID(DYND_PP_PASTE(DYND_PP__JOIN_OUTER_2_, DYND_PP_DEC(DYND_PP_DEC(DYND_PP_LEN((__VA_ARGS__)))))(__VA_ARGS__))
#define DYND_PP__JOIN_OUTER_2_2(MAC, SEP, A0, A1) DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_2_, DYND_PP_DEC(DYND_PP_LEN(A0)), _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, A0, A1)
#define DYND_PP__JOIN_OUTER_2_2_0_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1))
#define DYND_PP__JOIN_OUTER_2_2_0_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_0_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_0_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_0_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_0_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_0_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_0_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_0_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_0_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_0_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_0_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_0_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_0_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_0_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_1_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_1_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_1_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_1_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_1_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_1_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_1_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_1_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_1_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_1_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_1_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_1_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_1_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_1_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_1_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_2_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_2_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_2_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_2_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_2_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_2_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_2_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_2_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_2_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_2_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_2_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_2_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_2_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_2_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_2_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_3_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_3_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_3_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_3_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_3_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_3_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_3_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_3_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_3_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_3_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_3_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_3_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_3_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_3_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_3_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_4_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_4_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_4_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_4_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_4_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_4_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_4_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_4_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_4_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_4_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_4_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_4_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_4_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_4_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_4_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_5_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_5_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_5_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_5_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_5_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_5_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_5_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_5_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_5_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_5_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_5_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_5_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_5_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_5_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_5_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_6_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_6_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_6_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_6_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_6_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_6_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_6_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_6_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_6_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_6_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_6_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_6_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_6_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_6_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_6_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_7_0(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A1))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_7_1(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_7_0(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_7_2(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_7_1(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_7_3(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_7_2(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_7_4(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_7_3(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_7_5(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_7_4(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_7_6(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_7_5(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_2_7_7(MAC, SEP, A0, A1) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_2_7_6(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)))
#define DYND_PP__JOIN_OUTER_2_3(MAC, SEP, A0, A1, A2) DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_, DYND_PP_DEC(DYND_PP_LEN(A0)), _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, A1, A2)
#define DYND_PP__JOIN_OUTER_2_3_0_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2))
#define DYND_PP__JOIN_OUTER_2_3_0_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_0_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_0_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_1_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_1_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_2_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_2_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_3_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_3_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_4_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_4_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_5_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_5_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_6_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_6_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_0_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_0_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_0_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_0_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_0_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_0_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_0_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_0_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_0_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_0_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_0_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_0_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_0_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_0_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_0_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_1_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_1_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_1_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_1_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_1_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_1_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_1_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_1_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_1_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_1_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_1_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_1_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_1_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_1_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_1_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_2_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_2_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_2_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_2_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_2_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_2_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_2_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_2_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_2_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_2_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_2_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_2_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_2_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_2_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_2_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_3_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_3_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_3_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_3_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_3_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_3_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_3_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_3_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_3_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_3_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_3_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_3_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_3_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_3_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_3_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_4_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_4_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_4_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_4_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_4_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_4_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_4_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_4_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_4_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_4_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_4_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_4_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_4_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_4_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_4_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_5_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_5_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_5_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_5_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_5_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_5_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_5_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_5_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_5_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_5_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_5_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_5_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_5_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_5_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_5_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_6_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_6_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_6_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_6_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_6_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_6_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_6_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_6_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_6_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_6_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_6_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_6_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_6_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_6_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_6_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_7_0(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_3_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A2))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_7_1(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_7_0(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_7_2(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_7_1(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_7_3(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_7_2(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_7_4(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_7_3(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_7_5(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_7_4(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_7_6(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_7_5(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_3_7_7_7(MAC, SEP, A0, A1, A2) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_3_7_7_6(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)))
#define DYND_PP__JOIN_OUTER_2_4(MAC, SEP, A0, A1, A2, A3) DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_, DYND_PP_DEC(DYND_PP_LEN(A0)), _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, A2, A3)
#define DYND_PP__JOIN_OUTER_2_4_0_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3))
#define DYND_PP__JOIN_OUTER_2_4_0_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_0_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_0_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_1_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_1_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_2_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_2_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_3_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_3_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_4_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_4_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_5_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_5_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_6_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_6_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A1)), _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, DYND_PP_APPEND(DYND_PP_FIRST(A0), DYND_PP_POP_FIRST(A0)), DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_0_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_0_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_0_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_0_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_0_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_0_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_0_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_0_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_0_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_1_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_1_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_1_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_1_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_1_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_1_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_1_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_1_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_1_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_2_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_2_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_2_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_2_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_2_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_2_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_2_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_2_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_2_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_3_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_3_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_3_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_3_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_3_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_3_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_3_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_3_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_3_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_4_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_4_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_4_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_4_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_4_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_4_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_4_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_4_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_4_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_5_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_5_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_5_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_5_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_5_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_5_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_5_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_5_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_5_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_6_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_6_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_6_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_6_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_6_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_6_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_6_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_6_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_6_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_0_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A2)), _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, DYND_PP_APPEND(DYND_PP_FIRST(A1), DYND_PP_POP_FIRST(A1)), DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_0_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_0_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_0_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_0_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_0_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_0_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_0_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_0_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_0_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_0_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_0_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_0_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_0_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_0_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_1_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_7_0, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_1_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_1_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_1_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_1_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_1_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_1_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_1_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_1_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_1_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_1_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_1_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_1_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_1_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_1_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_2_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_7_1, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_2_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_2_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_2_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_2_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_2_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_2_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_2_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_2_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_2_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_2_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_2_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_2_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_2_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_2_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_3_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_7_2, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_3_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_3_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_3_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_3_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_3_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_3_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_3_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_3_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_3_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_3_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_3_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_3_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_3_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_3_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_4_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_7_3, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_4_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_4_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_4_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_4_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_4_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_4_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_4_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_4_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_4_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_4_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_4_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_4_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_4_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_4_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_5_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_7_4, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_5_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_5_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_5_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_5_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_5_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_5_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_5_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_5_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_5_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_5_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_5_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_5_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_5_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_5_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_6_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_7_5, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_6_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_6_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_6_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_6_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_6_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_6_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_6_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_6_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_6_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_6_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_6_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_6_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_6_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_6_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_7_0(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP_CAT((DYND_PP__JOIN_OUTER_2_4_7_7_6, _, DYND_PP_DEC(DYND_PP_LEN(A3))))(MAC, SEP, A0, A1, DYND_PP_APPEND(DYND_PP_FIRST(A2), DYND_PP_POP_FIRST(A2)), DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_7_1(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_7_0(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_7_2(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_7_1(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_7_3(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_7_2(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_7_4(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_7_3(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_7_5(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_7_4(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_7_6(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_7_5(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))
#define DYND_PP__JOIN_OUTER_2_4_7_7_7_7(MAC, SEP, A0, A1, A2, A3) MAC(DYND_PP_FIRST(A0), DYND_PP_FIRST(A1), DYND_PP_FIRST(A2), DYND_PP_FIRST(A3)) DYND_PP_ID SEP DYND_PP__JOIN_OUTER_2_4_7_7_7_6(MAC, SEP, A0, A1, A2, DYND_PP_APPEND(DYND_PP_FIRST(A3), DYND_PP_POP_FIRST(A3)))

#define DYND_PP_ARRAY_DIMS(A) DYND_PP_PASTE(DYND_PP_ARRAY_DIMS_, DYND_PP_LEN(A))(DYND_PP_ID(A))
#define DYND_PP_ARRAY_DIMS_1(A) [DYND_PP_FIRST(A)]
#define DYND_PP_ARRAY_DIMS_2(A) [DYND_PP_FIRST(A)]DYND_PP_ARRAY_DIMS_1(DYND_PP_POP_FIRST(A))
#define DYND_PP_ARRAY_DIMS_3(A) [DYND_PP_FIRST(A)]DYND_PP_ARRAY_DIMS_2(DYND_PP_POP_FIRST(A))
#define DYND_PP_ARRAY_DIMS_4(A) [DYND_PP_FIRST(A)]DYND_PP_ARRAY_DIMS_3(DYND_PP_POP_FIRST(A))
#define DYND_PP_ARRAY_DIMS_5(A) [DYND_PP_FIRST(A)]DYND_PP_ARRAY_DIMS_4(DYND_PP_POP_FIRST(A))
#define DYND_PP_ARRAY_DIMS_6(A) [DYND_PP_FIRST(A)]DYND_PP_ARRAY_DIMS_5(DYND_PP_POP_FIRST(A))
#define DYND_PP_ARRAY_DIMS_7(A) [DYND_PP_FIRST(A)]DYND_PP_ARRAY_DIMS_6(DYND_PP_POP_FIRST(A))
#define DYND_PP_ARRAY_DIMS_8(A) [DYND_PP_FIRST(A)]DYND_PP_ARRAY_DIMS_7(DYND_PP_POP_FIRST(A))

#define DYND_PP_JOIN DYND_PP_JOIN_0
#define DYND_PP_JOIN_0(SEP, A) DYND_PP_PASTE(DYND_PP_JOIN_0_ , DYND_PP_LEN(A))(SEP, A)
#define DYND_PP_JOIN_0_0(SEP, A)
#define DYND_PP_JOIN_0_1(SEP, A) DYND_PP_FIRST(A)
#define DYND_PP_JOIN_0_2(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_0_1(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_0_3(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_0_2(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_0_4(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_0_3(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_0_5(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_0_4(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_0_6(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_0_5(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_0_7(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_0_6(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_0_8(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_0_7(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_1(SEP, A) DYND_PP_PASTE(DYND_PP_JOIN_1_ , DYND_PP_LEN(A))(SEP, A)
#define DYND_PP_JOIN_1_0(SEP, A)
#define DYND_PP_JOIN_1_1(SEP, A) DYND_PP_FIRST(A)
#define DYND_PP_JOIN_1_2(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_1_1(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_1_3(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_1_2(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_1_4(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_1_3(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_1_5(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_1_4(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_1_6(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_1_5(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_1_7(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_1_6(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_1_8(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_1_7(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_2(SEP, A) DYND_PP_PASTE(DYND_PP_JOIN_2_ , DYND_PP_LEN(A))(SEP, A)
#define DYND_PP_JOIN_2_0(SEP, A)
#define DYND_PP_JOIN_2_1(SEP, A) DYND_PP_FIRST(A)
#define DYND_PP_JOIN_2_2(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_2_1(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_2_3(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_2_2(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_2_4(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_2_3(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_2_5(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_2_4(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_2_6(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_2_5(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_2_7(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_2_6(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_2_8(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_2_7(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_3(SEP, A) DYND_PP_PASTE(DYND_PP_JOIN_3_ , DYND_PP_LEN(A))(SEP, A)
#define DYND_PP_JOIN_3_0(SEP, A)
#define DYND_PP_JOIN_3_1(SEP, A) DYND_PP_FIRST(A)
#define DYND_PP_JOIN_3_2(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_3_1(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_3_3(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_3_2(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_3_4(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_3_3(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_3_5(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_3_4(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_3_6(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_3_5(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_3_7(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_3_6(SEP, DYND_PP_POP_FIRST(A))
#define DYND_PP_JOIN_3_8(SEP, A) DYND_PP_FIRST(A) DYND_PP_ID SEP DYND_PP_JOIN_3_7(SEP, DYND_PP_POP_FIRST(A))

#define DYND_PP_A_EQ_A
#define DYND_PP_B_EQ_B
#define DYND_PP_C_EQ_C
#define DYND_PP_D_EQ_D
#define DYND_PP_E_EQ_E
#define DYND_PP_F_EQ_F
#define DYND_PP_G_EQ_G
#define DYND_PP_H_EQ_H
#define DYND_PP_I_EQ_I
#define DYND_PP_J_EQ_J
#define DYND_PP_K_EQ_K
#define DYND_PP_L_EQ_L
#define DYND_PP_M_EQ_M
#define DYND_PP_N_EQ_N
#define DYND_PP_O_EQ_O
#define DYND_PP_P_EQ_P
#define DYND_PP_Q_EQ_Q
#define DYND_PP_R_EQ_R
#define DYND_PP_S_EQ_S
#define DYND_PP_T_EQ_T
#define DYND_PP_U_EQ_U
#define DYND_PP_V_EQ_V
#define DYND_PP_W_EQ_W
#define DYND_PP_X_EQ_X
#define DYND_PP_Y_EQ_Y
#define DYND_PP_Z_EQ_Z

#define DYND_PP_a_EQ_a
#define DYND_PP_b_EQ_b
#define DYND_PP_c_EQ_c
#define DYND_PP_d_EQ_d
#define DYND_PP_e_EQ_e
#define DYND_PP_f_EQ_f
#define DYND_PP_g_EQ_g
#define DYND_PP_h_EQ_h
#define DYND_PP_i_EQ_i
#define DYND_PP_j_EQ_j
#define DYND_PP_k_EQ_k
#define DYND_PP_l_EQ_l
#define DYND_PP_m_EQ_m
#define DYND_PP_n_EQ_n
#define DYND_PP_o_EQ_o
#define DYND_PP_p_EQ_p
#define DYND_PP_q_EQ_q
#define DYND_PP_r_EQ_r
#define DYND_PP_s_EQ_s
#define DYND_PP_t_EQ_t
#define DYND_PP_u_EQ_u
#define DYND_PP_v_EQ_v
#define DYND_PP_w_EQ_w
#define DYND_PP_x_EQ_x
#define DYND_PP_y_EQ_y
#define DYND_PP_z_EQ_z

#define DYND_PP_0_EQ_0
#define DYND_PP_1_EQ_1
#define DYND_PP_2_EQ_2
#define DYND_PP_3_EQ_3
#define DYND_PP_4_EQ_4
#define DYND_PP_5_EQ_5
#define DYND_PP_6_EQ_6
#define DYND_PP_7_EQ_7
#define DYND_PP_8_EQ_8
#define DYND_PP_9_EQ_9

#endif
