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:
\(\bar x_d\) = Mittelwert der Differenzen der Messwertpaare
\(\hat \sigma_{\bar x_d}\) = Standardfehler der Verteilung der Differenzmittelwerte
\(n\) = Stichprobengrösse
\(d_i\) = Differenz des Messwertpaares \(i\)
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==