! Latent predictor variable X measured by X1-X4
! Latent mediator M measured by 4 observed variables M1-M4
! Latent moderators W, Z, V, and Q, each measured by sets of 4 observed variables W1-W4, Z1-Z4, V1-V4, and Q1-Q4 respectively
! Latent outcome variable Y measured by Y1-Y4
USEVARIABLES = X1 X2 X3 X4 M1 M2 M3 M4
W1 W2 W3 W4 Z1 Z2 Z3 Z4 V1 V2 V3 V4 Q1 Q2 Q3 Q4
Y1 Y2 Y3 Y4;
ANALYSIS:
   TYPE = GENERAL RANDOM;
   ESTIMATOR = ML;
   ALGORITHM = INTEGRATION;
! In model statement first state measurement model
! Then create any latent interactions required
! Then state structural model naming each path and intercept using parentheses
MODEL:
! Measurement model
! Identify moderator factors by fixing variance = 1 (instead of first loading)
! This makes these factors standardised
   X BY X1 X2 X3 X4;
   M BY M1 M2 M3 M4;
   W BY W1* W2 W3 W4;
   Z BY Z1* Z2 Z3 Z4;
   V BY V1* V2 V3 V4;
   Q BY Q1* Q2 Q3 Q4;
   Y BY Y1 Y2 Y3 Y4;
 
  W@1;
  Z@1;
  V@1;
  Q@1;
! Create latent interactions
   MV | M XWITH V;
   MQ | M XWITH Q;
   XW | X XWITH W;
   XZ | X XWITH Z;
   XV | X XWITH V;
   XQ | X XWITH Q;
   WZ | W XWITH Z;
   VQ | V XWITH Q;
   MVQ | M XWITH VQ;
   XWZ | X XWITH WZ;
   XVQ | X XWITH VQ;
! Fit structural model and name parameters
! Note that intercepts of M, Y are fixed = 0 since they are latent vars
! so no code to state and name them as parameters
   Y ON M (b1);
   Y ON MV (b2);
   Y ON MQ (b3);
   Y ON MVQ (b4);
   Y ON X (cdash1);
   Y ON V (cdash2);
   Y ON Q (cdash3);
   Y ON XV (cdash4);
   Y ON XQ (cdash5);
   Y ON VQ (cdash6);
   Y ON XVQ (cdash7);
   M ON X (a1);
   M ON W (a2);
   M ON Z (a3);
   M ON XW (a4);
   M ON XZ (a5);
   M ON WZ (a6);
   M ON XWZ (a7);
! Use model constraint subcommand to test conditional indirect effects
! You need to pick low, medium and high moderator values for W, Z, V, Q
! for example, of 1 SD below mean, mean, 1 SD above mean
! 4 moderators, 3 values for each, gives 81 combinations
! arbitrary naming convention for conditional indirect and total effects used below:
! HHML = high value of W, high value of Z, medium value of V and low value of Q.
MODEL CONSTRAINT:
    NEW(LOW_W MED_W HIGH_W LOW_Z MED_Z HIGH_Z LOW_V MED_V HIGH_V LOW_Q MED_Q HIGH_Q
    ILLLL IMLLL IHLLL ILMLL IMMLL IHMLL ILHLL IMHLL IHHLL
    ILLML IMLML IHLML ILMML IMMML IHMML ILHML IMHML IHHML
    ILLHL IMLHL IHLHL ILMHL IMMHL IHMHL ILHHL IMHHL IHHHL
    ILLLM IMLLM IHLLM ILMLM IMMLM IHMLM ILHLM IMHLM IHHLM
    ILLMM IMLMM IHLMM ILMMM IMMMM IHMMM ILHMM IMHMM IHHMM
    ILLHM IMLHM IHLHM ILMHM IMMHM IHMHM ILHHM IMHHM IHHHM
    ILLLH IMLLH IHLLH ILMLH IMMLH IHMLH ILHLH IMHLH IHHLH
    ILLMH IMLMH IHLMH ILMMH IMMMH IHMMH ILHMH IMHMH IHHMH
    ILLHH IMLHH IHLHH ILMHH IMMHH IHMHH ILHHH IMHHH IHHHH
    DLOV_LOQ DMEV_LOQ DHIV_LOQ DLOV_MEQ DMEV_MEQ DHIV_MEQ
    DLOV_HIQ DMEV_HIQ DHIV_HIQ
    TLLLL TMLLL THLLL TLMLL TMMLL THMLL TLHLL TMHLL THHLL
    TLLML TMLML THLML TLMML TMMML THMML TLHML TMHML THHML
    TLLHL TMLHL THLHL TLMHL TMMHL THMHL TLHHL TMHHL THHHL
    TLLLM TMLLM THLLM TLMLM TMMLM THMLM TLHLM TMHLM THHLM
    TLLMM TMLMM THLMM TLMMM TMMMM THMMM TLHMM TMHMM THHMM
    TLLHM TMLHM THLHM TLMHM TMMHM THMHM TLHHM TMHHM THHHM
    TLLLH TMLLH THLLH TLMLH TMMLH THMLH TLHLH TMHLH THHLH
    TLLMH TMLMH THLMH TLMMH TMMMH THMMH TLHMH TMHMH THHMH
    TLLHH TMLHH THLHH TLMHH TMMHH THMHH TLHHH TMHHH THHHH);
    LOW_W = -1;   ! -1 SD below mean value of W
    MED_W = 0;   ! mean value of W
    HIGH_W = 1;   ! +1 SD above mean value of W
    LOW_Z = -1;   ! -1 SD below mean value of Z
    MED_Z = 0;   ! mean value of Z
    HIGH_Z = 1;   ! +1 SD above mean value of Z
    LOW_V = -1;   ! -1 SD below mean value of V
    MED_V = 0;   ! mean value of V
    HIGH_V = 1;   ! +1 SD above mean value of V
    LOW_Q = -1;   ! -1 SD below mean value of Q
    MED_Q = 0;   ! mean value of Q
    HIGH_Q = 1;   ! +1 SD above mean value of Q
! Calc conditional indirect effects for each combination of moderator values
    ILLLL = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a7*b1*LOW_W*LOW_Z +
     a1*b2*LOW_V + a4*b2*LOW_W*LOW_V + a5*b2*LOW_Z*LOW_V +
     a7*b2*LOW_W*LOW_Z*LOW_V + a1*b3*LOW_Q + a4*b3*LOW_W*LOW_Q +
     a5*b3*LOW_Z*LOW_Q + a7*b3*LOW_W*LOW_Z*LOW_Q + a1*b4*LOW_V*LOW_Q +
     a4*b4*LOW_W*LOW_V*LOW_Q + a5*b4*LOW_Z*LOW_V*LOW_Q +
     a7*b4*LOW_W*LOW_Z*LOW_V*LOW_Q;
    IMLLL = a1*b1 + a4*b1*MED_W + a5*b1*LOW_Z + a7*b1*MED_W*LOW_Z +
     a1*b2*LOW_V + a4*b2*MED_W*LOW_V + a5*b2*LOW_Z*LOW_V +
     a7*b2*MED_W*LOW_Z*LOW_V + a1*b3*LOW_Q + a4*b3*MED_W*LOW_Q +
     a5*b3*LOW_Z*LOW_Q + a7*b3*MED_W*LOW_Z*LOW_Q + a1*b4*LOW_V*LOW_Q +
     a4*b4*MED_W*LOW_V*LOW_Q + a5*b4*LOW_Z*LOW_V*LOW_Q +
     a7*b4*MED_W*LOW_Z*LOW_V*LOW_Q;
    IHLLL = a1*b1 + a4*b1*HIGH_W + a5*b1*LOW_Z + a7*b1*HIGH_W*LOW_Z +
     a1*b2*LOW_V + a4*b2*HIGH_W*LOW_V + a5*b2*LOW_Z*LOW_V +
     a7*b2*HIGH_W*LOW_Z*LOW_V + a1*b3*LOW_Q + a4*b3*HIGH_W*LOW_Q +
     a5*b3*LOW_Z*LOW_Q + a7*b3*HIGH_W*LOW_Z*LOW_Q + a1*b4*LOW_V*LOW_Q +
     a4*b4*HIGH_W*LOW_V*LOW_Q + a5*b4*LOW_Z*LOW_V*LOW_Q +
     a7*b4*HIGH_W*LOW_Z*LOW_V*LOW_Q;
    ILMLL = a1*b1 + a4*b1*LOW_W + a5*b1*MED_Z + a7*b1*LOW_W*MED_Z +
     a1*b2*LOW_V + a4*b2*LOW_W*LOW_V + a5*b2*MED_Z*LOW_V +
     a7*b2*LOW_W*MED_Z*LOW_V + a1*b3*LOW_Q + a4*b3*LOW_W*LOW_Q +
     a5*b3*MED_Z*LOW_Q + a7*b3*LOW_W*MED_Z*LOW_Q + a1*b4*LOW_V*LOW_Q +
     a4*b4*LOW_W*LOW_V*LOW_Q + a5*b4*MED_Z*LOW_V*LOW_Q +
     a7*b4*LOW_W*MED_Z*LOW_V*LOW_Q;
    IMMLL = a1*b1 + a4*b1*MED_W + a5*b1*MED_Z + a7*b1*MED_W*MED_Z +
     a1*b2*LOW_V + a4*b2*MED_W*LOW_V + a5*b2*MED_Z*LOW_V +
     a7*b2*MED_W*MED_Z*LOW_V + a1*b3*LOW_Q + a4*b3*MED_W*LOW_Q +
     a5*b3*MED_Z*LOW_Q + a7*b3*MED_W*MED_Z*LOW_Q + a1*b4*LOW_V*LOW_Q +
     a4*b4*MED_W*LOW_V*LOW_Q + a5*b4*MED_Z*LOW_V*LOW_Q +
     a7*b4*MED_W*MED_Z*LOW_V*LOW_Q;
    IHMLL = a1*b1 + a4*b1*HIGH_W + a5*b1*MED_Z + a7*b1*HIGH_W*MED_Z +
     a1*b2*LOW_V + a4*b2*HIGH_W*LOW_V + a5*b2*MED_Z*LOW_V +
     a7*b2*HIGH_W*MED_Z*LOW_V + a1*b3*LOW_Q + a4*b3*HIGH_W*LOW_Q +
     a5*b3*MED_Z*LOW_Q + a7*b3*HIGH_W*MED_Z*LOW_Q + a1*b4*LOW_V*LOW_Q +
     a4*b4*HIGH_W*LOW_V*LOW_Q + a5*b4*MED_Z*LOW_V*LOW_Q +
     a7*b4*HIGH_W*MED_Z*LOW_V*LOW_Q;
    ILHLL = a1*b1 + a4*b1*LOW_W + a5*b1*HIGH_Z + a7*b1*LOW_W*HIGH_Z +
     a1*b2*LOW_V + a4*b2*LOW_W*LOW_V + a5*b2*HIGH_Z*LOW_V +
     a7*b2*LOW_W*HIGH_Z*LOW_V + a1*b3*LOW_Q + a4*b3*LOW_W*LOW_Q +
     a5*b3*HIGH_Z*LOW_Q + a7*b3*LOW_W*HIGH_Z*LOW_Q + a1*b4*LOW_V*LOW_Q +
     a4*b4*LOW_W*LOW_V*LOW_Q + a5*b4*HIGH_Z*LOW_V*LOW_Q +
     a7*b4*LOW_W*HIGH_Z*LOW_V*LOW_Q;
    IMHLL = a1*b1 + a4*b1*MED_W + a5*b1*HIGH_Z + a7*b1*MED_W*HIGH_Z +
     a1*b2*LOW_V + a4*b2*MED_W*LOW_V + a5*b2*HIGH_Z*LOW_V +
     a7*b2*MED_W*HIGH_Z*LOW_V + a1*b3*LOW_Q + a4*b3*MED_W*LOW_Q +
     a5*b3*HIGH_Z*LOW_Q + a7*b3*MED_W*HIGH_Z*LOW_Q + a1*b4*LOW_V*LOW_Q +
     a4*b4*MED_W*LOW_V*LOW_Q + a5*b4*HIGH_Z*LOW_V*LOW_Q +
     a7*b4*MED_W*HIGH_Z*LOW_V*LOW_Q;
    IHHLL = a1*b1 + a4*b1*HIGH_W + a5*b1*HIGH_Z + a7*b1*HIGH_W*HIGH_Z +
     a1*b2*LOW_V + a4*b2*HIGH_W*LOW_V + a5*b2*HIGH_Z*LOW_V +
     a7*b2*HIGH_W*HIGH_Z*LOW_V + a1*b3*LOW_Q + a4*b3*HIGH_W*LOW_Q +
     a5*b3*HIGH_Z*LOW_Q + a7*b3*HIGH_W*HIGH_Z*LOW_Q + a1*b4*LOW_V*LOW_Q +
     a4*b4*HIGH_W*LOW_V*LOW_Q + a5*b4*HIGH_Z*LOW_V*LOW_Q +
     a7*b4*HIGH_W*HIGH_Z*LOW_V*LOW_Q;
    ILLML = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a7*b1*LOW_W*LOW_Z +
     a1*b2*MED_V + a4*b2*LOW_W*MED_V + a5*b2*LOW_Z*MED_V +
     a7*b2*LOW_W*LOW_Z*MED_V + a1*b3*LOW_Q + a4*b3*LOW_W*LOW_Q +
     a5*b3*LOW_Z*LOW_Q + a7*b3*LOW_W*LOW_Z*LOW_Q + a1*b4*MED_V*LOW_Q +
     a4*b4*LOW_W*MED_V*LOW_Q + a5*b4*LOW_Z*MED_V*LOW_Q +
     a7*b4*LOW_W*LOW_Z*MED_V*LOW_Q;
    IMLML = a1*b1 + a4*b1*MED_W + a5*b1*LOW_Z + a7*b1*MED_W*LOW_Z +
     a1*b2*MED_V + a4*b2*MED_W*MED_V + a5*b2*LOW_Z*MED_V +
     a7*b2*MED_W*LOW_Z*MED_V + a1*b3*LOW_Q + a4*b3*MED_W*LOW_Q +
     a5*b3*LOW_Z*LOW_Q + a7*b3*MED_W*LOW_Z*LOW_Q + a1*b4*MED_V*LOW_Q +
     a4*b4*MED_W*MED_V*LOW_Q + a5*b4*LOW_Z*MED_V*LOW_Q +
     a7*b4*MED_W*LOW_Z*MED_V*LOW_Q;
    IHLML = a1*b1 + a4*b1*HIGH_W + a5*b1*LOW_Z + a7*b1*HIGH_W*LOW_Z +
     a1*b2*MED_V + a4*b2*HIGH_W*MED_V + a5*b2*LOW_Z*MED_V +
     a7*b2*HIGH_W*LOW_Z*MED_V + a1*b3*LOW_Q + a4*b3*HIGH_W*LOW_Q +
     a5*b3*LOW_Z*LOW_Q + a7*b3*HIGH_W*LOW_Z*LOW_Q + a1*b4*MED_V*LOW_Q +
     a4*b4*HIGH_W*MED_V*LOW_Q + a5*b4*LOW_Z*MED_V*LOW_Q +
     a7*b4*HIGH_W*LOW_Z*MED_V*LOW_Q;
    ILMML = a1*b1 + a4*b1*LOW_W + a5*b1*MED_Z + a7*b1*LOW_W*MED_Z +
     a1*b2*MED_V + a4*b2*LOW_W*MED_V + a5*b2*MED_Z*MED_V +
     a7*b2*LOW_W*MED_Z*MED_V + a1*b3*LOW_Q + a4*b3*LOW_W*LOW_Q +
     a5*b3*MED_Z*LOW_Q + a7*b3*LOW_W*MED_Z*LOW_Q + a1*b4*MED_V*LOW_Q +
     a4*b4*LOW_W*MED_V*LOW_Q + a5*b4*MED_Z*MED_V*LOW_Q +
     a7*b4*LOW_W*MED_Z*MED_V*LOW_Q;
    IMMML = a1*b1 + a4*b1*MED_W + a5*b1*MED_Z + a7*b1*MED_W*MED_Z +
     a1*b2*MED_V + a4*b2*MED_W*MED_V + a5*b2*MED_Z*MED_V +
     a7*b2*MED_W*MED_Z*MED_V + a1*b3*LOW_Q + a4*b3*MED_W*LOW_Q +
     a5*b3*MED_Z*LOW_Q + a7*b3*MED_W*MED_Z*LOW_Q + a1*b4*MED_V*LOW_Q +
     a4*b4*MED_W*MED_V*LOW_Q + a5*b4*MED_Z*MED_V*LOW_Q +
     a7*b4*MED_W*MED_Z*MED_V*LOW_Q;
    IHMML = a1*b1 + a4*b1*HIGH_W + a5*b1*MED_Z + a7*b1*HIGH_W*MED_Z +
     a1*b2*MED_V + a4*b2*HIGH_W*MED_V + a5*b2*MED_Z*MED_V +
     a7*b2*HIGH_W*MED_Z*MED_V + a1*b3*LOW_Q + a4*b3*HIGH_W*LOW_Q +
     a5*b3*MED_Z*LOW_Q + a7*b3*HIGH_W*MED_Z*LOW_Q + a1*b4*MED_V*LOW_Q +
     a4*b4*HIGH_W*MED_V*LOW_Q + a5*b4*MED_Z*MED_V*LOW_Q +
     a7*b4*HIGH_W*MED_Z*MED_V*LOW_Q;
    ILHML = a1*b1 + a4*b1*LOW_W + a5*b1*HIGH_Z + a7*b1*LOW_W*HIGH_Z +
     a1*b2*MED_V + a4*b2*LOW_W*MED_V + a5*b2*HIGH_Z*MED_V +
     a7*b2*LOW_W*HIGH_Z*MED_V + a1*b3*LOW_Q + a4*b3*LOW_W*LOW_Q +
     a5*b3*HIGH_Z*LOW_Q + a7*b3*LOW_W*HIGH_Z*LOW_Q + a1*b4*MED_V*LOW_Q +
     a4*b4*LOW_W*MED_V*LOW_Q + a5*b4*HIGH_Z*MED_V*LOW_Q +
     a7*b4*LOW_W*HIGH_Z*MED_V*LOW_Q;
    IMHML = a1*b1 + a4*b1*MED_W + a5*b1*HIGH_Z + a7*b1*MED_W*HIGH_Z +
     a1*b2*MED_V + a4*b2*MED_W*MED_V + a5*b2*HIGH_Z*MED_V +
     a7*b2*MED_W*HIGH_Z*MED_V + a1*b3*LOW_Q + a4*b3*MED_W*LOW_Q +
     a5*b3*HIGH_Z*LOW_Q + a7*b3*MED_W*HIGH_Z*LOW_Q + a1*b4*MED_V*LOW_Q +
     a4*b4*MED_W*MED_V*LOW_Q + a5*b4*HIGH_Z*MED_V*LOW_Q +
     a7*b4*MED_W*HIGH_Z*MED_V*LOW_Q;
    IHHML = a1*b1 + a4*b1*HIGH_W + a5*b1*HIGH_Z + a7*b1*HIGH_W*HIGH_Z +
     a1*b2*MED_V + a4*b2*HIGH_W*MED_V + a5*b2*HIGH_Z*MED_V +
     a7*b2*HIGH_W*HIGH_Z*MED_V + a1*b3*LOW_Q + a4*b3*HIGH_W*LOW_Q +
     a5*b3*HIGH_Z*LOW_Q + a7*b3*HIGH_W*HIGH_Z*LOW_Q + a1*b4*MED_V*LOW_Q +
     a4*b4*HIGH_W*MED_V*LOW_Q + a5*b4*HIGH_Z*MED_V*LOW_Q +
     a7*b4*HIGH_W*HIGH_Z*MED_V*LOW_Q;
    ILLHL = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a7*b1*LOW_W*LOW_Z +
     a1*b2*HIGH_V + a4*b2*LOW_W*HIGH_V + a5*b2*LOW_Z*HIGH_V +
     a7*b2*LOW_W*LOW_Z*HIGH_V + a1*b3*LOW_Q + a4*b3*LOW_W*LOW_Q +
     a5*b3*LOW_Z*LOW_Q + a7*b3*LOW_W*LOW_Z*LOW_Q + a1*b4*HIGH_V*LOW_Q +
     a4*b4*LOW_W*HIGH_V*LOW_Q + a5*b4*LOW_Z*HIGH_V*LOW_Q +
     a7*b4*LOW_W*LOW_Z*HIGH_V*LOW_Q;
    IMLHL = a1*b1 + a4*b1*MED_W + a5*b1*LOW_Z + a7*b1*MED_W*LOW_Z +
     a1*b2*HIGH_V + a4*b2*MED_W*HIGH_V + a5*b2*LOW_Z*HIGH_V +
     a7*b2*MED_W*LOW_Z*HIGH_V + a1*b3*LOW_Q + a4*b3*MED_W*LOW_Q +
     a5*b3*LOW_Z*LOW_Q + a7*b3*MED_W*LOW_Z*LOW_Q + a1*b4*HIGH_V*LOW_Q +
     a4*b4*MED_W*HIGH_V*LOW_Q + a5*b4*LOW_Z*HIGH_V*LOW_Q +
     a7*b4*MED_W*LOW_Z*HIGH_V*LOW_Q;
    IHLHL = a1*b1 + a4*b1*HIGH_W + a5*b1*LOW_Z + a7*b1*HIGH_W*LOW_Z +
     a1*b2*HIGH_V + a4*b2*HIGH_W*HIGH_V + a5*b2*LOW_Z*HIGH_V +
     a7*b2*HIGH_W*LOW_Z*HIGH_V + a1*b3*LOW_Q + a4*b3*HIGH_W*LOW_Q +
     a5*b3*LOW_Z*LOW_Q + a7*b3*HIGH_W*LOW_Z*LOW_Q + a1*b4*HIGH_V*LOW_Q +
     a4*b4*HIGH_W*HIGH_V*LOW_Q + a5*b4*LOW_Z*HIGH_V*LOW_Q +
     a7*b4*HIGH_W*LOW_Z*HIGH_V*LOW_Q;
    ILMHL = a1*b1 + a4*b1*LOW_W + a5*b1*MED_Z + a7*b1*LOW_W*MED_Z +
     a1*b2*HIGH_V + a4*b2*LOW_W*HIGH_V + a5*b2*MED_Z*HIGH_V +
     a7*b2*LOW_W*MED_Z*HIGH_V + a1*b3*LOW_Q + a4*b3*LOW_W*LOW_Q +
     a5*b3*MED_Z*LOW_Q + a7*b3*LOW_W*MED_Z*LOW_Q + a1*b4*HIGH_V*LOW_Q +
     a4*b4*LOW_W*HIGH_V*LOW_Q + a5*b4*MED_Z*HIGH_V*LOW_Q +
     a7*b4*LOW_W*MED_Z*HIGH_V*LOW_Q;
    IMMHL = a1*b1 + a4*b1*MED_W + a5*b1*MED_Z + a7*b1*MED_W*MED_Z +
     a1*b2*HIGH_V + a4*b2*MED_W*HIGH_V + a5*b2*MED_Z*HIGH_V +
     a7*b2*MED_W*MED_Z*HIGH_V + a1*b3*LOW_Q + a4*b3*MED_W*LOW_Q +
     a5*b3*MED_Z*LOW_Q + a7*b3*MED_W*MED_Z*LOW_Q + a1*b4*HIGH_V*LOW_Q +
     a4*b4*MED_W*HIGH_V*LOW_Q + a5*b4*MED_Z*HIGH_V*LOW_Q +
     a7*b4*MED_W*MED_Z*HIGH_V*LOW_Q;
    IHMHL = a1*b1 + a4*b1*HIGH_W + a5*b1*MED_Z + a7*b1*HIGH_W*MED_Z +
     a1*b2*HIGH_V + a4*b2*HIGH_W*HIGH_V + a5*b2*MED_Z*HIGH_V +
     a7*b2*HIGH_W*MED_Z*HIGH_V + a1*b3*LOW_Q + a4*b3*HIGH_W*LOW_Q +
     a5*b3*MED_Z*LOW_Q + a7*b3*HIGH_W*MED_Z*LOW_Q + a1*b4*HIGH_V*LOW_Q +
     a4*b4*HIGH_W*HIGH_V*LOW_Q + a5*b4*MED_Z*HIGH_V*LOW_Q +
     a7*b4*HIGH_W*MED_Z*HIGH_V*LOW_Q;
    ILHHL = a1*b1 + a4*b1*LOW_W + a5*b1*HIGH_Z + a7*b1*LOW_W*HIGH_Z +
     a1*b2*HIGH_V + a4*b2*LOW_W*HIGH_V + a5*b2*HIGH_Z*HIGH_V +
     a7*b2*LOW_W*HIGH_Z*HIGH_V + a1*b3*LOW_Q + a4*b3*LOW_W*LOW_Q +
     a5*b3*HIGH_Z*LOW_Q + a7*b3*LOW_W*HIGH_Z*LOW_Q + a1*b4*HIGH_V*LOW_Q +
     a4*b4*LOW_W*HIGH_V*LOW_Q + a5*b4*HIGH_Z*HIGH_V*LOW_Q +
     a7*b4*LOW_W*HIGH_Z*HIGH_V*LOW_Q;
    IMHHL = a1*b1 + a4*b1*MED_W + a5*b1*HIGH_Z + a7*b1*MED_W*HIGH_Z +
     a1*b2*HIGH_V + a4*b2*MED_W*HIGH_V + a5*b2*HIGH_Z*HIGH_V +
     a7*b2*MED_W*HIGH_Z*HIGH_V + a1*b3*LOW_Q + a4*b3*MED_W*LOW_Q +
     a5*b3*HIGH_Z*LOW_Q + a7*b3*MED_W*HIGH_Z*LOW_Q + a1*b4*HIGH_V*LOW_Q +
     a4*b4*MED_W*HIGH_V*LOW_Q + a5*b4*HIGH_Z*HIGH_V*LOW_Q +
     a7*b4*MED_W*HIGH_Z*HIGH_V*LOW_Q;
    IHHHL = a1*b1 + a4*b1*HIGH_W + a5*b1*HIGH_Z + a7*b1*HIGH_W*HIGH_Z +
     a1*b2*HIGH_V + a4*b2*HIGH_W*HIGH_V + a5*b2*HIGH_Z*HIGH_V +
     a7*b2*HIGH_W*HIGH_Z*HIGH_V + a1*b3*LOW_Q + a4*b3*HIGH_W*LOW_Q +
     a5*b3*HIGH_Z*LOW_Q + a7*b3*HIGH_W*HIGH_Z*LOW_Q + a1*b4*HIGH_V*LOW_Q +
     a4*b4*HIGH_W*HIGH_V*LOW_Q + a5*b4*HIGH_Z*HIGH_V*LOW_Q +
     a7*b4*HIGH_W*HIGH_Z*HIGH_V*LOW_Q;
    ILLLM = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a7*b1*LOW_W*LOW_Z +
     a1*b2*LOW_V + a4*b2*LOW_W*LOW_V + a5*b2*LOW_Z*LOW_V +
     a7*b2*LOW_W*LOW_Z*LOW_V + a1*b3*MED_Q + a4*b3*LOW_W*MED_Q +
     a5*b3*LOW_Z*MED_Q + a7*b3*LOW_W*LOW_Z*MED_Q + a1*b4*LOW_V*MED_Q +
     a4*b4*LOW_W*LOW_V*MED_Q + a5*b4*LOW_Z*LOW_V*MED_Q +
     a7*b4*LOW_W*LOW_Z*LOW_V*MED_Q;
    IMLLM = a1*b1 + a4*b1*MED_W + a5*b1*LOW_Z + a7*b1*MED_W*LOW_Z +
     a1*b2*LOW_V + a4*b2*MED_W*LOW_V + a5*b2*LOW_Z*LOW_V +
     a7*b2*MED_W*LOW_Z*LOW_V + a1*b3*MED_Q + a4*b3*MED_W*MED_Q +
     a5*b3*LOW_Z*MED_Q + a7*b3*MED_W*LOW_Z*MED_Q + a1*b4*LOW_V*MED_Q +
     a4*b4*MED_W*LOW_V*MED_Q + a5*b4*LOW_Z*LOW_V*MED_Q +
     a7*b4*MED_W*LOW_Z*LOW_V*MED_Q;
    IHLLM = a1*b1 + a4*b1*HIGH_W + a5*b1*LOW_Z + a7*b1*HIGH_W*LOW_Z +
     a1*b2*LOW_V + a4*b2*HIGH_W*LOW_V + a5*b2*LOW_Z*LOW_V +
     a7*b2*HIGH_W*LOW_Z*LOW_V + a1*b3*MED_Q + a4*b3*HIGH_W*MED_Q +
     a5*b3*LOW_Z*MED_Q + a7*b3*HIGH_W*LOW_Z*MED_Q + a1*b4*LOW_V*MED_Q +
     a4*b4*HIGH_W*LOW_V*MED_Q + a5*b4*LOW_Z*LOW_V*MED_Q +
     a7*b4*HIGH_W*LOW_Z*LOW_V*MED_Q;
    ILMLM = a1*b1 + a4*b1*LOW_W + a5*b1*MED_Z + a7*b1*LOW_W*MED_Z +
     a1*b2*LOW_V + a4*b2*LOW_W*LOW_V + a5*b2*MED_Z*LOW_V +
     a7*b2*LOW_W*MED_Z*LOW_V + a1*b3*MED_Q + a4*b3*LOW_W*MED_Q +
     a5*b3*MED_Z*MED_Q + a7*b3*LOW_W*MED_Z*MED_Q + a1*b4*LOW_V*MED_Q +
     a4*b4*LOW_W*LOW_V*MED_Q + a5*b4*MED_Z*LOW_V*MED_Q +
     a7*b4*LOW_W*MED_Z*LOW_V*MED_Q;
    IMMLM = a1*b1 + a4*b1*MED_W + a5*b1*MED_Z + a7*b1*MED_W*MED_Z +
     a1*b2*LOW_V + a4*b2*MED_W*LOW_V + a5*b2*MED_Z*LOW_V +
     a7*b2*MED_W*MED_Z*LOW_V + a1*b3*MED_Q + a4*b3*MED_W*MED_Q +
     a5*b3*MED_Z*MED_Q + a7*b3*MED_W*MED_Z*MED_Q + a1*b4*LOW_V*MED_Q +
     a4*b4*MED_W*LOW_V*MED_Q + a5*b4*MED_Z*LOW_V*MED_Q +
     a7*b4*MED_W*MED_Z*LOW_V*MED_Q;
    IHMLM = a1*b1 + a4*b1*HIGH_W + a5*b1*MED_Z + a7*b1*HIGH_W*MED_Z +
     a1*b2*LOW_V + a4*b2*HIGH_W*LOW_V + a5*b2*MED_Z*LOW_V +
     a7*b2*HIGH_W*MED_Z*LOW_V + a1*b3*MED_Q + a4*b3*HIGH_W*MED_Q +
     a5*b3*MED_Z*MED_Q + a7*b3*HIGH_W*MED_Z*MED_Q + a1*b4*LOW_V*MED_Q +
     a4*b4*HIGH_W*LOW_V*MED_Q + a5*b4*MED_Z*LOW_V*MED_Q +
     a7*b4*HIGH_W*MED_Z*LOW_V*MED_Q;
    ILHLM = a1*b1 + a4*b1*LOW_W + a5*b1*HIGH_Z + a7*b1*LOW_W*HIGH_Z +
     a1*b2*LOW_V + a4*b2*LOW_W*LOW_V + a5*b2*HIGH_Z*LOW_V +
     a7*b2*LOW_W*HIGH_Z*LOW_V + a1*b3*MED_Q + a4*b3*LOW_W*MED_Q +
     a5*b3*HIGH_Z*MED_Q + a7*b3*LOW_W*HIGH_Z*MED_Q + a1*b4*LOW_V*MED_Q +
     a4*b4*LOW_W*LOW_V*MED_Q + a5*b4*HIGH_Z*LOW_V*MED_Q +
     a7*b4*LOW_W*HIGH_Z*LOW_V*MED_Q;
    IMHLM = a1*b1 + a4*b1*MED_W + a5*b1*HIGH_Z + a7*b1*MED_W*HIGH_Z +
     a1*b2*LOW_V + a4*b2*MED_W*LOW_V + a5*b2*HIGH_Z*LOW_V +
     a7*b2*MED_W*HIGH_Z*LOW_V + a1*b3*MED_Q + a4*b3*MED_W*MED_Q +
     a5*b3*HIGH_Z*MED_Q + a7*b3*MED_W*HIGH_Z*MED_Q + a1*b4*LOW_V*MED_Q +
     a4*b4*MED_W*LOW_V*MED_Q + a5*b4*HIGH_Z*LOW_V*MED_Q +
     a7*b4*MED_W*HIGH_Z*LOW_V*MED_Q;
    IHHLM = a1*b1 + a4*b1*HIGH_W + a5*b1*HIGH_Z + a7*b1*HIGH_W*HIGH_Z +
     a1*b2*LOW_V + a4*b2*HIGH_W*LOW_V + a5*b2*HIGH_Z*LOW_V +
     a7*b2*HIGH_W*HIGH_Z*LOW_V + a1*b3*MED_Q + a4*b3*HIGH_W*MED_Q +
     a5*b3*HIGH_Z*MED_Q + a7*b3*HIGH_W*HIGH_Z*MED_Q + a1*b4*LOW_V*MED_Q +
     a4*b4*HIGH_W*LOW_V*MED_Q + a5*b4*HIGH_Z*LOW_V*MED_Q +
     a7*b4*HIGH_W*HIGH_Z*LOW_V*MED_Q;
    ILLMM = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a7*b1*LOW_W*LOW_Z +
     a1*b2*MED_V + a4*b2*LOW_W*MED_V + a5*b2*LOW_Z*MED_V +
     a7*b2*LOW_W*LOW_Z*MED_V + a1*b3*MED_Q + a4*b3*LOW_W*MED_Q +
     a5*b3*LOW_Z*MED_Q + a7*b3*LOW_W*LOW_Z*MED_Q + a1*b4*MED_V*MED_Q +
     a4*b4*LOW_W*MED_V*MED_Q + a5*b4*LOW_Z*MED_V*MED_Q +
     a7*b4*LOW_W*LOW_Z*MED_V*MED_Q;
    IMLMM = a1*b1 + a4*b1*MED_W + a5*b1*LOW_Z + a7*b1*MED_W*LOW_Z +
     a1*b2*MED_V + a4*b2*MED_W*MED_V + a5*b2*LOW_Z*MED_V +
     a7*b2*MED_W*LOW_Z*MED_V + a1*b3*MED_Q + a4*b3*MED_W*MED_Q +
     a5*b3*LOW_Z*MED_Q + a7*b3*MED_W*LOW_Z*MED_Q + a1*b4*MED_V*MED_Q +
     a4*b4*MED_W*MED_V*MED_Q + a5*b4*LOW_Z*MED_V*MED_Q +
     a7*b4*MED_W*LOW_Z*MED_V*MED_Q;
    IHLMM = a1*b1 + a4*b1*HIGH_W + a5*b1*LOW_Z + a7*b1*HIGH_W*LOW_Z +
     a1*b2*MED_V + a4*b2*HIGH_W*MED_V + a5*b2*LOW_Z*MED_V +
     a7*b2*HIGH_W*LOW_Z*MED_V + a1*b3*MED_Q + a4*b3*HIGH_W*MED_Q +
     a5*b3*LOW_Z*MED_Q + a7*b3*HIGH_W*LOW_Z*MED_Q + a1*b4*MED_V*MED_Q +
     a4*b4*HIGH_W*MED_V*MED_Q + a5*b4*LOW_Z*MED_V*MED_Q +
     a7*b4*HIGH_W*LOW_Z*MED_V*MED_Q;
    ILMMM = a1*b1 + a4*b1*LOW_W + a5*b1*MED_Z + a7*b1*LOW_W*MED_Z +
     a1*b2*MED_V + a4*b2*LOW_W*MED_V + a5*b2*MED_Z*MED_V +
     a7*b2*LOW_W*MED_Z*MED_V + a1*b3*MED_Q + a4*b3*LOW_W*MED_Q +
     a5*b3*MED_Z*MED_Q + a7*b3*LOW_W*MED_Z*MED_Q + a1*b4*MED_V*MED_Q +
     a4*b4*LOW_W*MED_V*MED_Q + a5*b4*MED_Z*MED_V*MED_Q +
     a7*b4*LOW_W*MED_Z*MED_V*MED_Q;
    IMMMM = a1*b1 + a4*b1*MED_W + a5*b1*MED_Z + a7*b1*MED_W*MED_Z +
     a1*b2*MED_V + a4*b2*MED_W*MED_V + a5*b2*MED_Z*MED_V +
     a7*b2*MED_W*MED_Z*MED_V + a1*b3*MED_Q + a4*b3*MED_W*MED_Q +
     a5*b3*MED_Z*MED_Q + a7*b3*MED_W*MED_Z*MED_Q + a1*b4*MED_V*MED_Q +
     a4*b4*MED_W*MED_V*MED_Q + a5*b4*MED_Z*MED_V*MED_Q +
     a7*b4*MED_W*MED_Z*MED_V*MED_Q;
    IHMMM = a1*b1 + a4*b1*HIGH_W + a5*b1*MED_Z + a7*b1*HIGH_W*MED_Z +
     a1*b2*MED_V + a4*b2*HIGH_W*MED_V + a5*b2*MED_Z*MED_V +
     a7*b2*HIGH_W*MED_Z*MED_V + a1*b3*MED_Q + a4*b3*HIGH_W*MED_Q +
     a5*b3*MED_Z*MED_Q + a7*b3*HIGH_W*MED_Z*MED_Q + a1*b4*MED_V*MED_Q +
     a4*b4*HIGH_W*MED_V*MED_Q + a5*b4*MED_Z*MED_V*MED_Q +
     a7*b4*HIGH_W*MED_Z*MED_V*MED_Q;
    ILHMM = a1*b1 + a4*b1*LOW_W + a5*b1*HIGH_Z + a7*b1*LOW_W*HIGH_Z +
     a1*b2*MED_V + a4*b2*LOW_W*MED_V + a5*b2*HIGH_Z*MED_V +
     a7*b2*LOW_W*HIGH_Z*MED_V + a1*b3*MED_Q + a4*b3*LOW_W*MED_Q +
     a5*b3*HIGH_Z*MED_Q + a7*b3*LOW_W*HIGH_Z*MED_Q + a1*b4*MED_V*MED_Q +
     a4*b4*LOW_W*MED_V*MED_Q + a5*b4*HIGH_Z*MED_V*MED_Q +
     a7*b4*LOW_W*HIGH_Z*MED_V*MED_Q;
    IMHMM = a1*b1 + a4*b1*MED_W + a5*b1*HIGH_Z + a7*b1*MED_W*HIGH_Z +
     a1*b2*MED_V + a4*b2*MED_W*MED_V + a5*b2*HIGH_Z*MED_V +
     a7*b2*MED_W*HIGH_Z*MED_V + a1*b3*MED_Q + a4*b3*MED_W*MED_Q +
     a5*b3*HIGH_Z*MED_Q + a7*b3*MED_W*HIGH_Z*MED_Q + a1*b4*MED_V*MED_Q +
     a4*b4*MED_W*MED_V*MED_Q + a5*b4*HIGH_Z*MED_V*MED_Q +
     a7*b4*MED_W*HIGH_Z*MED_V*MED_Q;
    IHHMM = a1*b1 + a4*b1*HIGH_W + a5*b1*HIGH_Z + a7*b1*HIGH_W*HIGH_Z +
     a1*b2*MED_V + a4*b2*HIGH_W*MED_V + a5*b2*HIGH_Z*MED_V +
     a7*b2*HIGH_W*HIGH_Z*MED_V + a1*b3*MED_Q + a4*b3*HIGH_W*MED_Q +
     a5*b3*HIGH_Z*MED_Q + a7*b3*HIGH_W*HIGH_Z*MED_Q + a1*b4*MED_V*MED_Q +
     a4*b4*HIGH_W*MED_V*MED_Q + a5*b4*HIGH_Z*MED_V*MED_Q +
     a7*b4*HIGH_W*HIGH_Z*MED_V*MED_Q;
    ILLHM = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a7*b1*LOW_W*LOW_Z +
     a1*b2*HIGH_V + a4*b2*LOW_W*HIGH_V + a5*b2*LOW_Z*HIGH_V +
     a7*b2*LOW_W*LOW_Z*HIGH_V + a1*b3*MED_Q + a4*b3*LOW_W*MED_Q +
     a5*b3*LOW_Z*MED_Q + a7*b3*LOW_W*LOW_Z*MED_Q + a1*b4*HIGH_V*MED_Q +
     a4*b4*LOW_W*HIGH_V*MED_Q + a5*b4*LOW_Z*HIGH_V*MED_Q +
     a7*b4*LOW_W*LOW_Z*HIGH_V*MED_Q;
    IMLHM = a1*b1 + a4*b1*MED_W + a5*b1*LOW_Z + a7*b1*MED_W*LOW_Z +
     a1*b2*HIGH_V + a4*b2*MED_W*HIGH_V + a5*b2*LOW_Z*HIGH_V +
     a7*b2*MED_W*LOW_Z*HIGH_V + a1*b3*MED_Q + a4*b3*MED_W*MED_Q +
     a5*b3*LOW_Z*MED_Q + a7*b3*MED_W*LOW_Z*MED_Q + a1*b4*HIGH_V*MED_Q +
     a4*b4*MED_W*HIGH_V*MED_Q + a5*b4*LOW_Z*HIGH_V*MED_Q +
     a7*b4*MED_W*LOW_Z*HIGH_V*MED_Q;
    IHLHM = a1*b1 + a4*b1*HIGH_W + a5*b1*LOW_Z + a7*b1*HIGH_W*LOW_Z +
     a1*b2*HIGH_V + a4*b2*HIGH_W*HIGH_V + a5*b2*LOW_Z*HIGH_V +
     a7*b2*HIGH_W*LOW_Z*HIGH_V + a1*b3*MED_Q + a4*b3*HIGH_W*MED_Q +
     a5*b3*LOW_Z*MED_Q + a7*b3*HIGH_W*LOW_Z*MED_Q + a1*b4*HIGH_V*MED_Q +
     a4*b4*HIGH_W*HIGH_V*MED_Q + a5*b4*LOW_Z*HIGH_V*MED_Q +
     a7*b4*HIGH_W*LOW_Z*HIGH_V*MED_Q;
    ILMHM = a1*b1 + a4*b1*LOW_W + a5*b1*MED_Z + a7*b1*LOW_W*MED_Z +
     a1*b2*HIGH_V + a4*b2*LOW_W*HIGH_V + a5*b2*MED_Z*HIGH_V +
     a7*b2*LOW_W*MED_Z*HIGH_V + a1*b3*MED_Q + a4*b3*LOW_W*MED_Q +
     a5*b3*MED_Z*MED_Q + a7*b3*LOW_W*MED_Z*MED_Q + a1*b4*HIGH_V*MED_Q +
     a4*b4*LOW_W*HIGH_V*MED_Q + a5*b4*MED_Z*HIGH_V*MED_Q +
     a7*b4*LOW_W*MED_Z*HIGH_V*MED_Q;
    IMMHM = a1*b1 + a4*b1*MED_W + a5*b1*MED_Z + a7*b1*MED_W*MED_Z +
     a1*b2*HIGH_V + a4*b2*MED_W*HIGH_V + a5*b2*MED_Z*HIGH_V +
     a7*b2*MED_W*MED_Z*HIGH_V + a1*b3*MED_Q + a4*b3*MED_W*MED_Q +
     a5*b3*MED_Z*MED_Q + a7*b3*MED_W*MED_Z*MED_Q + a1*b4*HIGH_V*MED_Q +
     a4*b4*MED_W*HIGH_V*MED_Q + a5*b4*MED_Z*HIGH_V*MED_Q +
     a7*b4*MED_W*MED_Z*HIGH_V*MED_Q;
    IHMHM = a1*b1 + a4*b1*HIGH_W + a5*b1*MED_Z + a7*b1*HIGH_W*MED_Z +
     a1*b2*HIGH_V + a4*b2*HIGH_W*HIGH_V + a5*b2*MED_Z*HIGH_V +
     a7*b2*HIGH_W*MED_Z*HIGH_V + a1*b3*MED_Q + a4*b3*HIGH_W*MED_Q +
     a5*b3*MED_Z*MED_Q + a7*b3*HIGH_W*MED_Z*MED_Q + a1*b4*HIGH_V*MED_Q +
     a4*b4*HIGH_W*HIGH_V*MED_Q + a5*b4*MED_Z*HIGH_V*MED_Q +
     a7*b4*HIGH_W*MED_Z*HIGH_V*MED_Q;
    ILHHM = a1*b1 + a4*b1*LOW_W + a5*b1*HIGH_Z + a7*b1*LOW_W*HIGH_Z +
     a1*b2*HIGH_V + a4*b2*LOW_W*HIGH_V + a5*b2*HIGH_Z*HIGH_V +
     a7*b2*LOW_W*HIGH_Z*HIGH_V + a1*b3*MED_Q + a4*b3*LOW_W*MED_Q +
     a5*b3*HIGH_Z*MED_Q + a7*b3*LOW_W*HIGH_Z*MED_Q + a1*b4*HIGH_V*MED_Q +
     a4*b4*LOW_W*HIGH_V*MED_Q + a5*b4*HIGH_Z*HIGH_V*MED_Q +
     a7*b4*LOW_W*HIGH_Z*HIGH_V*MED_Q;
    IMHHM = a1*b1 + a4*b1*MED_W + a5*b1*HIGH_Z + a7*b1*MED_W*HIGH_Z +
     a1*b2*HIGH_V + a4*b2*MED_W*HIGH_V + a5*b2*HIGH_Z*HIGH_V +
     a7*b2*MED_W*HIGH_Z*HIGH_V + a1*b3*MED_Q + a4*b3*MED_W*MED_Q +
     a5*b3*HIGH_Z*MED_Q + a7*b3*MED_W*HIGH_Z*MED_Q + a1*b4*HIGH_V*MED_Q +
     a4*b4*MED_W*HIGH_V*MED_Q + a5*b4*HIGH_Z*HIGH_V*MED_Q +
     a7*b4*MED_W*HIGH_Z*HIGH_V*MED_Q;
    IHHHM = a1*b1 + a4*b1*HIGH_W + a5*b1*HIGH_Z + a7*b1*HIGH_W*HIGH_Z +
     a1*b2*HIGH_V + a4*b2*HIGH_W*HIGH_V + a5*b2*HIGH_Z*HIGH_V +
     a7*b2*HIGH_W*HIGH_Z*HIGH_V + a1*b3*MED_Q + a4*b3*HIGH_W*MED_Q +
     a5*b3*HIGH_Z*MED_Q + a7*b3*HIGH_W*HIGH_Z*MED_Q + a1*b4*HIGH_V*MED_Q +
     a4*b4*HIGH_W*HIGH_V*MED_Q + a5*b4*HIGH_Z*HIGH_V*MED_Q +
     a7*b4*HIGH_W*HIGH_Z*HIGH_V*MED_Q;
    ILLLH = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a7*b1*LOW_W*LOW_Z +
     a1*b2*LOW_V + a4*b2*LOW_W*LOW_V + a5*b2*LOW_Z*LOW_V +
     a7*b2*LOW_W*LOW_Z*LOW_V + a1*b3*HIGH_Q + a4*b3*LOW_W*HIGH_Q +
     a5*b3*LOW_Z*HIGH_Q + a7*b3*LOW_W*LOW_Z*HIGH_Q + a1*b4*LOW_V*HIGH_Q +
     a4*b4*LOW_W*LOW_V*HIGH_Q + a5*b4*LOW_Z*LOW_V*HIGH_Q +
     a7*b4*LOW_W*LOW_Z*LOW_V*HIGH_Q;
    IMLLH = a1*b1 + a4*b1*MED_W + a5*b1*LOW_Z + a7*b1*MED_W*LOW_Z +
     a1*b2*LOW_V + a4*b2*MED_W*LOW_V + a5*b2*LOW_Z*LOW_V +
     a7*b2*MED_W*LOW_Z*LOW_V + a1*b3*HIGH_Q + a4*b3*MED_W*HIGH_Q +
     a5*b3*LOW_Z*HIGH_Q + a7*b3*MED_W*LOW_Z*HIGH_Q + a1*b4*LOW_V*HIGH_Q +
     a4*b4*MED_W*LOW_V*HIGH_Q + a5*b4*LOW_Z*LOW_V*HIGH_Q +
     a7*b4*MED_W*LOW_Z*LOW_V*HIGH_Q;
    IHLLH = a1*b1 + a4*b1*HIGH_W + a5*b1*LOW_Z + a7*b1*HIGH_W*LOW_Z +
     a1*b2*LOW_V + a4*b2*HIGH_W*LOW_V + a5*b2*LOW_Z*LOW_V +
     a7*b2*HIGH_W*LOW_Z*LOW_V + a1*b3*HIGH_Q + a4*b3*HIGH_W*HIGH_Q +
     a5*b3*LOW_Z*HIGH_Q + a7*b3*HIGH_W*LOW_Z*HIGH_Q + a1*b4*LOW_V*HIGH_Q +
     a4*b4*HIGH_W*LOW_V*HIGH_Q + a5*b4*LOW_Z*LOW_V*HIGH_Q +
     a7*b4*HIGH_W*LOW_Z*LOW_V*HIGH_Q;
    ILMLH = a1*b1 + a4*b1*LOW_W + a5*b1*MED_Z + a7*b1*LOW_W*MED_Z +
     a1*b2*LOW_V + a4*b2*LOW_W*LOW_V + a5*b2*MED_Z*LOW_V +
     a7*b2*LOW_W*MED_Z*LOW_V + a1*b3*HIGH_Q + a4*b3*LOW_W*HIGH_Q +
     a5*b3*MED_Z*HIGH_Q + a7*b3*LOW_W*MED_Z*HIGH_Q + a1*b4*LOW_V*HIGH_Q +
     a4*b4*LOW_W*LOW_V*HIGH_Q + a5*b4*MED_Z*LOW_V*HIGH_Q +
     a7*b4*LOW_W*MED_Z*LOW_V*HIGH_Q;
    IMMLH = a1*b1 + a4*b1*MED_W + a5*b1*MED_Z + a7*b1*MED_W*MED_Z +
     a1*b2*LOW_V + a4*b2*MED_W*LOW_V + a5*b2*MED_Z*LOW_V +
     a7*b2*MED_W*MED_Z*LOW_V + a1*b3*HIGH_Q + a4*b3*MED_W*HIGH_Q +
     a5*b3*MED_Z*HIGH_Q + a7*b3*MED_W*MED_Z*HIGH_Q + a1*b4*LOW_V*HIGH_Q +
     a4*b4*MED_W*LOW_V*HIGH_Q + a5*b4*MED_Z*LOW_V*HIGH_Q +
     a7*b4*MED_W*MED_Z*LOW_V*HIGH_Q;
    IHMLH = a1*b1 + a4*b1*HIGH_W + a5*b1*MED_Z + a7*b1*HIGH_W*MED_Z +
     a1*b2*LOW_V + a4*b2*HIGH_W*LOW_V + a5*b2*MED_Z*LOW_V +
     a7*b2*HIGH_W*MED_Z*LOW_V + a1*b3*HIGH_Q + a4*b3*HIGH_W*HIGH_Q +
     a5*b3*MED_Z*HIGH_Q + a7*b3*HIGH_W*MED_Z*HIGH_Q + a1*b4*LOW_V*HIGH_Q +
     a4*b4*HIGH_W*LOW_V*HIGH_Q + a5*b4*MED_Z*LOW_V*HIGH_Q +
     a7*b4*HIGH_W*MED_Z*LOW_V*HIGH_Q;
    ILHLH = a1*b1 + a4*b1*LOW_W + a5*b1*HIGH_Z + a7*b1*LOW_W*HIGH_Z +
     a1*b2*LOW_V + a4*b2*LOW_W*LOW_V + a5*b2*HIGH_Z*LOW_V +
     a7*b2*LOW_W*HIGH_Z*LOW_V + a1*b3*HIGH_Q + a4*b3*LOW_W*HIGH_Q +
     a5*b3*HIGH_Z*HIGH_Q + a7*b3*LOW_W*HIGH_Z*HIGH_Q + a1*b4*LOW_V*HIGH_Q +
     a4*b4*LOW_W*LOW_V*HIGH_Q + a5*b4*HIGH_Z*LOW_V*HIGH_Q +
     a7*b4*LOW_W*HIGH_Z*LOW_V*HIGH_Q;
    IMHLH = a1*b1 + a4*b1*MED_W + a5*b1*HIGH_Z + a7*b1*MED_W*HIGH_Z +
     a1*b2*LOW_V + a4*b2*MED_W*LOW_V + a5*b2*HIGH_Z*LOW_V +
     a7*b2*MED_W*HIGH_Z*LOW_V + a1*b3*HIGH_Q + a4*b3*MED_W*HIGH_Q +
     a5*b3*HIGH_Z*HIGH_Q + a7*b3*MED_W*HIGH_Z*HIGH_Q + a1*b4*LOW_V*HIGH_Q +
     a4*b4*MED_W*LOW_V*HIGH_Q + a5*b4*HIGH_Z*LOW_V*HIGH_Q +
     a7*b4*MED_W*HIGH_Z*LOW_V*HIGH_Q;
    IHHLH = a1*b1 + a4*b1*HIGH_W + a5*b1*HIGH_Z + a7*b1*HIGH_W*HIGH_Z +
     a1*b2*LOW_V + a4*b2*HIGH_W*LOW_V + a5*b2*HIGH_Z*LOW_V +
     a7*b2*HIGH_W*HIGH_Z*LOW_V + a1*b3*HIGH_Q + a4*b3*HIGH_W*HIGH_Q +
     a5*b3*HIGH_Z*HIGH_Q + a7*b3*HIGH_W*HIGH_Z*HIGH_Q + a1*b4*LOW_V*HIGH_Q +
     a4*b4*HIGH_W*LOW_V*HIGH_Q + a5*b4*HIGH_Z*LOW_V*HIGH_Q +
     a7*b4*HIGH_W*HIGH_Z*LOW_V*HIGH_Q;
    ILLMH = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a7*b1*LOW_W*LOW_Z +
     a1*b2*MED_V + a4*b2*LOW_W*MED_V + a5*b2*LOW_Z*MED_V +
     a7*b2*LOW_W*LOW_Z*MED_V + a1*b3*HIGH_Q + a4*b3*LOW_W*HIGH_Q +
     a5*b3*LOW_Z*HIGH_Q + a7*b3*LOW_W*LOW_Z*HIGH_Q + a1*b4*MED_V*HIGH_Q +
     a4*b4*LOW_W*MED_V*HIGH_Q + a5*b4*LOW_Z*MED_V*HIGH_Q +
     a7*b4*LOW_W*LOW_Z*MED_V*HIGH_Q;
    IMLMH = a1*b1 + a4*b1*MED_W + a5*b1*LOW_Z + a7*b1*MED_W*LOW_Z +
     a1*b2*MED_V + a4*b2*MED_W*MED_V + a5*b2*LOW_Z*MED_V +
     a7*b2*MED_W*LOW_Z*MED_V + a1*b3*HIGH_Q + a4*b3*MED_W*HIGH_Q +
     a5*b3*LOW_Z*HIGH_Q + a7*b3*MED_W*LOW_Z*HIGH_Q + a1*b4*MED_V*HIGH_Q +
     a4*b4*MED_W*MED_V*HIGH_Q + a5*b4*LOW_Z*MED_V*HIGH_Q +
     a7*b4*MED_W*LOW_Z*MED_V*HIGH_Q;
    IHLMH = a1*b1 + a4*b1*HIGH_W + a5*b1*LOW_Z + a7*b1*HIGH_W*LOW_Z +
     a1*b2*MED_V + a4*b2*HIGH_W*MED_V + a5*b2*LOW_Z*MED_V +
     a7*b2*HIGH_W*LOW_Z*MED_V + a1*b3*HIGH_Q + a4*b3*HIGH_W*HIGH_Q +
     a5*b3*LOW_Z*HIGH_Q + a7*b3*HIGH_W*LOW_Z*HIGH_Q + a1*b4*MED_V*HIGH_Q +
     a4*b4*HIGH_W*MED_V*HIGH_Q + a5*b4*LOW_Z*MED_V*HIGH_Q +
     a7*b4*HIGH_W*LOW_Z*MED_V*HIGH_Q;
    ILMMH = a1*b1 + a4*b1*LOW_W + a5*b1*MED_Z + a7*b1*LOW_W*MED_Z +
     a1*b2*MED_V + a4*b2*LOW_W*MED_V + a5*b2*MED_Z*MED_V +
     a7*b2*LOW_W*MED_Z*MED_V + a1*b3*HIGH_Q + a4*b3*LOW_W*HIGH_Q +
     a5*b3*MED_Z*HIGH_Q + a7*b3*LOW_W*MED_Z*HIGH_Q + a1*b4*MED_V*HIGH_Q +
     a4*b4*LOW_W*MED_V*HIGH_Q + a5*b4*MED_Z*MED_V*HIGH_Q +
     a7*b4*LOW_W*MED_Z*MED_V*HIGH_Q;
    IMMMH = a1*b1 + a4*b1*MED_W + a5*b1*MED_Z + a7*b1*MED_W*MED_Z +
     a1*b2*MED_V + a4*b2*MED_W*MED_V + a5*b2*MED_Z*MED_V +
     a7*b2*MED_W*MED_Z*MED_V + a1*b3*HIGH_Q + a4*b3*MED_W*HIGH_Q +
     a5*b3*MED_Z*HIGH_Q + a7*b3*MED_W*MED_Z*HIGH_Q + a1*b4*MED_V*HIGH_Q +
     a4*b4*MED_W*MED_V*HIGH_Q + a5*b4*MED_Z*MED_V*HIGH_Q +
     a7*b4*MED_W*MED_Z*MED_V*HIGH_Q;
    IHMMH = a1*b1 + a4*b1*HIGH_W + a5*b1*MED_Z + a7*b1*HIGH_W*MED_Z +
     a1*b2*MED_V + a4*b2*HIGH_W*MED_V + a5*b2*MED_Z*MED_V +
     a7*b2*HIGH_W*MED_Z*MED_V + a1*b3*HIGH_Q + a4*b3*HIGH_W*HIGH_Q +
     a5*b3*MED_Z*HIGH_Q + a7*b3*HIGH_W*MED_Z*HIGH_Q + a1*b4*MED_V*HIGH_Q +
     a4*b4*HIGH_W*MED_V*HIGH_Q + a5*b4*MED_Z*MED_V*HIGH_Q +
     a7*b4*HIGH_W*MED_Z*MED_V*HIGH_Q;
    ILHMH = a1*b1 + a4*b1*LOW_W + a5*b1*HIGH_Z + a7*b1*LOW_W*HIGH_Z +
     a1*b2*MED_V + a4*b2*LOW_W*MED_V + a5*b2*HIGH_Z*MED_V +
     a7*b2*LOW_W*HIGH_Z*MED_V + a1*b3*HIGH_Q + a4*b3*LOW_W*HIGH_Q +
     a5*b3*HIGH_Z*HIGH_Q + a7*b3*LOW_W*HIGH_Z*HIGH_Q + a1*b4*MED_V*HIGH_Q +
     a4*b4*LOW_W*MED_V*HIGH_Q + a5*b4*HIGH_Z*MED_V*HIGH_Q +
     a7*b4*LOW_W*HIGH_Z*MED_V*HIGH_Q;
    IMHMH = a1*b1 + a4*b1*MED_W + a5*b1*HIGH_Z + a7*b1*MED_W*HIGH_Z +
     a1*b2*MED_V + a4*b2*MED_W*MED_V + a5*b2*HIGH_Z*MED_V +
     a7*b2*MED_W*HIGH_Z*MED_V + a1*b3*HIGH_Q + a4*b3*MED_W*HIGH_Q +
     a5*b3*HIGH_Z*HIGH_Q + a7*b3*MED_W*HIGH_Z*HIGH_Q + a1*b4*MED_V*HIGH_Q +
     a4*b4*MED_W*MED_V*HIGH_Q + a5*b4*HIGH_Z*MED_V*HIGH_Q +
     a7*b4*MED_W*HIGH_Z*MED_V*HIGH_Q;
    IHHMH = a1*b1 + a4*b1*HIGH_W + a5*b1*HIGH_Z + a7*b1*HIGH_W*HIGH_Z +
     a1*b2*MED_V + a4*b2*HIGH_W*MED_V + a5*b2*HIGH_Z*MED_V +
     a7*b2*HIGH_W*HIGH_Z*MED_V + a1*b3*HIGH_Q + a4*b3*HIGH_W*HIGH_Q +
     a5*b3*HIGH_Z*HIGH_Q + a7*b3*HIGH_W*HIGH_Z*HIGH_Q + a1*b4*MED_V*HIGH_Q +
     a4*b4*HIGH_W*MED_V*HIGH_Q + a5*b4*HIGH_Z*MED_V*HIGH_Q +
     a7*b4*HIGH_W*HIGH_Z*MED_V*HIGH_Q;
    ILLHH = a1*b1 + a4*b1*LOW_W + a5*b1*LOW_Z + a7*b1*LOW_W*LOW_Z +
     a1*b2*HIGH_V + a4*b2*LOW_W*HIGH_V + a5*b2*LOW_Z*HIGH_V +
     a7*b2*LOW_W*LOW_Z*HIGH_V + a1*b3*HIGH_Q + a4*b3*LOW_W*HIGH_Q +
     a5*b3*LOW_Z*HIGH_Q + a7*b3*LOW_W*LOW_Z*HIGH_Q + a1*b4*HIGH_V*HIGH_Q +
     a4*b4*LOW_W*HIGH_V*HIGH_Q + a5*b4*LOW_Z*HIGH_V*HIGH_Q +
     a7*b4*LOW_W*LOW_Z*HIGH_V*HIGH_Q;
    IMLHH = a1*b1 + a4*b1*MED_W + a5*b1*LOW_Z + a7*b1*MED_W*LOW_Z +
     a1*b2*HIGH_V + a4*b2*MED_W*HIGH_V + a5*b2*LOW_Z*HIGH_V +
     a7*b2*MED_W*LOW_Z*HIGH_V + a1*b3*HIGH_Q + a4*b3*MED_W*HIGH_Q +
     a5*b3*LOW_Z*HIGH_Q + a7*b3*MED_W*LOW_Z*HIGH_Q + a1*b4*HIGH_V*HIGH_Q +
     a4*b4*MED_W*HIGH_V*HIGH_Q + a5*b4*LOW_Z*HIGH_V*HIGH_Q +
     a7*b4*MED_W*LOW_Z*HIGH_V*HIGH_Q;
    IHLHH = a1*b1 + a4*b1*HIGH_W + a5*b1*LOW_Z + a7*b1*HIGH_W*LOW_Z +
     a1*b2*HIGH_V + a4*b2*HIGH_W*HIGH_V + a5*b2*LOW_Z*HIGH_V +
     a7*b2*HIGH_W*LOW_Z*HIGH_V + a1*b3*HIGH_Q + a4*b3*HIGH_W*HIGH_Q +
     a5*b3*LOW_Z*HIGH_Q + a7*b3*HIGH_W*LOW_Z*HIGH_Q + a1*b4*HIGH_V*HIGH_Q +
     a4*b4*HIGH_W*HIGH_V*HIGH_Q + a5*b4*LOW_Z*HIGH_V*HIGH_Q +
     a7*b4*HIGH_W*LOW_Z*HIGH_V*HIGH_Q;
    ILMHH = a1*b1 + a4*b1*LOW_W + a5*b1*MED_Z + a7*b1*LOW_W*MED_Z +
     a1*b2*HIGH_V + a4*b2*LOW_W*HIGH_V + a5*b2*MED_Z*HIGH_V +
     a7*b2*LOW_W*MED_Z*HIGH_V + a1*b3*HIGH_Q + a4*b3*LOW_W*HIGH_Q +
     a5*b3*MED_Z*HIGH_Q + a7*b3*LOW_W*MED_Z*HIGH_Q + a1*b4*HIGH_V*HIGH_Q +
     a4*b4*LOW_W*HIGH_V*HIGH_Q + a5*b4*MED_Z*HIGH_V*HIGH_Q +
     a7*b4*LOW_W*MED_Z*HIGH_V*HIGH_Q;
    IMMHH = a1*b1 + a4*b1*MED_W + a5*b1*MED_Z + a7*b1*MED_W*MED_Z +
     a1*b2*HIGH_V + a4*b2*MED_W*HIGH_V + a5*b2*MED_Z*HIGH_V +
     a7*b2*MED_W*MED_Z*HIGH_V + a1*b3*HIGH_Q + a4*b3*MED_W*HIGH_Q +
     a5*b3*MED_Z*HIGH_Q + a7*b3*MED_W*MED_Z*HIGH_Q + a1*b4*HIGH_V*HIGH_Q +
     a4*b4*MED_W*HIGH_V*HIGH_Q + a5*b4*MED_Z*HIGH_V*HIGH_Q +
     a7*b4*MED_W*MED_Z*HIGH_V*HIGH_Q;
    IHMHH = a1*b1 + a4*b1*HIGH_W + a5*b1*MED_Z + a7*b1*HIGH_W*MED_Z +
     a1*b2*HIGH_V + a4*b2*HIGH_W*HIGH_V + a5*b2*MED_Z*HIGH_V +
     a7*b2*HIGH_W*MED_Z*HIGH_V + a1*b3*HIGH_Q + a4*b3*HIGH_W*HIGH_Q +
     a5*b3*MED_Z*HIGH_Q + a7*b3*HIGH_W*MED_Z*HIGH_Q + a1*b4*HIGH_V*HIGH_Q +
     a4*b4*HIGH_W*HIGH_V*HIGH_Q + a5*b4*MED_Z*HIGH_V*HIGH_Q +
     a7*b4*HIGH_W*MED_Z*HIGH_V*HIGH_Q;
    ILHHH = a1*b1 + a4*b1*LOW_W + a5*b1*HIGH_Z + a7*b1*LOW_W*HIGH_Z +
     a1*b2*HIGH_V + a4*b2*LOW_W*HIGH_V + a5*b2*HIGH_Z*HIGH_V +
     a7*b2*LOW_W*HIGH_Z*HIGH_V + a1*b3*HIGH_Q + a4*b3*LOW_W*HIGH_Q +
     a5*b3*HIGH_Z*HIGH_Q + a7*b3*LOW_W*HIGH_Z*HIGH_Q + a1*b4*HIGH_V*HIGH_Q +
     a4*b4*LOW_W*HIGH_V*HIGH_Q + a5*b4*HIGH_Z*HIGH_V*HIGH_Q +
     a7*b4*LOW_W*HIGH_Z*HIGH_V*HIGH_Q;
    IMHHH = a1*b1 + a4*b1*MED_W + a5*b1*HIGH_Z + a7*b1*MED_W*HIGH_Z +
     a1*b2*HIGH_V + a4*b2*MED_W*HIGH_V + a5*b2*HIGH_Z*HIGH_V +
     a7*b2*MED_W*HIGH_Z*HIGH_V + a1*b3*HIGH_Q + a4*b3*MED_W*HIGH_Q +
     a5*b3*HIGH_Z*HIGH_Q + a7*b3*MED_W*HIGH_Z*HIGH_Q + a1*b4*HIGH_V*HIGH_Q +
     a4*b4*MED_W*HIGH_V*HIGH_Q + a5*b4*HIGH_Z*HIGH_V*HIGH_Q +
     a7*b4*MED_W*HIGH_Z*HIGH_V*HIGH_Q;
    IHHHH = a1*b1 + a4*b1*HIGH_W + a5*b1*HIGH_Z + a7*b1*HIGH_W*HIGH_Z +
     a1*b2*HIGH_V + a4*b2*HIGH_W*HIGH_V + a5*b2*HIGH_Z*HIGH_V +
     a7*b2*HIGH_W*HIGH_Z*HIGH_V + a1*b3*HIGH_Q + a4*b3*HIGH_W*HIGH_Q +
     a5*b3*HIGH_Z*HIGH_Q + a7*b3*HIGH_W*HIGH_Z*HIGH_Q + a1*b4*HIGH_V*HIGH_Q +
     a4*b4*HIGH_W*HIGH_V*HIGH_Q + a5*b4*HIGH_Z*HIGH_V*HIGH_Q +
     a7*b4*HIGH_W*HIGH_Z*HIGH_V*HIGH_Q;
! Calc conditional direct effects for each combination of moderator values
    DLOV_LOQ = cdash1 + cdash4*LOW_V + cdash5*LOW_Q + cdash7*LOW_V*LOW_Q;
    DMEV_LOQ = cdash1 + cdash4*MED_V + cdash5*LOW_Q + cdash7*MED_V*LOW_Q;
    DHIV_LOQ = cdash1 + cdash4*HIGH_V + cdash5*LOW_Q + cdash7*HIGH_V*LOW_Q;
    DLOV_MEQ = cdash1 + cdash4*LOW_V + cdash5*MED_Q + cdash7*LOW_V*MED_Q;
    DMEV_MEQ = cdash1 + cdash4*MED_V + cdash5*MED_Q + cdash7*MED_V*MED_Q;
    DHIV_MEQ = cdash1 + cdash4*HIGH_V + cdash5*MED_Q + cdash7*HIGH_V*MED_Q;
    DLOV_HIQ = cdash1 + cdash4*LOW_V + cdash5*HIGH_Q + cdash7*LOW_V*HIGH_Q;
    DMEV_HIQ = cdash1 + cdash4*MED_V + cdash5*HIGH_Q + cdash7*MED_V*HIGH_Q;
    DHIV_HIQ = cdash1 + cdash4*HIGH_V + cdash5*HIGH_Q + cdash7*HIGH_V*HIGH_Q;
! Calc conditional total effects for each combination of moderator values
    TLLLL = ILLLL + DLOV_LOQ;
    TMLLL = IMLLL + DLOV_LOQ;
    THLLL = IHLLL + DLOV_LOQ;
    TLMLL = ILMLL + DLOV_LOQ;
    TMMLL = IMMLL + DLOV_LOQ;
    THMLL = IHMLL + DLOV_LOQ;
    TLHLL = ILHLL + DLOV_LOQ;
    TMHLL = IMHLL + DLOV_LOQ;
    THHLL = IHHLL + DLOV_LOQ;
    TLLML = ILLML + DMEV_LOQ;
    TMLML = IMLML + DMEV_LOQ;
    THLML = IHLML + DMEV_LOQ;
    TLMML = ILMML + DMEV_LOQ;
    TMMML = IMMML + DMEV_LOQ;
    THMML = IHMML + DMEV_LOQ;
    TLHML = ILHML + DMEV_LOQ;
    TMHML = IMHML + DMEV_LOQ;
    THHML = IHHML + DMEV_LOQ;
    TLLHL = ILLHL + DHIV_LOQ;
    TMLHL = IMLHL + DHIV_LOQ;
    THLHL = IHLHL + DHIV_LOQ;
    TLMHL = ILMHL + DHIV_LOQ;
    TMMHL = IMMHL + DHIV_LOQ;
    THMHL = IHMHL + DHIV_LOQ;
    TLHHL = ILHHL + DHIV_LOQ;
    TMHHL = IMHHL + DHIV_LOQ;
    THHHL = IHHHL + DHIV_LOQ;
    TLLLM = ILLLM + DLOV_MEQ;
    TMLLM = IMLLM + DLOV_MEQ;
    THLLM = IHLLM + DLOV_MEQ;
    TLMLM = ILMLM + DLOV_MEQ;
    TMMLM = IMMLM + DLOV_MEQ;
    THMLM = IHMLM + DLOV_MEQ;
    TLHLM = ILHLM + DLOV_MEQ;
    TMHLM = IMHLM + DLOV_MEQ;
    THHLM = IHHLM + DLOV_MEQ;
    TLLMM = ILLMM + DMEV_MEQ;
    TMLMM = IMLMM + DMEV_MEQ;
    THLMM = IHLMM + DMEV_MEQ;
    TLMMM = ILMMM + DMEV_MEQ;
    TMMMM = IMMMM + DMEV_MEQ;
    THMMM = IHMMM + DMEV_MEQ;
    TLHMM = ILHMM + DMEV_MEQ;
    TMHMM = IMHMM + DMEV_MEQ;
    THHMM = IHHMM + DMEV_MEQ;
    TLLHM = ILLHM + DHIV_MEQ;
    TMLHM = IMLHM + DHIV_MEQ;
    THLHM = IHLHM + DHIV_MEQ;
    TLMHM = ILMHM + DHIV_MEQ;
    TMMHM = IMMHM + DHIV_MEQ;
    THMHM = IHMHM + DHIV_MEQ;
    TLHHM = ILHHM + DHIV_MEQ;
    TMHHM = IMHHM + DHIV_MEQ;
    THHHM = IHHHM + DHIV_MEQ;
    TLLLH = ILLLH + DLOV_HIQ;
    TMLLH = IMLLH + DLOV_HIQ;
    THLLH = IHLLH + DLOV_HIQ;
    TLMLH = ILMLH + DLOV_HIQ;
    TMMLH = IMMLH + DLOV_HIQ;
    THMLH = IHMLH + DLOV_HIQ;
    TLHLH = ILHLH + DLOV_HIQ;
    TMHLH = IMHLH + DLOV_HIQ;
    THHLH = IHHLH + DLOV_HIQ;
    TLLMH = ILLMH + DMEV_HIQ;
    TMLMH = IMLMH + DMEV_HIQ;
    THLMH = IHLMH + DMEV_HIQ;
    TLMMH = ILMMH + DMEV_HIQ;
    TMMMH = IMMMH + DMEV_HIQ;
    THMMH = IHMMH + DMEV_HIQ;
    TLHMH = ILHMH + DMEV_HIQ;
    TMHMH = IMHMH + DMEV_HIQ;
    THHMH = IHHMH + DMEV_HIQ;
    TLLHH = ILLHH + DHIV_HIQ;
    TMLHH = IMLHH + DHIV_HIQ;
    THLHH = IHLHH + DHIV_HIQ;
    TLMHH = ILMHH + DHIV_HIQ;
    TMMHH = IMMHH + DHIV_HIQ;
    THMHH = IHMHH + DHIV_HIQ;
    TLHHH = ILHHH + DHIV_HIQ;
    TMHHH = IMHHH + DHIV_HIQ;
    THHHH = IHHHH + DHIV_HIQ;
! Use loop plot to plot conditional indirect effect of X on Y for each combination of low, med, high moderator values
! Could be edited to show conditional direct or conditional total effects instead
! NOTE - values from -3 to 3 in LOOP() statement since
! X is factor with mean set at default of 0
    PLOT(PLLLL PMLLL PHLLL PLMLL PMMLL PHMLL PLHLL PMHLL PHHLL
    PLLML PMLML PHLML PLMML PMMML PHMML PLHML PMHML PHHML
    PLLHL PMLHL PHLHL PLMHL PMMHL PHMHL PLHHL PMHHL PHHHL
    PLLLM PMLLM PHLLM PLMLM PMMLM PHMLM PLHLM PMHLM PHHLM
    PLLMM PMLMM PHLMM PLMMM PMMMM PHMMM PLHMM PMHMM PHHMM
    PLLHM PMLHM PHLHM PLMHM PMMHM PHMHM PLHHM PMHHM PHHHM
    PLLLH PMLLH PHLLH PLMLH PMMLH PHMLH PLHLH PMHLH PHHLH
    PLLMH PMLMH PHLMH PLMMH PMMMH PHMMH PLHMH PMHMH PHHMH
    PLLHH PMLHH PHLHH PLMHH PMMHH PHMHH PLHHH PMHHH PHHHH);
    LOOP(XVAL,-3,3,0.1);
    PLLLL = ILLLL*XVAL;
    PMLLL = IMLLL*XVAL;
    PHLLL = IHLLL*XVAL;
    PLMLL = ILMLL*XVAL;
    PMMLL = IMMLL*XVAL;
    PHMLL = IHMLL*XVAL;
    PLHLL = ILHLL*XVAL;
    PMHLL = IMHLL*XVAL;
    PHHLL = IHHLL*XVAL;
    PLLML = ILLML*XVAL;
    PMLML = IMLML*XVAL;
    PHLML = IHLML*XVAL;
    PLMML = ILMML*XVAL;
    PMMML = IMMML*XVAL;
    PHMML = IHMML*XVAL;
    PLHML = ILHML*XVAL;
    PMHML = IMHML*XVAL;
    PHHML = IHHML*XVAL;
    PLLHL = ILLHL*XVAL;
    PMLHL = IMLHL*XVAL;
    PHLHL = IHLHL*XVAL;
    PLMHL = ILMHL*XVAL;
    PMMHL = IMMHL*XVAL;
    PHMHL = IHMHL*XVAL;
    PLHHL = ILHHL*XVAL;
    PMHHL = IMHHL*XVAL;
    PHHHL = IHHHL*XVAL;
    PLLLM = ILLLM*XVAL;
    PMLLM = IMLLM*XVAL;
    PHLLM = IHLLM*XVAL;
    PLMLM = ILMLM*XVAL;
    PMMLM = IMMLM*XVAL;
    PHMLM = IHMLM*XVAL;
    PLHLM = ILHLM*XVAL;
    PMHLM = IMHLM*XVAL;
    PHHLM = IHHLM*XVAL;
    PLLMM = ILLMM*XVAL;
    PMLMM = IMLMM*XVAL;
    PHLMM = IHLMM*XVAL;
    PLMMM = ILMMM*XVAL;
    PMMMM = IMMMM*XVAL;
    PHMMM = IHMMM*XVAL;
    PLHMM = ILHMM*XVAL;
    PMHMM = IMHMM*XVAL;
    PHHMM = IHHMM*XVAL;
    PLLHM = ILLHM*XVAL;
    PMLHM = IMLHM*XVAL;
    PHLHM = IHLHM*XVAL;
    PLMHM = ILMHM*XVAL;
    PMMHM = IMMHM*XVAL;
    PHMHM = IHMHM*XVAL;
    PLHHM = ILHHM*XVAL;
    PMHHM = IMHHM*XVAL;
    PHHHM = IHHHM*XVAL;
    PLLLH = ILLLH*XVAL;
    PMLLH = IMLLH*XVAL;
    PHLLH = IHLLH*XVAL;
    PLMLH = ILMLH*XVAL;
    PMMLH = IMMLH*XVAL;
    PHMLH = IHMLH*XVAL;
    PLHLH = ILHLH*XVAL;
    PMHLH = IMHLH*XVAL;
    PHHLH = IHHLH*XVAL;
    PLLMH = ILLMH*XVAL;
    PMLMH = IMLMH*XVAL;
    PHLMH = IHLMH*XVAL;
    PLMMH = ILMMH*XVAL;
    PMMMH = IMMMH*XVAL;
    PHMMH = IHMMH*XVAL;
    PLHMH = ILHMH*XVAL;
    PMHMH = IMHMH*XVAL;
    PHHMH = IHHMH*XVAL;
    PLLHH = ILLHH*XVAL;
    PMLHH = IMLHH*XVAL;
    PHLHH = IHLHH*XVAL;
    PLMHH = ILMHH*XVAL;
    PMMHH = IMMHH*XVAL;
    PHMHH = IHMHH*XVAL;
    PLHHH = ILHHH*XVAL;
    PMHHH = IMHHH*XVAL;
    PHHHH = IHHHH*XVAL;
PLOT:
   TYPE = plot2;
OUTPUT:
   CINT;