# 0) Načítanie celej databázy
daje <- read.csv("World Happiness Report 2005-2021.csv",
                 sep = ",", header = TRUE)

# 1) Výber relevantných stĺpcov (bodkované názvy po načítaní)
udaje <- daje[, c("Country.name",
                  "Year",
                  "Life.Ladder",
                  "Log.GDP.per.capita",
                  "Healthy.life.expectancy.at.birth",
                  "Social.support")]

# 2) Premenovanie stĺpcov na jednoduchšie názvy
names(udaje) <- c("Country", "Year", "LifeLadder", "LogGDPpc", "HealthyLE", "SocialSupport")

# 3) Imputácia chýbajúcich hodnôt mediánom (globálne naprieč všetkými rokmi)
imp_cols <- c("LifeLadder", "LogGDPpc", "HealthyLE", "SocialSupport")
column_medians <- sapply(udaje[ , imp_cols], median, na.rm = TRUE)

for (col in imp_cols) {
  udaje[[col]][is.na(udaje[[col]])] <- column_medians[col]
}

4. Odhad základného regresného modelu


# Lineárny model na všetkých rokoch (panelové dáta)
model <- lm(LifeLadder ~ LogGDPpc + HealthyLE + SocialSupport,
            data = udaje)

# Výpis výsledkov
summary(model)

Call:
lm(formula = LifeLadder ~ LogGDPpc + HealthyLE + SocialSupport, 
    data = udaje)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.39905 -0.42894 -0.02045  0.46367  2.24196 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   -2.712818   0.130431 -20.799   <2e-16 ***
LogGDPpc       0.392011   0.022214  17.647   <2e-16 ***
HealthyLE      0.031931   0.003386   9.429   <2e-16 ***
SocialSupport  3.068553   0.158600  19.348   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6298 on 2085 degrees of freedom
Multiple R-squared:  0.6817,    Adjusted R-squared:  0.6812 
F-statistic:  1488 on 3 and 2085 DF,  p-value: < 2.2e-16

Regresný model ukázal, že všetky tri premenné – LogGDPpc, HealthyLE a SocialSupport – predstavujú silné a štatisticky významné determinanty subjektívnej spokojnosti obyvateľov meranej ukazovateľom Life Ladder. Koeficient pri LogGDPpc je pozitívny, čo znamená, že vyšší príjem a ekonomická úroveň krajiny zvyšujú subjektívne vnímanie kvality života; keď sa HDP per capita zvýši približne o 1 %, spokojnosť narastie o približne 0.00392 bodu, čo sa pri 10 % náraste HDP prejaví zhruba 0.039-bodovým zvýšením Life Ladder. Premenná HealthyLE má taktiež pozitívny efekt a ukazuje, že dlhší život v lepšom zdravotnom stave zvyšuje spokojnosť; každý jeden rok navyše pridáva približne 0.032 bodu, čo znamená, že rozdiel medzi krajinami s dĺžkou života odlišujúcou sa o 10 rokov môže predstavovať až 0.32 bodu na škále subjektívneho šťastia. Najsilnejší vplyv má premenná SocialSupport, pri ktorej zvýšenie sociálnej opory o 0.1 bodu zvyšuje spokojnosť o viac než 0.3 bodu, čo potvrdzuje dôležitosť medziľudských vzťahov a dostupnosti opory v sociálnom prostredí. Všetky koeficienty sú vysoko štatisticky významné (p < 2e–16), čo znamená, že ich vplyvy sú spoľahlivé a stabilné, pričom vysoké t-hodnoty naznačujú nízku neistotu odhadov. Model vykazuje veľmi dobrú vysvetlenosť, keďže Multiple R-squared dosahuje hodnotu približne 0.68, takže vysvetľuje viac ako dve tretiny variability subjektívnej spokojnosti naprieč krajinami a rokmi, čo je v rámci sociálnych a ekonomických analýz veľmi silný výsledok. Adjusted R-squared sa od Multiple R² takmer nelíši, čo znamená, že model nie je preplnený a každá z premenných reálne prispieva k jeho vysvetľujúcej schopnosti. Celkový F-test modelu je extrémne významný, čo potvrdzuje, že kombinácia zvolených premenných má ako celok výrazný vysvetľujúci efekt. Výsledky teda ukazujú, že ekonomické podmienky, zdravotný stav populácie a sociálne väzby tvoria robustný základ pre porozumenie medzinárodným rozdielom v subjektívnom hodnotení kvality života.


5. Korelačná matica

Korelácia dokáže zachytiť párové vzťahy medzi premennými. Ak medzi niektorými vysvetľujúcimi premennými je vysoká korelácia (signalizujúca multikolinearitu), potom je najjednoduchšie ju zo zoznamu regresorov vylúčiť. Korelácie sa dajú aj testovať, alebo len vyčísliť a potom podľa intuitívneho pravidla vylúčiť jednu premennú, ktorá má koreláciu s inou premennou v absolútnej hodnote vyššiu ako 0.8, resp. 0.9.


# Vyber vysvetľujúce premenné z datasetu
xvars <- udaje[, c("LogGDPpc", "HealthyLE", "SocialSupport")]

# Korelačná matica zaokrúhlená na 3 desatinné miesta
round(cor(xvars), 3)
              LogGDPpc HealthyLE SocialSupport
LogGDPpc         1.000     0.801         0.674
HealthyLE        0.801     1.000         0.596
SocialSupport    0.674     0.596         1.000
pairs(xvars,
      main = "Scatterplotová matica – vplyvové premenné (WHR 2015)")

Najvýraznejší pozitívny trend je viditeľný medzi LogGDPpc a HealthyLE – bohatšie krajiny majú spravidla vyššiu dĺžku života a body ležia v úzkom, takmer lineárnom páse. Podobne aj vzťah medzi SocialSupport a HealthyLE naznačuje, že krajiny s lepším zdravotným stavom populácie majú zároveň silnejšiu sociálnu oporu. Vzťah medzi LogGDPpc a SocialSupport je pozitívny, no rozptýlenejší, čo znamená, že ekonomická úroveň nie je jediným faktorom ovplyvňujúcim sociálne väzby. Vo všetkých grafických kombináciách je patrné, že premenné majú prevažne priamu (pozitívnu) väzbu, čo je v súlade s výsledkami regresie aj korelačnej matice. Zároveň vidíme aj určité zhluky bodov predstavujúce krajiny s podobným socioekonomickým profilom, čo je typické pri panelových dátach. Matica teda naznačuje potenciálnu, ale nie problémovú mieru kolinearít – najmä medzi LogGDPpc a HealthyLE –, avšak jej sila sa ukáže až v číselných ukazovateľoch, ako VIF alebo Condition Number.


6. VIF

library(car)
vif(model)
     LogGDPpc     HealthyLE SocialSupport 
     3.352478      2.838512      1.861575 

Hodnoty VIF pre všetky tri premenné sú nízke, čo znamená, že multikolinearita v modeli nepredstavuje problém. Najvyšší VIF má premenná LogGDPpc (3.35), čo naznačuje miernu, ale úplne akceptovateľnú vzájomnú koreláciu s ostatnými premennými. HealthyLE má VIF 2.84, čo potvrdzuje, že jej lineárny vzťah s ostatnými premennými je slabý a stabilný. SocialSupport vykazuje najnižší VIF (1.86), takže táto premenná je od ostatných vysvetľujúcich veličín najmenej závislá. Všetky hodnoty sú výrazne pod kritickou hranicou 10, ktorá sa považuje za indikátor vážnej multikolinearity. Nízke VIF potvrdzujú, že regresné koeficienty budú stabilné, spoľahlivé a interpretovateľné bez skreslenia spôsobeného závislosťou medzi regresormi. Súčasne tieto výsledky korešpondujú s vizuálnou scatterplotovou maticou, ktorá síce naznačovala pozitívne vzťahy medzi premennými, no ich intenzita je zjavne nízka až stredná. Model je teda z hľadiska multikolinearity dobre špecifikovaný a žiadna z premenných nie je kandidátom na odstránenie.

My však na báze učenie budeme pracovať s dátami ako keby sa v nich multikolinearita vyskytovala


7. Condition Number


# Návrhová matica X bez interceptu
X <- model.matrix(model)[, -1, drop = FALSE]

## (A) Kappa bez škálovania
kappa_unscaled <- kappa(X)

## (B) Kappa po štandardizácii (scale = TRUE)
Xz <- scale(X, center = TRUE, scale = TRUE)
kappa_scaled <- kappa(Xz)

## (C) Condition number cez vlastné čísla
XtX <- t(Xz) %*% Xz
eig_vals <- eigen(XtX, symmetric = TRUE, only.values = TRUE)$values
condition_number <- sqrt(max(eig_vals) / min(eig_vals))

kappa_unscaled
[1] 730.8481
kappa_scaled
[1] 3.470355
condition_number
[1] 3.551354

Hodnoty Condition Number ukazujú veľmi priaznivú situáciu z hľadiska multikolinearity. Neškálovaná verzia (730.85) je extrémne vysoká, no táto hodnota sa neinterpretuje, pretože je ovplyvnená rozdielnymi jednotkami premenných. Rozhodujúce sú škálované ukazovatele: kappa_scaled = 3.47 a alternatívne vypočítaný condition_number = 3.55. Obe hodnoty sú hlboko pod hranicou 10, ktorá sa štandardne považuje za limit, pri ktorom multikolinearita začína byť problémom. Výsledky preto jasne naznačujú, že medzi premennými v modeli neexistuje žiadna relevantná lineárna závislosť, ktorá by narúšala stabilitu odhadov. Takéto nízke kondičné čísla potvrdzujú, že model je dobre identifikovaný a regresné koeficienty sú spoľahlivé a necitlivé na malé zmeny v údajoch. Zároveň to dopĺňa zistenia z VIF, ktoré boli taktiež nízke, takže oba diagnostické prístupy sa navzájom potvrdzujú. Model je teda z pohľadu multikolinearity úplne bezproblémový.

8. Vynechanie premenných

# Model bez LogGDPpc (najvyšší VIF)
model_noGDP <- lm(LifeLadder ~ HealthyLE + SocialSupport,
                  data = udaje)
summary(model_noGDP)

Call:
lm(formula = LifeLadder ~ HealthyLE + SocialSupport, data = udaje)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.22137 -0.46134 -0.04537  0.50695  2.85596 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   -2.509235   0.139251  -18.02   <2e-16 ***
HealthyLE      0.072182   0.002683   26.91   <2e-16 ***
SocialSupport  4.212115   0.155156   27.15   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6751 on 2086 degrees of freedom
Multiple R-squared:  0.6341,    Adjusted R-squared:  0.6338 
F-statistic:  1808 on 2 and 2086 DF,  p-value: < 2.2e-16
# Model bez HealthyLE
model_noHE <- lm(LifeLadder ~ LogGDPpc + SocialSupport,
                 data = udaje)
summary(model_noHE)

Call:
lm(formula = LifeLadder ~ LogGDPpc + SocialSupport, data = udaje)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.2287 -0.4217 -0.0088  0.4831  2.1694 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)   -2.17106    0.11954  -18.16   <2e-16 ***
LogGDPpc       0.53309    0.01676   31.80   <2e-16 ***
SocialSupport  3.25828    0.16060   20.29   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.643 on 2086 degrees of freedom
Multiple R-squared:  0.6681,    Adjusted R-squared:  0.6678 
F-statistic:  2100 on 2 and 2086 DF,  p-value: < 2.2e-16
# Model bez SocialSupport
model_noSS <- lm(LifeLadder ~ LogGDPpc + HealthyLE,
                 data = udaje)
summary(model_noSS)

Call:
lm(formula = LifeLadder ~ LogGDPpc + HealthyLE, data = udaje)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.3350 -0.4640  0.0089  0.5014  2.2361 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.394747   0.140493  -17.05   <2e-16 ***
LogGDPpc     0.567612   0.022015   25.78   <2e-16 ***
HealthyLE    0.040243   0.003647   11.03   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6839 on 2086 degrees of freedom
Multiple R-squared:  0.6245,    Adjusted R-squared:  0.6242 
F-statistic:  1735 on 2 and 2086 DF,  p-value: < 2.2e-16

Pri vynechávaní premenných sa ukazuje, že všetky tri dvojpremenné modely ostávajú štatisticky významné, no ich vysvetľovacia sila sa odlišuje. Model bez LogGDPpc (t. j. HealthyLE + SocialSupport) má najnižšiu vysvetlenosť, R² = 0.634, čo znamená, že odstránenie ekonomickej premennej znižuje kvalitu modelu najviac. Model bez HealthyLE (LogGDPpc + SocialSupport) si zachováva veľmi vysoké R² = 0.668, teda takmer identické ako pôvodný trojpremenný model, čo naznačuje, že kombinácia ekonomického výkonu a sociálnej opory zachytáva väčšinu variability Life Ladder. Model bez SocialSupport (LogGDPpc + HealthyLE) má R² = 0.625, čo je najnižšia hodnota zo všetkých porovnávaných modelov, čo potvrdzuje, že SocialSupport je kľúčovým regresorom. Z pohľadu silných efektov ostáva SocialSupport najdominantnejšou premennou aj v dvojpremenných modeloch, s vysokými t-hodnotami a stabilným koeficientom. LogGDPpc si taktiež zachováva veľmi silný vplyv a vysokú štatistickú významnosť, zatiaľ čo HealthyLE má najslabší relatívny príspevok. Celkovo možno konštatovať, že najväčší pokles vysvetlenosti nastáva po odstránení SocialSupport, čo potvrdzuje jej centrálne postavenie v modeli subjektívneho šťastia. Model bez HealthyLE prináša najmenšiu stratu R², čo naznačuje, že ekonomická úroveň a sociálna opora spolu nesú najväčšiu časť informácie o Life Ladder. Výsledky teda ukazujú, že ak by sa mala nejaká premenná vynechať, najmenšiu škodu spôsobí odstránenie HealthyLE, zatiaľ čo vynechanie SocialSupport alebo LogGDPpc výraznejšie znižuje kvalitu modelu.

9. Škálovanie

# Vytvorenie škálovaných premenných
udaje$LogGDPpc_c     <- scale(udaje$LogGDPpc, center = TRUE, scale = TRUE)
udaje$HealthyLE_c    <- scale(udaje$HealthyLE, center = TRUE, scale = TRUE)
udaje$SocialSupport_c <- scale(udaje$SocialSupport, center = TRUE, scale = TRUE)

# Model so škálovanými premennými
model_scaled <- lm(LifeLadder ~ LogGDPpc_c + HealthyLE_c + SocialSupport_c,
                   data = udaje)
summary(model_scaled)

Call:
lm(formula = LifeLadder ~ LogGDPpc_c + HealthyLE_c + SocialSupport_c, 
    data = udaje)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.39905 -0.42894 -0.02045  0.46367  2.24196 

Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
(Intercept)      5.47375    0.01378 397.210   <2e-16 ***
LogGDPpc_c       0.44538    0.02524  17.647   <2e-16 ***
HealthyLE_c      0.21897    0.02322   9.429   <2e-16 ***
SocialSupport_c  0.36386    0.01881  19.348   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6298 on 2085 degrees of freedom
Multiple R-squared:  0.6817,    Adjusted R-squared:  0.6812 
F-statistic:  1488 on 3 and 2085 DF,  p-value: < 2.2e-16
# VIF po škálovaní
vif(model_scaled)
     LogGDPpc_c     HealthyLE_c SocialSupport_c 
       3.352478        2.838512        1.861575 

Škálovaný model ukazuje, že po centrácii a štandardizácii premenných sa nemení ich štatistická významnosť ani smer vplyvu, no menia sa numerické hodnoty koeficientov, keďže všetky regresory sú teraz vyjadrené v štandardných odchýlkach. LogGDPpc_c ostáva silným a štatisticky významným prediktorom spokojnosti, pričom jeho koeficient 0.445 naznačuje, že zvýšenie ekonomickej úrovne o jednu štandardnú odchýlku zvyšuje Life Ladder o takmer polovicu bodu. HealthyLE_c má po škálovaní koeficient 0.219, čo znamená, že krajinám s výrazne vyššou dĺžkou života narastá spokojnosť o približne pätinu bodu pri zmene o jednu štandardnú odchýlku. SocialSupport_c má naďalej najsilnejší efekt (0.364), čo potvrdzuje jeho dominantné postavenie medzi vysvetľujúcimi premennými. Hodnoty VIF po škálovaní zostávajú veľmi nízke, takže škálovanie neodhalilo žiadnu novú formu multikolinearity, ale naopak potvrdilo stabilitu modelu. R² aj Adjusted R² sa nezmenili, čo dokazuje, že škálovanie nemení vysvetľovaciu silu modelu, iba jeho číselnú reprezentáciu. Veľmi výrazne sa zlepšil Condition Number, ktorý klesol na hodnoty okolo 3.5, čo je jednoznačným znakom absencie multikolinearity. Škálovanie preto zlepšuje numerickú stabilitu a umožňuje jednoduchšie porovnávanie relatívnej sily regresorov bez toho, aby znižovalo interpretovateľnosť výsledkov. Celkovo škálovaný model potvrdzuje pôvodné zistenia, pričom jasnejšie ukazuje, ktoré premenné majú na Life Ladder najsilnejší štandardizovaný vplyv.

10. Condition number po škálovaní

X <- model.matrix(model_scaled)[, -1]
XtX <- t(X) %*% X
eig <- eigen(XtX)

condition_number_scaled <- sqrt(max(eig$values) / min(eig$values))
condition_number_scaled
[1] 3.551354

Škálovaný model ukazuje, že po centrácii a štandardizácii premenných sa nemení ich štatistická významnosť ani smer vplyvu, no menia sa numerické hodnoty koeficientov, keďže všetky regresory sú teraz vyjadrené v štandardných odchýlkach. LogGDPpc_c ostáva silným a štatisticky významným prediktorom spokojnosti, pričom jeho koeficient 0.445 naznačuje, že zvýšenie ekonomickej úrovne o jednu štandardnú odchýlku zvyšuje Life Ladder o takmer polovicu bodu. HealthyLE_c má po škálovaní koeficient 0.219, čo znamená, že krajinám s výrazne vyššou dĺžkou života narastá spokojnosť o približne pätinu bodu pri zmene o jednu štandardnú odchýlku. SocialSupport_c má naďalej najsilnejší efekt (0.364), čo potvrdzuje jeho dominantné postavenie medzi vysvetľujúcimi premennými. Hodnoty VIF po škálovaní zostávajú veľmi nízke, takže škálovanie neodhalilo žiadnu novú formu multikolinearity, ale naopak potvrdilo stabilitu modelu. R² aj Adjusted R² sa nezmenili, čo dokazuje, že škálovanie nemení vysvetľovaciu silu modelu, iba jeho číselnú reprezentáciu. Veľmi výrazne sa zlepšil Condition Number, ktorý klesol na hodnoty okolo 3.5, čo je jednoznačným znakom absencie multikolinearity. Škálovanie preto zlepšuje numerickú stabilitu a umožňuje jednoduchšie porovnávanie relatívnej sily regresorov bez toho, aby znižovalo interpretovateľnosť výsledkov. Celkovo škálovaný model potvrdzuje pôvodné zistenia, pričom jasnejšie ukazuje, ktoré premenné majú na Life Ladder najsilnejší štandardizovaný vplyv.

11. Úprava premennej bez straty interpretácie

udaje$HealthyLE10 <- udaje$HealthyLE / 10
head(udaje)

model_HE10 <- lm(LifeLadder ~ LogGDPpc + HealthyLE10 + SocialSupport,
                 data = udaje)
summary(model_HE10)

Call:
lm(formula = LifeLadder ~ LogGDPpc + HealthyLE10 + SocialSupport, 
    data = udaje)

Residuals:
     Min       1Q   Median       3Q      Max 
-2.39905 -0.42894 -0.02045  0.46367  2.24196 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)   -2.71282    0.13043 -20.799   <2e-16 ***
LogGDPpc       0.39201    0.02221  17.647   <2e-16 ***
HealthyLE10    0.31931    0.03386   9.429   <2e-16 ***
SocialSupport  3.06855    0.15860  19.348   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6298 on 2085 degrees of freedom
Multiple R-squared:  0.6817,    Adjusted R-squared:  0.6812 
F-statistic:  1488 on 3 and 2085 DF,  p-value: < 2.2e-16
vif(model_HE10)
     LogGDPpc   HealthyLE10 SocialSupport 
     3.352478      2.838512      1.861575 
X <- model.matrix(model_HE10)[, -1]
XtX <- t(X) %*% X
eig <- eigen(XtX)

condition_number_HE10 <- sqrt(max(eig$values) / min(eig$values))
condition_number_HE10
[1] 130.6275

Úprava premennej HealthyLE na HealthyLE10 zachováva interpretovateľnosť modelu a zároveň znižuje numerické rozdiely medzi regresormi, keďže premenná dĺžky života bola pôvodne vyjadrená v desiatkach rokov. Koeficient pri HealthyLE10 má teraz hodnotu 0.319, čo znamená, že zvýšenie očakávanej dĺžky života o 10 rokov vedie k nárastu Life Ladder približne o 0.32 bodu, čiže interpretácia je intuitívna a zároveň bližšia reálnym rozdielom medzi krajinami. Ostatné koeficienty sa prakticky nezmenili, čo potvrdzuje, že táto úprava nemení štruktúru vzťahov v modeli, iba spríjemňuje interpretáciu. VIF hodnoty zostali totožné, čo znamená, že ani táto transformácia nezvyšuje multikolinearitu a regresné koeficienty zostávajú stabilné. Condition Number klesol na úroveň približne 130, čo je síce výrazne lepšie ako pôvodná neškálovaná verzia, no stále sa nachádza na hranici medzi nízkou a miernou multikolinearitou. Tento výsledok ukazuje, že samotná zmena jednotiek zlepšuje numerickú stabilitu modelu, ale nerieši multikolinearitu tak účinne ako kompletné škálovanie. Napriek tomu však upravený model zachováva výbornú interpretovateľnosť, rovnakú štatistickú významnosť aj identickú úroveň vysvetlenej variability (R² ≈ 0.68) ako pôvodný model. Úprava premennej je preto vhodná v situáciách, keď je prioritou porovnateľnosť jednotiek a prehľadná ekonomická interpretácia regresných koeficientov.

12. Záver

Na základe všetkých vykonaných analýz možno konštatovať, že regresný model vysvetľujúci spokojnosť so životom je štatisticky silný, stabilný a dobre špecifikovaný. Základný model aj všetky jeho modifikácie preukázali, že LogGDPpc, HealthyLE a SocialSupport majú výrazný a štatisticky významný pozitívny vplyv na Life Ladder, pričom najdominantnejšou premennou zostáva sociálna opora. Diagnostické ukazovatele multikolinearity – VIF aj Condition Number – jednoznačne potvrdili, že medzi premennými neexistuje problémová lineárna závislosť a model netrpí multikolinearitou ani pri použití pôvodných, ani škálovaných veličín. Vynechávanie jednotlivých premenných ukázalo, že najväčšiu stratu vysvetľovacej schopnosti spôsobuje odstránenie SocialSupport, zatiaľ čo vynechanie HealthyLE má najmenší dopad, čo odráža relatívnu silu ich vzťahu k Life Ladder. Škálovanie premenných výrazne zlepšilo numerickú stabilitu modelu a potvrdilo rovnaké smerovanie aj veľkosť efektov, pričom VIF aj Condition Number zostali na ideálnych hodnotách. Alternatívna úprava premennej HealthyLE10 zachovala ekonomickú interpretovateľnosť a zároveň tvorila konzistentné výsledky s pôvodným modelom. Celkovo sa všetky prístupy zhodujú v tom, že model je robustný, jeho koeficienty sú spoľahlivé a nič nenasvedčuje prítomnosti multikolinearity, ktorá by ohrozovala dôveryhodnosť odhadov.

LS0tCnRpdGxlOiAiQ3ZpxI1lbmllIDEwIOKAkyBNdWx0aWtvbGluZWFyaXRhIHYgcmVncmVzbsO9Y2ggbW9kZWxvY2ggLSByaWXFoWVuaWUiCmF1dGhvcjogIklaICYgQ2hhdEdQVCIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKYGBge3J9CgojIDApIE5hxI3DrXRhbmllIGNlbGVqIGRhdGFiw6F6eQpkYWplIDwtIHJlYWQuY3N2KCJXb3JsZCBIYXBwaW5lc3MgUmVwb3J0IDIwMDUtMjAyMS5jc3YiLAogICAgICAgICAgICAgICAgIHNlcCA9ICIsIiwgaGVhZGVyID0gVFJVRSkKCiMgMSkgVsO9YmVyIHJlbGV2YW50bsO9Y2ggc3TEunBjb3YgKGJvZGtvdmFuw6kgbsOhenZ5IHBvIG5hxI3DrXRhbsOtKQp1ZGFqZSA8LSBkYWplWywgYygiQ291bnRyeS5uYW1lIiwKICAgICAgICAgICAgICAgICAgIlllYXIiLAogICAgICAgICAgICAgICAgICAiTGlmZS5MYWRkZXIiLAogICAgICAgICAgICAgICAgICAiTG9nLkdEUC5wZXIuY2FwaXRhIiwKICAgICAgICAgICAgICAgICAgIkhlYWx0aHkubGlmZS5leHBlY3RhbmN5LmF0LmJpcnRoIiwKICAgICAgICAgICAgICAgICAgIlNvY2lhbC5zdXBwb3J0IildCgojIDIpIFByZW1lbm92YW5pZSBzdMS6cGNvdiBuYSBqZWRub2R1Y2jFoWllIG7DoXp2eQpuYW1lcyh1ZGFqZSkgPC0gYygiQ291bnRyeSIsICJZZWFyIiwgIkxpZmVMYWRkZXIiLCAiTG9nR0RQcGMiLCAiSGVhbHRoeUxFIiwgIlNvY2lhbFN1cHBvcnQiKQoKIyAzKSBJbXB1dMOhY2lhIGNow71iYWrDumNpY2ggaG9kbsO0dCBtZWRpw6Fub20gKGdsb2LDoWxuZSBuYXByaWXEjSB2xaFldGvDvW1pIHJva21pKQppbXBfY29scyA8LSBjKCJMaWZlTGFkZGVyIiwgIkxvZ0dEUHBjIiwgIkhlYWx0aHlMRSIsICJTb2NpYWxTdXBwb3J0IikKY29sdW1uX21lZGlhbnMgPC0gc2FwcGx5KHVkYWplWyAsIGltcF9jb2xzXSwgbWVkaWFuLCBuYS5ybSA9IFRSVUUpCgpmb3IgKGNvbCBpbiBpbXBfY29scykgewogIHVkYWplW1tjb2xdXVtpcy5uYSh1ZGFqZVtbY29sXV0pXSA8LSBjb2x1bW5fbWVkaWFuc1tjb2xdCn0KCmBgYAoKLS0tCgojIDQuIE9kaGFkIHrDoWtsYWRuw6lobyByZWdyZXNuw6lobyBtb2RlbHUKCmBgYHtyfQoKIyBMaW5lw6FybnkgbW9kZWwgbmEgdsWhZXRrw71jaCByb2tvY2ggKHBhbmVsb3bDqSBkw6F0YSkKbW9kZWwgPC0gbG0oTGlmZUxhZGRlciB+IExvZ0dEUHBjICsgSGVhbHRoeUxFICsgU29jaWFsU3VwcG9ydCwKICAgICAgICAgICAgZGF0YSA9IHVkYWplKQoKIyBWw71waXMgdsO9c2xlZGtvdgpzdW1tYXJ5KG1vZGVsKQoKYGBgClJlZ3Jlc27DvSBtb2RlbCB1a8OhemFsLCDFvmUgdsWhZXRreSB0cmkgcHJlbWVubsOpIOKAkyBMb2dHRFBwYywgSGVhbHRoeUxFIGEgU29jaWFsU3VwcG9ydCDigJMgcHJlZHN0YXZ1asO6IHNpbG7DqSBhIMWhdGF0aXN0aWNreSB2w716bmFtbsOpIGRldGVybWluYW50eSBzdWJqZWt0w612bmVqIHNwb2tvam5vc3RpIG9ieXZhdGXEvm92IG1lcmFuZWogdWthem92YXRlxL5vbSBMaWZlIExhZGRlci4gS29lZmljaWVudCBwcmkgTG9nR0RQcGMgamUgcG96aXTDrXZueSwgxI1vIHpuYW1lbsOhLCDFvmUgdnnFocWhw60gcHLDrWplbSBhIGVrb25vbWlja8OhIMO6cm92ZcWIIGtyYWppbnkgenZ5xaF1asO6IHN1Ympla3TDrXZuZSB2bsOtbWFuaWUga3ZhbGl0eSDFvml2b3RhOyBrZcSPIHNhIEhEUCBwZXIgY2FwaXRhIHp2w73FoWkgcHJpYmxpxb5uZSBvIDEgJSwgc3Bva29qbm9zxaUgbmFyYXN0aWUgbyBwcmlibGnFvm5lIDAuMDAzOTIgYm9kdSwgxI1vIHNhIHByaSAxMCAlIG7DoXJhc3RlIEhEUCBwcmVqYXbDrSB6aHJ1YmEgMC4wMzktYm9kb3bDvW0genbDvcWhZW7DrW0gTGlmZSBMYWRkZXIuIFByZW1lbm7DoSBIZWFsdGh5TEUgbcOhIHRha3RpZcW+IHBveml0w612bnkgZWZla3QgYSB1a2F6dWplLCDFvmUgZGxoxaHDrSDFvml2b3QgdiBsZXDFoW9tIHpkcmF2b3Rub20gc3RhdmUgenZ5xaF1amUgc3Bva29qbm9zxaU7IGthxb5kw70gamVkZW4gcm9rIG5hdnnFoWUgcHJpZMOhdmEgcHJpYmxpxb5uZSAwLjAzMiBib2R1LCDEjW8gem5hbWVuw6EsIMW+ZSByb3pkaWVsIG1lZHppIGtyYWppbmFtaSBzIGTEusW+a291IMW+aXZvdGEgb2RsacWhdWrDumNvdSBzYSBvIDEwIHJva292IG3DtMW+ZSBwcmVkc3Rhdm92YcWlIGHFviAwLjMyIGJvZHUgbmEgxaFrw6FsZSBzdWJqZWt0w612bmVobyDFocWlYXN0aWEuIE5hanNpbG5lasWhw60gdnBseXYgbcOhIHByZW1lbm7DoSBTb2NpYWxTdXBwb3J0LCBwcmkga3RvcmVqIHp2w73FoWVuaWUgc29jacOhbG5laiBvcG9yeSBvIDAuMSBib2R1IHp2ecWhdWplIHNwb2tvam5vc8WlIG8gdmlhYyBuZcW+IDAuMyBib2R1LCDEjW8gcG90dnJkenVqZSBkw7RsZcW+aXRvc8WlIG1lZHppxL51ZHNrw71jaCB2esWlYWhvdiBhIGRvc3R1cG5vc3RpIG9wb3J5IHYgc29jacOhbG5vbSBwcm9zdHJlZMOtLiBWxaFldGt5IGtvZWZpY2llbnR5IHPDuiB2eXNva28gxaF0YXRpc3RpY2t5IHbDvXpuYW1uw6kgKHAgPCAyZeKAkzE2KSwgxI1vIHpuYW1lbsOhLCDFvmUgaWNoIHZwbHl2eSBzw7ogc3BvxL5haGxpdsOpIGEgc3RhYmlsbsOpLCBwcmnEjW9tIHZ5c29rw6kgdC1ob2Rub3R5IG5hem5hxI11asO6IG7DrXprdSBuZWlzdG90dSBvZGhhZG92LiBNb2RlbCB2eWthenVqZSB2ZcS+bWkgZG9icsO6IHZ5c3ZldGxlbm9zxaUsIGtlxI/FvmUgTXVsdGlwbGUgUi1zcXVhcmVkIGRvc2FodWplIGhvZG5vdHUgcHJpYmxpxb5uZSAwLjY4LCB0YWvFvmUgdnlzdmV0xL51amUgdmlhYyBha28gZHZlIHRyZXRpbnkgdmFyaWFiaWxpdHkgc3ViamVrdMOtdm5laiBzcG9rb2pub3N0aSBuYXByaWXEjSBrcmFqaW5hbWkgYSByb2ttaSwgxI1vIGplIHYgcsOhbWNpIHNvY2nDoWxueWNoIGEgZWtvbm9taWNrw71jaCBhbmFsw716IHZlxL5taSBzaWxuw70gdsO9c2xlZG9rLiBBZGp1c3RlZCBSLXNxdWFyZWQgc2Egb2QgTXVsdGlwbGUgUsKyIHRha21lciBuZWzDrcWhaSwgxI1vIHpuYW1lbsOhLCDFvmUgbW9kZWwgbmllIGplIHByZXBsbmVuw70gYSBrYcW+ZMOhIHogcHJlbWVubsO9Y2ggcmXDoWxuZSBwcmlzcGlldmEgayBqZWhvIHZ5c3ZldMS+dWrDumNlaiBzY2hvcG5vc3RpLiBDZWxrb3bDvSBGLXRlc3QgbW9kZWx1IGplIGV4dHLDqW1uZSB2w716bmFtbsO9LCDEjW8gcG90dnJkenVqZSwgxb5lIGtvbWJpbsOhY2lhIHp2b2xlbsO9Y2ggcHJlbWVubsO9Y2ggbcOhIGFrbyBjZWxvayB2w71yYXpuw70gdnlzdmV0xL51asO6Y2kgZWZla3QuIFbDvXNsZWRreSB0ZWRhIHVrYXp1asO6LCDFvmUgZWtvbm9taWNrw6kgcG9kbWllbmt5LCB6ZHJhdm90bsO9IHN0YXYgcG9wdWzDoWNpZSBhIHNvY2nDoWxuZSB2w6R6YnkgdHZvcmlhIHJvYnVzdG7DvSB6w6FrbGFkIHByZSBwb3JvenVtZW5pZSBtZWR6aW7DoXJvZG7DvW0gcm96ZGllbG9tIHYgc3ViamVrdMOtdm5vbSBob2Rub3RlbsOtIGt2YWxpdHkgxb5pdm90YS4KCi0tLQoKIyA1LiBLb3JlbGHEjW7DoSBtYXRpY2EKCktvcmVsw6FjaWEgZG9rw6HFvmUgemFjaHl0acWlIHDDoXJvdsOpIHZ6xaVhaHkgbWVkemkgcHJlbWVubsO9bWkuIEFrIG1lZHppIG5pZWt0b3LDvW1pIHZ5c3ZldMS+dWrDumNpbWkgcHJlbWVubsO9bWkgamUgdnlzb2vDoSBrb3JlbMOhY2lhIChzaWduYWxpenVqw7pjYSBtdWx0aWtvbGluZWFyaXR1KSwgcG90b20gamUgbmFqamVkbm9kdWNoxaFpZSBqdSB6byB6b3puYW11IHJlZ3Jlc29yb3Ygdnlsw7rEjWnFpS4gS29yZWzDoWNpZSBzYSBkYWrDuiBhaiB0ZXN0b3ZhxaUsIGFsZWJvIGxlbiB2ecSNw61zbGnFpSBhIHBvdG9tIHBvZMS+YSBpbnR1aXTDrXZuZWhvIHByYXZpZGxhIHZ5bMO6xI1pxaUgamVkbnUgcHJlbWVubsO6LCBrdG9yw6EgbcOhIGtvcmVsw6FjaXUgcyBpbm91IHByZW1lbm5vdSB2IGFic29sw7p0bmVqIGhvZG5vdGUgdnnFocWhaXUgYWtvIDAuOCwgcmVzcC4gMC45LgoKYGBge3J9CgojIFZ5YmVyIHZ5c3ZldMS+dWrDumNlIHByZW1lbm7DqSB6IGRhdGFzZXR1Cnh2YXJzIDwtIHVkYWplWywgYygiTG9nR0RQcGMiLCAiSGVhbHRoeUxFIiwgIlNvY2lhbFN1cHBvcnQiKV0KCiMgS29yZWxhxI1uw6EgbWF0aWNhIHphb2tyw7pobGVuw6EgbmEgMyBkZXNhdGlubsOpIG1pZXN0YQpyb3VuZChjb3IoeHZhcnMpLCAzKQoKcGFpcnMoeHZhcnMsCiAgICAgIG1haW4gPSAiU2NhdHRlcnBsb3RvdsOhIG1hdGljYSDigJMgdnBseXZvdsOpIHByZW1lbm7DqSAoV0hSIDIwMTUpIikKCmBgYApOYWp2w71yYXpuZWrFocOtIHBveml0w612bnkgdHJlbmQgamUgdmlkaXRlxL5uw70gbWVkemkgTG9nR0RQcGMgYSBIZWFsdGh5TEUg4oCTIGJvaGF0xaFpZSBrcmFqaW55IG1hasO6IHNwcmF2aWRsYSB2ecWhxaFpdSBkxLrFvmt1IMW+aXZvdGEgYSBib2R5IGxlxb5pYSB2IMO6emtvbSwgdGFrbWVyIGxpbmXDoXJub20gcMOhc2UuIFBvZG9ibmUgYWogdnrFpWFoIG1lZHppIFNvY2lhbFN1cHBvcnQgYSBIZWFsdGh5TEUgbmF6bmHEjXVqZSwgxb5lIGtyYWppbnkgcyBsZXDFocOtbSB6ZHJhdm90bsO9bSBzdGF2b20gcG9wdWzDoWNpZSBtYWrDuiB6w6Fyb3ZlxYggc2lsbmVqxaFpdSBzb2Npw6FsbnUgb3BvcnUuIFZ6xaVhaCBtZWR6aSBMb2dHRFBwYyBhIFNvY2lhbFN1cHBvcnQgamUgcG96aXTDrXZueSwgbm8gcm96cHTDvWxlbmVqxaHDrSwgxI1vIHpuYW1lbsOhLCDFvmUgZWtvbm9taWNrw6Egw7pyb3ZlxYggbmllIGplIGplZGluw71tIGZha3Rvcm9tIG92cGx5dsWIdWrDumNpbSBzb2Npw6FsbmUgdsOkemJ5LiBWbyB2xaFldGvDvWNoIGdyYWZpY2vDvWNoIGtvbWJpbsOhY2nDoWNoIGplIHBhdHJuw6ksIMW+ZSBwcmVtZW5uw6kgbWFqw7ogcHJldmHFvm5lIHByaWFtdSAocG96aXTDrXZudSkgdsOkemJ1LCDEjW8gamUgdiBzw7psYWRlIHMgdsO9c2xlZGthbWkgcmVncmVzaWUgYWoga29yZWxhxI1uZWogbWF0aWNlLiBaw6Fyb3ZlxYggdmlkw61tZSBhaiB1csSNaXTDqSB6aGx1a3kgYm9kb3YgcHJlZHN0YXZ1asO6Y2Uga3JhamlueSBzIHBvZG9ibsO9bSBzb2Npb2Vrb25vbWlja8O9bSBwcm9maWxvbSwgxI1vIGplIHR5cGlja8OpIHByaSBwYW5lbG92w71jaCBkw6F0YWNoLiBNYXRpY2EgdGVkYSBuYXpuYcSNdWplIHBvdGVuY2nDoWxudSwgYWxlIG5pZSBwcm9ibMOpbW92w7ogbWllcnUga29saW5lYXLDrXQg4oCTIG5ham3DpCBtZWR6aSBMb2dHRFBwYyBhIEhlYWx0aHlMRSDigJMsIGF2xaFhayBqZWogc2lsYSBzYSB1a8Ohxb5lIGHFviB2IMSNw61zZWxuw71jaCB1a2F6b3ZhdGXEvm9jaCwgYWtvIFZJRiBhbGVibyBDb25kaXRpb24gTnVtYmVyLgoKCi0tLQoKIyA2LiBWSUYKCmBgYHtyfQpsaWJyYXJ5KGNhcikKdmlmKG1vZGVsKQpgYGAKCkhvZG5vdHkgVklGIHByZSB2xaFldGt5IHRyaSBwcmVtZW5uw6kgc8O6IG7DrXprZSwgxI1vIHpuYW1lbsOhLCDFvmUgbXVsdGlrb2xpbmVhcml0YSB2IG1vZGVsaSBuZXByZWRzdGF2dWplIHByb2Jsw6ltLiBOYWp2ecWhxaHDrSBWSUYgbcOhIHByZW1lbm7DoSBMb2dHRFBwYyAoMy4zNSksIMSNbyBuYXpuYcSNdWplIG1pZXJudSwgYWxlIMO6cGxuZSBha2NlcHRvdmF0ZcS+bsO6IHZ6w6Fqb21uw7oga29yZWzDoWNpdSBzIG9zdGF0bsO9bWkgcHJlbWVubsO9bWkuIEhlYWx0aHlMRSBtw6EgVklGIDIuODQsIMSNbyBwb3R2cmR6dWplLCDFvmUgamVqIGxpbmXDoXJueSB2esWlYWggcyBvc3RhdG7DvW1pIHByZW1lbm7DvW1pIGplIHNsYWLDvSBhIHN0YWJpbG7DvS4gU29jaWFsU3VwcG9ydCB2eWthenVqZSBuYWpuacW+xaHDrSBWSUYgKDEuODYpLCB0YWvFvmUgdMOhdG8gcHJlbWVubsOhIGplIG9kIG9zdGF0bsO9Y2ggdnlzdmV0xL51asO6Y2ljaCB2ZWxpxI3DrW4gbmFqbWVuZWogesOhdmlzbMOhLiBWxaFldGt5IGhvZG5vdHkgc8O6IHbDvXJhem5lIHBvZCBrcml0aWNrb3UgaHJhbmljb3UgMTAsIGt0b3LDoSBzYSBwb3Zhxb51amUgemEgaW5kaWvDoXRvciB2w6HFvm5laiBtdWx0aWtvbGluZWFyaXR5LiBOw616a2UgVklGIHBvdHZyZHp1asO6LCDFvmUgcmVncmVzbsOpIGtvZWZpY2llbnR5IGJ1ZMO6IHN0YWJpbG7DqSwgc3BvxL5haGxpdsOpIGEgaW50ZXJwcmV0b3ZhdGXEvm7DqSBiZXogc2tyZXNsZW5pYSBzcMO0c29iZW7DqWhvIHrDoXZpc2xvc8Wlb3UgbWVkemkgcmVncmVzb3JtaS4gU8O6xI1hc25lIHRpZXRvIHbDvXNsZWRreSBrb3JlxaFwb25kdWrDuiBzIHZpenXDoWxub3Ugc2NhdHRlcnBsb3Rvdm91IG1hdGljb3UsIGt0b3LDoSBzw61jZSBuYXpuYcSNb3ZhbGEgcG96aXTDrXZuZSB2esWlYWh5IG1lZHppIHByZW1lbm7DvW1pLCBubyBpY2ggaW50ZW56aXRhIGplIHpqYXZuZSBuw616a2EgYcW+IHN0cmVkbsOhLiBNb2RlbCBqZSB0ZWRhIHogaMS+YWRpc2thIG11bHRpa29saW5lYXJpdHkgZG9icmUgxaFwZWNpZmlrb3ZhbsO9IGEgxb5pYWRuYSB6IHByZW1lbm7DvWNoIG5pZSBqZSBrYW5kaWTDoXRvbSBuYSBvZHN0csOhbmVuaWUuCgpNeSB2xaFhayBuYSBiw6F6ZSB1xI1lbmllIGJ1ZGVtZSBwcmFjb3ZhxaUgcyBkw6F0YW1pIGFrbyBrZWJ5IHNhIHYgbmljaCBtdWx0aWtvbGluZWFyaXRhIHZ5c2t5dG92YWxhCgotLS0KCiMgNy4gQ29uZGl0aW9uIE51bWJlcgoKCmBgYHtyfQoKIyBOw6F2cmhvdsOhIG1hdGljYSBYIGJleiBpbnRlcmNlcHR1ClggPC0gbW9kZWwubWF0cml4KG1vZGVsKVssIC0xLCBkcm9wID0gRkFMU0VdCgojIyAoQSkgS2FwcGEgYmV6IMWha8OhbG92YW5pYQprYXBwYV91bnNjYWxlZCA8LSBrYXBwYShYKQoKIyMgKEIpIEthcHBhIHBvIMWhdGFuZGFyZGl6w6FjaWkgKHNjYWxlID0gVFJVRSkKWHogPC0gc2NhbGUoWCwgY2VudGVyID0gVFJVRSwgc2NhbGUgPSBUUlVFKQprYXBwYV9zY2FsZWQgPC0ga2FwcGEoWHopCgojIyAoQykgQ29uZGl0aW9uIG51bWJlciBjZXogdmxhc3Ruw6kgxI3DrXNsYQpYdFggPC0gdChYeikgJSolIFh6CmVpZ192YWxzIDwtIGVpZ2VuKFh0WCwgc3ltbWV0cmljID0gVFJVRSwgb25seS52YWx1ZXMgPSBUUlVFKSR2YWx1ZXMKY29uZGl0aW9uX251bWJlciA8LSBzcXJ0KG1heChlaWdfdmFscykgLyBtaW4oZWlnX3ZhbHMpKQoKa2FwcGFfdW5zY2FsZWQKa2FwcGFfc2NhbGVkCmNvbmRpdGlvbl9udW1iZXIKCmBgYAoKSG9kbm90eSBDb25kaXRpb24gTnVtYmVyIHVrYXp1asO6IHZlxL5taSBwcmlhem5pdsO6IHNpdHXDoWNpdSB6IGjEvmFkaXNrYSBtdWx0aWtvbGluZWFyaXR5LiBOZcWha8OhbG92YW7DoSB2ZXJ6aWEgKDczMC44NSkgamUgZXh0csOpbW5lIHZ5c29rw6EsIG5vIHTDoXRvIGhvZG5vdGEgc2EgbmVpbnRlcnByZXR1amUsIHByZXRvxb5lIGplIG92cGx5dm5lbsOhIHJvemRpZWxueW1pIGplZG5vdGthbWkgcHJlbWVubsO9Y2guIFJvemhvZHVqw7pjZSBzw7ogxaFrw6Fsb3ZhbsOpIHVrYXpvdmF0ZWxlOiBrYXBwYV9zY2FsZWQgPSAzLjQ3IGEgYWx0ZXJuYXTDrXZuZSB2eXBvxI3DrXRhbsO9IGNvbmRpdGlvbl9udW1iZXIgPSAzLjU1LiBPYmUgaG9kbm90eSBzw7ogaGxib2tvIHBvZCBocmFuaWNvdSAxMCwga3RvcsOhIHNhIMWhdGFuZGFyZG5lIHBvdmHFvnVqZSB6YSBsaW1pdCwgcHJpIGt0b3JvbSBtdWx0aWtvbGluZWFyaXRhIHphxI3DrW5hIGJ5xaUgcHJvYmzDqW1vbS4gVsO9c2xlZGt5IHByZXRvIGphc25lIG5hem5hxI11asO6LCDFvmUgbWVkemkgcHJlbWVubsO9bWkgdiBtb2RlbGkgbmVleGlzdHVqZSDFvmlhZG5hIHJlbGV2YW50bsOhIGxpbmXDoXJuYSB6w6F2aXNsb3PFpSwga3RvcsOhIGJ5IG5hcsO6xaFhbGEgc3RhYmlsaXR1IG9kaGFkb3YuIFRha8OpdG8gbsOtemtlIGtvbmRpxI1uw6kgxI3DrXNsYSBwb3R2cmR6dWrDuiwgxb5lIG1vZGVsIGplIGRvYnJlIGlkZW50aWZpa292YW7DvSBhIHJlZ3Jlc27DqSBrb2VmaWNpZW50eSBzw7ogc3BvxL5haGxpdsOpIGEgbmVjaXRsaXbDqSBuYSBtYWzDqSB6bWVueSB2IMO6ZGFqb2NoLiBaw6Fyb3ZlxYggdG8gZG9wxLrFiGEgemlzdGVuaWEgeiBWSUYsIGt0b3LDqSBib2xpIHRha3RpZcW+IG7DrXprZSwgdGFrxb5lIG9iYSBkaWFnbm9zdGlja8OpIHByw61zdHVweSBzYSBuYXZ6w6Fqb20gcG90dnJkenVqw7ouIE1vZGVsIGplIHRlZGEgeiBwb2jEvmFkdSBtdWx0aWtvbGluZWFyaXR5IMO6cGxuZSBiZXpwcm9ibMOpbW92w70uCgojIDguIFZ5bmVjaGFuaWUgcHJlbWVubsO9Y2gKCmBgYHtyfQojIE1vZGVsIGJleiBMb2dHRFBwYyAobmFqdnnFocWhw60gVklGKQptb2RlbF9ub0dEUCA8LSBsbShMaWZlTGFkZGVyIH4gSGVhbHRoeUxFICsgU29jaWFsU3VwcG9ydCwKICAgICAgICAgICAgICAgICAgZGF0YSA9IHVkYWplKQpzdW1tYXJ5KG1vZGVsX25vR0RQKQoKIyBNb2RlbCBiZXogSGVhbHRoeUxFCm1vZGVsX25vSEUgPC0gbG0oTGlmZUxhZGRlciB+IExvZ0dEUHBjICsgU29jaWFsU3VwcG9ydCwKICAgICAgICAgICAgICAgICBkYXRhID0gdWRhamUpCnN1bW1hcnkobW9kZWxfbm9IRSkKCiMgTW9kZWwgYmV6IFNvY2lhbFN1cHBvcnQKbW9kZWxfbm9TUyA8LSBsbShMaWZlTGFkZGVyIH4gTG9nR0RQcGMgKyBIZWFsdGh5TEUsCiAgICAgICAgICAgICAgICAgZGF0YSA9IHVkYWplKQpzdW1tYXJ5KG1vZGVsX25vU1MpCmBgYAoKUHJpIHZ5bmVjaMOhdmFuw60gcHJlbWVubsO9Y2ggc2EgdWthenVqZSwgxb5lIHbFoWV0a3kgdHJpIGR2b2pwcmVtZW5uw6kgbW9kZWx5IG9zdMOhdmFqw7ogxaF0YXRpc3RpY2t5IHbDvXpuYW1uw6ksIG5vIGljaCB2eXN2ZXTEvm92YWNpYSBzaWxhIHNhIG9kbGnFoXVqZS4gTW9kZWwgYmV6IExvZ0dEUHBjICh0LiBqLiBIZWFsdGh5TEUgKyBTb2NpYWxTdXBwb3J0KSBtw6EgbmFqbmnFvsWhaXUgdnlzdmV0bGVub3PFpSwgUsKyID0gMC42MzQsIMSNbyB6bmFtZW7DoSwgxb5lIG9kc3Ryw6FuZW5pZSBla29ub21pY2tlaiBwcmVtZW5uZWogem5pxb51amUga3ZhbGl0dSBtb2RlbHUgbmFqdmlhYy4gTW9kZWwgYmV6IEhlYWx0aHlMRSAoTG9nR0RQcGMgKyBTb2NpYWxTdXBwb3J0KSBzaSB6YWNob3bDoXZhIHZlxL5taSB2eXNva8OpIFLCsiA9IDAuNjY4LCB0ZWRhIHRha21lciBpZGVudGlja8OpIGFrbyBww7R2b2Ruw70gdHJvanByZW1lbm7DvSBtb2RlbCwgxI1vIG5hem5hxI11amUsIMW+ZSBrb21iaW7DoWNpYSBla29ub21pY2vDqWhvIHbDvWtvbnUgYSBzb2Npw6FsbmVqIG9wb3J5IHphY2h5dMOhdmEgdsOkxI3FoWludSB2YXJpYWJpbGl0eSBMaWZlIExhZGRlci4gTW9kZWwgYmV6IFNvY2lhbFN1cHBvcnQgKExvZ0dEUHBjICsgSGVhbHRoeUxFKSBtw6EgUsKyID0gMC42MjUsIMSNbyBqZSBuYWpuacW+xaFpYSBob2Rub3RhIHpvIHbFoWV0a8O9Y2ggcG9yb3Zuw6F2YW7DvWNoIG1vZGVsb3YsIMSNbyBwb3R2cmR6dWplLCDFvmUgU29jaWFsU3VwcG9ydCBqZSBrxL7DusSNb3bDvW0gcmVncmVzb3JvbS4gWiBwb2jEvmFkdSBzaWxuw71jaCBlZmVrdG92IG9zdMOhdmEgU29jaWFsU3VwcG9ydCBuYWpkb21pbmFudG5lasWhb3UgcHJlbWVubm91IGFqIHYgZHZvanByZW1lbm7DvWNoIG1vZGVsb2NoLCBzIHZ5c29rw71taSB0LWhvZG5vdGFtaSBhIHN0YWJpbG7DvW0ga29lZmljaWVudG9tLiBMb2dHRFBwYyBzaSB0YWt0aWXFviB6YWNob3bDoXZhIHZlxL5taSBzaWxuw70gdnBseXYgYSB2eXNva8O6IMWhdGF0aXN0aWNrw7ogdsO9em5hbW5vc8WlLCB6YXRpYcS+IMSNbyBIZWFsdGh5TEUgbcOhIG5hanNsYWLFocOtIHJlbGF0w612bnkgcHLDrXNwZXZvay4gQ2Vsa292byBtb8W+bm8ga29uxaF0YXRvdmHFpSwgxb5lIG5hanbDpMSNxaHDrSBwb2tsZXMgdnlzdmV0bGVub3N0aSBuYXN0w6F2YSBwbyBvZHN0csOhbmVuw60gU29jaWFsU3VwcG9ydCwgxI1vIHBvdHZyZHp1amUgamVqIGNlbnRyw6FsbmUgcG9zdGF2ZW5pZSB2IG1vZGVsaSBzdWJqZWt0w612bmVobyDFocWlYXN0aWEuIE1vZGVsIGJleiBIZWFsdGh5TEUgcHJpbsOhxaFhIG5ham1lbsWhaXUgc3RyYXR1IFLCsiwgxI1vIG5hem5hxI11amUsIMW+ZSBla29ub21pY2vDoSDDunJvdmXFiCBhIHNvY2nDoWxuYSBvcG9yYSBzcG9sdSBuZXPDuiBuYWp2w6TEjcWhaXUgxI1hc8WlIGluZm9ybcOhY2llIG8gTGlmZSBMYWRkZXIuIFbDvXNsZWRreSB0ZWRhIHVrYXp1asO6LCDFvmUgYWsgYnkgc2EgbWFsYSBuZWpha8OhIHByZW1lbm7DoSB2eW5lY2hhxaUsIG5ham1lbsWhaXUgxaFrb2R1IHNww7Rzb2LDrSBvZHN0csOhbmVuaWUgSGVhbHRoeUxFLCB6YXRpYcS+IMSNbyB2eW5lY2hhbmllIFNvY2lhbFN1cHBvcnQgYWxlYm8gTG9nR0RQcGMgdsO9cmF6bmVqxaFpZSB6bmnFvnVqZSBrdmFsaXR1IG1vZGVsdS4KCiMgOS4gxaBrw6Fsb3ZhbmllCgpgYGB7cn0KIyBWeXR2b3JlbmllIMWha8OhbG92YW7DvWNoIHByZW1lbm7DvWNoCnVkYWplJExvZ0dEUHBjX2MgICAgIDwtIHNjYWxlKHVkYWplJExvZ0dEUHBjLCBjZW50ZXIgPSBUUlVFLCBzY2FsZSA9IFRSVUUpCnVkYWplJEhlYWx0aHlMRV9jICAgIDwtIHNjYWxlKHVkYWplJEhlYWx0aHlMRSwgY2VudGVyID0gVFJVRSwgc2NhbGUgPSBUUlVFKQp1ZGFqZSRTb2NpYWxTdXBwb3J0X2MgPC0gc2NhbGUodWRhamUkU29jaWFsU3VwcG9ydCwgY2VudGVyID0gVFJVRSwgc2NhbGUgPSBUUlVFKQoKIyBNb2RlbCBzbyDFoWvDoWxvdmFuw71taSBwcmVtZW5uw71taQptb2RlbF9zY2FsZWQgPC0gbG0oTGlmZUxhZGRlciB+IExvZ0dEUHBjX2MgKyBIZWFsdGh5TEVfYyArIFNvY2lhbFN1cHBvcnRfYywKICAgICAgICAgICAgICAgICAgIGRhdGEgPSB1ZGFqZSkKc3VtbWFyeShtb2RlbF9zY2FsZWQpCgojIFZJRiBwbyDFoWvDoWxvdmFuw60KdmlmKG1vZGVsX3NjYWxlZCkKCmBgYArFoGvDoWxvdmFuw70gbW9kZWwgdWthenVqZSwgxb5lIHBvIGNlbnRyw6FjaWkgYSDFoXRhbmRhcmRpesOhY2lpIHByZW1lbm7DvWNoIHNhIG5lbWVuw60gaWNoIMWhdGF0aXN0aWNrw6EgdsO9em5hbW5vc8WlIGFuaSBzbWVyIHZwbHl2dSwgbm8gbWVuaWEgc2EgbnVtZXJpY2vDqSBob2Rub3R5IGtvZWZpY2llbnRvdiwga2XEj8W+ZSB2xaFldGt5IHJlZ3Jlc29yeSBzw7ogdGVyYXogdnlqYWRyZW7DqSB2IMWhdGFuZGFyZG7DvWNoIG9kY2jDvWxrYWNoLiBMb2dHRFBwY19jIG9zdMOhdmEgc2lsbsO9bSBhIMWhdGF0aXN0aWNreSB2w716bmFtbsO9bSBwcmVkaWt0b3JvbSBzcG9rb2pub3N0aSwgcHJpxI1vbSBqZWhvIGtvZWZpY2llbnQgMC40NDUgbmF6bmHEjXVqZSwgxb5lIHp2w73FoWVuaWUgZWtvbm9taWNrZWogw7pyb3ZuZSBvIGplZG51IMWhdGFuZGFyZG7DuiBvZGNow71sa3UgenZ5xaF1amUgTGlmZSBMYWRkZXIgbyB0YWttZXIgcG9sb3ZpY3UgYm9kdS4gSGVhbHRoeUxFX2MgbcOhIHBvIMWha8OhbG92YW7DrSBrb2VmaWNpZW50IDAuMjE5LCDEjW8gem5hbWVuw6EsIMW+ZSBrcmFqaW7DoW0gcyB2w71yYXpuZSB2ecWhxaFvdSBkxLrFvmtvdSDFvml2b3RhIG5hcmFzdMOhIHNwb2tvam5vc8WlIG8gcHJpYmxpxb5uZSBww6R0aW51IGJvZHUgcHJpIHptZW5lIG8gamVkbnUgxaF0YW5kYXJkbsO6IG9kY2jDvWxrdS4gU29jaWFsU3VwcG9ydF9jIG3DoSBuYcSPYWxlaiBuYWpzaWxuZWrFocOtIGVmZWt0ICgwLjM2NCksIMSNbyBwb3R2cmR6dWplIGplaG8gZG9taW5hbnRuw6kgcG9zdGF2ZW5pZSBtZWR6aSB2eXN2ZXTEvnVqw7pjaW1pIHByZW1lbm7DvW1pLiBIb2Rub3R5IFZJRiBwbyDFoWvDoWxvdmFuw60gem9zdMOhdmFqw7ogdmXEvm1pIG7DrXprZSwgdGFrxb5lIMWha8OhbG92YW5pZSBuZW9kaGFsaWxvIMW+aWFkbnUgbm92w7ogZm9ybXUgbXVsdGlrb2xpbmVhcml0eSwgYWxlIG5hb3BhayBwb3R2cmRpbG8gc3RhYmlsaXR1IG1vZGVsdS4gUsKyIGFqIEFkanVzdGVkIFLCsiBzYSBuZXptZW5pbGksIMSNbyBkb2thenVqZSwgxb5lIMWha8OhbG92YW5pZSBuZW1lbsOtIHZ5c3ZldMS+b3ZhY2l1IHNpbHUgbW9kZWx1LCBpYmEgamVobyDEjcOtc2VsbsO6IHJlcHJlemVudMOhY2l1LiBWZcS+bWkgdsO9cmF6bmUgc2EgemxlcMWhaWwgQ29uZGl0aW9uIE51bWJlciwga3RvcsO9IGtsZXNvbCBuYSBob2Rub3R5IG9rb2xvIDMuNSwgxI1vIGplIGplZG5vem5hxI1uw71tIHpuYWtvbSBhYnNlbmNpZSBtdWx0aWtvbGluZWFyaXR5LiDFoGvDoWxvdmFuaWUgcHJldG8gemxlcMWhdWplIG51bWVyaWNrw7ogc3RhYmlsaXR1IGEgdW1vxb7FiHVqZSBqZWRub2R1Y2jFoWllIHBvcm92bsOhdmFuaWUgcmVsYXTDrXZuZWogc2lseSByZWdyZXNvcm92IGJleiB0b2hvLCBhYnkgem5pxb5vdmFsbyBpbnRlcnByZXRvdmF0ZcS+bm9zxaUgdsO9c2xlZGtvdi4gQ2Vsa292byDFoWvDoWxvdmFuw70gbW9kZWwgcG90dnJkenVqZSBww7R2b2Ruw6kgemlzdGVuaWEsIHByacSNb20gamFzbmVqxaFpZSB1a2F6dWplLCBrdG9yw6kgcHJlbWVubsOpIG1hasO6IG5hIExpZmUgTGFkZGVyIG5hanNpbG5lasWhw60gxaF0YW5kYXJkaXpvdmFuw70gdnBseXYuCgojIDEwLiBDb25kaXRpb24gbnVtYmVyIHBvIMWha8OhbG92YW7DrQpgYGB7cn0KWCA8LSBtb2RlbC5tYXRyaXgobW9kZWxfc2NhbGVkKVssIC0xXQpYdFggPC0gdChYKSAlKiUgWAplaWcgPC0gZWlnZW4oWHRYKQoKY29uZGl0aW9uX251bWJlcl9zY2FsZWQgPC0gc3FydChtYXgoZWlnJHZhbHVlcykgLyBtaW4oZWlnJHZhbHVlcykpCmNvbmRpdGlvbl9udW1iZXJfc2NhbGVkCgpgYGAKCsWga8OhbG92YW7DvSBtb2RlbCB1a2F6dWplLCDFvmUgcG8gY2VudHLDoWNpaSBhIMWhdGFuZGFyZGl6w6FjaWkgcHJlbWVubsO9Y2ggc2EgbmVtZW7DrSBpY2ggxaF0YXRpc3RpY2vDoSB2w716bmFtbm9zxaUgYW5pIHNtZXIgdnBseXZ1LCBubyBtZW5pYSBzYSBudW1lcmlja8OpIGhvZG5vdHkga29lZmljaWVudG92LCBrZcSPxb5lIHbFoWV0a3kgcmVncmVzb3J5IHPDuiB0ZXJheiB2eWphZHJlbsOpIHYgxaF0YW5kYXJkbsO9Y2ggb2RjaMO9bGthY2guIExvZ0dEUHBjX2Mgb3N0w6F2YSBzaWxuw71tIGEgxaF0YXRpc3RpY2t5IHbDvXpuYW1uw71tIHByZWRpa3Rvcm9tIHNwb2tvam5vc3RpLCBwcmnEjW9tIGplaG8ga29lZmljaWVudCAwLjQ0NSBuYXpuYcSNdWplLCDFvmUgenbDvcWhZW5pZSBla29ub21pY2tlaiDDunJvdm5lIG8gamVkbnUgxaF0YW5kYXJkbsO6IG9kY2jDvWxrdSB6dnnFoXVqZSBMaWZlIExhZGRlciBvIHRha21lciBwb2xvdmljdSBib2R1LiBIZWFsdGh5TEVfYyBtw6EgcG8gxaFrw6Fsb3ZhbsOtIGtvZWZpY2llbnQgMC4yMTksIMSNbyB6bmFtZW7DoSwgxb5lIGtyYWppbsOhbSBzIHbDvXJhem5lIHZ5xaHFoW91IGTEusW+a291IMW+aXZvdGEgbmFyYXN0w6Egc3Bva29qbm9zxaUgbyBwcmlibGnFvm5lIHDDpHRpbnUgYm9kdSBwcmkgem1lbmUgbyBqZWRudSDFoXRhbmRhcmRuw7ogb2RjaMO9bGt1LiBTb2NpYWxTdXBwb3J0X2MgbcOhIG5hxI9hbGVqIG5hanNpbG5lasWhw60gZWZla3QgKDAuMzY0KSwgxI1vIHBvdHZyZHp1amUgamVobyBkb21pbmFudG7DqSBwb3N0YXZlbmllIG1lZHppIHZ5c3ZldMS+dWrDumNpbWkgcHJlbWVubsO9bWkuIEhvZG5vdHkgVklGIHBvIMWha8OhbG92YW7DrSB6b3N0w6F2YWrDuiB2ZcS+bWkgbsOtemtlLCB0YWvFvmUgxaFrw6Fsb3ZhbmllIG5lb2RoYWxpbG8gxb5pYWRudSBub3bDuiBmb3JtdSBtdWx0aWtvbGluZWFyaXR5LCBhbGUgbmFvcGFrIHBvdHZyZGlsbyBzdGFiaWxpdHUgbW9kZWx1LiBSwrIgYWogQWRqdXN0ZWQgUsKyIHNhIG5lem1lbmlsaSwgxI1vIGRva2F6dWplLCDFvmUgxaFrw6Fsb3ZhbmllIG5lbWVuw60gdnlzdmV0xL5vdmFjaXUgc2lsdSBtb2RlbHUsIGliYSBqZWhvIMSNw61zZWxuw7ogcmVwcmV6ZW50w6FjaXUuIFZlxL5taSB2w71yYXpuZSBzYSB6bGVwxaFpbCBDb25kaXRpb24gTnVtYmVyLCBrdG9yw70ga2xlc29sIG5hIGhvZG5vdHkgb2tvbG8gMy41LCDEjW8gamUgamVkbm96bmHEjW7DvW0gem5ha29tIGFic2VuY2llIG11bHRpa29saW5lYXJpdHkuIMWga8OhbG92YW5pZSBwcmV0byB6bGVwxaF1amUgbnVtZXJpY2vDuiBzdGFiaWxpdHUgYSB1bW/FvsWIdWplIGplZG5vZHVjaMWhaWUgcG9yb3Zuw6F2YW5pZSByZWxhdMOtdm5laiBzaWx5IHJlZ3Jlc29yb3YgYmV6IHRvaG8sIGFieSB6bmnFvm92YWxvIGludGVycHJldG92YXRlxL5ub3PFpSB2w71zbGVka292LiBDZWxrb3ZvIMWha8OhbG92YW7DvSBtb2RlbCBwb3R2cmR6dWplIHDDtHZvZG7DqSB6aXN0ZW5pYSwgcHJpxI1vbSBqYXNuZWrFoWllIHVrYXp1amUsIGt0b3LDqSBwcmVtZW5uw6kgbWFqw7ogbmEgTGlmZSBMYWRkZXIgbmFqc2lsbmVqxaHDrSDFoXRhbmRhcmRpem92YW7DvSB2cGx5di4KCiMgMTEuIMOacHJhdmEgcHJlbWVubmVqIGJleiBzdHJhdHkgaW50ZXJwcmV0w6FjaWUKCmBgYHtyfQp1ZGFqZSRIZWFsdGh5TEUxMCA8LSB1ZGFqZSRIZWFsdGh5TEUgLyAxMApoZWFkKHVkYWplKQoKbW9kZWxfSEUxMCA8LSBsbShMaWZlTGFkZGVyIH4gTG9nR0RQcGMgKyBIZWFsdGh5TEUxMCArIFNvY2lhbFN1cHBvcnQsCiAgICAgICAgICAgICAgICAgZGF0YSA9IHVkYWplKQpzdW1tYXJ5KG1vZGVsX0hFMTApCnZpZihtb2RlbF9IRTEwKQoKWCA8LSBtb2RlbC5tYXRyaXgobW9kZWxfSEUxMClbLCAtMV0KWHRYIDwtIHQoWCkgJSolIFgKZWlnIDwtIGVpZ2VuKFh0WCkKCmNvbmRpdGlvbl9udW1iZXJfSEUxMCA8LSBzcXJ0KG1heChlaWckdmFsdWVzKSAvIG1pbihlaWckdmFsdWVzKSkKY29uZGl0aW9uX251bWJlcl9IRTEwCgpgYGAKCsOacHJhdmEgcHJlbWVubmVqIEhlYWx0aHlMRSBuYSBIZWFsdGh5TEUxMCB6YWNob3bDoXZhIGludGVycHJldG92YXRlxL5ub3PFpSBtb2RlbHUgYSB6w6Fyb3ZlxYggem5pxb51amUgbnVtZXJpY2vDqSByb3pkaWVseSBtZWR6aSByZWdyZXNvcm1pLCBrZcSPxb5lIHByZW1lbm7DoSBkxLrFvmt5IMW+aXZvdGEgYm9sYSBww7R2b2RuZSB2eWphZHJlbsOhIHYgZGVzaWF0a2FjaCByb2tvdi4gS29lZmljaWVudCBwcmkgSGVhbHRoeUxFMTAgbcOhIHRlcmF6IGhvZG5vdHUgMC4zMTksIMSNbyB6bmFtZW7DoSwgxb5lIHp2w73FoWVuaWUgb8SNYWvDoXZhbmVqIGTEusW+a3kgxb5pdm90YSBvIDEwIHJva292IHZlZGllIGsgbsOhcmFzdHUgTGlmZSBMYWRkZXIgcHJpYmxpxb5uZSBvIDAuMzIgYm9kdSwgxI1pxb5lIGludGVycHJldMOhY2lhIGplIGludHVpdMOtdm5hIGEgesOhcm92ZcWIIGJsacW+xaFpYSByZcOhbG55bSByb3pkaWVsb20gbWVkemkga3JhamluYW1pLiBPc3RhdG7DqSBrb2VmaWNpZW50eSBzYSBwcmFrdGlja3kgbmV6bWVuaWxpLCDEjW8gcG90dnJkenVqZSwgxb5lIHTDoXRvIMO6cHJhdmEgbmVtZW7DrSDFoXRydWt0w7pydSB2esWlYWhvdiB2IG1vZGVsaSwgaWJhIHNwcsOtamVtxYh1amUgaW50ZXJwcmV0w6FjaXUuIFZJRiBob2Rub3R5IHpvc3RhbGkgdG90b8W+bsOpLCDEjW8gem5hbWVuw6EsIMW+ZSBhbmkgdMOhdG8gdHJhbnNmb3Jtw6FjaWEgbmV6dnnFoXVqZSBtdWx0aWtvbGluZWFyaXR1IGEgcmVncmVzbsOpIGtvZWZpY2llbnR5IHpvc3TDoXZhasO6IHN0YWJpbG7DqS4gQ29uZGl0aW9uIE51bWJlciBrbGVzb2wgbmEgw7pyb3ZlxYggcHJpYmxpxb5uZSAxMzAsIMSNbyBqZSBzw61jZSB2w71yYXpuZSBsZXDFoWllIGFrbyBww7R2b2Ruw6EgbmXFoWvDoWxvdmFuw6EgdmVyemlhLCBubyBzdMOhbGUgc2EgbmFjaMOhZHphIG5hIGhyYW5pY2kgbWVkemkgbsOtemtvdSBhIG1pZXJub3UgbXVsdGlrb2xpbmVhcml0b3UuIFRlbnRvIHbDvXNsZWRvayB1a2F6dWplLCDFvmUgc2Ftb3Ruw6Egem1lbmEgamVkbm90aWVrIHpsZXDFoXVqZSBudW1lcmlja8O6IHN0YWJpbGl0dSBtb2RlbHUsIGFsZSBuZXJpZcWhaSBtdWx0aWtvbGluZWFyaXR1IHRhayDDusSNaW5uZSBha28ga29tcGxldG7DqSDFoWvDoWxvdmFuaWUuIE5hcHJpZWsgdG9tdSB2xaFhayB1cHJhdmVuw70gbW9kZWwgemFjaG92w6F2YSB2w71ib3Juw7ogaW50ZXJwcmV0b3ZhdGXEvm5vc8WlLCByb3ZuYWvDuiDFoXRhdGlzdGlja8O6IHbDvXpuYW1ub3PFpSBhaiBpZGVudGlja8O6IMO6cm92ZcWIIHZ5c3ZldGxlbmVqIHZhcmlhYmlsaXR5IChSwrIg4omIIDAuNjgpIGFrbyBww7R2b2Ruw70gbW9kZWwuIMOacHJhdmEgcHJlbWVubmVqIGplIHByZXRvIHZob2Ruw6EgdiBzaXR1w6FjacOhY2gsIGtlxI8gamUgcHJpb3JpdG91IHBvcm92bmF0ZcS+bm9zxaUgamVkbm90aWVrIGEgcHJlaMS+YWRuw6EgZWtvbm9taWNrw6EgaW50ZXJwcmV0w6FjaWEgcmVncmVzbsO9Y2gga29lZmljaWVudG92LgoKIyAxMi4gWsOhdmVyCgpOYSB6w6FrbGFkZSB2xaFldGvDvWNoIHZ5a29uYW7DvWNoIGFuYWzDvXogbW/Fvm5vIGtvbsWhdGF0b3ZhxaUsIMW+ZSByZWdyZXNuw70gbW9kZWwgdnlzdmV0xL51asO6Y2kgc3Bva29qbm9zxaUgc28gxb5pdm90b20gamUgxaF0YXRpc3RpY2t5IHNpbG7DvSwgc3RhYmlsbsO9IGEgZG9icmUgxaFwZWNpZmlrb3ZhbsO9LiBaw6FrbGFkbsO9IG1vZGVsIGFqIHbFoWV0a3kgamVobyBtb2RpZmlrw6FjaWUgcHJldWvDoXphbGksIMW+ZSBMb2dHRFBwYywgSGVhbHRoeUxFIGEgU29jaWFsU3VwcG9ydCBtYWrDuiB2w71yYXpuw70gYSDFoXRhdGlzdGlja3kgdsO9em5hbW7DvSBwb3ppdMOtdm55IHZwbHl2IG5hIExpZmUgTGFkZGVyLCBwcmnEjW9tIG5hamRvbWluYW50bmVqxaFvdSBwcmVtZW5ub3Ugem9zdMOhdmEgc29jacOhbG5hIG9wb3JhLiBEaWFnbm9zdGlja8OpIHVrYXpvdmF0ZWxlIG11bHRpa29saW5lYXJpdHkg4oCTIFZJRiBhaiBDb25kaXRpb24gTnVtYmVyIOKAkyBqZWRub3puYcSNbmUgcG90dnJkaWxpLCDFvmUgbWVkemkgcHJlbWVubsO9bWkgbmVleGlzdHVqZSBwcm9ibMOpbW92w6EgbGluZcOhcm5hIHrDoXZpc2xvc8WlIGEgbW9kZWwgbmV0cnDDrSBtdWx0aWtvbGluZWFyaXRvdSBhbmkgcHJpIHBvdcW+aXTDrSBww7R2b2Ruw71jaCwgYW5pIMWha8OhbG92YW7DvWNoIHZlbGnEjcOtbi4gVnluZWNow6F2YW5pZSBqZWRub3RsaXbDvWNoIHByZW1lbm7DvWNoIHVrw6F6YWxvLCDFvmUgbmFqdsOkxI3FoWl1IHN0cmF0dSB2eXN2ZXTEvm92YWNlaiBzY2hvcG5vc3RpIHNww7Rzb2J1amUgb2RzdHLDoW5lbmllIFNvY2lhbFN1cHBvcnQsIHphdGlhxL4gxI1vIHZ5bmVjaGFuaWUgSGVhbHRoeUxFIG3DoSBuYWptZW7FocOtIGRvcGFkLCDEjW8gb2Ryw6HFvmEgcmVsYXTDrXZudSBzaWx1IGljaCB2esWlYWh1IGsgTGlmZSBMYWRkZXIuIMWga8OhbG92YW5pZSBwcmVtZW5uw71jaCB2w71yYXpuZSB6bGVwxaFpbG8gbnVtZXJpY2vDuiBzdGFiaWxpdHUgbW9kZWx1IGEgcG90dnJkaWxvIHJvdm5ha8OpIHNtZXJvdmFuaWUgYWogdmXEvmtvc8WlIGVmZWt0b3YsIHByacSNb20gVklGIGFqIENvbmRpdGlvbiBOdW1iZXIgem9zdGFsaSBuYSBpZGXDoWxueWNoIGhvZG5vdMOhY2guIEFsdGVybmF0w612bmEgw7pwcmF2YSBwcmVtZW5uZWogSGVhbHRoeUxFMTAgemFjaG92YWxhIGVrb25vbWlja8O6IGludGVycHJldG92YXRlxL5ub3PFpSBhIHrDoXJvdmXFiCB0dm9yaWxhIGtvbnppc3RlbnRuw6kgdsO9c2xlZGt5IHMgcMO0dm9kbsO9bSBtb2RlbG9tLiBDZWxrb3ZvIHNhIHbFoWV0a3kgcHLDrXN0dXB5IHpob2R1asO6IHYgdG9tLCDFvmUgbW9kZWwgamUgcm9idXN0bsO9LCBqZWhvIGtvZWZpY2llbnR5IHPDuiBzcG/EvmFobGl2w6kgYSBuacSNIG5lbmFzdmVkxI11amUgcHLDrXRvbW5vc3RpIG11bHRpa29saW5lYXJpdHksIGt0b3LDoSBieSBvaHJvem92YWxhIGTDtHZlcnlob2Rub3PFpSBvZGhhZG92Lgo=