Berechnung der Teststatistik

Um festzustellen, ob sich die Mittelwerte zweier Gruppen signifikant unterscheiden, wird zunächst die entsprechende Teststatistik berechnet. Diese Teststatistik folgt der theoretischen t-Verteilung, deren Form vom jeweiligen Freiheitsgrad abhängt. Aufgrund dieser zugrunde liegenden Verteilung wird das Verfahren als t-Test bezeichnet.

Die Teststatistik \(t\) berechnet sich wie folgt:

\[ t = \frac{\bar x_d}{\hat \sigma_{\bar x_d}} = \frac{\bar x_d}{\sqrt{\frac{\sum^n_{i=1}(d_i-\bar x_d)^2}{(n-1)n}}} \]

mit:

Und der Berechnung der Freiheitsgrade mit \[df = n-1\].

\[df = 29-1 =28\] t-empirsch

\[ t = \frac{\bar x_d}{\hat \sigma_{\bar x_d}} =\frac{-4.724}{\sqrt{\frac{(-5-(-4.724))^2+(-6-(-4.724))^2+..+(-2-(-4.724))^2}{(29-1)29}}}= \frac{-4.724}{\sqrt{\frac{347.79}{812}}}=-7.21 \]

t-kritsch

qt(.975, df=28)
[1] 2.048407

Signifikanz der Teststatistik

Um zu beurteilen, ob der berechnete Wert **statistisch signifikant** ist, wird er mit einem Um zu beurteilen, ob der berechnete Wert statistisch signifikant ist, wird er mit einem kritischen Wert aus der t-Verteilung verglichen, der anhand der Freiheitsgrade bestimmt wird. Diese kritischen Werte sind in sogenannten t-Tabellen zu finden. Der Code zeigt einen Auszug aus einer solchen Tabelle mit den kritischen Werten für die Signifikanzniveaus α = .05 und α = .01. Im vorliegenden Fall beträgt der kritische Wert 2.04 bei 28 Freiheitsgraden und einem Signifikanzniveau von α = .05. Der Betrag der Teststatistik liegt mit |–7.21| deutlich über dem kritischen Wert (7.21 > 2.04), sodass das Ergebnis als statistisch signifikant gilt.

Hypothese

H1: Es gibt einen Unterschied zwischen der Selbsteinschätzung und der Fremdeinschätzung durch den Ehepartner bei der Extraversion.

H0: Es gibt keinen Unterschied zwischen der Selbsteinschätzung und der Fremdeinschätzung durch den Ehepartner bei der Extraversion.

Voraussetzungen des t-Tests für abhängige Stichproben

Die abhängige Variable ist min. intervallskaliert -> Ja, Extraversion ist metrisch.

Es liegen zwei verbundene Stichproben oder Gruppen vor, aber die verschiedenen Messwertpaare sind voneinander unabhängig. 1) Sie sind verbundenen durch die Ehe, 2) aber unabhängige, weil es zwei verschiedene Messpaare (A und B) sind.

Die Unterschiede zwischen den verbundenen Testwerten sind in der Grundgesamtheit normalverteilt (bei Stichproben > 30 sind Verletzungen unproblematisch)

Erzeuge neue Variable

# Differenz erstellen
zwischen <- ttestVER$Fremdeinschaetzung - ttestVER$Selbsteinschaetzung 
zwischen
 [1]  -5  -6  -3  -6   0   3  -8  -3  -3  -3  -7   0  -5  -9  -3  -3  -8  -6  -5  -8 -11  -4 -10  -2
[25]  -1  -1 -12  -6  -2
# Die Spalte "Differenz" wird zum Datensatz hinzugefügt
ttestVER <- cbind(ttestVER, "Differenz" = zwischen)
View(ttestVER)
# Eine Spalte löschen

ttestVER$Differenz <- NULL
#View(ttestVER)

Falls es Probleme gibt

ttestVER$Differenz <- as.numeric(ttestVER$Differenz)

Pruefung der Verteilung

Histogramm zur Prüfung des Normalverteilung

hist(ttestVER$Differenz, xlab = "Differenz zwischen Selbst- und Fremdeinschätzung der Extraversion", ylab= "Anzahl", main ="Histogramm der Differenz", breaks =6,  col = "hotpink3")

ALTERNATIVE

QQ-Diagramm zur Prüfung des Normalverteilung

Deine Werte müssen entlang einer aufsteigenden Gerade liegen, so dass Du eine ähnliche Verteilung vermuten kannst.


library(car)
Paket 㤼㸱car㤼㸲 wurde unter R Version 3.6.3 erstelltLade n昼㸶tiges Paket: carData
Paket 㤼㸱carData㤼㸲 wurde unter R Version 3.6.3 erstelltRegistered S3 method overwritten by 'data.table':
  method           from
  print.data.table     
qqPlot(ttestVER$Differenz, main = "QQPlot für die Var. Differenz")
[1]  6 27

Es gibt eine Normalverteilung.

Deskriptive Statistiken und Korrelation

Korrelation


#library(car)
scatterplot(ttestVER$Fremdeinschaetzung ~ ttestVER$Selbsteinschaetzung , main = "Streudiagramm zwischen Selbst- und Fremdeinschätzung", xlab = "Selbsteinschätzung", ylab= "Fremdeinschätzung durch den Ehepartner")

test <- cor.test(ttestVER$Selbsteinschaetzung, ttestVER$Fremdeinschaetzung)
test

    Pearson's product-moment correlation

data:  ttestVER$Selbsteinschaetzung and ttestVER$Fremdeinschaetzung
t = 6.1783, df = 27, p-value = 1.324e-06
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.5542825 0.8838955
sample estimates:
     cor 
0.765316 

Die Fremdeinschätzung durch den Ehepartner und die Selbsteinschätzung korrelieren positiv-linear signifikant (r = .77, p = .000, n = 29).

Bei Messwiederholungen ist es möglich, dass die Daten der ersten und zweiten Erhebung (respektive eines Messwertpaars) miteinander korrelieren. Es ist plausibel, dass zwei verbundene Messungen sich ähnlich sind und dass innerhalb eines Messwertpaares eher geringere Unterschiede auftreten als zwischen den Paaren.

Im R-Output wird daher eine Pearson Korrelation der beiden Messzeitpunkte ausgegeben. Für das Beispiel ergibt sich eine sehr hohe Korrelation von r = .77 (p = .000, n = 29).

Deskriptive Statistiken

library(psych)
Paket 㤼㸱psych㤼㸲 wurde unter R Version 3.6.3 erstellt
Attache Paket: 㤼㸱psych㤼㸲

The following object is masked from 㤼㸱package:car㤼㸲:

    logit
g <- describe(ttestVER)
g
NA

Es zeigt sich, dass es einen Mittelwertsunterschied zwischen Fremdeinschätzung durch den Ehepartner und der Selbsteinschätzung in Punkto Extraversion gibt. Die Mittelwerte unterscheiden sich dahingehend, das die Fremdeinschätzung bei 21.79 (SD = 4.55, n= 29), wohingegen die Selbsteinschätzung bei 26.51 (SD = 5.44 ,n=29) liegt.

Ergebnisse des t-Tests für abhängige Stichproben

testVER<- t.test(ttestVER$Selbsteinschaetzung, ttestVER$Fremdeinschaetzung, alternative = "two.sided", paired = TRUE, conf.level = .95)

testVER

    Paired t-test

data:  ttestVER$Selbsteinschaetzung and ttestVER$Fremdeinschaetzung
t = 7.2184, df = 28, p-value = 7.402e-08
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 3.383539 6.064736
sample estimates:
mean of the differences 
               4.724138 

Die Teststatistik beträgt t = 7.218 und der zugehörige Signifikanzwert p = 7.402e-08. Damit ist der Unterschied signifikant: Die Mittelwerte der beiden Messzeitpunkte (Fremdeinschätzung und Selbsteinschätzung) unterscheiden sich (t(28) = 7.218, p = 7.402e-08, n= 29).

Berechnung der Effektstärke

Cohen und Pearson

\[r= \sqrt {\frac{t^2}{t^2+df}} \]


eff1 <- sqrt(testVER$statistic^2 / (testVER$statistic^2 + testVER$parameter))

sprintf("Effektstärke: %.4f",eff1)
[1] "Effektstärke: 0.8065"

Zur Beurteilung der Groesse des Effektes dient die Einteilung von Cohen (1992):

\[ \begin{align} \text{Schwacher Effekt: } 0.10 &< ||r|| < 0.30 \\ \text{Schwacher bis mittlerer Effekt: } 0.30 &= ||r|| \\ \text{Mittlerer Effekt: } 0.30 &< ||r|| < 0.50 \\ \text{Mittlerer bis starker Effekt: }0.50 &= ||r|| \\ \text{Starker Effekt: } 0.50 &< ||r|| \end{align} \]

Damit entspricht eine Effektstärke von 0.8 einem starken Effekt

ALTERNATIV

Hedges g

\[\rm{Hedges}\ \hat{g}=\left|\frac{\hat{\mu_1}-\hat{\mu_2}}{\hat{\sigma_{d}}}\right|\]

diff <- testVER$estimate

sed <- sd(ttestVER$Fremdeinschaetzung - ttestVER$Selbsteinschaetzung)

g <- diff/sed

sprintf("Effektstärke: %.4f",g)
[1] "Effektstärke: 1.3404"

Zur Beurteilung der Größe des Effektes:

\[\begin{align} \text{Schwacher Effekt: } 0.20 &< ||g|| < 0.50 \\ \text{Schwacher bis mittlerer Effekt: } 0.50 &= ||g|| \\ \text{Mittlerer Effekt: } 0.50 &< ||g|| < 0.80 \\ \text{Mittlerer bis starker Effekt: }0.80 &= ||g|| \\ \text{Starker Effekt: } 0.80 &< ||g|| \end{align} \]

Damit entspricht eine Effektstärke von 1.3 einem starken Effekt.

Eine Aussage

Es zeigt sich, dass die Extraversionswerte sowohl von der Fremdeinschätzung als auch der Selbsteinschätzung statistisch signifikant sich unterscheiden (t(28) = 7.21, p = .000, n = 29). Die Selbsteinschätzung der Extraversion fällt höher aus (M = 26.51, SD = 5.44) als die Fremdeinschätzung durch den Ehepartner (M = 21.79, SD = 4.55). Die Effektstärke nach Cohen (1992) liegt bei r = 0.8 und entspricht damit einem starken Effekt. H0 kann verworfen werden.

LS0tDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KIyMjIEJlcmVjaG51bmcgZGVyIFRlc3RzdGF0aXN0aWsNClVtIHp1IHByw7xmZW4sIG9iIGRpZSBNaXR0ZWx3ZXJ0c3VudGVyc2NoaWVkZSBzdGF0aXN0aXNjaCBzaWduaWZpa2FudCBzaW5kLCBtdXNzIGRpZSB6dWdlaMO2cmlnZSBUZXN0c3RhdGlzdGlrIGJlcmVjaG5ldCB3ZXJkZW4uIERpZSBWZXJ0ZWlsdW5nIGRlciBUZXN0c3RhdGlzdGlrIHQgZm9sZ3QgZWluZXIgdGhlb3JldGlzY2hlbiB0LVZlcnRlaWx1bmcsIGRlcmVuIEZvcm0gc2ljaCBpbiBBYmjDpG5naWdrZWl0IGRlciBGcmVpaGVpdHNncmFkZSB1bnRlcnNjaGVpZGV0LiBEaWUgZGVtIFRlc3QgenUgR3J1bmRlIGxpZWdlbmRlIHQtVmVydGVpbHVuZyBnaWJ0IGRlbSBUZXN0IGRlbiBOYW1lbiB0LVRlc3QuDQoNCkRpZSBUZXN0c3RhdGlzdGlrICR0JCBiZXJlY2huZXQgc2ljaCB3aWUgZm9sZ3Q6DQoNCiQkDQp0ID0gXGZyYWN7XGJhciB4X2R9e1xoYXQgXHNpZ21hX3tcYmFyIHhfZH19ID0gXGZyYWN7XGJhciB4X2R9e1xzcXJ0e1xmcmFje1xzdW1ebl97aT0xfShkX2ktXGJhciB4X2QpXjJ9eyhuLTEpbn19fQ0KJCQNCg0KbWl0Og0KDQoqICRcYmFyIHhfZCQgPSBNaXR0ZWx3ZXJ0IGRlciBEaWZmZXJlbnplbiBkZXIgTWVzc3dlcnRwYWFyZQ0KDQoqICRcaGF0IFxzaWdtYV97XGJhciB4X2R9JCA9IFN0YW5kYXJkZmVobGVyIGRlciBWZXJ0ZWlsdW5nIGRlciBEaWZmZXJlbnptaXR0ZWx3ZXJ0ZQ0KDQoqICRuJCA9IFN0aWNocHJvYmVuZ3LDtnNzZQ0KDQoqICRkX2kkID0gRGlmZmVyZW56IGRlcyBNZXNzd2VydHBhYXJlcyAkaSQNCg0KDQpVbmQgZGVyIEJlcmVjaG51bmcgZGVyIEZyZWloZWl0c2dyYWRlIG1pdCANCiQkZGYgPSBuLTEkJC4NCg0KJCRkZiA9IDI5LTEgPTI4JCQNCioqdC1lbXBpcnNjaCoqDQoNCiQkDQp0ID0gXGZyYWN7XGJhciB4X2R9e1xoYXQgXHNpZ21hX3tcYmFyIHhfZH19ID1cZnJhY3stNC43MjR9e1xzcXJ0e1xmcmFjeygtNS0oLTQuNzI0KSleMisoLTYtKC00LjcyNCkpXjIrLi4rKC0yLSgtNC43MjQpKV4yfXsoMjktMSkyOX19fT0gICBcZnJhY3stNC43MjR9e1xzcXJ0e1xmcmFjezM0Ny43OX17ODEyfX19PS03LjIxDQokJA0KDQoNCg0KYGBge3J9DQp0dGVzdFZFUiA8LSByZWFkLmNzdigiRDovdGVzdHMvdHRlc3RWRVIudHh0Iiwgc2VwPSI7IikNClZpZXcodHRlc3RWRVIpDQpgYGANCg0KKip0LWtyaXRzY2gqKg0KYGBge3J9DQpxdCguOTc1LCBkZj0yOCkNCmBgYA0KDQojIyMgU2lnbmlmaWthbnogZGVyIFRlc3RzdGF0aXN0aWsNCg0KRGVyIGJlcmVjaG5ldGUgV2VydCBtdXNzIG51biBhdWYgU2lnbmlmaWthbnogZ2VwcsO8ZnQgd2VyZGVuLiBEYXp1IHdpcmQgZGllIFRlc3RzdGF0aXN0aWsgbWl0IGRlbSBrcml0aXNjaGVuIFdlcnQgZGVyIGR1cmNoIGRpZSBGcmVpaGVpdHNncmFkZSBiZXN0aW1tdGVuIHQtVmVydGVpbHVuZyB2ZXJnbGljaGVuIHdlcmRlbi4gRGllc2VyIGtyaXRpc2NoZSBXZXJ0IGthbm4gVGFiZWxsZW4gZW50bm9tbWVuIHdlcmRlbi4gQWJiaWxkdW5nIHplaWd0IGVpbmVuIEF1c3NjaG5pdHQgZWluZXIgdC1UYWJlbGxlLCBkZXIgZWluaWdlIGtyaXRpc2NoZSBXZXJ0ZSBmw7xyIGRpZSBTaWduaWZpa2Fuem5pdmVhdXMgLjA1IHVuZCAuMDEgemVpZ3QuDQoNCkbDvHIgZGFzIHZvcmxpZWdlbmRlIEJlaXNwaWVsIGJldHLDpGd0IGRlciBrcml0aXNjaGUgV2VydCAyLjA0IGJlaSBkZiA9IDI4IHVuZCDOsSA9IC4wNS4gSXN0IGRlciBCZXRyYWcgZGVyIFRlc3RzdGF0aXN0aWsgaMO2aGVyIGFscyBkZXIga3JpdGlzY2hlIFdlcnQsIHNvIGlzdCBkZXIgVW50ZXJzY2hpZWQgc2lnbmlmaWthbnQuIERpZXMgaXN0IGbDvHIgZGFzIEJlaXNwaWVsIGRlciBGYWxsICQofC03LjIxfD4yLjA0KSQuIEVzIGthbm4gYWxzbyBkYXZvbiBhdXNnZWdhbmdlbiB3ZXJkZW4sIGRhc3Mgc2ljaCBkaWUgYmVpZGVuIE1pdHRlbHdlcnRlIHVudGVyc2NoZWlkZW4gKHQoMjgpID0gLTcuMjEsIHAgPCAuMDUsIG4gPSAyOSkuDQoNCiMgSHlwb3RoZXNlDQoNCkgxOiBFcyBnaWJ0IGVpbmVuIFVudGVyc2NoaWVkIHp3aXNjaGVuIGRlciBTZWxic3RlaW5zY2jDpHR6dW5nIHVuZCBkZXIgRnJlbWRlaW5zY2jDpHR6dW5nIGR1cmNoIGRlbiBFaGVwYXJ0bmVyIGJlaSBkZXIgRXh0cmF2ZXJzaW9uLg0KDQpIMDogRXMgZ2lidCBrZWluZW4gVW50ZXJzY2hpZWQgendpc2NoZW4gZGVyIFNlbGJzdGVpbnNjaMOkdHp1bmcgdW5kIGRlciBGcmVtZGVpbnNjaMOkdHp1bmcgZHVyY2ggZGVuIEVoZXBhcnRuZXIgYmVpIGRlciBFeHRyYXZlcnNpb24uDQoNCg0KIyBWb3JhdXNzZXR6dW5nZW4gZGVzIHQtVGVzdHMgZsO8ciBhYmjDpG5naWdlIFN0aWNocHJvYmVuDQoNCkRpZSBhYmjDpG5naWdlIFZhcmlhYmxlIGlzdCBtaW4uIGludGVydmFsbHNrYWxpZXJ0IC0+IEphLCBFeHRyYXZlcnNpb24gaXN0IG1ldHJpc2NoLg0KDQpFcyBsaWVnZW4gendlaSB2ZXJidW5kZW5lIFN0aWNocHJvYmVuIG9kZXIgR3J1cHBlbiB2b3IsIGFiZXIgZGllIHZlcnNjaGllZGVuZW4gTWVzc3dlcnRwYWFyZSBzaW5kIHZvbmVpbmFuZGVyIHVuYWJow6RuZ2lnLiAxKSBTaWUgc2luZCB2ZXJidW5kZW5lbiBkdXJjaCBkaWUgRWhlLCAyKSBhYmVyIHVuYWJow6RuZ2lnZSwgd2VpbCBlcyB6d2VpIHZlcnNjaGllZGVuZSBNZXNzcGFhcmUgKEEgdW5kIEIpIHNpbmQuDQoNCkRpZSBVbnRlcnNjaGllZGUgendpc2NoZW4gZGVuIHZlcmJ1bmRlbmVuIFRlc3R3ZXJ0ZW4gc2luZCBpbiBkZXIgR3J1bmRnZXNhbXRoZWl0IG5vcm1hbHZlcnRlaWx0IChiZWkgU3RpY2hwcm9iZW4gPiAzMCBzaW5kIFZlcmxldHp1bmdlbiB1bnByb2JsZW1hdGlzY2gpDQoNCg0KDQojIyMgRXJ6ZXVnZSBuZXVlIFZhcmlhYmxlDQoNCmBgYHtyfQ0KIyBEaWZmZXJlbnogZXJzdGVsbGVuDQp6d2lzY2hlbiA8LSB0dGVzdFZFUiRGcmVtZGVpbnNjaGFldHp1bmcgLSB0dGVzdFZFUiRTZWxic3RlaW5zY2hhZXR6dW5nIA0Kendpc2NoZW4NCmBgYA0KDQoNCmBgYHtyfQ0KIyBEaWUgU3BhbHRlICJEaWZmZXJlbnoiIHdpcmQgenVtIERhdGVuc2F0eiBoaW56dWdlZsO8Z3QNCnR0ZXN0VkVSIDwtIGNiaW5kKHR0ZXN0VkVSLCAiRGlmZmVyZW56IiA9IHp3aXNjaGVuKQ0KVmlldyh0dGVzdFZFUikNCg0KYGBgDQoNCmBgYHtyfQ0KIyBFaW5lIFNwYWx0ZSBsw7ZzY2hlbg0KDQojdHRlc3RWRVIkRGlmZmVyZW56IDwtIE5VTEwNCiNWaWV3KHR0ZXN0VkVSKQ0KDQpgYGANCg0KDQoNCiMgRmFsbHMgZXMgUHJvYmxlbWUgZ2lidCANCg0KYGBge3J9DQp0dGVzdFZFUiREaWZmZXJlbnogPC0gYXMubnVtZXJpYyh0dGVzdFZFUiREaWZmZXJlbnopDQpgYGANCg0KDQoNCiMgUHJ1ZWZ1bmcgZGVyIFZlcnRlaWx1bmcNCg0KIyMgSGlzdG9ncmFtbSB6dXIgUHLDvGZ1bmcgZGVzIE5vcm1hbHZlcnRlaWx1bmcNCg0KYGBge3Igd2FybmluZz1GQUxTRX0NCmhpc3QodHRlc3RWRVIkRGlmZmVyZW56LCB4bGFiID0gIkRpZmZlcmVueiB6d2lzY2hlbiBTZWxic3QtIHVuZCBGcmVtZGVpbnNjaMOkdHp1bmcgZGVyIEV4dHJhdmVyc2lvbiIsIHlsYWI9ICJBbnphaGwiLCBtYWluID0iSGlzdG9ncmFtbSBkZXIgRGlmZmVyZW56IiwgYnJlYWtzID02LCAgY29sID0gImhvdHBpbmszIikNCmBgYA0KIyBBTFRFUk5BVElWRQ0KDQojIyBRUS1EaWFncmFtbSB6dXIgUHLDvGZ1bmcgZGVzIE5vcm1hbHZlcnRlaWx1bmcNCg0KRGVpbmUgV2VydGUgbcO8c3NlbiBlbnRsYW5nIGVpbmVyIGF1ZnN0ZWlnZW5kZW4gR2VyYWRlIGxpZWdlbiwgc28gZGFzcyBEdSBlaW5lIMOkaG5saWNoZSBWZXJ0ZWlsdW5nIHZlcm11dGVuIGthbm5zdC4NCg0KDQpgYGB7cn0NCg0KbGlicmFyeShjYXIpDQpxcVBsb3QodHRlc3RWRVIkRGlmZmVyZW56LCBtYWluID0gIlFRUGxvdCBmw7xyIGRpZSBWYXIuIERpZmZlcmVueiIpDQoNCg0KYGBgDQoNCkVzIGdpYnQgZWluZSBOb3JtYWx2ZXJ0ZWlsdW5nLg0KDQoNCiMgRGVza3JpcHRpdmUgU3RhdGlzdGlrZW4gdW5kIEtvcnJlbGF0aW9uDQoNCiMjIyBLb3JyZWxhdGlvbg0KDQpgYGB7cn0NCg0KI2xpYnJhcnkoY2FyKQ0Kc2NhdHRlcnBsb3QodHRlc3RWRVIkRnJlbWRlaW5zY2hhZXR6dW5nIH4gdHRlc3RWRVIkU2VsYnN0ZWluc2NoYWV0enVuZyAsIG1haW4gPSAiU3RyZXVkaWFncmFtbSB6d2lzY2hlbiBTZWxic3QtIHVuZCBGcmVtZGVpbnNjaMOkdHp1bmciLCB4bGFiID0gIlNlbGJzdGVpbnNjaMOkdHp1bmciLCB5bGFiPSAiRnJlbWRlaW5zY2jDpHR6dW5nIGR1cmNoIGRlbiBFaGVwYXJ0bmVyIikNCmBgYA0KDQoNCmBgYHtyfQ0KdGVzdCA8LSBjb3IudGVzdCh0dGVzdFZFUiRTZWxic3RlaW5zY2hhZXR6dW5nLCB0dGVzdFZFUiRGcmVtZGVpbnNjaGFldHp1bmcpDQp0ZXN0DQoNCg0KYGBgDQoNCg0KRGllIEZyZW1kZWluc2Now6R0enVuZyBkdXJjaCBkZW4gRWhlcGFydG5lciB1bmQgZGllIFNlbGJzdGVpbnNjaMOkdHp1bmcga29ycmVsaWVyZW4gcG9zaXRpdi1saW5lYXIgc2lnbmlmaWthbnQgKHIgPSAuNzcsIHAgPSAuMDAwLCBuID0gMjkpLg0KDQoNCkJlaSBNZXNzd2llZGVyaG9sdW5nZW4gaXN0IGVzIG3DtmdsaWNoLCBkYXNzIGRpZSBEYXRlbiBkZXIgZXJzdGVuIHVuZCB6d2VpdGVuIEVyaGVidW5nIChyZXNwZWt0aXZlIGVpbmVzIE1lc3N3ZXJ0cGFhcnMpIG1pdGVpbmFuZGVyIGtvcnJlbGllcmVuLiBFcyBpc3QgcGxhdXNpYmVsLCBkYXNzIHp3ZWkgdmVyYnVuZGVuZSBNZXNzdW5nZW4gc2ljaCDDpGhubGljaCBzaW5kIHVuZCBkYXNzIGlubmVyaGFsYiBlaW5lcyBNZXNzd2VydHBhYXJlcyBlaGVyIGdlcmluZ2VyZSBVbnRlcnNjaGllZGUgYXVmdHJldGVuIGFscyB6d2lzY2hlbiBkZW4gUGFhcmVuLiANCg0KSW0gUi1PdXRwdXQgd2lyZCBkYWhlciBlaW5lIFBlYXJzb24gS29ycmVsYXRpb24gZGVyIGJlaWRlbiBNZXNzemVpdHB1bmt0ZSBhdXNnZWdlYmVuLiBGw7xyIGRhcyBCZWlzcGllbCBlcmdpYnQgc2ljaCBlaW5lIHNlaHIgaG9oZSBLb3JyZWxhdGlvbiB2b24gciA9IC43NyAocCA9IC4wMDAsIG4gPSAyOSkuDQoNCg0KDQojIERlc2tyaXB0aXZlIFN0YXRpc3Rpa2VuDQoNCg0KYGBge3J9DQpsaWJyYXJ5KHBzeWNoKQ0KDQpnIDwtIGRlc2NyaWJlKHR0ZXN0VkVSKQ0KZw0KDQpgYGANCkVzIHplaWd0IHNpY2gsIGRhc3MgZXMgZWluZW4gTWl0dGVsd2VydHN1bnRlcnNjaGllZCB6d2lzY2hlbiBGcmVtZGVpbnNjaMOkdHp1bmcgZHVyY2ggZGVuIEVoZXBhcnRuZXIgdW5kIGRlciBTZWxic3RlaW5zY2jDpHR6dW5nIGluIFB1bmt0byBFeHRyYXZlcnNpb24gZ2lidC4gRGllIE1pdHRlbHdlcnRlIHVudGVyc2NoZWlkZW4gc2ljaCBkYWhpbmdlaGVuZCwgZGFzIGRpZSBGcmVtZGVpbnNjaMOkdHp1bmcgYmVpIDIxLjc5IChTRCA9IDQuNTUsIG49IDI5KSwgd29oaW5nZWdlbiBkaWUgU2VsYnN0ZWluc2Now6R0enVuZyBiZWkgMjYuNTEgKFNEID0gNS40NCAsbj0yOSkgbGllZ3QuIA0KDQoNCiMgRXJnZWJuaXNzZSBkZXMgdC1UZXN0cyBmw7xyIGFiaMOkbmdpZ2UgU3RpY2hwcm9iZW4NCg0KDQpgYGB7cn0NCnRlc3RWRVI8LSB0LnRlc3QodHRlc3RWRVIkU2VsYnN0ZWluc2NoYWV0enVuZywgdHRlc3RWRVIkRnJlbWRlaW5zY2hhZXR6dW5nLCBhbHRlcm5hdGl2ZSA9ICJ0d28uc2lkZWQiLCBwYWlyZWQgPSBUUlVFLCBjb25mLmxldmVsID0gLjk1KQ0KDQp0ZXN0VkVSDQpgYGANCg0KRGllIFRlc3RzdGF0aXN0aWsgYmV0csOkZ3QgdCA9IDcuMjE4IHVuZCBkZXIgenVnZWjDtnJpZ2UgU2lnbmlmaWthbnp3ZXJ0IHAgPSA3LjQwMmUtMDguIERhbWl0IGlzdCBkZXIgVW50ZXJzY2hpZWQgc2lnbmlmaWthbnQ6IERpZSBNaXR0ZWx3ZXJ0ZSBkZXIgYmVpZGVuIE1lc3N6ZWl0cHVua3RlIChGcmVtZGVpbnNjaMOkdHp1bmcgdW5kIFNlbGJzdGVpbnNjaMOkdHp1bmcpIHVudGVyc2NoZWlkZW4gc2ljaCAodCgyOCkgPSA3LjIxOCwgcCA9IDcuNDAyZS0wOCwgbj0gMjkpLg0KDQoNCiMgQmVyZWNobnVuZyBkZXIgRWZmZWt0c3TDpHJrZQ0KDQojIyMgQ29oZW4gdW5kIFBlYXJzb24NCg0KJCRyPVxsZWZ0XHwgXHNxcnQge1xmcmFje3ReMn17dF4yK2RmfX0gXHJpZ2h0XHwkJCAgDQoNCg0KDQpgYGB7cn0NCg0KZWZmMSA8LSBhYnMoc3FydCh0ZXN0VkVSJHN0YXRpc3RpY14yIC8gKHRlc3RWRVIkc3RhdGlzdGljXjIgKyB0ZXN0VkVSJHBhcmFtZXRlcikpKQ0KDQpzcHJpbnRmKCJFZmZla3RzdMOkcmtlOiAlLjRmIixlZmYxKQ0KDQpgYGANCg0KDQpadXIgQmV1cnRlaWx1bmcgZGVyIEdyb2Vzc2UgZGVzIEVmZmVrdGVzIGRpZW50IGRpZSBFaW50ZWlsdW5nIHZvbiBDb2hlbiAoMTk5Mik6DQoNCiQkDQpcYmVnaW57YWxpZ259DQpcdGV4dHtTY2h3YWNoZXIgRWZmZWt0OiB9IDAuMTAgJjwgfHxyfHwgPCAwLjMwICAgICAgICAgICAgIFxcDQpcdGV4dHtTY2h3YWNoZXIgYmlzIG1pdHRsZXJlciBFZmZla3Q6IH0gMC4zMCAmPSB8fHJ8fCAgICAgIFxcDQpcdGV4dHtNaXR0bGVyZXIgRWZmZWt0OiB9IDAuMzAgJjwgfHxyfHwgPCAwLjUwICAgICAgICAgICAgIFxcDQpcdGV4dHtNaXR0bGVyZXIgYmlzIHN0YXJrZXIgRWZmZWt0OiB9MC41MCAmPSB8fHJ8fCAgICAgICAgIFxcDQpcdGV4dHtTdGFya2VyIEVmZmVrdDogfSAwLjUwICY8IHx8cnx8ICAgICAgICANClxlbmR7YWxpZ259DQokJA0KDQpEYW1pdCBlbnRzcHJpY2h0IGVpbmUgRWZmZWt0c3TDpHJrZSB2b24gMC44IGVpbmVtIHN0YXJrZW4gRWZmZWt0DQoNCg0KIyBBTFRFUk5BVElWDQoNCiMjIyBIZWRnZXMgZw0KDQokJFxybXtIZWRnZXN9XCBcaGF0e2d9PVxsZWZ0fFxmcmFje1xoYXR7XG11XzF9LVxoYXR7XG11XzJ9fXtcaGF0e1xzaWdtYX19XHJpZ2h0fCQkDQoNCg0KYGBge3J9DQpkaWZmIDwtIHRlc3RWRVIkZXN0aW1hdGUNCg0Kc2VkIDwtIHNxcnQoKGckc2RbMV1eMitnJHNkWzJdXjIpLTIgKnRlc3QkZXN0aW1hdGUgKmckc2RbMV0qZyRzZFsyXSkNCg0KZyA8LSBkaWZmL3NlZA0KDQpzcHJpbnRmKCJFZmZla3RzdMOkcmtlOiAlLjRmIixnKQ0KDQpgYGANClp1ciBCZXVydGVpbHVuZyBkZXIgR3LDtsOfZSBkZXMgRWZmZWt0ZXM6DQoNCiQkXGJlZ2lue2FsaWdufQ0KXHRleHR7U2Nod2FjaGVyIEVmZmVrdDogfSAwLjIwICY8IHx8Z3x8IDwgMC41MCAgICAgICAgICAgICBcXA0KXHRleHR7U2Nod2FjaGVyIGJpcyBtaXR0bGVyZXIgRWZmZWt0OiB9IDAuNTAgJj0gfHxnfHwgICAgICBcXA0KXHRleHR7TWl0dGxlcmVyIEVmZmVrdDogfSAwLjUwICY8IHx8Z3x8IDwgMC44MCAgICAgICAgICAgICBcXA0KXHRleHR7TWl0dGxlcmVyIGJpcyBzdGFya2VyIEVmZmVrdDogfTAuODAgJj0gfHxnfHwgICAgICAgICBcXA0KXHRleHR7U3RhcmtlciBFZmZla3Q6IH0gMC44MCAmPCB8fGd8fCAgICAgICAgDQpcZW5ke2FsaWdufQ0KJCQNCg0KDQpEYW1pdCBlbnRzcHJpY2h0IGVpbmUgRWZmZWt0c3TDpHJrZSB2b24gMS4zIGVpbmVtIHN0YXJrZW4gRWZmZWt0Lg0KDQoNCiMgRWluZSBBdXNzYWdlDQoNCkVzIHplaWd0IHNpY2gsIGRhc3MgZGllIEV4dHJhdmVyc2lvbnN3ZXJ0ZSBzb3dvaGwgdm9uIGRlciBGcmVtZGVpbnNjaMOkdHp1bmcgYWxzIGF1Y2ggZGVyIFNlbGJzdGVpbnNjaMOkdHp1bmcgc3RhdGlzdGlzY2ggc2lnbmlmaWthbnQgc2ljaCB1bnRlcnNjaGVpZGVuICh0KDI4KSA9IDcuMjEsIHAgPSAuMDAwLCBuID0gMjkpLiBEaWUgU2VsYnN0ZWluc2Now6R0enVuZyBkZXIgRXh0cmF2ZXJzaW9uIGbDpGxsdCBow7ZoZXIgYXVzIChNID0gMjYuNTEsIFNEID0gNS40NCkgYWxzIGRpZSBGcmVtZGVpbnNjaMOkdHp1bmcgZHVyY2ggZGVuIEVoZXBhcnRuZXIgKE0gPSAyMS43OSwgU0QgPSA0LjU1KS4gRGllIEVmZmVrdHN0w6Rya2UgbmFjaCBDb2hlbiAoMTk5MikgbGllZ3QgYmVpIHIgPSAwLjggdW5kIGVudHNwcmljaHQgZGFtaXQgZWluZW0gc3RhcmtlbiBFZmZla3QuIEgwIGthbm4gdmVyd29yZmVuIHdlcmRlbi4NCg0KDQoNCg==