Baseline characteristics

PAM_clean %>% 
  dplyr::select(AGE50, GENDERF, ibddx, ModSevere,current_meds___1, pamtotal, SESIBD, PROImp) -> baseline

baseline %>% tbl_summary(label = list(AGE50 ~ "Age > 50", GENDERF~ "Female", ibddx ~ "IBD Diagnosis", ModSevere ~ "Moderate to Severe Disease",current_meds___1 ~ "Active Steroid Use", pamtotal ~ "PAM Score", SESIBD ~ "SES Score", PROImp ~ "Daily Impact Score"),
        statistic = list(all_continuous() ~ "{mean} ({sd})"),
        missing_text = "(Missing)")
Characteristic N = 1481
Age > 50 78 (53%)
Female 80 (54%)
IBD Diagnosis
    CD 86 (58%)
    UC 54 (36%)
    IC 3 (2.0%)
    Unknown 5 (3.4%)
Moderate to Severe Disease 112 (76%)
Active Steroid Use 16 (11%)
PAM Score 65 (11)
SES Score 218 (40)
Daily Impact Score 7 (9)
1 n (%); Mean (SD)

Bivariate Analysis

tbl_uv_proimp <- 
  tbl_uvregression(
    PAM_clean[c("PROImp", "AGE50", "GENDERF", "ibddx", "ModSevere", "current_meds___1", "pamtotal", "SESIBD")],
    method = lm,
    y = PROImp,
    label = list(AGE50 ~ "Age > 50", GENDERF~ "Female", ibddx ~ "IBD Diagnosis", ModSevere ~ "Moderate to Severe Disease", pamtotal ~ "PAM Score", SESIBD ~ "SES Score", current_meds___1 ~ "Active Steroid Use")
  )
print(tbl_uv_proimp, method = render)
`...` must be empty.
✖ Problematic argument:
• method = render
Characteristic N Beta 95% CI1 p-value
Age > 50 148 0.62 -2.2, 3.4 0.7
Female 148 3.0 0.27, 5.8 0.032
IBD Diagnosis 148
    CD
    UC -6.1 -8.9, -3.3 <0.001
    IC -9.2 -19, 0.27 0.057
    Unknown -4.9 -12, 2.5 0.2
Moderate to Severe Disease 148 3.8 0.61, 7.0 0.020
Active Steroid Use 148 8.4 4.0, 13 <0.001
PAM Score 148 -0.18 -0.30, -0.06 0.005
SES Score 148 -0.12 -0.15, -0.10 <0.001
1 CI = Confidence Interval
NULL

Multivariable Models

PAM -> daily life impact

impact3 <- lm(PROImp ~ AGE50 + GENDERF + ibddx + ModSevere + current_meds___1 + pamtotal,
              data = PAM_clean)
summary(impact3 )

Call:
lm(formula = PROImp ~ AGE50 + GENDERF + ibddx + ModSevere + current_meds___1 + 
    pamtotal, data = PAM_clean)

Residuals:
    Min      1Q  Median      3Q     Max 
-18.899  -4.591  -1.235   3.638  22.351 

Coefficients:
                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)      15.27104    4.47618   3.412 0.000846 ***
AGE50             0.50919    1.30751   0.389 0.697551    
GENDERF           2.86242    1.26667   2.260 0.025389 *  
ibddxUC          -5.13531    1.42453  -3.605 0.000434 ***
ibddxIC          -9.16832    4.56839  -2.007 0.046699 *  
ibddxUnknown     -4.46756    3.60267  -1.240 0.217040    
ModSevere         0.77830    1.61173   0.483 0.629930    
current_meds___1  7.11258    2.05781   3.456 0.000727 ***
pamtotal         -0.14351    0.05791  -2.478 0.014407 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 7.585 on 139 degrees of freedom
Multiple R-squared:  0.2691,    Adjusted R-squared:  0.227 
F-statistic: 6.397 on 8 and 139 DF,  p-value: 4.607e-07
broom::glance(impact3 )
broom::tidy(impact3)
model_performance(impact3)
# Indices of model performance

AIC      |      BIC |    R2 | R2 (adj.) |  RMSE | Sigma
-------------------------------------------------------
1030.452 | 1060.424 | 0.269 |     0.227 | 7.350 | 7.585
tbl_regression(impact3, label = list(AGE50 ~ "Age > 50", GENDERF~ "Female", ibddx ~ "IBD Diagnosis", ModSevere ~ "Moderate to Severe Disease", pamtotal ~ "PAM Score", current_meds___1 ~ "Active Steroid Use"))
Characteristic Beta 95% CI1 p-value
Age > 50 0.51 -2.1, 3.1 0.7
Female 2.9 0.36, 5.4 0.025
IBD Diagnosis
    CD
    UC -5.1 -8.0, -2.3 <0.001
    IC -9.2 -18, -0.14 0.047
    Unknown -4.5 -12, 2.7 0.2
Moderate to Severe Disease 0.78 -2.4, 4.0 0.6
Active Steroid Use 7.1 3.0, 11 <0.001
PAM Score -0.14 -0.26, -0.03 0.014
1 CI = Confidence Interval

SES –> Daily life impact

PROImp2 <- lm(PROImp ~ AGE50 + GENDERF + ibddx + ModSevere + current_meds___1 + SESIBD,
              data = PAM_clean)
summary(PROImp2 )

Call:
lm(formula = PROImp ~ AGE50 + GENDERF + ibddx + ModSevere + current_meds___1 + 
    SESIBD, data = PAM_clean)

Residuals:
     Min       1Q   Median       3Q      Max 
-18.5542  -4.0577  -0.5539   3.0497  18.6023 

Coefficients:
                 Estimate Std. Error t value Pr(>|t|)    
(Intercept)      30.15776    3.67583   8.204 1.40e-13 ***
AGE50             0.51444    1.11300   0.462 0.644655    
GENDERF           2.50757    1.08897   2.303 0.022781 *  
ibddxUC          -4.34910    1.22537  -3.549 0.000528 ***
ibddxIC          -7.10943    3.92738  -1.810 0.072422 .  
ibddxUnknown     -5.97394    3.10103  -1.926 0.056090 .  
ModSevere        -0.24791    1.38992  -0.178 0.858697    
current_meds___1  5.28236    1.78415   2.961 0.003610 ** 
SESIBD           -0.10707    0.01408  -7.602 3.94e-12 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 6.514 on 139 degrees of freedom
Multiple R-squared:  0.4609,    Adjusted R-squared:  0.4299 
F-statistic: 14.86 on 8 and 139 DF,  p-value: 1.402e-15
broom::glance(PROImp2 )
broom::tidy(PROImp2)
model_performance(PROImp2)
# Indices of model performance

AIC     |      BIC |    R2 | R2 (adj.) |  RMSE | Sigma
------------------------------------------------------
985.397 | 1015.369 | 0.461 |     0.430 | 6.313 | 6.514
tbl_regression(PROImp2, label = list(AGE50 ~ "Age > 50", GENDERF~ "Female", ibddx ~ "IBD Diagnosis", ModSevere ~ "Moderate to Severe Disease", SESIBD ~ "SES Score", current_meds___1 ~ "Active Steroid Use"))
Characteristic Beta 95% CI1 p-value
Age > 50 0.51 -1.7, 2.7 0.6
Female 2.5 0.35, 4.7 0.023
IBD Diagnosis
    CD
    UC -4.3 -6.8, -1.9 <0.001
    IC -7.1 -15, 0.66 0.072
    Unknown -6.0 -12, 0.16 0.056
Moderate to Severe Disease -0.25 -3.0, 2.5 0.9
Active Steroid Use 5.3 1.8, 8.8 0.004
SES Score -0.11 -0.13, -0.08 <0.001
1 CI = Confidence Interval
NA
NA

PAM + SES –> Daily life impact

PROImp3 <- lm(PROImp ~ AGE50 + GENDERF + ibddx + ModSevere + current_meds___1 + pamtotal + SESIBD,
              data = PAM_clean)
summary(PROImp3 )

Call:
lm(formula = PROImp ~ AGE50 + GENDERF + ibddx + ModSevere + current_meds___1 + 
    pamtotal + SESIBD, data = PAM_clean)

Residuals:
     Min       1Q   Median       3Q      Max 
-18.5583  -4.0652  -0.5632   3.0320  18.5940 

Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)      30.095441   4.399968   6.840 2.36e-10 ***
AGE50             0.518316   1.126952   0.460 0.646292    
GENDERF           2.507389   1.092929   2.294 0.023289 *  
ibddxUC          -4.346810   1.232961  -3.526 0.000574 ***
ibddxIC          -7.115468   3.948416  -1.802 0.073711 .  
ibddxUnknown     -5.972715   3.112596  -1.919 0.057063 .  
ModSevere        -0.246027   1.396834  -0.176 0.860449    
current_meds___1  5.284626   1.792727   2.948 0.003759 ** 
pamtotal          0.001404   0.054030   0.026 0.979303    
SESIBD           -0.107222   0.015301  -7.008 9.79e-11 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 6.537 on 138 degrees of freedom
Multiple R-squared:  0.4609,    Adjusted R-squared:  0.4258 
F-statistic: 13.11 on 9 and 138 DF,  p-value: 5.633e-15
broom::glance(PROImp3 )
broom::tidy(PROImp3)
model_performance(PROImp3)
# Indices of model performance

AIC     |      BIC |    R2 | R2 (adj.) |  RMSE | Sigma
------------------------------------------------------
987.396 | 1020.365 | 0.461 |     0.426 | 6.313 | 6.537
tbl_regression(PROImp3, label = list(AGE50 ~ "Age > 50", GENDERF~ "Female", ibddx ~ "IBD Diagnosis", ModSevere ~ "Moderate to Severe Disease", pamtotal ~ "PAM Score", SESIBD ~ "SES Score", current_meds___1 ~ "Active Steroid Use"))
Characteristic Beta 95% CI1 p-value
Age > 50 0.52 -1.7, 2.7 0.6
Female 2.5 0.35, 4.7 0.023
IBD Diagnosis
    CD
    UC -4.3 -6.8, -1.9 <0.001
    IC -7.1 -15, 0.69 0.074
    Unknown -6.0 -12, 0.18 0.057
Moderate to Severe Disease -0.25 -3.0, 2.5 0.9
Active Steroid Use 5.3 1.7, 8.8 0.004
PAM Score 0.00 -0.11, 0.11 >0.9
SES Score -0.11 -0.14, -0.08 <0.001
1 CI = Confidence Interval
NA

Mediation analysis

library(mediation)

Impact_M <- lm(SESIBD ~ AGE50 + GENDERF + type_of_inflammatory + ModSevere + current_meds___1 + pamtotal + PROImp,
              data = PAM_clean)
summary(Impact_M )

Call:
lm(formula = SESIBD ~ AGE50 + GENDERF + type_of_inflammatory + 
    ModSevere + current_meds___1 + pamtotal + PROImp, data = PAM_clean)

Residuals:
    Min      1Q  Median      3Q     Max 
-84.429 -20.701   2.285  20.494  83.602 

Coefficients:
                     Estimate Std. Error t value Pr(>|t|)    
(Intercept)          170.4572    18.9047   9.017 1.32e-15 ***
AGE50                  0.9518     5.3592   0.178    0.859    
GENDERF                3.0930     5.3050   0.583    0.561    
type_of_inflammatory  -2.0528     3.9988  -0.513    0.609    
ModSevere             -4.1555     6.2843  -0.661    0.510    
current_meds___1       1.1120     8.7488   0.127    0.899    
pamtotal               1.0436     0.2427   4.301 3.17e-05 ***
PROImp                -2.3181     0.3348  -6.923 1.47e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 31.32 on 140 degrees of freedom
Multiple R-squared:  0.4127,    Adjusted R-squared:  0.3833 
F-statistic: 14.05 on 7 and 140 DF,  p-value: 9.971e-14
broom::glance(Impact_M )
tbl_regression(Impact_M, label = list(AGE50 ~ "Age > 50", GENDERF~ "Female", type_of_inflammatory ~ "IBD Diagnosis", ModSevere ~ "Moderate to Severe Disease", current_meds___1 ~ "Active Steroid Use"))
Characteristic Beta 95% CI1 p-value
Age > 50 0.95 -9.6, 12 0.9
Female 3.1 -7.4, 14 0.6
IBD Diagnosis -2.1 -10, 5.9 0.6
Moderate to Severe Disease -4.2 -17, 8.3 0.5
Active Steroid Use 1.1 -16, 18 0.9
PAM total 1.0 0.56, 1.5 <0.001
PROImp -2.3 -3.0, -1.7 <0.001
1 CI = Confidence Interval


impact1 <- lm(PROImp ~ AGE50 + GENDERF + type_of_inflammatory + ModSevere + current_meds___1 + pamtotal + SESIBD,
              data = PAM_clean)
summary(impact1 )

Call:
lm(formula = PROImp ~ AGE50 + GENDERF + type_of_inflammatory + 
    ModSevere + current_meds___1 + pamtotal + SESIBD, data = PAM_clean)

Residuals:
     Min       1Q   Median       3Q      Max 
-21.1583  -4.5813  -0.5136   3.5836  19.2667 

Coefficients:
                      Estimate Std. Error t value Pr(>|t|)    
(Intercept)          25.413500   4.711529   5.394 2.86e-07 ***
AGE50                 0.684121   1.166216   0.587  0.55841    
GENDERF               2.352209   1.139909   2.064  0.04091 *  
type_of_inflammatory  0.963520   0.868168   1.110  0.26897    
ModSevere             1.566099   1.364787   1.148  0.25313    
current_meds___1      5.583644   1.846726   3.024  0.00297 ** 
pamtotal              0.005888   0.056245   0.105  0.91677    
SESIBD               -0.110016   0.015892  -6.923 1.47e-10 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 6.823 on 140 degrees of freedom
Multiple R-squared:  0.4042,    Adjusted R-squared:  0.3744 
F-statistic: 13.57 on 7 and 140 DF,  p-value: 2.586e-13
broom::glance(impact1 )
broom::tidy(impact1)
tbl_regression(impact1, label = list(AGE50 ~ "Age > 50", GENDERF~ "Female", type_of_inflammatory ~ "IBD Diagnosis", ModSevere ~ "Moderate to Severe Disease", pamtotal ~ "PAM Score", SESIBD ~ "SES Score", current_meds___1 ~ "Active Steroid Use"))
Characteristic Beta 95% CI1 p-value
Age > 50 0.68 -1.6, 3.0 0.6
Female 2.4 0.10, 4.6 0.041
IBD Diagnosis 0.96 -0.75, 2.7 0.3
Moderate to Severe Disease 1.6 -1.1, 4.3 0.3
Active Steroid Use 5.6 1.9, 9.2 0.003
PAM Score 0.01 -0.11, 0.12 >0.9
SES Score -0.11 -0.14, -0.08 <0.001
1 CI = Confidence Interval

# Step 3: Mediation analysis
results <- mediate(Impact_M, impact1, treat="pamtotal", mediator="SESIBD",
                   boot=TRUE, sims=500)
Running nonparametric bootstrap
summary(results)

Causal Mediation Analysis 

Nonparametric Bootstrap Confidence Intervals with the Percentile Method

               Estimate 95% CI Lower 95% CI Upper p-value    
ACME           -0.11481     -0.17027        -0.06  <2e-16 ***
ADE             0.00589     -0.08285         0.09   0.920    
Total Effect   -0.10892     -0.18562        -0.04   0.008 ** 
Prop. Mediated  1.05406      0.48845         2.67   0.008 ** 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Sample Size Used: 148 


Simulations: 500 
LS0tCnRpdGxlOiAiUEFNX0NsZWFuIgpvdXRwdXQ6IAogIGh0bWxfbm90ZWJvb2s6CiAgIHRoZW1lczogcGFwZXIKICAgdG9jOiB5ZXMKICAgdG9jX2Zsb2F0OiB5ZXMKZWRpdG9yX29wdGlvbnM6IAogIGNodW5rX291dHB1dF90eXBlOiBpbmxpbmUKZGF0ZTogIjIwMjItMTEtMTgiCi0tLQoKIyBCYXNlbGluZSBjaGFyYWN0ZXJpc3RpY3MgCmBgYHtyfQpQQU1fY2xlYW4gJT4lIAogIGRwbHlyOjpzZWxlY3QoQUdFNTAsIEdFTkRFUkYsIGliZGR4LCBNb2RTZXZlcmUsY3VycmVudF9tZWRzX19fMSwgcGFtdG90YWwsIFNFU0lCRCwgUFJPSW1wKSAtPiBiYXNlbGluZQoKYmFzZWxpbmUgJT4lIHRibF9zdW1tYXJ5KGxhYmVsID0gbGlzdChBR0U1MCB+ICJBZ2UgPiA1MCIsIEdFTkRFUkZ+ICJGZW1hbGUiLCBpYmRkeCB+ICJJQkQgRGlhZ25vc2lzIiwgTW9kU2V2ZXJlIH4gIk1vZGVyYXRlIHRvIFNldmVyZSBEaXNlYXNlIixjdXJyZW50X21lZHNfX18xIH4gIkFjdGl2ZSBTdGVyb2lkIFVzZSIsIHBhbXRvdGFsIH4gIlBBTSBTY29yZSIsIFNFU0lCRCB+ICJTRVMgU2NvcmUiLCBQUk9JbXAgfiAiRGFpbHkgSW1wYWN0IFNjb3JlIiksCiAgICAgICAgc3RhdGlzdGljID0gbGlzdChhbGxfY29udGludW91cygpIH4gInttZWFufSAoe3NkfSkiKSwKICAgICAgICBtaXNzaW5nX3RleHQgPSAiKE1pc3NpbmcpIikKYGBgCgojIEJpdmFyaWF0ZSBBbmFseXNpcyAKYGBge3J9CnRibF91dl9wcm9pbXAgPC0gCiAgdGJsX3V2cmVncmVzc2lvbigKICAgIFBBTV9jbGVhbltjKCJQUk9JbXAiLCAiQUdFNTAiLCAiR0VOREVSRiIsICJpYmRkeCIsICJNb2RTZXZlcmUiLCAiY3VycmVudF9tZWRzX19fMSIsICJwYW10b3RhbCIsICJTRVNJQkQiKV0sCiAgICBtZXRob2QgPSBsbSwKICAgIHkgPSBQUk9JbXAsCiAgICBsYWJlbCA9IGxpc3QoQUdFNTAgfiAiQWdlID4gNTAiLCBHRU5ERVJGfiAiRmVtYWxlIiwgaWJkZHggfiAiSUJEIERpYWdub3NpcyIsIE1vZFNldmVyZSB+ICJNb2RlcmF0ZSB0byBTZXZlcmUgRGlzZWFzZSIsIHBhbXRvdGFsIH4gIlBBTSBTY29yZSIsIFNFU0lCRCB+ICJTRVMgU2NvcmUiLCBjdXJyZW50X21lZHNfX18xIH4gIkFjdGl2ZSBTdGVyb2lkIFVzZSIpCiAgKQpwcmludCh0YmxfdXZfcHJvaW1wLCBtZXRob2QgPSByZW5kZXIpCmBgYAoKCiMgTXVsdGl2YXJpYWJsZSBNb2RlbHMgey50YWJzZXR9CgojIyBQQU0gLT4gZGFpbHkgbGlmZSBpbXBhY3QgCmBgYHtyfQpQUk9JbXAxIDwtIGxtKFBST0ltcCB+IEFHRTUwICsgR0VOREVSRiArIGliZGR4ICsgTW9kU2V2ZXJlICsgY3VycmVudF9tZWRzX19fMSArIHBhbXRvdGFsLAogICAgICAgICAgICAgIGRhdGEgPSBQQU1fY2xlYW4pCnN1bW1hcnkoUFJPSW1wMSApCmJyb29tOjpnbGFuY2UoUFJPSW1wMSApCmJyb29tOjp0aWR5KFBST0ltcDEpCm1vZGVsX3BlcmZvcm1hbmNlKFBST0ltcDEpCnRibF9yZWdyZXNzaW9uKFBST0ltcDEsIGxhYmVsID0gbGlzdChBR0U1MCB+ICJBZ2UgPiA1MCIsIEdFTkRFUkZ+ICJGZW1hbGUiLCBpYmRkeCB+ICJJQkQgRGlhZ25vc2lzIiwgTW9kU2V2ZXJlIH4gIk1vZGVyYXRlIHRvIFNldmVyZSBEaXNlYXNlIiwgcGFtdG90YWwgfiAiUEFNIFNjb3JlIiwgY3VycmVudF9tZWRzX19fMSB+ICJBY3RpdmUgU3Rlcm9pZCBVc2UiKSkKYGBgCgoKIyMgU0VTIC0tPiBEYWlseSBsaWZlIGltcGFjdCAKYGBge3J9ClBST0ltcDIgPC0gbG0oUFJPSW1wIH4gQUdFNTAgKyBHRU5ERVJGICsgaWJkZHggKyBNb2RTZXZlcmUgKyBjdXJyZW50X21lZHNfX18xICsgU0VTSUJELAogICAgICAgICAgICAgIGRhdGEgPSBQQU1fY2xlYW4pCnN1bW1hcnkoUFJPSW1wMiApCmJyb29tOjpnbGFuY2UoUFJPSW1wMiApCmJyb29tOjp0aWR5KFBST0ltcDIpCm1vZGVsX3BlcmZvcm1hbmNlKFBST0ltcDIpCnRibF9yZWdyZXNzaW9uKFBST0ltcDIsIGxhYmVsID0gbGlzdChBR0U1MCB+ICJBZ2UgPiA1MCIsIEdFTkRFUkZ+ICJGZW1hbGUiLCBpYmRkeCB+ICJJQkQgRGlhZ25vc2lzIiwgTW9kU2V2ZXJlIH4gIk1vZGVyYXRlIHRvIFNldmVyZSBEaXNlYXNlIiwgU0VTSUJEIH4gIlNFUyBTY29yZSIsIGN1cnJlbnRfbWVkc19fXzEgfiAiQWN0aXZlIFN0ZXJvaWQgVXNlIikpCmBgYAoKIyMgUEFNICsgU0VTIC0tPiBEYWlseSBsaWZlIGltcGFjdCAKYGBge3J9ClBST0ltcDMgPC0gbG0oUFJPSW1wIH4gQUdFNTAgKyBHRU5ERVJGICsgaWJkZHggKyBNb2RTZXZlcmUgKyBjdXJyZW50X21lZHNfX18xICsgcGFtdG90YWwgKyBTRVNJQkQsCiAgICAgICAgICAgICAgZGF0YSA9IFBBTV9jbGVhbikKc3VtbWFyeShQUk9JbXAzICkKYnJvb206OmdsYW5jZShQUk9JbXAzICkKYnJvb206OnRpZHkoUFJPSW1wMykKbW9kZWxfcGVyZm9ybWFuY2UoUFJPSW1wMykKdGJsX3JlZ3Jlc3Npb24oUFJPSW1wMywgbGFiZWwgPSBsaXN0KEFHRTUwIH4gIkFnZSA+IDUwIiwgR0VOREVSRn4gIkZlbWFsZSIsIGliZGR4IH4gIklCRCBEaWFnbm9zaXMiLCBNb2RTZXZlcmUgfiAiTW9kZXJhdGUgdG8gU2V2ZXJlIERpc2Vhc2UiLCBwYW10b3RhbCB+ICJQQU0gU2NvcmUiLCBTRVNJQkQgfiAiU0VTIFNjb3JlIiwgY3VycmVudF9tZWRzX19fMSB+ICJBY3RpdmUgU3Rlcm9pZCBVc2UiKSkKCmBgYAoKCiMgTWVkaWF0aW9uIGFuYWx5c2lzIApgYGB7cn0KbGlicmFyeShtZWRpYXRpb24pCgpJbXBhY3RfTSA8LSBsbShTRVNJQkQgfiBBR0U1MCArIEdFTkRFUkYgKyB0eXBlX29mX2luZmxhbW1hdG9yeSArIE1vZFNldmVyZSArIGN1cnJlbnRfbWVkc19fXzEgKyBwYW10b3RhbCArIFBST0ltcCwKICAgICAgICAgICAgICBkYXRhID0gUEFNX2NsZWFuKQpzdW1tYXJ5KEltcGFjdF9NICkKYnJvb206OmdsYW5jZShJbXBhY3RfTSApCnRibF9yZWdyZXNzaW9uKEltcGFjdF9NLCBsYWJlbCA9IGxpc3QoQUdFNTAgfiAiQWdlID4gNTAiLCBHRU5ERVJGfiAiRmVtYWxlIiwgdHlwZV9vZl9pbmZsYW1tYXRvcnkgfiAiSUJEIERpYWdub3NpcyIsIE1vZFNldmVyZSB+ICJNb2RlcmF0ZSB0byBTZXZlcmUgRGlzZWFzZSIsIGN1cnJlbnRfbWVkc19fXzEgfiAiQWN0aXZlIFN0ZXJvaWQgVXNlIikpCgoKaW1wYWN0MSA8LSBsbShQUk9JbXAgfiBBR0U1MCArIEdFTkRFUkYgKyB0eXBlX29mX2luZmxhbW1hdG9yeSArIE1vZFNldmVyZSArIGN1cnJlbnRfbWVkc19fXzEgKyBwYW10b3RhbCArIFNFU0lCRCwKICAgICAgICAgICAgICBkYXRhID0gUEFNX2NsZWFuKQpzdW1tYXJ5KGltcGFjdDEgKQpicm9vbTo6Z2xhbmNlKGltcGFjdDEgKQpicm9vbTo6dGlkeShpbXBhY3QxKQp0YmxfcmVncmVzc2lvbihpbXBhY3QxLCBsYWJlbCA9IGxpc3QoQUdFNTAgfiAiQWdlID4gNTAiLCBHRU5ERVJGfiAiRmVtYWxlIiwgdHlwZV9vZl9pbmZsYW1tYXRvcnkgfiAiSUJEIERpYWdub3NpcyIsIE1vZFNldmVyZSB+ICJNb2RlcmF0ZSB0byBTZXZlcmUgRGlzZWFzZSIsIHBhbXRvdGFsIH4gIlBBTSBTY29yZSIsIFNFU0lCRCB+ICJTRVMgU2NvcmUiLCBjdXJyZW50X21lZHNfX18xIH4gIkFjdGl2ZSBTdGVyb2lkIFVzZSIpKQoKIyBTdGVwIDM6IE1lZGlhdGlvbiBhbmFseXNpcwpyZXN1bHRzIDwtIG1lZGlhdGUoSW1wYWN0X00sIGltcGFjdDEsIHRyZWF0PSJwYW10b3RhbCIsIG1lZGlhdG9yPSJTRVNJQkQiLAogICAgICAgICAgICAgICAgICAgYm9vdD1UUlVFLCBzaW1zPTUwMCkKc3VtbWFyeShyZXN1bHRzKQpgYGAKCg==