Case 1 : Discrimination Against the Handicapped - Randomized Experiment

Cesare, S., R. Tannenbaum, A. Dalessio. (1990) study explored how physical handicaps affect people’s perception of employment qualifications. The researchers prepared five videotaped job interviews which all of them was the same expect the job applicant. In each of videos applicants have different disabilities.

Applicant Dissability
A Wheelchair
B Crutches
C Hearing Impaired
D Amputee
E No-Handicap

Then 70 undergraduate students from a US University were randomly assigned to five different versions of the film. After viewing the videos students are asked to rate qualifications of the candidate on a 0 to 10 point qualification index.

Research question was if subjects systematically evaluate qualifications differently according to candidate’s handicap or not…

Display 1 : Stem and leaf diagrams of applicant qualification scores

data<-Sleuth2::case0601
tapply(data$Score,data$Handicap,stem)

  The decimal point is at the |

  0 | 9
  2 | 506
  4 | 129149
  6 | 1748


  The decimal point is at the |

  0 | 9
  2 | 56268
  4 | 063589
  6 | 12


  The decimal point is at the |

  3 | 7
  4 | 033
  5 | 18
  6 | 0234
  7 | 445
  8 | 5


  The decimal point is at the |

  0 | 4
  2 | 149479
  4 | 237589
  6 | 5


  The decimal point is at the |

  0 | 7
  2 | 85
  4 | 7803
  6 | 1124246

$None
NULL

$Amputee
NULL

$Crutches
NULL

$Hearing
NULL

$Wheelchair
NULL

Summary of Statistical Findings - Linear Model

Stem and Leaf plots, points to enough evidence that qualifications differs according to handicap status. Also F-Test results points that handicap status differs significantly among the groups. But it’s not so dominant (F-test P value = 0,30)

summary(fit)

Call:
lm(formula = data$Score ~ data$Handicap)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.6429 -1.2089  0.1143  1.3286  2.9000 

Coefficients:
                        Estimate Std. Error t value Pr(>|t|)    
(Intercept)               4.9000     0.4364  11.228   <2e-16 ***
data$HandicapAmputee     -0.4714     0.6172  -0.764    0.448    
data$HandicapCrutches     1.0214     0.6172   1.655    0.103    
data$HandicapHearing     -0.8500     0.6172  -1.377    0.173    
data$HandicapWheelchair   0.4429     0.6172   0.718    0.476    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.633 on 65 degrees of freedom
Multiple R-squared:  0.1497,    Adjusted R-squared:  0.09741 
F-statistic: 2.862 on 4 and 65 DF,  p-value: 0.03013

Post-Hoc Tests

Presence of relatively weak rejection level H0 leads us to explore differences between distinct handicap status. Tukey-Krammer procedure will be used to assess these relationships. Tukey-Kramer procedure aka. Tukey’s HSD test is a post-hoc extension to F-test and compare’s all possible pairs according to means.

TukeyHSD(aov(lm(data$Score  ~ data$Handicap )))
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = lm(data$Score ~ data$Handicap))

$`data$Handicap`
                          diff        lwr        upr     p adj
Amputee-None        -0.4714286 -2.2031613  1.2603042 0.9399911
Crutches-None        1.0214286 -0.7103041  2.7531614 0.4686232
Hearing-None        -0.8500000 -2.5817327  0.8817328 0.6442517
Wheelchair-None      0.4428571 -1.2888756  2.1745899 0.9517374
Crutches-Amputee     1.4928572 -0.2388756  3.2245900 0.1232819
Hearing-Amputee     -0.3785714 -2.1103042  1.3531614 0.9724743
Wheelchair-Amputee   0.9142857 -0.8174471  2.6460185 0.5781165
Hearing-Crutches    -1.8714286 -3.6031614 -0.1396958 0.0277842
Wheelchair-Crutches -0.5785715 -2.3103043  1.1531613 0.8812292
Wheelchair-Hearing   1.2928571 -0.4388757  3.0245899 0.2348142

As it could be seen from the table the largest difference between average score means is measured between Crutches and Hearing Impaired groups. The difference is estimated 1.87 higher for Crutches group with %95 confidence interval from 0.14 to 3.60 points based on Tukey-Kramer procedure. On the other hand regarding on the research question we could observe that none of disabilities reflect significant difference with control group.

Although there is a significant evidence mean levels of scores for each groups are not equal, post-hoc test suggests that it’s the difference between two sub groups, the hearing impaired and crutches is the main reason behind this inference. Apart from these groups there are no other significant diversions between groups.

Linear Contrasts

The study of qualification scores two distinct handicap pairs comes into prominence, as both of them recorded lowest level of distance between average scores of handicaps. So we will focus on comparison of these two blocks to see they are segmented significantly from each other or not. So linear combination of two distinct block could be interpreted as follows. Notice that in order to sustain balance all parameters are multiplied with \(1/2\)

Each group contains 14 members

averages
      None    Amputee   Crutches    Hearing Wheelchair 
      4.90       4.43       5.92       4.05       5.34 

\(µ_1\) = Average qualification score for No-Handicaps (4.90)

\(\mu_2\) = Average qualification score for Amputee (4.43)

\(\mu_3\) = Average qualification score for Crutches (5.92)

\(\mu_4\) = Average qualification score for Hearing (4.05)

\(\mu_5\) = Average qualification score for Wheelchair (5.34)

\(y = (\mu_3 + \mu_5)/2 - (\mu_2 - \mu_4)/2\)

\(S_p\) = 1.63 ; 65 df *Residual standard error of initial linear model

Estimation of Linear Model

\(g\) = \((\mu_3+\mu_5)/2 - (\mu_2+\mu_4)/2\) = \((5.921+5.343/2 - 4.429+4.050/2) = 1.393\)

Standard Error of the Estimate

\(SE(g) = 1.63\sqrt{(0)^2/14 + (-1/2)^2/14 + (1/2)^2/14 + (-1/2)^2/14 +(1/2)^2/14}=0.436\)

Construct 95% confidence interval

\(t_{65}(0.975) = 1.997\)

\(1.393\pm(1.997)(0.436)\longrightarrow from \hspace{0.50cm}0.522 \hspace{0.25cm} to \hspace{0.25cm} 2.264\)

since \(t=\frac{g}{SE(g)}=\frac{1.393}{0.436}=3.19\)

as \(t_{65}(0.975)=1.997\)

Finally, fit.contrast function can also be used to estimate parameters.

fit.contrast(lm(data$Score ~ data$Handicap),"data$Handicap",c(0,-1/2,1/2,-1/2,1/2),conf.int=0.95)
                                        Estimate Std. Error t value Pr(>|t|) lower CI upper CI
data$Handicap c=( 0 -0.5 0.5 -0.5 0.5 )     1.39      0.436    3.19  0.00218    0.521     2.26

Regarding to calculated t stats, we could say there is enough evidence that two distinct blocks are significantly differs from each other. So based on qualification scores there are two different main segments; one Crutches-Wheelchair group and the second Amputee-Hearing Impaired group.

Case 2: Pre Existing Preferences of Fish - A Randomized Experiment

Charles Darwin has proposed that sexual selection of the females could explain showy characteristics of males that are lowering their capacity to survive. However general theory purposes co-evolution of female preference with preferred male trait.

A.L. Basolo proposed and tested a selection model in which females have pre-existing biras for male trait even before males of the same species posses it. She selected the Southern Platy fish whose males don’t naturally develop the sword tails. Six pairs of males were surgically given artificial sword tails. One male of each pair have bright yellow sword, while the other received a transparent sword. Then the subject fishes placed on a tank described bellow, which allows female to spend time both two male fish.

Experimental tank allowing female fish to choose between males

Experimental tank allowing female fish to choose between males

Researcher took 20 minute observation period for all females, and recorded time she spent with the yellow-sword male. Did these females show preference for the males that were given yellow sword tails? Percentage of total time female courtships with yellow sword tailed males is the unit of analysis in this chapter. ##Summary of Statistical Findings

data2<-Sleuth2::case0602
boxplot(data2$Proportion*100 ~ data2$Pair,main="Percentage of time spent with yellow-sword male for 84 females")
options(digits=3)
by(data2$Proportion, data2$Pair,stat.desc)

As it clearly seen from box plots and summary statistics for six pairs, their median and mean levels seems very close to each other. In addition to this visual analysis when F-Test results also states that there is no evidence that mean percentage of time spend with yellow-sword males differs among pairs (p-value = 0.56 / F.Test).

summary(aov(lm(data2$Proportion*100 ~ data2$Pair)))
            Df Sum Sq Mean Sq F value Pr(>F)
data2$Pair   5    939     188    0.79   0.56
Residuals   78  18637     239               
aov(lm(data2$Proportion*100 ~ data2$Pair))
Call:
   aov(formula = lm(data2$Proportion * 100 ~ data2$Pair))

Terms:
                data2$Pair Residuals
Sum of Squares         939     18637
Deg. of Freedom          5        78

Residual standard error: 15.5
Estimated effects may be unbalanced

It could be observed from ANOVA table that, between group variation which stayed at 939 level was not enough to state male pairs significantly differs from each other regarding on courtship time. However, current linear model doesn’t take male body size into analysis. A linear effect model which takes body size into consideration would be alternative to see variation orginated from male body size is evident or not.

Group n Avg. (%) Stand. Dev Male Body Size Coefficient
Pair1 16 56.41 9.02 35 5
Pair2 14 60.89 12.48 31 -3
Pair3 17 62.43 22.29 33 1
Pair4 14 67.00 14.33 34 3
Pair5 9 64.21 9.41 28 -9
Pair4 14 63.34 17.68 34 3
Pooled 84 62.13 15.46 Avg=32.5

Calculate the coefficients for linear combinations

Unlike the Handicap case, this time we have quantative explanatory variable (male body size) and we purpose that time spend with yellow-sword male is a linear function of male body size. So coefficients must be calculşated according to variations from mean

\(C_i=2*(X_i-32.5)\)

note that sum of coefficients are still equals to 0

\(g\)=-25.06

\(SE(g)=54.77\)

\(t=\frac{g}{SE(g)}=\frac{-25.06}{54.77}=-0.458\)

as \(t_{78}(0.975)=1.99\)

fit.contrast(lm(data2$Proportion ~ data2$Pair),"data2$Pair",c(5,-3,1,3,-9,3),conf.int=0.95)
                               Estimate Std. Error t value Pr(>|t|) lower CI upper CI
data2$Pair c=( 5 -3 1 3 -9 3 )   -0.251      0.548  -0.458    0.648    -1.34    0.839

There is no evidence that male body size has a linear association with group means.

LS0tCnRpdGxlOiAiQ2hhcHRlciA2OiBMaW5lYXIgQ29tYmluYXRpb25zIGFuZCBNdWx0aXBsZSBDb21wYXJpc29ucyBvZiBNZWFucyIKc3VidGl0bGU6ICLDlm1lciBaZXliZWsgLSA0MDMxNjIwMDkiCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCiNDYXNlIDEgOiBEaXNjcmltaW5hdGlvbiBBZ2FpbnN0IHRoZSBIYW5kaWNhcHBlZCAtIFJhbmRvbWl6ZWQgRXhwZXJpbWVudCAKCkNlc2FyZSwgUy4sIFIuIFRhbm5lbmJhdW0sIEEuIERhbGVzc2lvLiAoMTk5MCkgc3R1ZHkgZXhwbG9yZWQgaG93IHBoeXNpY2FsIGhhbmRpY2FwcyBhZmZlY3QgcGVvcGxlJ3MgcGVyY2VwdGlvbiBvZiBlbXBsb3ltZW50IHF1YWxpZmljYXRpb25zLiBUaGUgcmVzZWFyY2hlcnMgcHJlcGFyZWQgZml2ZSB2aWRlb3RhcGVkIGpvYiBpbnRlcnZpZXdzIHdoaWNoIGFsbCBvZiB0aGVtIHdhcyB0aGUgc2FtZSBleHBlY3QgdGhlIGpvYiBhcHBsaWNhbnQuIEluIGVhY2ggb2YgdmlkZW9zIGFwcGxpY2FudHMgaGF2ZSBkaWZmZXJlbnQgZGlzYWJpbGl0aWVzLiAKCgoqQXBwbGljYW50KiB8ICAgIF8qRGlzc2FiaWxpdHkqXyAgfAotLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tfApBICAgICAgICAgfCAgICAgV2hlZWxjaGFpciAgfCAgICAgCkIgICAgICAgICB8IENydXRjaGVzICAgICAgICB8CkMgICAgICAgICB8IEhlYXJpbmcgSW1wYWlyZWR8CkQgICAgICAgICB8IEFtcHV0ZWUgICAgICAgICB8CkUgICAgICAgICB8IE5vLUhhbmRpY2FwICAgICB8CgpUaGVuIDcwIHVuZGVyZ3JhZHVhdGUgc3R1ZGVudHMgZnJvbSBhIFVTIFVuaXZlcnNpdHkgd2VyZSByYW5kb21seSBhc3NpZ25lZCB0byBmaXZlIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiB0aGUgZmlsbS4gQWZ0ZXIgdmlld2luZyB0aGUgdmlkZW9zIHN0dWRlbnRzIGFyZSBhc2tlZCB0byByYXRlIHF1YWxpZmljYXRpb25zIG9mIHRoZSBjYW5kaWRhdGUgb24gYSAwIHRvIDEwIHBvaW50IHF1YWxpZmljYXRpb24gaW5kZXguIAoKUmVzZWFyY2ggcXVlc3Rpb24gd2FzIGlmIHN1YmplY3RzIHN5c3RlbWF0aWNhbGx5IGV2YWx1YXRlIHF1YWxpZmljYXRpb25zIGRpZmZlcmVudGx5IGFjY29yZGluZyB0byBjYW5kaWRhdGUncyBoYW5kaWNhcCBvciBub3QuLi4KCiMjRGlzcGxheSAxIDogU3RlbSBhbmQgbGVhZiBkaWFncmFtcyBvZiBhcHBsaWNhbnQgcXVhbGlmaWNhdGlvbiBzY29yZXMKYGBge3J9CmRhdGE8LVNsZXV0aDI6OmNhc2UwNjAxCnRhcHBseShkYXRhJFNjb3JlLGRhdGEkSGFuZGljYXAsc3RlbSkKYGBgCgojIyBTdW1tYXJ5IG9mIFN0YXRpc3RpY2FsIEZpbmRpbmdzIC0gTGluZWFyIE1vZGVsIApTdGVtIGFuZCBMZWFmIHBsb3RzLCBwb2ludHMgdG8gZW5vdWdoIGV2aWRlbmNlIHRoYXQgcXVhbGlmaWNhdGlvbnMgZGlmZmVycyBhY2NvcmRpbmcgdG8gaGFuZGljYXAgc3RhdHVzLiBBbHNvIEYtVGVzdCByZXN1bHRzIHBvaW50cyB0aGF0IGhhbmRpY2FwIHN0YXR1cyBkaWZmZXJzIHNpZ25pZmljYW50bHkgYW1vbmcgIHRoZSAgZ3JvdXBzLiBCdXQgaXQncyBub3Qgc28gZG9taW5hbnQgKEYtdGVzdCBQIHZhbHVlID0gMCwzMCkKCmBgYHtyfQpmaXQ8LWxtKGRhdGEkU2NvcmUgfiBkYXRhJEhhbmRpY2FwKQpzdW1tYXJ5KGZpdCkKYGBgCiMjUG9zdC1Ib2MgVGVzdHMKUHJlc2VuY2Ugb2YgcmVsYXRpdmVseSB3ZWFrIHJlamVjdGlvbiBsZXZlbCBIMCBsZWFkcyB1cyB0byBleHBsb3JlIGRpZmZlcmVuY2VzIGJldHdlZW4gZGlzdGluY3QgaGFuZGljYXAgc3RhdHVzLiBUdWtleS1LcmFtbWVyIHByb2NlZHVyZSB3aWxsIGJlIHVzZWQgdG8gYXNzZXNzIHRoZXNlIHJlbGF0aW9uc2hpcHMuIFR1a2V5LUtyYW1lciBwcm9jZWR1cmUgYWthLiBUdWtleSdzIEhTRCB0ZXN0IGlzIGEgcG9zdC1ob2MgZXh0ZW5zaW9uIHRvIEYtdGVzdCBhbmQgY29tcGFyZSdzIGFsbCBwb3NzaWJsZSBwYWlycyBhY2NvcmRpbmcgdG8gbWVhbnMuIApgYGB7cn0KcmVxdWlyZShkcGx5cikKVHVrZXlIU0QoYW92KGxtKGRhdGEkU2NvcmUgIH4gZGF0YSRIYW5kaWNhcCApKSkKYGBgCkFzIGl0IGNvdWxkIGJlIHNlZW4gZnJvbSB0aGUgdGFibGUgdGhlIGxhcmdlc3QgZGlmZmVyZW5jZSBiZXR3ZWVuIGF2ZXJhZ2Ugc2NvcmUgbWVhbnMgaXMgbWVhc3VyZWQgYmV0d2VlbiBDcnV0Y2hlcyBhbmQgSGVhcmluZyBJbXBhaXJlZCBncm91cHMuIFRoZSBkaWZmZXJlbmNlIGlzIGVzdGltYXRlZCAxLjg3IGhpZ2hlciBmb3IgQ3J1dGNoZXMgZ3JvdXAgd2l0aCAlOTUgY29uZmlkZW5jZSBpbnRlcnZhbCBmcm9tIDAuMTQgdG8gMy42MCBwb2ludHMgYmFzZWQgb24gVHVrZXktS3JhbWVyIHByb2NlZHVyZS4gT24gdGhlIG90aGVyIGhhbmQgcmVnYXJkaW5nICBvbiB0aGUgcmVzZWFyY2ggcXVlc3Rpb24gd2UgY291bGQgb2JzZXJ2ZSB0aGF0IG5vbmUgb2YgZGlzYWJpbGl0aWVzIHJlZmxlY3Qgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZSB3aXRoIGNvbnRyb2wgZ3JvdXAuIAoKQWx0aG91Z2ggdGhlcmUgaXMgYSBzaWduaWZpY2FudCBldmlkZW5jZSBtZWFuIGxldmVscyBvZiBzY29yZXMgZm9yIGVhY2ggZ3JvdXBzIGFyZSBub3QgZXF1YWwsIHBvc3QtaG9jIHRlc3Qgc3VnZ2VzdHMgdGhhdCBpdCdzIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIHN1YiBncm91cHMsIHRoZSBoZWFyaW5nIGltcGFpcmVkIGFuZCBjcnV0Y2hlcyBpcyB0aGUgbWFpbiByZWFzb24gYmVoaW5kIHRoaXMgaW5mZXJlbmNlLiBBcGFydCBmcm9tIHRoZXNlIGdyb3VwcyB0aGVyZSBhcmUgbm8gb3RoZXIgc2lnbmlmaWNhbnQgZGl2ZXJzaW9ucyBiZXR3ZWVuIGdyb3Vwcy4gCgojI0xpbmVhciBDb250cmFzdHMKVGhlIHN0dWR5IG9mIHF1YWxpZmljYXRpb24gc2NvcmVzIHR3byBkaXN0aW5jdCBoYW5kaWNhcCBwYWlycyBjb21lcyBpbnRvIHByb21pbmVuY2UsIGFzIGJvdGggb2YgdGhlbSByZWNvcmRlZCBsb3dlc3QgbGV2ZWwgb2YgZGlzdGFuY2UgYmV0d2VlbiBhdmVyYWdlIHNjb3JlcyBvZiBoYW5kaWNhcHMuIFNvIHdlIHdpbGwgZm9jdXMgb24gY29tcGFyaXNvbiBvZiB0aGVzZSB0d28gYmxvY2tzIHRvIHNlZSB0aGV5IGFyZSBzZWdtZW50ZWQgc2lnbmlmaWNhbnRseSBmcm9tIGVhY2ggb3RoZXIgb3Igbm90LiBTbyBsaW5lYXIgY29tYmluYXRpb24gb2YgdHdvIGRpc3RpbmN0IGJsb2NrIGNvdWxkIGJlIGludGVycHJldGVkIGFzIGZvbGxvd3MuIE5vdGljZSB0aGF0IGluIG9yZGVyIHRvIHN1c3RhaW4gYmFsYW5jZSBhbGwgcGFyYW1ldGVycyBhcmUgbXVsdGlwbGllZCB3aXRoICQxLzIkCgpFYWNoIGdyb3VwIGNvbnRhaW5zIDE0IG1lbWJlcnMgCgpgYGB7cn0KYXZlcmFnZXM8LXRhcHBseShkYXRhJFNjb3JlLGRhdGEkSGFuZGljYXAsbWVhbikKYXZlcmFnZXMKdGFibGUoYXZlcmFnZXMsc3RyaW5nc0FzRmFjdG9ycz1UUlVFKQo/dGFibGUKYGBgCgoKJMK1XzEkID0gQXZlcmFnZSBxdWFsaWZpY2F0aW9uIHNjb3JlIGZvciBOby1IYW5kaWNhcHMgKDQuOTApCgokXG11XzIkID0gQXZlcmFnZSBxdWFsaWZpY2F0aW9uIHNjb3JlIGZvciBBbXB1dGVlICg0LjQzKQogCiRcbXVfMyQgPSBBdmVyYWdlIHF1YWxpZmljYXRpb24gc2NvcmUgZm9yIENydXRjaGVzICg1LjkyKQoKJFxtdV80JCA9IEF2ZXJhZ2UgcXVhbGlmaWNhdGlvbiBzY29yZSBmb3IgSGVhcmluZyAoNC4wNSkKCiRcbXVfNSQgPSBBdmVyYWdlIHF1YWxpZmljYXRpb24gc2NvcmUgZm9yIFdoZWVsY2hhaXIgKDUuMzQpCgokeSA9IChcbXVfMyArIFxtdV81KS8yIC0gKFxtdV8yIC0gXG11XzQpLzIkCgoKJFNfcCQgPSAxLjYzIDsgNjUgZGYgKlJlc2lkdWFsIHN0YW5kYXJkIGVycm9yIG9mIGluaXRpYWwgbGluZWFyIG1vZGVsIAoKRXN0aW1hdGlvbiBvZiBMaW5lYXIgTW9kZWwgCgokZyQgPSAkKFxtdV8zK1xtdV81KS8yIC0gKFxtdV8yK1xtdV80KS8yJCA9ICQoNS45MjErNS4zNDMvMiAtIDQuNDI5KzQuMDUwLzIpID0gMS4zOTMkCgpTdGFuZGFyZCBFcnJvciBvZiB0aGUgRXN0aW1hdGUgCgokU0UoZykgPSAxLjYzXHNxcnR7KDApXjIvMTQgKyAoLTEvMileMi8xNCArICgxLzIpXjIvMTQgKyAoLTEvMileMi8xNCArKDEvMileMi8xNH09MC40MzYkCgpDb25zdHJ1Y3QgOTUlIGNvbmZpZGVuY2UgaW50ZXJ2YWwKCiR0X3s2NX0oMC45NzUpID0gMS45OTckCgokMS4zOTNccG0oMS45OTcpKDAuNDM2KVxsb25ncmlnaHRhcnJvdyBmcm9tIFxoc3BhY2V7MC41MGNtfTAuNTIyIFxoc3BhY2V7MC4yNWNtfSB0byBcaHNwYWNlezAuMjVjbX0gMi4yNjQkCgpzaW5jZSAkdD1cZnJhY3tnfXtTRShnKX09XGZyYWN7MS4zOTN9ezAuNDM2fT0zLjE5JAoKYXMgJHRfezY1fSgwLjk3NSk9MS45OTckCgpGaW5hbGx5LCBmaXQuY29udHJhc3QgZnVuY3Rpb24gY2FuIGFsc28gYmUgdXNlZCB0byBlc3RpbWF0ZSBwYXJhbWV0ZXJzLgoKYGBge3J9CmZpdC5jb250cmFzdChsbShkYXRhJFNjb3JlIH4gZGF0YSRIYW5kaWNhcCksImRhdGEkSGFuZGljYXAiLGMoMCwtMS8yLDEvMiwtMS8yLDEvMiksY29uZi5pbnQ9MC45NSkKYGBgCgpSZWdhcmRpbmcgdG8gY2FsY3VsYXRlZCB0IHN0YXRzLCB3ZSBjb3VsZCBzYXkgdGhlcmUgaXMgZW5vdWdoIGV2aWRlbmNlIHRoYXQgdHdvIGRpc3RpbmN0IGJsb2NrcyBhcmUgc2lnbmlmaWNhbnRseSBkaWZmZXJzIGZyb20gZWFjaCBvdGhlci4gU28gYmFzZWQgb24gcXVhbGlmaWNhdGlvbiBzY29yZXMgdGhlcmUgYXJlIHR3byBkaWZmZXJlbnQgbWFpbiBzZWdtZW50czsgb25lIENydXRjaGVzLVdoZWVsY2hhaXIgZ3JvdXAgYW5kIHRoZSBzZWNvbmQgQW1wdXRlZS1IZWFyaW5nIEltcGFpcmVkIGdyb3VwLiAKCiMjQ2FzZSAyOiBQcmUgRXhpc3RpbmcgUHJlZmVyZW5jZXMgb2YgRmlzaCAtIEEgUmFuZG9taXplZCBFeHBlcmltZW50CgpDaGFybGVzIERhcndpbiBoYXMgcHJvcG9zZWQgdGhhdCBzZXh1YWwgc2VsZWN0aW9uIG9mIHRoZSBmZW1hbGVzIGNvdWxkIGV4cGxhaW4gc2hvd3kgY2hhcmFjdGVyaXN0aWNzIG9mIG1hbGVzIHRoYXQgYXJlIGxvd2VyaW5nIHRoZWlyIGNhcGFjaXR5IHRvIHN1cnZpdmUuIEhvd2V2ZXIgZ2VuZXJhbCB0aGVvcnkgcHVycG9zZXMgY28tZXZvbHV0aW9uIG9mIGZlbWFsZSBwcmVmZXJlbmNlIHdpdGggcHJlZmVycmVkIG1hbGUgdHJhaXQuIAoKQS5MLiBCYXNvbG8gcHJvcG9zZWQgYW5kIHRlc3RlZCBhIHNlbGVjdGlvbiBtb2RlbCBpbiB3aGljaCBmZW1hbGVzIGhhdmUgcHJlLWV4aXN0aW5nIGJpcmFzIGZvciBtYWxlIHRyYWl0IGV2ZW4gYmVmb3JlIG1hbGVzIG9mIHRoZSBzYW1lIHNwZWNpZXMgcG9zc2VzIGl0LiBTaGUgc2VsZWN0ZWQgdGhlIFNvdXRoZXJuIFBsYXR5IGZpc2ggd2hvc2UgbWFsZXMgZG9uJ3QgbmF0dXJhbGx5IGRldmVsb3AgdGhlIHN3b3JkIHRhaWxzLiBTaXggcGFpcnMgb2YgbWFsZXMgd2VyZSBzdXJnaWNhbGx5IGdpdmVuIGFydGlmaWNpYWwgc3dvcmQgdGFpbHMuIE9uZSBtYWxlIG9mIGVhY2ggcGFpciBoYXZlIGJyaWdodCB5ZWxsb3cgc3dvcmQsIHdoaWxlIHRoZSAgb3RoZXIgcmVjZWl2ZWQgYSB0cmFuc3BhcmVudCBzd29yZC4gVGhlbiB0aGUgc3ViamVjdCBmaXNoZXMgcGxhY2VkIG9uIGEgdGFuayBkZXNjcmliZWQgYmVsbG93LCB3aGljaCBhbGxvd3MgZmVtYWxlIHRvIHNwZW5kIHRpbWUgYm90aCB0d28gbWFsZSBmaXNoLgoKIVtFeHBlcmltZW50YWwgdGFuayBhbGxvd2luZyBmZW1hbGUgZmlzaCB0byBjaG9vc2UgYmV0d2VlbiBtYWxlc10oL1VzZXJzL29tZXJ6ZXliZWsvTGlicmFyeS9Nb2JpbGUgRG9jdW1lbnRzL2NvbX5hcHBsZX5DbG91ZERvY3MvU3dvcmRmaXNoLnBuZykKClJlc2VhcmNoZXIgdG9vayAyMCBtaW51dGUgb2JzZXJ2YXRpb24gcGVyaW9kIGZvciBhbGwgZmVtYWxlcywgYW5kIHJlY29yZGVkIHRpbWUgc2hlIHNwZW50IHdpdGggdGhlIHllbGxvdy1zd29yZCBtYWxlLiBEaWQgdGhlc2UgZmVtYWxlcyBzaG93IHByZWZlcmVuY2UgZm9yIHRoZSBtYWxlcyB0aGF0IHdlcmUgZ2l2ZW4geWVsbG93IHN3b3JkIHRhaWxzPyBQZXJjZW50YWdlIG9mIHRvdGFsIHRpbWUgZmVtYWxlIGNvdXJ0c2hpcHMgd2l0aCB5ZWxsb3cgc3dvcmQgdGFpbGVkIG1hbGVzIGlzIHRoZSB1bml0IG9mIGFuYWx5c2lzIGluIHRoaXMgY2hhcHRlci4gCiMjU3VtbWFyeSBvZiBTdGF0aXN0aWNhbCBGaW5kaW5ncwoKYGBge3J9CmRhdGEyPC1TbGV1dGgyOjpjYXNlMDYwMgpib3hwbG90KGRhdGEyJFByb3BvcnRpb24qMTAwIH4gZGF0YTIkUGFpcixtYWluPSJQZXJjZW50YWdlIG9mIHRpbWUgc3BlbnQgd2l0aCB5ZWxsb3ctc3dvcmQgbWFsZSBmb3IgODQgZmVtYWxlcyIpCm9wdGlvbnMoZGlnaXRzPTMpCmJ5KGRhdGEyJFByb3BvcnRpb24sIGRhdGEyJFBhaXIsc3RhdC5kZXNjKQoKYGBgCgpBcyBpdCBjbGVhcmx5IHNlZW4gZnJvbSBib3ggcGxvdHMgYW5kIHN1bW1hcnkgc3RhdGlzdGljcyBmb3Igc2l4IHBhaXJzLCB0aGVpciBtZWRpYW4gYW5kIG1lYW4gbGV2ZWxzIHNlZW1zIHZlcnkgY2xvc2UgdG8gZWFjaCBvdGhlci4gSW4gYWRkaXRpb24gdG8gdGhpcyB2aXN1YWwgYW5hbHlzaXMgd2hlbiBGLVRlc3QgcmVzdWx0cyBhbHNvIHN0YXRlcyB0aGF0IHRoZXJlIGlzIG5vIGV2aWRlbmNlIHRoYXQgbWVhbiBwZXJjZW50YWdlIG9mIHRpbWUgc3BlbmQgd2l0aCB5ZWxsb3ctc3dvcmQgbWFsZXMgZGlmZmVycyBhbW9uZyBwYWlycyAocC12YWx1ZSA9IDAuNTYgLyBGLlRlc3QpLiAKCmBgYHtyfQpzdW1tYXJ5KGFvdihsbShkYXRhMiRQcm9wb3J0aW9uKjEwMCB+IGRhdGEyJFBhaXIpKSkKYGBgCgpgYGB7cn0KYW92KGxtKGRhdGEyJFByb3BvcnRpb24qMTAwIH4gZGF0YTIkUGFpcikpCmBgYAoKCkl0IGNvdWxkIGJlIG9ic2VydmVkIGZyb20gQU5PVkEgdGFibGUgdGhhdCwgYmV0d2VlbiBncm91cCB2YXJpYXRpb24gd2hpY2ggc3RheWVkIGF0IDkzOSBsZXZlbCB3YXMgbm90IGVub3VnaCB0byBzdGF0ZSBtYWxlIHBhaXJzIHNpZ25pZmljYW50bHkgZGlmZmVycyBmcm9tIGVhY2ggb3RoZXIgcmVnYXJkaW5nIG9uIGNvdXJ0c2hpcCB0aW1lLiBIb3dldmVyLCBjdXJyZW50IGxpbmVhciBtb2RlbCBkb2Vzbid0IHRha2UgbWFsZSBib2R5IHNpemUgaW50byBhbmFseXNpcy4gQSBsaW5lYXIgZWZmZWN0IG1vZGVsIHdoaWNoIHRha2VzIGJvZHkgc2l6ZSBpbnRvIGNvbnNpZGVyYXRpb24gd291bGQgYmUgYWx0ZXJuYXRpdmUgdG8gc2VlIHZhcmlhdGlvbiBvcmdpbmF0ZWQgZnJvbSBtYWxlIGJvZHkgc2l6ZSBpcyBldmlkZW50IG9yIG5vdC4gCgpHcm91cHwgbiB8IEF2Zy4gKCUpICAgICAgICAgfFN0YW5kLiBEZXYgfE1hbGUgQm9keSBTaXplIHwgQ29lZmZpY2llbnQgICAgICAgICAgICAgICAgICAgICAKLS0tLS18LS0tfC0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLQpQYWlyMXwxNiB8NTYuNDF8OS4wMnwzNXw1ClBhaXIyfDE0fDYwLjg5fDEyLjQ4fDMxfC0zClBhaXIzfDE3fDYyLjQzfDIyLjI5fDMzfDEKUGFpcjR8MTR8NjcuMDB8MTQuMzN8MzR8MwpQYWlyNXw5fDY0LjIxfDkuNDF8Mjh8LTkKUGFpcjR8MTR8NjMuMzR8MTcuNjh8MzR8MwoqUG9vbGVkKnwqODQqfCo2Mi4xMyp8KjE1LjQ2KnwqQXZnPTMyLjUqfAoKQ2FsY3VsYXRlIHRoZSBjb2VmZmljaWVudHMgZm9yIGxpbmVhciBjb21iaW5hdGlvbnMKClVubGlrZSB0aGUgSGFuZGljYXAgY2FzZSwgdGhpcyB0aW1lIHdlIGhhdmUgcXVhbnRhdGl2ZSBleHBsYW5hdG9yeSB2YXJpYWJsZSAobWFsZSBib2R5IHNpemUpIGFuZCB3ZSBwdXJwb3NlIHRoYXQgdGltZSBzcGVuZCAgd2l0aCB5ZWxsb3ctc3dvcmQgbWFsZSBpcyBhIGxpbmVhciBmdW5jdGlvbiBvZiBtYWxlIGJvZHkgc2l6ZS4gU28gY29lZmZpY2llbnRzIG11c3QgYmUgY2FsY3VsxZ9hdGVkIGFjY29yZGluZyB0byB2YXJpYXRpb25zIGZyb20gbWVhbiAKCiRDX2k9MiooWF9pLTMyLjUpJAoKKm5vdGUgdGhhdCBzdW0gb2YgY29lZmZpY2llbnRzIGFyZSBzdGlsbCBlcXVhbHMgdG8gMCoKCiRnJD0tMjUuMDYKCiRTRShnKT01NC43NyQKCiR0PVxmcmFje2d9e1NFKGcpfT1cZnJhY3stMjUuMDZ9ezU0Ljc3fT0tMC40NTgkCgphcyAkdF97Nzh9KDAuOTc1KT0xLjk5JAoKCmBgYHtyfQpmaXQuY29udHJhc3QobG0oZGF0YTIkUHJvcG9ydGlvbiB+IGRhdGEyJFBhaXIpLCJkYXRhMiRQYWlyIixjKDUsLTMsMSwzLC05LDMpLGNvbmYuaW50PTAuOTUpCgpkYXRhMgpgYGAKClRoZXJlIGlzIG5vIGV2aWRlbmNlIHRoYXQgbWFsZSBib2R5IHNpemUgaGFzIGEgbGluZWFyIGFzc29jaWF0aW9uIHdpdGggZ3JvdXAgbWVhbnMuIAoKCgoKCgoKCgoK