All exposures, CTQ, TLEQ data now cleaned. Just waiting on index_j for n=16, who Zoe/Thomasina will call. No exposures data for NWTC-091 yet (will be in next request from data center). All of the analyses here use the group assignment where 3 exposures = Lower-exposed group

Summary

  • TLEQ:
    • None of the chi square tests on the TLEQ item-level unweighted (i.e., binarized) variables were statistically significant using Fisher’s exact test with a threshold of p < 0.0007 (.05/(3 groups*23 items)).
    • Linear models predicting TLEQ totals from group used a threshold of p < .004 (.05/3*4)
    • There was a significant omnibus effect of group ONLY on non-weighted TLEQ total (includes childhood trauma)
      • Post-hoc comparisons using same p <.004 threshold indicated that the PTSD group had higher scores vs. the Low-exposed group (p = .0012) (and possibly the Resilient group, p = .0046). Low-exposed and Resilient groups were not significantly different from each other in terms of non-weighted TLEQ total scores.

  • CTQ:
    • Linear models predicting CTQ scores from group used a threshold of p < .003 (.05/(3*6))
    • There was a significant omnibus effect of group on the CTQ total as well as the other CTQ subscales except for CTQ sexual abuse
      • Post-hoc comparisons using same p <.003 threshold indicated that the PTSD group had higher scores compared to the other two groups.
        • Resilient and Low-exposed groups did not differ from each other.

  • WTC exposures:
    • Chi square tests for group differences on the exposure variables index_a (arrived 9/11-9/13), index_c (worked on or adjacent to pit/pile), index_h (know someone injured) were statistically significant using Fisher’s exact test with a threshold of p < 0.00167 (.05/(3*10)).
    • Note:
      • n = 16 still missing index_j (slept on site) (Zoe is calling)
      • Still need to check that same median was used to determine index_d (worked >median # hours)
      • No exposures data for NWTC-091 yet (will be in next request from data center).

Groups when 3 exposures = lower-exposed

Groups in REDCap

As currently listed in REDCap:

Groups when 3 exposures = resilient

Groups are more balanced when 3 exposures = lower-exposed, so we will go with that.

TLEQ items (non-weighted)

Figure: TLEQ items (non-weighted) by group

Blue = proportion of group endorsing at least one incidence of a given event. Red = Never experienced that event.

Chi square tests of association between group and TLEQ items (non-weighted)

Bonferroni correction will be p < 0.0007 (.05/(3*23))

TLEQ item 1

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

==============================================================
                      data$group_3low
data$use.tleq_1bin    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------------
0                               5        2          12      19
expected                      5.0      5.5         8.5        
row prop.                   0.263    0.105       0.632   0.275
std. res.                   0.020   -1.495       1.186        
--------------------------------------------------------------
1                              13       18          19      50
expected                     13.0     14.5        22.5        
row prop.                   0.260    0.360       0.380   0.725
std. res.                  -0.012    0.921      -0.731        
--------------------------------------------------------------
Total                          18       20          31      69
==============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.076 

TLEQ item 2

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

==============================================================
                      data$group_3low
data$use.tleq_2bin    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------------
0                              13        8          21      42
expected                     11.0     12.2        18.9        
row prop.                   0.310    0.190       0.500   0.609
std. res.                   0.617   -1.196       0.490        
--------------------------------------------------------------
1                               5       12          10      27
expected                      7.0      7.8        12.1        
row prop.                   0.185    0.444       0.370   0.391
std. res.                  -0.770    1.492      -0.612        
--------------------------------------------------------------
Total                          18       20          31      69
==============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0875 

TLEQ item 3

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

==============================================================
                      data$group_3low
data$use.tleq_3bin    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------------
0                              14        8          21      43
expected                     11.2     12.5        19.3        
row prop.                   0.326    0.186       0.488   0.623
std. res.                   0.831   -1.264       0.382        
--------------------------------------------------------------
1                               4       12          10      26
expected                      6.8      7.5        11.7        
row prop.                   0.154    0.462       0.385   0.377
std. res.                  -1.068    1.626      -0.492        
--------------------------------------------------------------
Total                          18       20          31      69
==============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0413 

TLEQ item 4

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

==============================================================
                      data$group_3low
data$use.tleq_4bin    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------------
0                              14       15          29      58
expected                     15.1     16.8        26.1        
row prop.                   0.241    0.259       0.500   0.841
std. res.                  -0.291   -0.442       0.576        
--------------------------------------------------------------
1                               4        5           2      11
expected                      2.9      3.2         4.9        
row prop.                   0.364    0.455       0.182   0.159
std. res.                   0.667    1.015      -1.323        
--------------------------------------------------------------
Total                          18       20          31      69
==============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.128 

TLEQ item 5

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

==============================================================
                      data$group_3low
data$use.tleq_5bin    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------------
0                               5        0           5      10
expected                      2.6      2.9         4.5        
row prop.                   0.500    0.000       0.500   0.145
std. res.                   1.481   -1.703       0.239        
--------------------------------------------------------------
1                              13       20          26      59
expected                     15.4     17.1        26.5        
row prop.                   0.220    0.339       0.441   0.855
std. res.                  -0.610    0.701      -0.099        
--------------------------------------------------------------
Total                          18       20          31      69
==============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0319 

TLEQ item 6

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

==============================================================
                      data$group_3low
data$use.tleq_6bin    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------------
0                               7        5           9      21
expected                      5.5      6.1         9.4        
row prop.                   0.333    0.238       0.429   0.304
std. res.                   0.650   -0.441      -0.142        
--------------------------------------------------------------
1                              11       15          22      48
expected                     12.5     13.9        21.6        
row prop.                   0.229    0.312       0.458   0.696
std. res.                  -0.430    0.291       0.094        
--------------------------------------------------------------
Total                          18       20          31      69
==============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.635 

TLEQ item 7

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

==============================================================
                      data$group_3low
data$use.tleq_7bin    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------------
0                              16       15          28      59
expected                     15.4     17.1        26.5        
row prop.                   0.271    0.254       0.475   0.855
std. res.                   0.155   -0.508       0.290        
--------------------------------------------------------------
1                               2        5           3      10
expected                      2.6      2.9         4.5        
row prop.                   0.200    0.500       0.300   0.145
std. res.                  -0.377    1.234      -0.704        
--------------------------------------------------------------
Total                          18       20          31      69
==============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.342 

TLEQ item 8

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

==============================================================
                      data$group_3low
data$use.tleq_8bin    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------------
0                              13       11          19      43
expected                     11.2     12.5        19.3        
row prop.                   0.302    0.256       0.442   0.623
std. res.                   0.532   -0.415      -0.073        
--------------------------------------------------------------
1                               5        9          12      26
expected                      6.8      7.5        11.7        
row prop.                   0.192    0.346       0.462   0.377
std. res.                  -0.684    0.533       0.093        
--------------------------------------------------------------
Total                          18       20          31      69
==============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.564 

TLEQ item 9

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

==============================================================
                      data$group_3low
data$use.tleq_9bin    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------------
0                              15       13          24      52
expected                     13.6     15.1        23.4        
row prop.                   0.288    0.250       0.462   0.754
std. res.                   0.390   -0.534       0.132        
--------------------------------------------------------------
1                               3        7           7      17
expected                      4.4      4.9         7.6        
row prop.                   0.176    0.412       0.412   0.246
std. res.                  -0.681    0.934      -0.231        
--------------------------------------------------------------
Total                          18       20          31      69
==============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.401 

TLEQ item 10

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_10bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               13        7          17      37
expected                       9.7     10.7        16.6        
row prop.                    0.351    0.189       0.459   0.536
std. res.                    1.078   -1.137       0.092        
---------------------------------------------------------------
1                                5       13          14      32
expected                       8.3      9.3        14.4        
row prop.                    0.156    0.406       0.438   0.464
std. res.                   -1.159    1.223      -0.099        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0788 

TLEQ item 11

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_11bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               12       10          17      39
expected                      10.2     11.3        17.5        
row prop.                    0.308    0.256       0.436   0.565
std. res.                    0.573   -0.388      -0.125        
---------------------------------------------------------------
1                                6       10          14      30
expected                       7.8      8.7        13.5        
row prop.                    0.200    0.333       0.467   0.435
std. res.                   -0.653    0.442       0.142        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.579 

TLEQ item 12

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_12bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               17       15          30      62
expected                      16.2     18.0        27.9        
row prop.                    0.274    0.242       0.484   0.899
std. res.                    0.205   -0.701       0.406        
---------------------------------------------------------------
1                                1        5           1       7
expected                       1.8      2.0         3.1        
row prop.                    0.143    0.714       0.143   0.101
std. res.                   -0.611    2.086      -1.210        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0391 

TLEQ item 13

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_13bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               15       10          24      49
expected                      12.8     14.2        22.0        
row prop.                    0.306    0.204       0.490   0.710
std. res.                    0.620   -1.115       0.423        
---------------------------------------------------------------
1                                3       10           7      20
expected                       5.2      5.8         9.0        
row prop.                    0.150    0.500       0.350   0.290
std. res.                   -0.971    1.746      -0.662        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0505 

TLEQ item 14

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_14bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               17       18          27      62
expected                      16.2     18.0        27.9        
row prop.                    0.274    0.290       0.435   0.899
std. res.                    0.205    0.007      -0.162        
---------------------------------------------------------------
1                                1        2           4       7
expected                       1.8      2.0         3.1        
row prop.                    0.143    0.286       0.571   0.101
std. res.                   -0.611   -0.020       0.482        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.879 

TLEQ item 15

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_15bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               17       17          28      62
expected                      16.2     18.0        27.9        
row prop.                    0.274    0.274       0.452   0.899
std. res.                    0.205   -0.229       0.027        
---------------------------------------------------------------
1                                1        3           3       7
expected                       1.8      2.0         3.1        
row prop.                    0.143    0.429       0.429   0.101
std. res.                   -0.611    0.682      -0.082        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.69 

TLEQ item 16

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_16bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               17       17          30      64
expected                      16.7     18.6        28.8        
row prop.                    0.266    0.266       0.469   0.928
std. res.                    0.074   -0.360       0.232        
---------------------------------------------------------------
1                                1        3           1       5
expected                       1.3      1.4         2.2        
row prop.                    0.200    0.600       0.200   0.072
std. res.                   -0.266    1.288      -0.832        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.371 

TLEQ item 17

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_17bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               18       19          28      65
expected                      17.0     18.8        29.2        
row prop.                    0.277    0.292       0.431   0.942
std. res.                    0.253    0.037      -0.223        
---------------------------------------------------------------
1                                0        1           3       4
expected                       1.0      1.2         1.8        
row prop.                    0.000    0.250       0.750   0.058
std. res.                   -1.022   -0.148       0.897        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.574 

TLEQ item 18

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_18bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               17       18          31      66
expected                      17.2     19.1        29.7        
row prop.                    0.258    0.273       0.470   0.957
std. res.                   -0.052   -0.258       0.248        
---------------------------------------------------------------
1                                1        2           0       3
expected                       0.8      0.9         1.3        
row prop.                    0.333    0.667       0.000   0.043
std. res.                    0.246    1.212      -1.161        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.161 

TLEQ item 19

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_19bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               17       17          29      63
expected                      16.4     18.3        28.3        
row prop.                    0.270    0.270       0.460   0.913
std. res.                    0.139   -0.295       0.131        
---------------------------------------------------------------
1                                1        3           2       6
expected                       1.6      1.7         2.7        
row prop.                    0.167    0.500       0.333   0.087
std. res.                   -0.452    0.956      -0.424        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.55 

TLEQ item 20

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_20bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               14       16          29      59
expected                      15.4     17.1        26.5        
row prop.                    0.237    0.271       0.492   0.855
std. res.                   -0.355   -0.266       0.484        
---------------------------------------------------------------
1                                4        4           2      10
expected                       2.6      2.9         4.5        
row prop.                    0.400    0.400       0.200   0.145
std. res.                    0.861    0.647      -1.176        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.183 

TLEQ item 21

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_21bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               11       15          18      44
expected                      11.5     12.8        19.8        
row prop.                    0.250    0.341       0.409   0.638
std. res.                   -0.141    0.629      -0.398        
---------------------------------------------------------------
1                                7        5          13      25
expected                       6.5      7.2        11.2        
row prop.                    0.280    0.200       0.520   0.362
std. res.                    0.187   -0.834       0.528        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.476 

TLEQ item 22

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_22bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                               14       16          20      50
expected                      13.0     14.5        22.5        
row prop.                    0.280    0.320       0.400   0.725
std. res.                    0.265    0.396      -0.520        
---------------------------------------------------------------
1                                4        4          11      19
expected                       5.0      5.5         8.5        
row prop.                    0.211    0.211       0.579   0.275
std. res.                   -0.430   -0.642       0.843        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.455 

TLEQ item 23

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

===============================================================
                       data$group_3low
data$use.tleq_23bin    Low-exposed     PTSD   Resilient   Total
---------------------------------------------------------------
0                                6        3           9      18
expected                       4.7      5.2         8.1        
row prop.                    0.333    0.167       0.500   0.261
std. res.                    0.602   -0.971       0.321        
---------------------------------------------------------------
1                               12       17          22      51
expected                      13.3     14.8        22.9        
row prop.                    0.235    0.333       0.431   0.739
std. res.                   -0.358    0.577      -0.191        
---------------------------------------------------------------
Total                           18       20          31      69
===============================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.388 

TLEQ totals (weighted and non-weighted)

Figure: TLEQ totals by group

Linear models & post-hoc comparisons

Bonferroni correction will be p < 0.004 (.05/(3*4))

Total (weighted)


Call:
lm(formula = TLEQ_total_W ~ group_3low, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-13.3000  -5.2903   0.4444   3.7000  23.7097 

Coefficients:
                    Estimate Std. Error t value     Pr(>|t|)
(Intercept)           10.556      1.717   6.149 0.0000000511
group_3lowPTSD         6.744      2.366   2.850      0.00582
group_3lowResilient    2.735      2.158   1.267      0.20957

Residual standard error: 7.283 on 66 degrees of freedom
Multiple R-squared:  0.1122,    Adjusted R-squared:  0.08525 
F-statistic: 4.169 on 2 and 66 DF,  p-value: 0.01973

$emmeans
 group_3low  emmean   SE df lower.CL upper.CL
 Low-exposed   10.6 1.72 66     7.13     14.0
 PTSD          17.3 1.63 66    14.05     20.6
 Resilient     13.3 1.31 66    10.68     15.9

Confidence level used: 0.95 

$contrasts
 contrast                  estimate   SE df t.ratio p.value
 (Low-exposed) - PTSD         -6.74 2.37 66  -2.850  0.0058
 (Low-exposed) - Resilient    -2.73 2.16 66  -1.267  0.2096
 PTSD - Resilient              4.01 2.09 66   1.920  0.0592

Total (non-weighted)*


Call:
lm(formula = TLEQ_total_nonW ~ group_3low, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-6.2500 -1.9444  0.0556  2.0556  7.7500 

Coefficients:
                    Estimate Std. Error t value         Pr(>|t|)
(Intercept)           5.9444     0.7125   8.343 0.00000000000644
group_3lowPTSD        3.3056     0.9821   3.366          0.00128
group_3lowResilient   0.7652     0.8958   0.854          0.39604

Residual standard error: 3.023 on 66 degrees of freedom
Multiple R-squared:  0.1656,    Adjusted R-squared:  0.1404 
F-statistic: 6.552 on 2 and 66 DF,  p-value: 0.002539

$emmeans
 group_3low  emmean    SE df lower.CL upper.CL
 Low-exposed   5.94 0.712 66     4.52     7.37
 PTSD          9.25 0.676 66     7.90    10.60
 Resilient     6.71 0.543 66     5.63     7.79

Confidence level used: 0.95 

$contrasts
 contrast                  estimate    SE df t.ratio p.value
 (Low-exposed) - PTSD        -3.306 0.982 66  -3.366  0.0013
 (Low-exposed) - Resilient   -0.765 0.896 66  -0.854  0.3960
 PTSD - Resilient             2.540 0.867 66   2.930  0.0046

Total (excluding childhood trauma, weighted)


Call:
lm(formula = TLEQ_total_exclCT_W ~ group_3low, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-10.200  -5.097  -0.200   4.111  17.903 

Coefficients:
                    Estimate Std. Error t value      Pr(>|t|)
(Intercept)            9.889      1.500   6.594 0.00000000848
group_3lowPTSD         4.311      2.067   2.086        0.0409
group_3lowResilient    2.208      1.885   1.171        0.2458

Residual standard error: 6.362 on 66 degrees of freedom
Multiple R-squared:  0.06185,   Adjusted R-squared:  0.03342 
F-statistic: 2.176 on 2 and 66 DF,  p-value: 0.1216

$emmeans
 group_3low  emmean   SE df lower.CL upper.CL
 Low-exposed   9.89 1.50 66     6.89     12.9
 PTSD         14.20 1.42 66    11.36     17.0
 Resilient    12.10 1.14 66     9.82     14.4

Confidence level used: 0.95 

$contrasts
 contrast                  estimate   SE df t.ratio p.value
 (Low-exposed) - PTSD         -4.31 2.07 66  -2.086  0.0409
 (Low-exposed) - Resilient    -2.21 1.89 66  -1.171  0.2458
 PTSD - Resilient              2.10 1.82 66   1.153  0.2532

Total (excluding childhood trauma, non-weighted)


Call:
lm(formula = TLEQ_total_exclCT_nonW ~ group_3low, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.6111 -1.6111 -0.2258  1.8500  6.8500 

Coefficients:
                    Estimate Std. Error t value          Pr(>|t|)
(Intercept)           5.6111     0.6278   8.938 0.000000000000561
group_3lowPTSD        2.5389     0.8654   2.934            0.0046
group_3lowResilient   0.6147     0.7893   0.779            0.4389

Residual standard error: 2.664 on 66 degrees of freedom
Multiple R-squared:   0.13, Adjusted R-squared:  0.1036 
F-statistic:  4.93 on 2 and 66 DF,  p-value: 0.0101

$emmeans
 group_3low  emmean    SE df lower.CL upper.CL
 Low-exposed   5.61 0.628 66     4.36     6.86
 PTSD          8.15 0.596 66     6.96     9.34
 Resilient     6.23 0.478 66     5.27     7.18

Confidence level used: 0.95 

$contrasts
 contrast                  estimate    SE df t.ratio p.value
 (Low-exposed) - PTSD        -2.539 0.865 66  -2.934  0.0046
 (Low-exposed) - Resilient   -0.615 0.789 66  -0.779  0.4389
 PTSD - Resilient             1.924 0.764 66   2.519  0.0142

Childhood trauma (CTQ)

Figure: CTQ totals by group

Warning: Removed 1 rows containing non-finite values (stat_boxplot).
Warning: Removed 1 rows containing non-finite values (stat_boxplot).
Warning: Removed 1 rows containing non-finite values (stat_boxplot).

Linear models & post-hoc comparisons

Bonferroni correction will be p < 0.003 (.05/(3*6))

CTQ overall total


Call:
lm(formula = CTQ_total ~ group_3low, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-16.737  -3.499  -1.419   1.581  55.263 

Coefficients:
                    Estimate Std. Error t value             Pr(>|t|)
(Intercept)          40.5000     2.2191  18.250 < 0.0000000000000002
group_3lowPTSD       12.2368     3.0968   3.951             0.000194
group_3lowResilient   0.9194     2.7900   0.330             0.742822

Residual standard error: 9.415 on 65 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.245, Adjusted R-squared:  0.2217 
F-statistic: 10.55 on 2 and 65 DF,  p-value: 0.0001081

$emmeans
 group_3low  emmean   SE df lower.CL upper.CL
 Low-exposed   40.5 2.22 65     36.1     44.9
 PTSD          52.7 2.16 65     48.4     57.1
 Resilient     41.4 1.69 65     38.0     44.8

Confidence level used: 0.95 

$contrasts
 contrast                  estimate   SE df t.ratio p.value
 (Low-exposed) - PTSD       -12.237 3.10 65  -3.951  0.0002
 (Low-exposed) - Resilient   -0.919 2.79 65  -0.330  0.7428
 PTSD - Resilient            11.317 2.74 65   4.126  0.0001

CTQ emotional abuse


Call:
lm(formula = CTQ_emoAbuse ~ group_3low, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.4737 -0.8333 -0.7742  0.2258 15.5263 

Coefficients:
                    Estimate Std. Error t value        Pr(>|t|)
(Intercept)          5.83333    0.72245   8.074 0.0000000000215
group_3lowPTSD       3.64035    1.00816   3.611        0.000594
group_3lowResilient -0.05914    0.90829  -0.065        0.948285

Residual standard error: 3.065 on 65 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.2327,    Adjusted R-squared:  0.2091 
F-statistic: 9.858 on 2 and 65 DF,  p-value: 0.0001823

$emmeans
 group_3low  emmean    SE df lower.CL upper.CL
 Low-exposed   5.83 0.722 65     4.39     7.28
 PTSD          9.47 0.703 65     8.07    10.88
 Resilient     5.77 0.551 65     4.67     6.87

Confidence level used: 0.95 

$contrasts
 contrast                  estimate    SE df t.ratio p.value
 (Low-exposed) - PTSD       -3.6404 1.008 65  -3.611  0.0006
 (Low-exposed) - Resilient   0.0591 0.908 65   0.065  0.9483
 PTSD - Resilient            3.6995 0.893 65   4.143  0.0001

CTQ emotional neglect


Call:
lm(formula = CTQ_emoNeglect ~ group_3low, data = data)

Residuals:
   Min     1Q Median     3Q    Max 
 -6.00  -2.29  -0.75   1.50  14.00 

Coefficients:
                    Estimate Std. Error t value       Pr(>|t|)    
(Intercept)           6.5000     0.8478   7.667 0.000000000114 ***
group_3lowPTSD        4.5000     1.1830   3.804       0.000317 ***
group_3lowResilient   0.7903     1.0658   0.742       0.461061    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.597 on 65 degrees of freedom
  (1 observation deleted due to missingness)
Multiple R-squared:  0.212, Adjusted R-squared:  0.1877 
F-statistic: 8.741 on 2 and 65 DF,  p-value: 0.0004344

 contrast                  estimate   SE df t.ratio p.value
 (Low-exposed) - PTSD         -4.50 1.18 65  -3.804  0.0003
 (Low-exposed) - Resilient    -0.79 1.07 65  -0.742  0.4611
 PTSD - Resilient              3.71 1.05 65   3.540  0.0007

CTQ physical abuse


Call:
lm(formula = CTQ_physAbuse ~ group_3low, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.8000 -0.7778 -0.6129  0.3871  5.2000 

Coefficients:
                    Estimate Std. Error t value             Pr(>|t|)
(Intercept)           5.7778     0.3573  16.171 < 0.0000000000000002
group_3lowPTSD        2.0222     0.4925   4.106             0.000113
group_3lowResilient  -0.1649     0.4492  -0.367             0.714771

Residual standard error: 1.516 on 66 degrees of freedom
Multiple R-squared:  0.2985,    Adjusted R-squared:  0.2772 
F-statistic: 14.04 on 2 and 66 DF,  p-value: 0.000008296

$emmeans
 group_3low  emmean    SE df lower.CL upper.CL
 Low-exposed   5.78 0.357 66     5.06     6.49
 PTSD          7.80 0.339 66     7.12     8.48
 Resilient     5.61 0.272 66     5.07     6.16

Confidence level used: 0.95 

$contrasts
 contrast                  estimate    SE df t.ratio p.value
 (Low-exposed) - PTSD        -2.022 0.493 66  -4.106  0.0001
 (Low-exposed) - Resilient    0.165 0.449 66   0.367  0.7148
 PTSD - Resilient             2.187 0.435 66   5.030  <.0001

CTQ physical neglect


Call:
lm(formula = CTQ_physNeglect ~ group_3low, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6000 -0.6111 -0.4839  0.4000 15.4000 

Coefficients:
                    Estimate Std. Error t value         Pr(>|t|)    
(Intercept)           5.6111     0.6036   9.296 0.00000000000013 ***
group_3lowPTSD        2.9889     0.8320   3.592         0.000625 ***
group_3lowResilient  -0.1272     0.7589  -0.168         0.867354    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2.561 on 66 degrees of freedom
Multiple R-squared:  0.2364,    Adjusted R-squared:  0.2133 
F-statistic: 10.22 on 2 and 66 DF,  p-value: 0.0001363

 contrast                  estimate    SE df t.ratio p.value
 (Low-exposed) - PTSD        -2.989 0.832 66  -3.592  0.0006
 (Low-exposed) - Resilient    0.127 0.759 66   0.168  0.8674
 PTSD - Resilient             3.116 0.734 66   4.243  0.0001

CTQ sexual abuse


Call:
lm(formula = CTQ_sexAbuse ~ group_3low, data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9500 -0.9355 -0.9355 -0.1667 18.0645 

Coefficients:
                    Estimate Std. Error t value   Pr(>|t|)
(Intercept)           5.1667     0.9827   5.257 0.00000169
group_3lowPTSD        2.7833     1.3546   2.055     0.0439
group_3lowResilient   0.7688     1.2355   0.622     0.5359

Residual standard error: 4.169 on 66 degrees of freedom
Multiple R-squared:  0.06645,   Adjusted R-squared:  0.03816 
F-statistic: 2.349 on 2 and 66 DF,  p-value: 0.1034

$emmeans
 group_3low  emmean    SE df lower.CL upper.CL
 Low-exposed   5.17 0.983 66     3.20     7.13
 PTSD          7.95 0.932 66     6.09     9.81
 Resilient     5.94 0.749 66     4.44     7.43

Confidence level used: 0.95 

$contrasts
 contrast                  estimate   SE df t.ratio p.value
 (Low-exposed) - PTSD        -2.783 1.35 66  -2.055  0.0439
 (Low-exposed) - Resilient   -0.769 1.24 66  -0.622  0.5359
 PTSD - Resilient             2.015 1.20 66   1.685  0.0968

WTC Exposures

Using “3 exposures = lower-exposed” group (group_3low):

Figure: Exposures by group

Blue = proportion of group endorsing a given exposure (as defined by the data center). Red = Never experienced that exposure.

Chi square tests of association between group and n exposures

Bonferroni correction will be p < 0.00167 (.05/(3*10))

index a*

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

========================================================
                data$group_3low
data$index_a    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------
0                        11        1           0      12
expected                3.2      3.4         5.5        
row prop.             0.917    0.083       0.000   0.176
std. res.             4.390   -1.285      -2.339        
--------------------------------------------------------
1                         7       18          31      56
expected               14.8     15.6        25.5        
row prop.             0.125    0.321       0.554   0.824
std. res.            -2.032    0.595       1.083        
--------------------------------------------------------
Total                    18       19          31      68
========================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0000000925 
  • Association between group and index_a (arrived early) frequency IS statistically significant
  • lower-exposed more 0, fewer 1 than expected
  • resilient fewer 0 than expected
post-hoc tests
   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Col Total | 
|-------------------------|

==========================================
               tmp$group_3low
tmp$index_h    Low-exposed    PTSD   Total
------------------------------------------
0                       16       4      20
expected               9.7    10.3        
col prop.            0.889   0.211        
------------------------------------------
1                        2      15      17
expected               8.3     8.7        
col prop.            0.111   0.789        
------------------------------------------
Total                   18      19      37
                     0.486   0.514        
==========================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Sample estimate odds ratio: 26.16804 

Alternative hypothesis: true odds ratio is not equal to 1 
p = 0.0000473 
95% confidence interval: 3.903238 327.8712 

Alternative hypothesis: true odds ratio is less than 1 
p = 1 
95%s confidence interval: % 0 219.2406 

Alternative hypothesis: true odds ratio is greater than 1 
p = 0.0000384 
95%s confidence interval: % 4.890063 Inf 

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Col Total | 
|-------------------------|

========================================
               tmp$group_3low
tmp$index_h     PTSD   Resilient   Total
----------------------------------------
0                  4          11      15
expected         5.7         9.3        
col prop.      0.211       0.355        
----------------------------------------
1                 15          20      35
expected        13.3        21.7        
col prop.      0.789       0.645        
----------------------------------------
Total             19          31      50
                0.38        0.62        
========================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Sample estimate odds ratio: 0.4917071 

Alternative hypothesis: true odds ratio is not equal to 1 
p = 0.351 
95% confidence interval: 0.09498967 2.099397 

Alternative hypothesis: true odds ratio is less than 1 
p = 0.225 
95%s confidence interval: % 0 1.730445 

Alternative hypothesis: true odds ratio is greater than 1 
p = 0.921 
95%s confidence interval: % 0.1221198 Inf 

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|-------------------------|

==============================================
               tmp$group_3low
tmp$index_h    Low-exposed   Resilient   Total
----------------------------------------------
0                       16          11      27
expected               9.9        17.1        
----------------------------------------------
1                        2          20      22
expected               8.1        13.9        
----------------------------------------------
Total                   18          31      49
==============================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Sample estimate odds ratio: 13.70336 

Alternative hypothesis: true odds ratio is not equal to 1 
p = 0.000323 
95% confidence interval: 2.515685 144.9476 

Alternative hypothesis: true odds ratio is less than 1 
p = 1 
95%s confidence interval: % 0 97.65347 

Alternative hypothesis: true odds ratio is greater than 1 
p = 0.000277 
95%s confidence interval: % 3.079935 Inf 

index b

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

========================================================
                data$group_3low
data$index_b    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------
0                        18       12          20      50
expected               13.2     14.0        22.8        
row prop.             0.360    0.240       0.400   0.735
std. res.             1.310   -0.527      -0.585        
--------------------------------------------------------
1                         0        7          11      18
expected                4.8      5.0         8.2        
row prop.             0.000    0.389       0.611   0.265
std. res.            -2.183    0.879       0.975        
--------------------------------------------------------
Total                    18       19          31      68
========================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0047 

Comparisons do not survive Bonferroni correction for 3*10 comparisons (.00167)

index c*

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

========================================================
                data$group_3low
data$index_c    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------
0                        10        3           1      14
expected                3.7      3.9         6.4        
row prop.             0.714    0.214       0.071   0.206
std. res.             3.270   -0.461      -2.131        
--------------------------------------------------------
1                         8       16          30      54
expected               14.3     15.1        24.6        
row prop.             0.148    0.296       0.556   0.794
std. res.            -1.665    0.235       1.085        
--------------------------------------------------------
Total                    18       19          31      68
========================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0000542 
  • Association between group and index_c (worked on or adjacent to pit/pile) frequency IS statistically significant
  • lower-exposed more 0 than expected
  • resilient fewer 0 than expected
post-hoc tests
   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Col Total | 
|-------------------------|

==========================================
               tmp$group_3low
tmp$index_c    Low-exposed    PTSD   Total
------------------------------------------
0                       10       3      13
expected               6.3     6.7        
col prop.            0.556   0.158        
------------------------------------------
1                        8      16      24
expected              11.7    12.3        
col prop.            0.444   0.842        
------------------------------------------
Total                   18      19      37
                     0.486   0.514        
==========================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Sample estimate odds ratio: 6.298169 

Alternative hypothesis: true odds ratio is not equal to 1 
p = 0.017 
95% confidence interval: 1.184133 45.90918 

Alternative hypothesis: true odds ratio is less than 1 
p = 0.998 
95%s confidence interval: % 0 33.83905 

Alternative hypothesis: true odds ratio is greater than 1 
p = 0.0135 
95%s confidence interval: % 1.465824 Inf 

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Col Total | 
|-------------------------|

========================================
               tmp$group_3low
tmp$index_c     PTSD   Resilient   Total
----------------------------------------
0                  3           1       4
expected         1.5         2.5        
col prop.      0.158       0.032        
----------------------------------------
1                 16          30      46
expected        17.5        28.5        
col prop.      0.842       0.968        
----------------------------------------
Total             19          31      50
                0.38        0.62        
========================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Sample estimate odds ratio: 5.427659 

Alternative hypothesis: true odds ratio is not equal to 1 
p = 0.147 
95% confidence interval: 0.3988767 304.3108 

Alternative hypothesis: true odds ratio is less than 1 
p = 0.983 
95%s confidence interval: % 0 150.1039 

Alternative hypothesis: true odds ratio is greater than 1 
p = 0.147 
95%s confidence interval: % 0.5520107 Inf 

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Col Total | 
|-------------------------|

==============================================
               tmp$group_3low
tmp$index_c    Low-exposed   Resilient   Total
----------------------------------------------
0                       10           1      11
expected                 4           7        
col prop.            0.556       0.032        
----------------------------------------------
1                        8          30      38
expected                14          24        
col prop.            0.444       0.968        
----------------------------------------------
Total                   18          31      49
                     0.367       0.633        
==============================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Sample estimate odds ratio: 34.09547 

Alternative hypothesis: true odds ratio is not equal to 1 
p = 0.0000476 
95% confidence interval: 3.926723 1661.183 

Alternative hypothesis: true odds ratio is less than 1 
p = 1 
95%s confidence interval: % 0 829.8727 

Alternative hypothesis: true odds ratio is greater than 1 
p = 0.0000476 
95%s confidence interval: % 4.956031 Inf 

index d

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

========================================================
                data$group_3low
data$index_d    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------
0                        12        9           7      28
expected                7.4      7.8        12.8        
row prop.             0.429    0.321       0.250   0.412
std. res.             1.685    0.421      -1.614        
--------------------------------------------------------
1                         6       10          24      40
expected               10.6     11.2        18.2        
row prop.             0.150    0.250       0.600   0.588
std. res.            -1.410   -0.352       1.350        
--------------------------------------------------------
Total                    18       19          31      68
========================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.00871 

Comparisons do not survive Bonferroni correction for 3*10 comparisons (.00167)

index e

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

========================================================
                data$group_3low
data$index_e    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------
0                        14       10           9      33
expected                8.7      9.2        15.0        
row prop.             0.424    0.303       0.273   0.485
std. res.             1.781    0.257      -1.558        
--------------------------------------------------------
1                         4        9          22      35
expected                9.3      9.8        16.0        
row prop.             0.114    0.257       0.629   0.515
std. res.            -1.730   -0.249       1.513        
--------------------------------------------------------
Total                    18       19          31      68
========================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.00382 

Comparisons do not survive Bonferroni correction for 3*10 comparisons (.00167)

index f

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

========================================================
                data$group_3low
data$index_f    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------
0                        18       16          24      58
expected               15.4     16.2        26.4        
row prop.             0.310    0.276       0.414   0.853
std. res.             0.676   -0.051      -0.475        
--------------------------------------------------------
1                         0        3           7      10
expected                2.6      2.8         4.6        
row prop.             0.000    0.300       0.700   0.147
std. res.            -1.627    0.123       1.143        
--------------------------------------------------------
Total                    18       19          31      68
========================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0952 

Comparisons do not survive Bonferroni correction for 3*10 comparisons (.00167)

index g

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

========================================================
                data$group_3low
data$index_g    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------
0                         8        8           8      24
expected                6.4      6.7        10.9        
row prop.             0.333    0.333       0.333   0.353
std. res.             0.653    0.500      -0.889        
--------------------------------------------------------
1                        10       11          23      44
expected               11.6     12.3        20.1        
row prop.             0.227    0.250       0.523   0.647
std. res.            -0.483   -0.369       0.657        
--------------------------------------------------------
Total                    18       19          31      68
========================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.34 

Comparisons do not survive Bonferroni correction for 3*10 comparisons (.00167)

index h*

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

========================================================
                data$group_3low
data$index_h    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------
0                        16        4          11      31
expected                8.2      8.7        14.1        
row prop.             0.516    0.129       0.355   0.456
std. res.             2.721   -1.584      -0.833        
--------------------------------------------------------
1                         2       15          20      37
expected                9.8     10.3        16.9        
row prop.             0.054    0.405       0.541   0.544
std. res.            -2.490    1.450       0.763        
--------------------------------------------------------
Total                    18       19          31      68
========================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0000378 
  • Association between group and index_h (know someone injured) frequency IS statistically significant
  • lower-exposed more 0, fewer 1 than expected
post-hoc tests
   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Col Total | 
|-------------------------|

==========================================
               tmp$group_3low
tmp$index_h    Low-exposed    PTSD   Total
------------------------------------------
0                       16       4      20
expected               9.7    10.3        
col prop.            0.889   0.211        
------------------------------------------
1                        2      15      17
expected               8.3     8.7        
col prop.            0.111   0.789        
------------------------------------------
Total                   18      19      37
                     0.486   0.514        
==========================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Sample estimate odds ratio: 26.16804 

Alternative hypothesis: true odds ratio is not equal to 1 
p = 0.0000473 
95% confidence interval: 3.903238 327.8712 

Alternative hypothesis: true odds ratio is less than 1 
p = 1 
95%s confidence interval: % 0 219.2406 

Alternative hypothesis: true odds ratio is greater than 1 
p = 0.0000384 
95%s confidence interval: % 4.890063 Inf 

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Col Total | 
|-------------------------|

========================================
               tmp$group_3low
tmp$index_h     PTSD   Resilient   Total
----------------------------------------
0                  4          11      15
expected         5.7         9.3        
col prop.      0.211       0.355        
----------------------------------------
1                 15          20      35
expected        13.3        21.7        
col prop.      0.789       0.645        
----------------------------------------
Total             19          31      50
                0.38        0.62        
========================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Sample estimate odds ratio: 0.4917071 

Alternative hypothesis: true odds ratio is not equal to 1 
p = 0.351 
95% confidence interval: 0.09498967 2.099397 

Alternative hypothesis: true odds ratio is less than 1 
p = 0.225 
95%s confidence interval: % 0 1.730445 

Alternative hypothesis: true odds ratio is greater than 1 
p = 0.921 
95%s confidence interval: % 0.1221198 Inf 

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Col Total | 
|-------------------------|

==============================================
               tmp$group_3low
tmp$index_h    Low-exposed   Resilient   Total
----------------------------------------------
0                       16          11      27
expected               9.9        17.1        
col prop.            0.889       0.355        
----------------------------------------------
1                        2          20      22
expected               8.1        13.9        
col prop.            0.111       0.645        
----------------------------------------------
Total                   18          31      49
                     0.367       0.633        
==============================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Sample estimate odds ratio: 13.70336 

Alternative hypothesis: true odds ratio is not equal to 1 
p = 0.000323 
95% confidence interval: 2.515685 144.9476 

Alternative hypothesis: true odds ratio is less than 1 
p = 1 
95%s confidence interval: % 0 97.65347 

Alternative hypothesis: true odds ratio is greater than 1 
p = 0.000277 
95%s confidence interval: % 3.079935 Inf 

index i

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

========================================================
                data$group_3low
data$index_i    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------
0                        18       12          26      56
expected               14.8     15.6        25.5        
row prop.             0.321    0.214       0.464   0.824
std. res.             0.825   -0.922       0.093        
--------------------------------------------------------
1                         0        7           5      12
expected                3.2      3.4         5.5        
row prop.             0.000    0.583       0.417   0.176
std. res.            -1.782    1.992      -0.201        
--------------------------------------------------------
Total                    18       19          31      68
========================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0116 

Comparisons do not survive Bonferroni correction for 3*10 comparisons (.00167)

index j

   Cell Contents 
|-------------------------|
|                       N | 
|              Expected N | 
|           N / Row Total | 
|            Std Residual | 
|-------------------------|

========================================================
                data$group_3low
data$index_j    Low-exposed     PTSD   Resilient   Total
--------------------------------------------------------
0                        14        7          22      43
expected               11.8     11.0        20.2        
row prop.             0.326    0.163       0.512   0.843
std. res.             0.639   -1.196       0.392        
--------------------------------------------------------
1                         0        6           2       8
expected                2.2      2.0         3.8        
row prop.             0.000    0.750       0.250   0.157
std. res.            -1.482    2.774      -0.910        
--------------------------------------------------------
Total                    14       13          24      51
========================================================

 
Fisher's Exact Test for Count Data
------------------------------------------------------------
Alternative hypothesis: two.sided 
p = 0.0024 

Comparisons do not survive Bonferroni correction for 3*10 comparisons (.00167)

LS0tCnRpdGxlOiAiV1RDIG5ldXJvaW1hZ2luZyBtZWV0aW5nIDA0LTA2LTIyIgpvdXRwdXQ6CiAgaHRtbF9ub3RlYm9vazoKICAgIHRoZW1lOiBjZXJ1bGVhbgogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgY29sbGFwc2VkOiBmYWxzZQogICAgdG9jX2RlcHRoOiAzCi0tLQoKX0FsbCBleHBvc3VyZXMsIENUUSwgVExFUSBkYXRhIG5vdyBjbGVhbmVkLiBKdXN0IHdhaXRpbmcgb24gYGluZGV4X2pgIGZvciBuPTE2LCB3aG8gWm9lL1Rob21hc2luYSB3aWxsIGNhbGwuIE5vIGV4cG9zdXJlcyBkYXRhIGZvciBOV1RDLTA5MSB5ZXQgKHdpbGwgYmUgaW4gbmV4dCByZXF1ZXN0IGZyb20gZGF0YSBjZW50ZXIpLiBBbGwgb2YgdGhlIGFuYWx5c2VzIGhlcmUgdXNlIHRoZSBncm91cCBhc3NpZ25tZW50IHdoZXJlIDMgZXhwb3N1cmVzID0gTG93ZXItZXhwb3NlZCBncm91cF8KCiMjIFN1bW1hcnkKCiogKipUTEVRKio6CiAgKiBOb25lIG9mIHRoZSBjaGkgc3F1YXJlIHRlc3RzIG9uIHRoZSA8dT5UTEVRIGl0ZW0tbGV2ZWw8L3U+IHVud2VpZ2h0ZWQgKGkuZS4sIGJpbmFyaXplZCkgdmFyaWFibGVzIHdlcmUgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCB1c2luZyBGaXNoZXIncyBleGFjdCB0ZXN0IHdpdGggYSB0aHJlc2hvbGQgb2YgcCA8IDAuMDAwNyAoLjA1LygzIGdyb3VwcyoyMyBpdGVtcykpLgogICogTGluZWFyIG1vZGVscyBwcmVkaWN0aW5nIFRMRVEgdG90YWxzIGZyb20gZ3JvdXAgdXNlZCBhIHRocmVzaG9sZCBvZiBwIDwgLjAwNCAoLjA1LzMqNCkKICAqIFRoZXJlIHdhcyBhIHNpZ25pZmljYW50IG9tbmlidXMgZWZmZWN0IG9mIGdyb3VwIE9OTFkgb24gPHU+bm9uLXdlaWdodGVkIFRMRVEgdG90YWwgKGluY2x1ZGVzIGNoaWxkaG9vZCB0cmF1bWEpPC91PgogICAgKiBQb3N0LWhvYyBjb21wYXJpc29ucyB1c2luZyBzYW1lIHAgPC4wMDQgdGhyZXNob2xkIGluZGljYXRlZCB0aGF0IHRoZSBQVFNEIGdyb3VwIGhhZCBoaWdoZXIgc2NvcmVzIHZzLiB0aGUgTG93LWV4cG9zZWQgZ3JvdXAgKHAgPSAuMDAxMikgKGFuZCBwb3NzaWJseSB0aGUgUmVzaWxpZW50IGdyb3VwLCBwID0gLjAwNDYpLiBMb3ctZXhwb3NlZCBhbmQgUmVzaWxpZW50IGdyb3VwcyB3ZXJlIG5vdCBzaWduaWZpY2FudGx5IGRpZmZlcmVudCBmcm9tIGVhY2ggb3RoZXIgaW4gdGVybXMgb2Ygbm9uLXdlaWdodGVkIFRMRVEgdG90YWwgc2NvcmVzLgogIDxwPgoqICoqQ1RRKio6CiAgKiBMaW5lYXIgbW9kZWxzIHByZWRpY3RpbmcgQ1RRIHNjb3JlcyBmcm9tIGdyb3VwIHVzZWQgYSB0aHJlc2hvbGQgb2YgcCA8IC4wMDMgKC4wNS8oMyo2KSkKICAqIFRoZXJlIHdhcyBhIHNpZ25pZmljYW50IG9tbmlidXMgZWZmZWN0IG9mIGdyb3VwIG9uIHRoZSA8dT5DVFEgdG90YWw8L3U+IGFzIHdlbGwgYXMgdGhlIDx1Pm90aGVyIENUUSBzdWJzY2FsZXMgZXhjZXB0IGZvciBgQ1RRIHNleHVhbCBhYnVzZWA8L3U+CiAgICAqIFBvc3QtaG9jIGNvbXBhcmlzb25zIHVzaW5nIHNhbWUgcCA8LjAwMyB0aHJlc2hvbGQgaW5kaWNhdGVkIHRoYXQgdGhlIFBUU0QgZ3JvdXAgaGFkIGhpZ2hlciBzY29yZXMgY29tcGFyZWQgdG8gdGhlIG90aGVyIHR3byBncm91cHMuIAogICAgICAqIFJlc2lsaWVudCBhbmQgTG93LWV4cG9zZWQgZ3JvdXBzIGRpZCBub3QgZGlmZmVyIGZyb20gZWFjaCBvdGhlci4KICA8cD4KKiAqKldUQyBleHBvc3VyZXMqKjoKICAqIENoaSBzcXVhcmUgdGVzdHMgZm9yIGdyb3VwIGRpZmZlcmVuY2VzIG9uIHRoZSBleHBvc3VyZSB2YXJpYWJsZXMgYGluZGV4X2FgIChfYXJyaXZlZCA5LzExLTkvMTNfKSwgYGluZGV4X2NgIChfd29ya2VkIG9uIG9yIGFkamFjZW50IHRvIHBpdC9waWxlXyksIGBpbmRleF9oYCAoX2tub3cgc29tZW9uZSBpbmp1cmVkXykgd2VyZSBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50IHVzaW5nIEZpc2hlcidzIGV4YWN0IHRlc3Qgd2l0aCBhIHRocmVzaG9sZCBvZiBwIDwgMC4wMDE2NyAoLjA1LygzKjEwKSkuCiAgKiBfTm90ZTpfCiAgICAqIF9uXyA9IDE2IHN0aWxsIG1pc3NpbmcgYGluZGV4X2pgIChfc2xlcHQgb24gc2l0ZV8pIChab2UgaXMgY2FsbGluZykKICAgICogU3RpbGwgbmVlZCB0byBjaGVjayB0aGF0IHNhbWUgbWVkaWFuIHdhcyB1c2VkIHRvIGRldGVybWluZSBgaW5kZXhfZGAgKF93b3JrZWQgPm1lZGlhbiAjIGhvdXJzXykKICAgICogTm8gZXhwb3N1cmVzIGRhdGEgZm9yIE5XVEMtMDkxIHlldCAod2lsbCBiZSBpbiBuZXh0IHJlcXVlc3QgZnJvbSBkYXRhIGNlbnRlcikuCgoKCgpgYGB7ciBzZXR1cCxlY2hvPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IEZBTFNFKQprbml0cjo6b3B0c19rbml0JHNldChyb290LmRpciA9ICIvVXNlcnMvc2FyZW5zZWVsZXkvRHJvcGJveC9Qb3N0ZG9jL253dGNfc3R1ZHkvbWVldGluZ3MiKQpvcHRpb25zKHNjaXBlbj05OTkpCgpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KG1pY2UpCmxpYnJhcnkoZ2xtbmV0KQpsaWJyYXJ5KGdncGxvdDIpCmxpYnJhcnkoZ2djb3JycGxvdCkKbGlicmFyeShzdHJpbmdyKQpsaWJyYXJ5KGZvcmVpZ24pCmxpYnJhcnkoc3RhcmdhemVyKQpsaWJyYXJ5KGNvd3Bsb3QpCgpybShsaXN0ID0gbHMoKSkKCiNsb2FkIGRhdGEgZm9yIE5XVEMgcGFydGljaXBhbnRzIHNvIGZhciAKZGF0YTwtcmVhZC5jc3YoIm53dGNfZGF0YV9jbGVhbmVkX2Zvck1lZXRpbmdfMDQtMDYtMjIuY3N2Iiwgc3RyaXAud2hpdGU9RkFMU0UsIG5hLnN0cmluZ3M9Ik5BIikKCmRhdGEkdG90X2V4cG9zdXJlc19wb3N0X2NsZWFuW2RhdGEkcmVjb3JkX2lkPT0iTldUQy0wOTEiXSA8LSBOQSAjIGRvbid0IGhhdmUgdGhpcyBwZXJzb24ncyBkYXRhIHlldAoKIyBtYWtlIG5ldyBncm91cHMKIyB3aGVuIDMgZXhwb3N1cmVzID0gUmVzaWxpZW50IGdyb3VwCmRhdGEgPC0gZGF0YSAlPiUgbXV0YXRlKGdyb3VwXzNyZXNpbCA9IGdyb3VwKQpkYXRhJGdyb3VwXzNyZXNpbFtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDMyIl0gPC0gIlJlc2lsaWVudCIgIyBmb3JtZXJseSBsb3dlci1leHBvc2VkCmRhdGEkZ3JvdXBfM3Jlc2lsW2RhdGEkcmVjb3JkX2lkPT0iTldUQy0wNjkiXSA8LSAiUmVzaWxpZW50IiAjIGZvcm1lcmx5IGxvd2VyLWV4cG9zZWQKZGF0YSRncm91cF8zcmVzaWxbZGF0YSRyZWNvcmRfaWQ9PSJOV1RDLTA3MiJdIDwtICJSZXNpbGllbnQiICMgZm9ybWVybHkgbG93ZXItZXhwb3NlZApkYXRhJGdyb3VwXzNyZXNpbFtkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDgzIl0gPC0gIlJlc2lsaWVudCIgIyBmb3JtZXJseSBsb3dlci1leHBvc2VkCgojIHdoZW4gMyBleHBvc3VyZXMgPSBMb3dlci1leHBvc2VkIGdyb3VwCmRhdGEgPC0gZGF0YSAlPiUgbXV0YXRlKGdyb3VwXzNsb3cgPSBncm91cCkKZGF0YSRncm91cF8zbG93W2RhdGEkcmVjb3JkX2lkPT0iTldUQy0wNTkiXSA8LSAiTG93LWV4cG9zZWQiICMgZm9ybWVybHkgcmVzaWxpZW50CmRhdGEkZ3JvdXBfM2xvd1tkYXRhJHJlY29yZF9pZD09Ik5XVEMtMDc5Il0gPC0gIkxvdy1leHBvc2VkIiAjIGZvcm1lcmx5IHJlc2lsaWVudAoKYGBgCgojIyMjIEdyb3VwcyB3aGVuIDMgZXhwb3N1cmVzID0gbG93ZXItZXhwb3NlZAoKYGBge3J9CmRhdGEgJT4lIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JSBjb3VudCgpCmBgYAoKIyMjIyBHcm91cHMgaW4gUkVEQ2FwCgpBcyBjdXJyZW50bHkgbGlzdGVkIGluIFJFRENhcDoKCmBgYHtyfQpkYXRhICU+JSBncm91cF9ieShncm91cCkgJT4lIGNvdW50KCkKYGBgCgojIyMjIEdyb3VwcyB3aGVuIDMgZXhwb3N1cmVzID0gcmVzaWxpZW50CgpgYGB7cn0KZGF0YSAlPiUgZ3JvdXBfYnkoZ3JvdXBfM3Jlc2lsKSAlPiUgY291bnQoKQpgYGAKCkdyb3VwcyBhcmUgbW9yZSBiYWxhbmNlZCB3aGVuIDMgZXhwb3N1cmVzID0gbG93ZXItZXhwb3NlZCwgc28gd2Ugd2lsbCBnbyB3aXRoIHRoYXQuCgojIyBUTEVRIGl0ZW1zIChub24td2VpZ2h0ZWQpCgpgYGB7cn0KZGF0YV90bXAgPC0gZGF0YSAlPiUgbXV0YXRlX2VhY2goZnVucyhmYWN0b3IpLCBzdGFydHNfd2l0aCgidXNlLnRsZXEiKSAmIGVuZHNfd2l0aCgiYmluIikpCgp0bGVxMSA8LSBkYXRhX3RtcCAlPiUgY291bnQoZ3JvdXBfM2xvdyx1c2UudGxlcV8xYmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTIgPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csdXNlLnRsZXFfMmJpbiwgbmFtZT0ibiIpICU+JQogICAgZ3JvdXBfYnkoZ3JvdXBfM2xvdykgJT4lCiAgICBtdXRhdGUocGN0PSByb3VuZChuIC8gc3VtKG4pLDIpKSAgJT4lCiAgICB1bmdyb3VwKCkKCnRsZXEzIDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzNiaW4sIG5hbWU9Im4iKSAlPiUKICAgIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JQogICAgbXV0YXRlKHBjdD0gcm91bmQobiAvIHN1bShuKSwyKSkgICU+JQogICAgdW5ncm91cCgpCgp0bGVxNCA8LSBkYXRhX3RtcCAlPiUgY291bnQoZ3JvdXBfM2xvdyx1c2UudGxlcV80YmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTUgPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csdXNlLnRsZXFfNWJpbiwgbmFtZT0ibiIpICU+JQogICAgZ3JvdXBfYnkoZ3JvdXBfM2xvdykgJT4lCiAgICBtdXRhdGUocGN0PSByb3VuZChuIC8gc3VtKG4pLDIpKSAgJT4lCiAgICB1bmdyb3VwKCkKCnRsZXE2IDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzZiaW4sIG5hbWU9Im4iKSAlPiUKICAgIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JQogICAgbXV0YXRlKHBjdD0gcm91bmQobiAvIHN1bShuKSwyKSkgICU+JQogICAgdW5ncm91cCgpCgp0bGVxNyA8LSBkYXRhX3RtcCAlPiUgY291bnQoZ3JvdXBfM2xvdyx1c2UudGxlcV83YmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTggPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csdXNlLnRsZXFfOGJpbiwgbmFtZT0ibiIpICU+JQogICAgZ3JvdXBfYnkoZ3JvdXBfM2xvdykgJT4lCiAgICBtdXRhdGUocGN0PSByb3VuZChuIC8gc3VtKG4pLDIpKSAgJT4lCiAgICB1bmdyb3VwKCkKCnRsZXE5IDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzliaW4sIG5hbWU9Im4iKSAlPiUKICAgIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JQogICAgbXV0YXRlKHBjdD0gcm91bmQobiAvIHN1bShuKSwyKSkgICU+JQogICAgdW5ncm91cCgpCgp0bGVxMTAgPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csdXNlLnRsZXFfMTBiaW4sIG5hbWU9Im4iKSAlPiUKICAgIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JQogICAgbXV0YXRlKHBjdD0gcm91bmQobiAvIHN1bShuKSwyKSkgICU+JQogICAgdW5ncm91cCgpCgp0bGVxMTEgPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csdXNlLnRsZXFfMTFiaW4sIG5hbWU9Im4iKSAlPiUKICAgIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JQogICAgbXV0YXRlKHBjdD0gcm91bmQobiAvIHN1bShuKSwyKSkgICU+JQogICAgdW5ncm91cCgpCgp0bGVxMTIgPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csdXNlLnRsZXFfMTJiaW4sIG5hbWU9Im4iKSAlPiUKICAgIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JQogICAgbXV0YXRlKHBjdD0gcm91bmQobiAvIHN1bShuKSwyKSkgICU+JQogICAgdW5ncm91cCgpCgp0bGVxMTMgPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csdXNlLnRsZXFfMTNiaW4sIG5hbWU9Im4iKSAlPiUKICAgIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JQogICAgbXV0YXRlKHBjdD0gcm91bmQobiAvIHN1bShuKSwyKSkgICU+JQogICAgdW5ncm91cCgpCgoKdGxlcTE0IDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzE0YmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTE1IDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzE1YmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTE2IDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzE2YmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTE3IDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzE3YmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTE4IDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzE4YmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTE5IDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzE5YmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTIwIDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzIwYmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTIxIDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzIxYmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTIyIDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzIyYmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKdGxlcTIzIDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LHVzZS50bGVxXzIzYmluLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKcDE8LWdncGxvdCh0bGVxMSwgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPXVzZS50bGVxXzFiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDI8LWdncGxvdCh0bGVxMiwgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPXVzZS50bGVxXzJiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDM8LWdncGxvdCh0bGVxMywgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPXVzZS50bGVxXzNiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDQ8LWdncGxvdCh0bGVxNCwgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPXVzZS50bGVxXzRiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDU8LWdncGxvdCh0bGVxNSwgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPXVzZS50bGVxXzViaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDY8LWdncGxvdCh0bGVxNiwgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPXVzZS50bGVxXzZiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDc8LWdncGxvdCh0bGVxNywgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPXVzZS50bGVxXzdiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDg8LWdncGxvdCh0bGVxOCwgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPXVzZS50bGVxXzhiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDk8LWdncGxvdCh0bGVxOSwgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPXVzZS50bGVxXzliaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDEwPC1nZ3Bsb3QodGxlcTEwLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMTBiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDExPC1nZ3Bsb3QodGxlcTExLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMTFiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDEyPC1nZ3Bsb3QodGxlcTEyLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMTJiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDEzPC1nZ3Bsb3QodGxlcTEzLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMTNiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDE0PC1nZ3Bsb3QodGxlcTE0LCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMTRiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDE1PC1nZ3Bsb3QodGxlcTE1LCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMTViaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDE2PC1nZ3Bsb3QodGxlcTE2LCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMTZiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDE3PC1nZ3Bsb3QodGxlcTE3LCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMTdiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDE4PC1nZ3Bsb3QodGxlcTE4LCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMThiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDE5PC1nZ3Bsb3QodGxlcTE5LCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMTliaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDIwPC1nZ3Bsb3QodGxlcTIwLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMjBiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDIxPC1nZ3Bsb3QodGxlcTIxLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMjFiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDIyPC1nZ3Bsb3QodGxlcTIyLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMjJiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKcDIzPC1nZ3Bsb3QodGxlcTIzLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9dXNlLnRsZXFfMjNiaW4pKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKCmBgYAoKIyMjIEZpZ3VyZTogVExFUSBpdGVtcyAobm9uLXdlaWdodGVkKSBieSBncm91cCAKCl9CbHVlID0gcHJvcG9ydGlvbiBvZiBncm91cCBlbmRvcnNpbmcgYXQgbGVhc3Qgb25lIGluY2lkZW5jZSBvZiBhIGdpdmVuIGV2ZW50LiBSZWQgPSBOZXZlciBleHBlcmllbmNlZCB0aGF0IGV2ZW50Ll8KCmBgYHtyIGZpZy5oZWlnaHQ9OH0KbGFiZWxzIDwtIGMoIjEuZGlzYXN0ZXIiLCIyLm12YSIsIjMuYWNjaWRlbnQiLCI0LndhciIsIjUuZGVhdGhMTyIsIjYuaW5qTE8iLCI3LmlsbG5lc3MiLCI4LnJvYmJlcnkiLCAiOS5iZWF0ZW4iLCIxMC53aXRuZXNzIiwiMTEudGhyZWF0ZW4iLCIxMi5wdW5pc2giLCAiMTMudmlvbEZhbSIsICIxNC5JUFYiLCAiMTUuY3NhIDwxMyIsICIxNi5jc2EgcGVlciIsICIxNy5jc2EgMTMtMTgiLCAiMTguc2EgMTgrIiwgIjE5LmhhcmFzcyIsICIyMC5zdGFsayIsICIyMS5taXNjYXJyIiwgIjIyLmFib3J0IiwgIjIzLm90aGVyIikKIHBsb3RfZ3JpZChwMSxwMixwMyxwNCxwNSxwNixwNyxwOCxwOSxwMTAscDExLHAxMixwMTMscDE0LHAxNSxwMTYscDE3LHAxOCxwMTkscDIwLHAyMSxwMjIscDIzLCBsYWJlbHMgPSBsYWJlbHMsICNncmVlZHk9VFJVRSwgCiAgICAgICAgICAgc2NhbGU9MSwgbmNvbD0zLCBucm93PTgsaGp1c3Q9LS41LHZqdXN0PTEsbGFiZWxfc2l6ZSA9IDIwKQpgYGAKIyMjIENoaSBzcXVhcmUgdGVzdHMgb2YgYXNzb2NpYXRpb24gYmV0d2VlbiBncm91cCBhbmQgVExFUSBpdGVtcyAobm9uLXdlaWdodGVkKQoKQm9uZmVycm9uaSBjb3JyZWN0aW9uIHdpbGwgYmUgcCA8IDAuMDAwNyAoLjA1LygzKjIzKSkKCmBgYHtyLCBlY2hvPUZBTFNFLCBpbmNsdWRlPUZBTFNFfQpsaWJyYXJ5KE1BU1MpICMgZm9yIGNoaXNxCmxpYnJhcnkoZGVzY3IpICMgZm9yIGNyb3NzdGFibGUKCiMgVGhpcyBjb2RlIHdpbGwgZ2VuZXJhdGUgYm90aCBQZWFyc29uJ3MgQ2hpLXNxdWFyZSBhbmQgRmlzaGVyJ3MgQ2hpIHNxdWFyZSAoaWYgZGVzaXJlZDsgaGVyZSBqdXN0IGxvb2tpbmcgYXQgRmlzaGVyJ3MgdGVzdCkuIEl0IHByb2R1Y2VzIGNvdW50cyBhcyB3ZWxsIGFzIHByb3BvcnRpb25zIG9mIGVhY2ggb2YgdGhlIHRhYmxlIGVudHJpZXMuIEJhc2VkIG9uIHRoZSBzdGFuZGFyZGlzZWQgcmVzaWR1YWxzIG9yIHotdmFsdWVzIHNjb3JlcyBpLmUuLCBJZiBpdCBpcyBvdXRzaWRlIHRoZSByYW5nZSB8MS45NnwgaS5lLiwgbGVzcyB0aGFuIC0xLjk2IG9yIGdyZWF0ZXIgdGhhbiAxLjk2LCB0aGVuIGl0IGlzIHNpZ25pZmljYW50IHAgPCAwLjA1LiBUaGUgc2lnbiB3b3VsZCB0aGVuIGluZGljYXRlIHdoZXRoZXIgcG9zaXRpdmVseSByZWxhdGVkIG9yIG5lZ2F0aXZlbHkuCiMgTkI6IFJlc2lkdWFscyByZWZsZWN0IHRoZSBleHRlbnQgdG8gd2hpY2ggYW4gb2JzZXJ2ZWQgdmFsdWUgZXhjZWVkZWQgdGhlIGV4cGVjdGVkIHZhbHVlIChwb3NpdGl2ZSB2YWx1ZSkgb3IgZmVsbCBzaG9ydCBvZiB0aGUgZXhwZWN0ZWQgdmFsdWUgKG5lZ2F0aXZlIHZhbHVlKQpgYGAKCiMjIyMgVExFUSBpdGVtIDEKYGBge3J9CkNyb3NzVGFibGUoZGF0YSR1c2UudGxlcV8xYmluLCAgZGF0YSRncm91cF8zbG93LAogICAgICAgZmlzaGVyID0gVCwgY2hpc3EgPSBGLCBleHBlY3RlZCA9IFQsCiAgICAgICBwcm9wLmMgPSBGLCBwcm9wLnQgPSBGLCBwcm9wLmNoaXNxID0gRiwgCiAgICAgIHNyZXNpZCA9IFQsIG1pc3NpbmcuaW5jbHVkZT1GLCByb3cubGFiZWxzID0gVCkKYGBgCgojIyMjIFRMRVEgaXRlbSAyCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMmJpbiwgIGRhdGEkZ3JvdXBfM2xvdywKICAgICAgIGZpc2hlciA9IFQsIGNoaXNxID0gRiwgZXhwZWN0ZWQgPSBULAogICAgICAgcHJvcC5jID0gRiwgcHJvcC50ID0gRiwgcHJvcC5jaGlzcSA9IEYsIAogICAgICBzcmVzaWQgPSBULCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCmBgYAoKIyMjIyBUTEVRIGl0ZW0gMwpgYGB7cn0KQ3Jvc3NUYWJsZShkYXRhJHVzZS50bGVxXzNiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDQKYGBge3J9CkNyb3NzVGFibGUoZGF0YSR1c2UudGxlcV80YmluLCAgZGF0YSRncm91cF8zbG93LAogICAgICAgZmlzaGVyID0gVCwgY2hpc3EgPSBGLCBleHBlY3RlZCA9IFQsCiAgICAgICBwcm9wLmMgPSBGLCBwcm9wLnQgPSBGLCBwcm9wLmNoaXNxID0gRiwgCiAgICAgIHNyZXNpZCA9IFQsIG1pc3NpbmcuaW5jbHVkZT1GLCByb3cubGFiZWxzID0gVCkKYGBgCgojIyMjIFRMRVEgaXRlbSA1CmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfNWJpbiwgIGRhdGEkZ3JvdXBfM2xvdywKICAgICAgIGZpc2hlciA9IFQsIGNoaXNxID0gRiwgZXhwZWN0ZWQgPSBULAogICAgICAgcHJvcC5jID0gRiwgcHJvcC50ID0gRiwgcHJvcC5jaGlzcSA9IEYsIAogICAgICBzcmVzaWQgPSBULCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCmBgYAoKIyMjIyBUTEVRIGl0ZW0gNgpgYGB7cn0KQ3Jvc3NUYWJsZShkYXRhJHVzZS50bGVxXzZiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDcKYGBge3J9CkNyb3NzVGFibGUoZGF0YSR1c2UudGxlcV83YmluLCAgZGF0YSRncm91cF8zbG93LAogICAgICAgZmlzaGVyID0gVCwgY2hpc3EgPSBGLCBleHBlY3RlZCA9IFQsCiAgICAgICBwcm9wLmMgPSBGLCBwcm9wLnQgPSBGLCBwcm9wLmNoaXNxID0gRiwgCiAgICAgIHNyZXNpZCA9IFQsIG1pc3NpbmcuaW5jbHVkZT1GLCByb3cubGFiZWxzID0gVCkKYGBgCgojIyMjIFRMRVEgaXRlbSA4CmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfOGJpbiwgIGRhdGEkZ3JvdXBfM2xvdywKICAgICAgIGZpc2hlciA9IFQsIGNoaXNxID0gRiwgZXhwZWN0ZWQgPSBULAogICAgICAgcHJvcC5jID0gRiwgcHJvcC50ID0gRiwgcHJvcC5jaGlzcSA9IEYsIAogICAgICBzcmVzaWQgPSBULCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCmBgYAoKIyMjIyBUTEVRIGl0ZW0gOQpgYGB7cn0KQ3Jvc3NUYWJsZShkYXRhJHVzZS50bGVxXzliaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDEwCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMTBiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDExCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMTFiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDEyCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMTJiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDEzCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMTNiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDE0CmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMTRiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDE1CmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMTViaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDE2CmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMTZiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDE3CmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMTdiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDE4CmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMThiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDE5CmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMTliaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDIwCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMjBiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDIxCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMjFiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDIyCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMjJiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIyMgVExFUSBpdGVtIDIzCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkdXNlLnRsZXFfMjNiaW4sICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiMjIFRMRVEgdG90YWxzICh3ZWlnaHRlZCBhbmQgbm9uLXdlaWdodGVkKQoKIyMjIEZpZ3VyZTogVExFUSB0b3RhbHMgYnkgZ3JvdXAgCgpgYGB7ciwgZmlnLndpZHRoPTR9CgpwMTwtZ2dwbG90KGRhdGEsIGFlcyhUTEVRX3RvdGFsX1csIGdyb3VwXzNsb3cpLCBieT1ncm91cF8zbG93LCBmaWxsPWdyb3VwXzNsb3cpICsgCiAgICAgICBnZW9tX2JveHBsb3QoYWVzKGZpbGw9Z3JvdXBfM2xvdykpICsKICAgIHhsYWIoIlRMRVEgdG90YWwgd2VpZ2h0ZWQgXG4gKGluY2x1ZGVzIGNoaWxkaG9vZCB0cmF1bWEpIikgKyB0aGVtZV9idygpIAoKcDI8LWdncGxvdChkYXRhLCBhZXMoVExFUV90b3RhbF9ub25XLCBncm91cF8zbG93KSwgYnk9Z3JvdXBfM2xvdywgZmlsbD1ncm91cF8zbG93KSArIAogICAgICAgZ2VvbV9ib3hwbG90KGFlcyhmaWxsPWdyb3VwXzNsb3cpKSArCiAgICB4bGFiKCJUTEVRIHRvdGFsIG5vbi13ZWlnaHRlZCBcbiAoaW5jbHVkZXMgY2hpbGRob29kIHRyYXVtYSkiKSArIHRoZW1lX2J3KCkgCgpwMzwtZ2dwbG90KGRhdGEsIGFlcyhUTEVRX3RvdGFsX2V4Y2xDVF9XLCBncm91cF8zbG93KSwgYnk9Z3JvdXBfM2xvdywgZmlsbD1ncm91cF8zbG93KSArIAogICAgICAgZ2VvbV9ib3hwbG90KGFlcyhmaWxsPWdyb3VwXzNsb3cpKSArCiAgICB4bGFiKCJUTEVRIHRvdGFsIHdlaWdodGVkIFxuIChleGNsdWRlcyBjaGlsZGhvb2QgdHJhdW1hKSIpICsgdGhlbWVfYncoKSAKCnA0PC1nZ3Bsb3QoZGF0YSwgYWVzKFRMRVFfdG90YWxfZXhjbENUX25vblcsIGdyb3VwXzNsb3cpLCBieT1ncm91cF8zbG93LCBmaWxsPWdyb3VwXzNsb3cpICsgCiAgICAgICBnZW9tX2JveHBsb3QoYWVzKGZpbGw9Z3JvdXBfM2xvdykpICsKICAgIHhsYWIoIlRMRVEgdG90YWwgbm9uLXdlaWdodGVkIFxuIChleGNsdWRlcyBjaGlsZGhvb2QgdHJhdW1hKSIpICsgdGhlbWVfYncoKSAKCiBwbG90X2dyaWQocDEscDIscDMscDQsI2xhYmVscyA9IGxhYmVscywgI2dyZWVkeT1UUlVFLCAKICAgICAgICAgICBzY2FsZT0xLCBuY29sPTIsIG5yb3c9MixoanVzdD0tLjUsdmp1c3Q9MSkKYGBgCiMjIyBMaW5lYXIgbW9kZWxzICYgcG9zdC1ob2MgY29tcGFyaXNvbnMKCkJvbmZlcnJvbmkgY29ycmVjdGlvbiB3aWxsIGJlIHAgPCAwLjAwNCAoLjA1LygzKjQpKQoKIyMjIyBUb3RhbCAod2VpZ2h0ZWQpCmBgYHtyfQpsaWJyYXJ5KGVtbWVhbnMpCm0xPC0gbG0oVExFUV90b3RhbF9XIH4gZ3JvdXBfM2xvdywgZGF0YSkKcHJpbnQoc3VtbWFyeShtMSksc2lnbmlmLmxlZ2VuZD1GQUxTRSwgc2lnbmlmLnN0YXJzPUZBTFNFKQplbW1lYW5zKG0xLCBwYWlyd2lzZSB+IGdyb3VwXzNsb3csIGFkanVzdD0ibm9uZSIpCmBgYAoKIyMjIyBUb3RhbCAobm9uLXdlaWdodGVkKSoKYGBge3J9Cm0yPC0gbG0oVExFUV90b3RhbF9ub25XIH4gZ3JvdXBfM2xvdywgZGF0YSkKcHJpbnQoc3VtbWFyeShtMiksc2lnbmlmLmxlZ2VuZD1GQUxTRSwgc2lnbmlmLnN0YXJzPUZBTFNFKQplbW1lYW5zKG0yLCBwYWlyd2lzZSB+IGdyb3VwXzNsb3csIGFkanVzdD0ibm9uZSIpCmBgYAoKIyMjIyBUb3RhbCAoZXhjbHVkaW5nIGNoaWxkaG9vZCB0cmF1bWEsIHdlaWdodGVkKQpgYGB7cn0KbTM8LSBsbShUTEVRX3RvdGFsX2V4Y2xDVF9XIH4gZ3JvdXBfM2xvdywgZGF0YSkKcHJpbnQoc3VtbWFyeShtMyksc2lnbmlmLmxlZ2VuZD1GQUxTRSwgc2lnbmlmLnN0YXJzPUZBTFNFKQplbW1lYW5zKG0zLCBwYWlyd2lzZSB+IGdyb3VwXzNsb3csIGFkanVzdD0ibm9uZSIpCmBgYAoKIyMjIyBUb3RhbCAoZXhjbHVkaW5nIGNoaWxkaG9vZCB0cmF1bWEsIG5vbi13ZWlnaHRlZCkKYGBge3J9Cm00PC0gbG0oVExFUV90b3RhbF9leGNsQ1Rfbm9uVyB+IGdyb3VwXzNsb3csIGRhdGEpCnByaW50KHN1bW1hcnkobTQpLHNpZ25pZi5sZWdlbmQ9RkFMU0UsIHNpZ25pZi5zdGFycz1GQUxTRSkKZW1tZWFucyhtNCwgcGFpcndpc2UgfiBncm91cF8zbG93LCBhZGp1c3Q9Im5vbmUiKQpgYGAKCgojIyBDaGlsZGhvb2QgdHJhdW1hIChDVFEpCgojIyMgRmlndXJlOiBDVFEgdG90YWxzIGJ5IGdyb3VwCgpgYGB7ciwgZmlnLndpZHRoPTR9CgpwMTwtZ2dwbG90KGRhdGEsIGFlcyhncm91cF8zbG93LCBDVFFfdG90YWwpLCBieT1ncm91cF8zbG93LCBmaWxsPWdyb3VwXzNsb3cpICsgCiAgICAgICBnZW9tX2JveHBsb3QoYWVzKGZpbGw9Z3JvdXBfM2xvdykpICsgdGhlbWVfYncoKSAgIysgeWxhYigiQ1RRIHRvdGFsIChzdW0gc3Vic2NhbGVzKSIpICsgdGhlbWVfYncoKQoKcDI8LWdncGxvdChkYXRhLCBhZXMoZ3JvdXBfM2xvdywgQ1RRX2Vtb0FidXNlKSwgYnk9Z3JvdXBfM2xvdywgZmlsbD1ncm91cF8zbG93KSArIAogICAgICAgZ2VvbV9ib3hwbG90KGFlcyhmaWxsPWdyb3VwXzNsb3cpKSArIHRoZW1lX2J3KCkgIysgeWxhYigiQ1RRIGVtb3QgYWJ1c2UiKSArIHRoZW1lX2J3KCkKCnAzPC1nZ3Bsb3QoZGF0YSwgYWVzKGdyb3VwXzNsb3csIENUUV9lbW9OZWdsZWN0KSwgYnk9Z3JvdXBfM2xvdywgZmlsbD1ncm91cF8zbG93KSArIAogICAgICAgZ2VvbV9ib3hwbG90KGFlcyhmaWxsPWdyb3VwXzNsb3cpKSArIHRoZW1lX2J3KCkgIysgeWxhYigiQ1RRIGVtb3QgbmVnbGVjdCIpICsgdGhlbWVfYncoKQoKcDQ8LWdncGxvdChkYXRhLCBhZXMoZ3JvdXBfM2xvdywgQ1RRX3BoeXNBYnVzZSksIGJ5PWdyb3VwXzNsb3csIGZpbGw9Z3JvdXBfM2xvdykgKyAKICAgICAgIGdlb21fYm94cGxvdChhZXMoZmlsbD1ncm91cF8zbG93KSkgKyB0aGVtZV9idygpICMrIHlsYWIoIkNUUSBwaHlzIGFidXNlIikgKyB0aGVtZV9idygpCgpwNTwtZ2dwbG90KGRhdGEsIGFlcyhncm91cF8zbG93LCBDVFFfcGh5c05lZ2xlY3QpLCBieT1ncm91cF8zbG93LCBmaWxsPWdyb3VwXzNsb3cpICsgCiAgICAgICBnZW9tX2JveHBsb3QoYWVzKGZpbGw9Z3JvdXBfM2xvdykpICsgdGhlbWVfYncoKSAjICsgeWxhYigiQ1RRIHBoeXMgbmVnbGVjdCIpICsgdGhlbWVfYncoKQoKcDY8LWdncGxvdChkYXRhLCBhZXMoZ3JvdXBfM2xvdywgQ1RRX3NleEFidXNlKSwgYnk9Z3JvdXBfM2xvdywgZmlsbD1ncm91cF8zbG93KSArIAogICAgICAgZ2VvbV9ib3hwbG90KGFlcyhmaWxsPWdyb3VwXzNsb3cpKSArIHRoZW1lX2J3KCkjICsgeWxhYigiQ1RRIHNleHVhbCBhYnVzZSIpICsgdGhlbWVfYncoKQoKCiBwbG90X2dyaWQocDEscDIscDMscDQscDUscDYsI2xhYmVscyA9IGxhYmVscywgI2dyZWVkeT1UUlVFLCAKICAgICAgICAgICBzY2FsZT0xLCBuY29sPTIsIG5yb3c9MyxoanVzdD0tLjUsdmp1c3Q9MSkKCmBgYAoKIyMjIExpbmVhciBtb2RlbHMgJiBwb3N0LWhvYyBjb21wYXJpc29ucwoKQm9uZmVycm9uaSBjb3JyZWN0aW9uIHdpbGwgYmUgcCA8IDAuMDAzICguMDUvKDMqNikpCgojIyMjIENUUSBvdmVyYWxsIHRvdGFsCmBgYHtyfQptMTwtIGxtKENUUV90b3RhbCB+IGdyb3VwXzNsb3csIGRhdGEpCnByaW50KHN1bW1hcnkobTEpLHNpZ25pZi5sZWdlbmQ9RkFMU0UsIHNpZ25pZi5zdGFycz1GQUxTRSkKZW1tZWFucyhtMSwgcGFpcndpc2UgfiBncm91cF8zbG93LCBhZGp1c3Q9Im5vbmUiKQpgYGAKCiMjIyMgQ1RRIGVtb3Rpb25hbCBhYnVzZQpgYGB7cn0KbTE8LSBsbShDVFFfZW1vQWJ1c2UgfiBncm91cF8zbG93LCBkYXRhKQpwcmludChzdW1tYXJ5KG0xKSxzaWduaWYubGVnZW5kPUZBTFNFLCBzaWduaWYuc3RhcnM9RkFMU0UpCmVtbWVhbnMobTEsIHBhaXJ3aXNlIH4gZ3JvdXBfM2xvdywgYWRqdXN0PSJub25lIikKYGBgCgojIyMjIENUUSBlbW90aW9uYWwgbmVnbGVjdApgYGB7cn0KbTEgPC0gbG0oQ1RRX2Vtb05lZ2xlY3QgfiBncm91cF8zbG93LCBkYXRhPWRhdGEpCnN1bW1hcnkobTEpCm0xLmVtbSA8LSBlbW1lYW5zKG0xLCBzcGVjcz0iZ3JvdXBfM2xvdyIpCmNvbnRyYXN0KG0xLmVtbSwgbWV0aG9kPSJwYWlyd2lzZSIsIGFkanVzdD0ibm9uZSIpCmBgYAoKIyMjIyBDVFEgcGh5c2ljYWwgYWJ1c2UKYGBge3J9Cm0xPC0gbG0oQ1RRX3BoeXNBYnVzZSB+IGdyb3VwXzNsb3csIGRhdGEpCnByaW50KHN1bW1hcnkobTEpLHNpZ25pZi5sZWdlbmQ9RkFMU0UsIHNpZ25pZi5zdGFycz1GQUxTRSkKZW1tZWFucyhtMSwgcGFpcndpc2UgfiBncm91cF8zbG93LCBhZGp1c3Q9Im5vbmUiKQpgYGAKCiMjIyMgQ1RRIHBoeXNpY2FsIG5lZ2xlY3QKYGBge3J9Cm0xIDwtIGxtKENUUV9waHlzTmVnbGVjdCB+IGdyb3VwXzNsb3csIGRhdGE9ZGF0YSkKc3VtbWFyeShtMSkKbTEuZW1tIDwtIGVtbWVhbnMobTEsIHNwZWNzPSJncm91cF8zbG93IikKY29udHJhc3QobTEuZW1tLCBtZXRob2Q9InBhaXJ3aXNlIiwgYWRqdXN0PSJub25lIikKYGBgCgojIyMjIENUUSBzZXh1YWwgYWJ1c2UKYGBge3J9Cm0xPC0gbG0oQ1RRX3NleEFidXNlIH4gZ3JvdXBfM2xvdywgZGF0YSkKcHJpbnQoc3VtbWFyeShtMSksc2lnbmlmLmxlZ2VuZD1GQUxTRSwgc2lnbmlmLnN0YXJzPUZBTFNFKQplbW1lYW5zKG0xLCBwYWlyd2lzZSB+IGdyb3VwXzNsb3csIGFkanVzdD0ibm9uZSIpCmBgYAoKCiMjIFdUQyBFeHBvc3VyZXMKClVzaW5nICIzIGV4cG9zdXJlcyA9IGxvd2VyLWV4cG9zZWQiIGdyb3VwIChgZ3JvdXBfM2xvd2ApOgoKYGBge3J9CmRhdGEgJT4lIGNvdW50KGdyb3VwXzNsb3csdG90X2V4cG9zdXJlc19wb3N0X2NsZWFuLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQpgYGAKCmBgYHtyfQoKIyMgbXV0YXRlIGJhY2sgdG8gZmFjdG9ycyBmb3IgaW5kZXgqIHZhcnMKCmRhdGFfdG1wIDwtIGRhdGEgJT4lIG11dGF0ZV9lYWNoKGZ1bnMoZmFjdG9yKSwgc3RhcnRzX3dpdGgoImluZGV4IikpCgppbmRleF9hIDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LGluZGV4X2EsIG5hbWU9Im4iKSAlPiUKICAgIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JQogICAgbXV0YXRlKHBjdD0gcm91bmQobiAvIHN1bShuKSwyKSkgICU+JQogICAgdW5ncm91cCgpCgpwX2E8LWdncGxvdChpbmRleF9hLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9aW5kZXhfYSkpICsKICAgZ2VvbV9iYXIocG9zaXRpb249InN0YWNrIiwgc3RhdD0iaWRlbnRpdHkiLCBjb2xvcj0iYmxhY2siKSArIHNjYWxlX2ZpbGxfZGlzY3JldGUobGFiZWxzID0gYygiTm8iLCAiWWVzIiwgIk1pc3NpbmciKSkgKwogIHRoZW1lKGF4aXMudGl0bGUueD1lbGVtZW50X2JsYW5rKCkpCgoKaW5kZXhfYiA8LSBkYXRhX3RtcCAlPiUgY291bnQoZ3JvdXBfM2xvdyxpbmRleF9iLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKcF9iPC1nZ3Bsb3QoaW5kZXhfYiwgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPWluZGV4X2IpKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKCmluZGV4X2MgPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csaW5kZXhfYywgbmFtZT0ibiIpICU+JQogICAgZ3JvdXBfYnkoZ3JvdXBfM2xvdykgJT4lCiAgICBtdXRhdGUocGN0PSByb3VuZChuIC8gc3VtKG4pLDIpKSAgJT4lCiAgICB1bmdyb3VwKCkKCnBfYzwtZ2dwbG90KGluZGV4X2MsIGFlcyhncm91cF8zbG93LHBjdCwgZmlsbD1pbmRleF9jKSkgKwogICBnZW9tX2Jhcihwb3NpdGlvbj0ic3RhY2siLCBzdGF0PSJpZGVudGl0eSIsIGNvbG9yPSJibGFjayIpICsgc2NhbGVfZmlsbF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJObyIsICJZZXMiLCAiTWlzc2luZyIpKSArCiAgdGhlbWUoYXhpcy50aXRsZS54PWVsZW1lbnRfYmxhbmsoKSkKCgppbmRleF9kIDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LGluZGV4X2QsIG5hbWU9Im4iKSAlPiUKICAgIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JQogICAgbXV0YXRlKHBjdD0gcm91bmQobiAvIHN1bShuKSwyKSkgICU+JQogICAgdW5ncm91cCgpCgpwX2Q8LWdncGxvdChpbmRleF9kLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9aW5kZXhfZCkpICsKICAgZ2VvbV9iYXIocG9zaXRpb249InN0YWNrIiwgc3RhdD0iaWRlbnRpdHkiLCBjb2xvcj0iYmxhY2siKSArIHNjYWxlX2ZpbGxfZGlzY3JldGUobGFiZWxzID0gYygiTm8iLCAiWWVzIiwgIk1pc3NpbmciKSkgKwogIHRoZW1lKGF4aXMudGl0bGUueD1lbGVtZW50X2JsYW5rKCkpCgoKaW5kZXhfZSA8LSBkYXRhX3RtcCAlPiUgY291bnQoZ3JvdXBfM2xvdyxpbmRleF9lLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKcF9lPC1nZ3Bsb3QoaW5kZXhfZSwgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPWluZGV4X2UpKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKCmluZGV4X2YgPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csaW5kZXhfZiwgbmFtZT0ibiIpICU+JQogICAgZ3JvdXBfYnkoZ3JvdXBfM2xvdykgJT4lCiAgICBtdXRhdGUocGN0PSByb3VuZChuIC8gc3VtKG4pLDIpKSAgJT4lCiAgICB1bmdyb3VwKCkKCnBfZjwtZ2dwbG90KGluZGV4X2YsIGFlcyhncm91cF8zbG93LHBjdCwgZmlsbD1pbmRleF9mKSkgKwogICBnZW9tX2Jhcihwb3NpdGlvbj0ic3RhY2siLCBzdGF0PSJpZGVudGl0eSIsIGNvbG9yPSJibGFjayIpICsgc2NhbGVfZmlsbF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJObyIsICJZZXMiLCAiTWlzc2luZyIpKSArCiAgdGhlbWUoYXhpcy50aXRsZS54PWVsZW1lbnRfYmxhbmsoKSkKCgppbmRleF9nIDwtIGRhdGFfdG1wICU+JSBjb3VudChncm91cF8zbG93LGluZGV4X2csIG5hbWU9Im4iKSAlPiUKICAgIGdyb3VwX2J5KGdyb3VwXzNsb3cpICU+JQogICAgbXV0YXRlKHBjdD0gcm91bmQobiAvIHN1bShuKSwyKSkgICU+JQogICAgdW5ncm91cCgpCgpwX2c8LWdncGxvdChpbmRleF9nLCBhZXMoZ3JvdXBfM2xvdyxwY3QsIGZpbGw9aW5kZXhfZykpICsKICAgZ2VvbV9iYXIocG9zaXRpb249InN0YWNrIiwgc3RhdD0iaWRlbnRpdHkiLCBjb2xvcj0iYmxhY2siKSArIHNjYWxlX2ZpbGxfZGlzY3JldGUobGFiZWxzID0gYygiTm8iLCAiWWVzIiwgIk1pc3NpbmciKSkgKwogIHRoZW1lKGF4aXMudGl0bGUueD1lbGVtZW50X2JsYW5rKCkpCgoKaW5kZXhfaCA8LSBkYXRhX3RtcCAlPiUgY291bnQoZ3JvdXBfM2xvdyxpbmRleF9oLCBuYW1lPSJuIikgJT4lCiAgICBncm91cF9ieShncm91cF8zbG93KSAlPiUKICAgIG11dGF0ZShwY3Q9IHJvdW5kKG4gLyBzdW0obiksMikpICAlPiUKICAgIHVuZ3JvdXAoKQoKcF9oPC1nZ3Bsb3QoaW5kZXhfaCwgYWVzKGdyb3VwXzNsb3cscGN0LCBmaWxsPWluZGV4X2gpKSArCiAgIGdlb21fYmFyKHBvc2l0aW9uPSJzdGFjayIsIHN0YXQ9ImlkZW50aXR5IiwgY29sb3I9ImJsYWNrIikgKyBzY2FsZV9maWxsX2Rpc2NyZXRlKGxhYmVscyA9IGMoIk5vIiwgIlllcyIsICJNaXNzaW5nIikpICsKICB0aGVtZShheGlzLnRpdGxlLng9ZWxlbWVudF9ibGFuaygpKQoKCmluZGV4X2kgPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csaW5kZXhfaSwgbmFtZT0ibiIpICU+JQogICAgZ3JvdXBfYnkoZ3JvdXBfM2xvdykgJT4lCiAgICBtdXRhdGUocGN0PSByb3VuZChuIC8gc3VtKG4pLDIpKSAgJT4lCiAgICB1bmdyb3VwKCkKCnBfaTwtZ2dwbG90KGluZGV4X2ksIGFlcyhncm91cF8zbG93LHBjdCwgZmlsbD1pbmRleF9pKSkgKwogICBnZW9tX2Jhcihwb3NpdGlvbj0ic3RhY2siLCBzdGF0PSJpZGVudGl0eSIsIGNvbG9yPSJibGFjayIpICsgc2NhbGVfZmlsbF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJObyIsICJZZXMiLCAiTWlzc2luZyIpKSArCiAgdGhlbWUoYXhpcy50aXRsZS54PWVsZW1lbnRfYmxhbmsoKSkKCmluZGV4X2ogPC0gZGF0YV90bXAgJT4lIGNvdW50KGdyb3VwXzNsb3csaW5kZXhfaiwgbmFtZT0ibiIpICU+JQogICAgZ3JvdXBfYnkoZ3JvdXBfM2xvdykgJT4lCiAgICBtdXRhdGUocGN0PSByb3VuZChuIC8gc3VtKG4pLDIpKSAgJT4lCiAgICB1bmdyb3VwKCkKCnBfajwtZ2dwbG90KGluZGV4X2osIGFlcyhncm91cF8zbG93LHBjdCwgZmlsbD1pbmRleF9qKSkgKwogICBnZW9tX2Jhcihwb3NpdGlvbj0ic3RhY2siLCBzdGF0PSJpZGVudGl0eSIsIGNvbG9yPSJibGFjayIpICsgc2NhbGVfZmlsbF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJObyIsICJZZXMiLCAiTWlzc2luZyIpKSArCiAgdGhlbWUoYXhpcy50aXRsZS54PWVsZW1lbnRfYmxhbmsoKSkgCgpgYGAKCiMjIyBGaWd1cmU6IEV4cG9zdXJlcyBieSBncm91cCAKCl9CbHVlID0gcHJvcG9ydGlvbiBvZiBncm91cCBlbmRvcnNpbmcgYSBnaXZlbiBleHBvc3VyZSAoYXMgZGVmaW5lZCBieSB0aGUgZGF0YSBjZW50ZXIpLiBSZWQgPSBOZXZlciBleHBlcmllbmNlZCB0aGF0IGV4cG9zdXJlLl8KCmBgYHtyIGZpZy5oZWlnaHQ9NH0KbGFiZWxzIDwtIGMoImFycml2ZWQiLCJkdXN0IiwicGlsZSIsImhvdXJzIiwicmVtYWlucyIsInNlYXJjaCIsImtub3cgZGllZCIsImtub3cgaW5qIiwiaW5qdXJlZCIsInNsZXB0IikKIHBsb3RfZ3JpZChwX2EsIHBfYiwgcF9jLCBwX2QsIHBfZSwgcF9mLCBwX2csIHBfaCwgcF9pLCBwX2osIGxhYmVscyA9IGxhYmVscywgI2dyZWVkeT1UUlVFLCAKICAgICAgICAgICBzY2FsZT0xLCBuY29sPTIsIG5yb3c9NSxoanVzdD0tLjUsdmp1c3Q9MSkKYGBgCgojIyMgQ2hpIHNxdWFyZSB0ZXN0cyBvZiBhc3NvY2lhdGlvbiBiZXR3ZWVuIGdyb3VwIGFuZCBuIGV4cG9zdXJlcwoKQm9uZmVycm9uaSBjb3JyZWN0aW9uIHdpbGwgYmUgcCA8IDAuMDAxNjcgKC4wNS8oMyoxMCkpCgoKYGBge3IsIGVjaG89RkFMU0V9CmxpYnJhcnkoTUFTUykgIyBmb3IgY2hpc3EKbGlicmFyeShkZXNjcikgIyBmb3IgY3Jvc3N0YWJsZQoKIyBUaGlzIGNvZGUgd2lsbCBnZW5lcmF0ZSBib3RoIFBlYXJzb24ncyBDaGktc3F1YXJlIGFuZCBGaXNoZXIncyBDaGkgc3F1YXJlIChpZiBkZXNpcmVkOyBoZXJlIGp1c3QgbG9va2luZyBhdCBGaXNoZXIncyB0ZXN0KS4gSXQgcHJvZHVjZXMgY291bnRzIGFzIHdlbGwgYXMgcHJvcG9ydGlvbnMgb2YgZWFjaCBvZiB0aGUgdGFibGUgZW50cmllcy4gQmFzZWQgb24gdGhlIHN0YW5kYXJkaXNlZCByZXNpZHVhbHMgb3Igei12YWx1ZXMgc2NvcmVzIGkuZS4sIElmIGl0IGlzIG91dHNpZGUgdGhlIHJhbmdlIHwxLjk2fCBpLmUuLCBsZXNzIHRoYW4gLTEuOTYgb3IgZ3JlYXRlciB0aGFuIDEuOTYsIHRoZW4gaXQgaXMgc2lnbmlmaWNhbnQgcCA8IDAuMDUuIFRoZSBzaWduIHdvdWxkIHRoZW4gaW5kaWNhdGUgd2hldGhlciBwb3NpdGl2ZWx5IHJlbGF0ZWQgb3IgbmVnYXRpdmVseS4KIyBOQjogUmVzaWR1YWxzIHJlZmxlY3QgdGhlIGV4dGVudCB0byB3aGljaCBhbiBvYnNlcnZlZCB2YWx1ZSBleGNlZWRlZCB0aGUgZXhwZWN0ZWQgdmFsdWUgKHBvc2l0aXZlIHZhbHVlKSBvciBmZWxsIHNob3J0IG9mIHRoZSBleHBlY3RlZCB2YWx1ZSAobmVnYXRpdmUgdmFsdWUpCmBgYAoKIyMjIyBpbmRleCBhKgpgYGB7cn0KQ3Jvc3NUYWJsZShkYXRhJGluZGV4X2EsICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCiogQXNzb2NpYXRpb24gYmV0d2VlbiBgZ3JvdXBgIGFuZCBgaW5kZXhfYWAgKGFycml2ZWQgZWFybHkpIGZyZXF1ZW5jeSBJUyBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50CiogbG93ZXItZXhwb3NlZCBtb3JlIDAsIGZld2VyIDEgdGhhbiBleHBlY3RlZAoqIHJlc2lsaWVudCBmZXdlciAwIHRoYW4gZXhwZWN0ZWQKCiMjIyMjIHBvc3QtaG9jIHRlc3RzCmBgYHtyfQp0bXA8LSBkYXRhICU+JSBmaWx0ZXIoZ3JvdXBfM2xvdz09Ikxvdy1leHBvc2VkInxncm91cF8zbG93PT0iUFRTRCIpCkNyb3NzVGFibGUodG1wJGluZGV4X2gsICB0bXAkZ3JvdXBfM2xvdywKICAgICAgIGZpc2hlciA9IFQsIGNoaXNxID0gRiwgZXhwZWN0ZWQgPSBULAogICAgICAgcHJvcC5yPUYscHJvcC50ID0gRiwgcHJvcC5jaGlzcSA9IEYsIG1pc3NpbmcuaW5jbHVkZT1GLCByb3cubGFiZWxzID0gVCkKCnRtcDwtIGRhdGEgJT4lIGZpbHRlcihncm91cF8zbG93PT0iUmVzaWxpZW50Inxncm91cF8zbG93PT0iUFRTRCIpCkNyb3NzVGFibGUodG1wJGluZGV4X2gsICB0bXAkZ3JvdXBfM2xvdywKICAgICAgIGZpc2hlciA9IFQsIGNoaXNxID0gRiwgZXhwZWN0ZWQgPSBULAogICAgICAgcHJvcC5yPUYscHJvcC50ID0gRiwgcHJvcC5jaGlzcSA9IEYsIG1pc3NpbmcuaW5jbHVkZT1GLCByb3cubGFiZWxzID0gVCkKCnRtcDwtIGRhdGEgJT4lIGZpbHRlcihncm91cF8zbG93PT0iTG93LWV4cG9zZWQifGdyb3VwXzNsb3c9PSJSZXNpbGllbnQiKQpDcm9zc1RhYmxlKHRtcCRpbmRleF9oLCAgdG1wJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3Aucj1GLHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCmBgYAoKIyMjIyBpbmRleCBiCgpgYGB7cn0KQ3Jvc3NUYWJsZShkYXRhJGluZGV4X2IsICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCkNvbXBhcmlzb25zIGRvIG5vdCBzdXJ2aXZlIEJvbmZlcnJvbmkgY29ycmVjdGlvbiBmb3IgMyoxMCBjb21wYXJpc29ucyAoLjAwMTY3KQoKCiMjIyMgaW5kZXggYyoKCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkaW5kZXhfYywgIGRhdGEkZ3JvdXBfM2xvdywKICAgICAgIGZpc2hlciA9IFQsIGNoaXNxID0gRiwgZXhwZWN0ZWQgPSBULAogICAgICAgcHJvcC5jID0gRiwgcHJvcC50ID0gRiwgcHJvcC5jaGlzcSA9IEYsIAogICAgICBzcmVzaWQgPSBULCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCmBgYAoKKiBBc3NvY2lhdGlvbiBiZXR3ZWVuIGBncm91cGAgYW5kIGBpbmRleF9jYCAod29ya2VkIG9uIG9yIGFkamFjZW50IHRvIHBpdC9waWxlKSBmcmVxdWVuY3kgSVMgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudAoqIGxvd2VyLWV4cG9zZWQgbW9yZSAwIHRoYW4gZXhwZWN0ZWQKKiByZXNpbGllbnQgZmV3ZXIgMCB0aGFuIGV4cGVjdGVkCgoKIyMjIyMgcG9zdC1ob2MgdGVzdHMKYGBge3J9CnRtcDwtIGRhdGEgJT4lIGZpbHRlcihncm91cF8zbG93PT0iTG93LWV4cG9zZWQifGdyb3VwXzNsb3c9PSJQVFNEIikKQ3Jvc3NUYWJsZSh0bXAkaW5kZXhfYywgIHRtcCRncm91cF8zbG93LCAKICAgICAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3Aucj1GLHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCgp0bXA8LSBkYXRhICU+JSBmaWx0ZXIoZ3JvdXBfM2xvdz09IlJlc2lsaWVudCJ8Z3JvdXBfM2xvdz09IlBUU0QiKQpDcm9zc1RhYmxlKHRtcCRpbmRleF9jLCAgdG1wJGdyb3VwXzNsb3csCiAgICAgICAgZmlzaGVyID0gVCwgY2hpc3EgPSBGLCBleHBlY3RlZCA9IFQsCiAgICAgICBwcm9wLnI9Rixwcm9wLnQgPSBGLCBwcm9wLmNoaXNxID0gRiwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQoKdG1wPC0gZGF0YSAlPiUgZmlsdGVyKGdyb3VwXzNsb3c9PSJMb3ctZXhwb3NlZCJ8Z3JvdXBfM2xvdz09IlJlc2lsaWVudCIpCkNyb3NzVGFibGUodG1wJGluZGV4X2MsICB0bXAkZ3JvdXBfM2xvdywKICAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3Aucj1GLHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCgpgYGAKCgojIyMjIGluZGV4IGQKCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkaW5kZXhfZCwgIGRhdGEkZ3JvdXBfM2xvdywKICAgICAgIGZpc2hlciA9IFQsIGNoaXNxID0gRiwgZXhwZWN0ZWQgPSBULAogICAgICAgcHJvcC5jID0gRiwgcHJvcC50ID0gRiwgcHJvcC5jaGlzcSA9IEYsIAogICAgICBzcmVzaWQgPSBULCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCmBgYAoKQ29tcGFyaXNvbnMgZG8gbm90IHN1cnZpdmUgQm9uZmVycm9uaSBjb3JyZWN0aW9uIGZvciAzKjEwIGNvbXBhcmlzb25zICguMDAxNjcpCgoKIyMjIyBpbmRleCBlCgpgYGB7cn0KQ3Jvc3NUYWJsZShkYXRhJGluZGV4X2UsICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCkNvbXBhcmlzb25zIGRvIG5vdCBzdXJ2aXZlIEJvbmZlcnJvbmkgY29ycmVjdGlvbiBmb3IgMyoxMCBjb21wYXJpc29ucyAoLjAwMTY3KQoKIyMjIyBpbmRleCBmCgpgYGB7cn0KQ3Jvc3NUYWJsZShkYXRhJGluZGV4X2YsICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKCkNvbXBhcmlzb25zIGRvIG5vdCBzdXJ2aXZlIEJvbmZlcnJvbmkgY29ycmVjdGlvbiBmb3IgMyoxMCBjb21wYXJpc29ucyAoLjAwMTY3KQoKCiMjIyMgaW5kZXggZwoKYGBge3J9CkNyb3NzVGFibGUoZGF0YSRpbmRleF9nLCAgZGF0YSRncm91cF8zbG93LAogICAgICAgZmlzaGVyID0gVCwgY2hpc3EgPSBGLCBleHBlY3RlZCA9IFQsCiAgICAgICBwcm9wLmMgPSBGLCBwcm9wLnQgPSBGLCBwcm9wLmNoaXNxID0gRiwgCiAgICAgIHNyZXNpZCA9IFQsIG1pc3NpbmcuaW5jbHVkZT1GLCByb3cubGFiZWxzID0gVCkKYGBgCkNvbXBhcmlzb25zIGRvIG5vdCBzdXJ2aXZlIEJvbmZlcnJvbmkgY29ycmVjdGlvbiBmb3IgMyoxMCBjb21wYXJpc29ucyAoLjAwMTY3KQoKCiMjIyMgaW5kZXggaCoKCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkaW5kZXhfaCwgIGRhdGEkZ3JvdXBfM2xvdywKICAgICAgIGZpc2hlciA9IFQsIGNoaXNxID0gRiwgZXhwZWN0ZWQgPSBULAogICAgICAgcHJvcC5jID0gRiwgcHJvcC50ID0gRiwgcHJvcC5jaGlzcSA9IEYsIAogICAgICBzcmVzaWQgPSBULCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCmBgYAoKKiBBc3NvY2lhdGlvbiBiZXR3ZWVuIGBncm91cGAgYW5kIGBpbmRleF9oYCAoa25vdyBzb21lb25lIGluanVyZWQpIGZyZXF1ZW5jeSBJUyBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50CiogbG93ZXItZXhwb3NlZCBtb3JlIDAsIGZld2VyIDEgdGhhbiBleHBlY3RlZAoKIyMjIyMgcG9zdC1ob2MgdGVzdHMKYGBge3J9CnRtcDwtIGRhdGEgJT4lIGZpbHRlcihncm91cF8zbG93PT0iTG93LWV4cG9zZWQifGdyb3VwXzNsb3c9PSJQVFNEIikKQ3Jvc3NUYWJsZSh0bXAkaW5kZXhfaCwgIHRtcCRncm91cF8zbG93LAogICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3Aucj1GLHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCgoKdG1wPC0gZGF0YSAlPiUgZmlsdGVyKGdyb3VwXzNsb3c9PSJSZXNpbGllbnQifGdyb3VwXzNsb3c9PSJQVFNEIikKQ3Jvc3NUYWJsZSh0bXAkaW5kZXhfaCwgIHRtcCRncm91cF8zbG93LAogICAgICAgIGZpc2hlciA9IFQsIGNoaXNxID0gRiwgZXhwZWN0ZWQgPSBULAogICAgICAgcHJvcC5yPUYscHJvcC50ID0gRiwgcHJvcC5jaGlzcSA9IEYsIG1pc3NpbmcuaW5jbHVkZT1GLCByb3cubGFiZWxzID0gVCkKCnRtcDwtIGRhdGEgJT4lIGZpbHRlcihncm91cF8zbG93PT0iTG93LWV4cG9zZWQifGdyb3VwXzNsb3c9PSJSZXNpbGllbnQiKQpDcm9zc1RhYmxlKHRtcCRpbmRleF9oLCAgdG1wJGdyb3VwXzNsb3csCiAgICAgICAgZmlzaGVyID0gVCwgY2hpc3EgPSBGLCBleHBlY3RlZCA9IFQsCiAgICAgICBwcm9wLnI9Rixwcm9wLnQgPSBGLCBwcm9wLmNoaXNxID0gRiwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQoKYGBgCgoKIyMjIyBpbmRleCBpCgpgYGB7cn0KQ3Jvc3NUYWJsZShkYXRhJGluZGV4X2ksICBkYXRhJGdyb3VwXzNsb3csCiAgICAgICBmaXNoZXIgPSBULCBjaGlzcSA9IEYsIGV4cGVjdGVkID0gVCwKICAgICAgIHByb3AuYyA9IEYsIHByb3AudCA9IEYsIHByb3AuY2hpc3EgPSBGLCAKICAgICAgc3Jlc2lkID0gVCwgbWlzc2luZy5pbmNsdWRlPUYsIHJvdy5sYWJlbHMgPSBUKQpgYGAKQ29tcGFyaXNvbnMgZG8gbm90IHN1cnZpdmUgQm9uZmVycm9uaSBjb3JyZWN0aW9uIGZvciAzKjEwIGNvbXBhcmlzb25zICguMDAxNjcpCgojIyMjIGluZGV4IGoKCmBgYHtyfQpDcm9zc1RhYmxlKGRhdGEkaW5kZXhfaiwgIGRhdGEkZ3JvdXBfM2xvdywKICAgICAgIGZpc2hlciA9IFQsIGNoaXNxID0gRiwgZXhwZWN0ZWQgPSBULAogICAgICAgcHJvcC5jID0gRiwgcHJvcC50ID0gRiwgcHJvcC5jaGlzcSA9IEYsIAogICAgICBzcmVzaWQgPSBULCBtaXNzaW5nLmluY2x1ZGU9Riwgcm93LmxhYmVscyA9IFQpCmBgYAoKQ29tcGFyaXNvbnMgZG8gbm90IHN1cnZpdmUgQm9uZmVycm9uaSBjb3JyZWN0aW9uIGZvciAzKjEwIGNvbXBhcmlzb25zICguMDAxNjcpCgo=