Ernesto Gomez
October 2, 2017
This analysis utilizes data from a 2013 survey distributed to a group of Slovakian students in a Statistics class, which was then simultaneously redsitributed by them to their friends. The dataset contains nearly 1,000 responses from young people ages 15-30 and includes over 150 variables pertaining to young people’s interests, hobbies, fears, and more.
For the purposes of this assignment, 4 variables were extracted from the dataset to examine spending, particularly spending on one’s appearance (DV), and potential drivers of that spending. Ultimately, what factors potentially influence a young person to be a big spender on their appearance (i.e. fear of getting old, over-interest in celebrity lifestyles) and what might this suggest about young people and our culture?
Hypotheses
- The more interested one is in celebrity lifestyles the more they may spend on their appearance.
- If one is fearful of ageing they are more likely to spend a lot on their appearance.
- Gender influences whether you spend a lot on your appearance. Women might be more likely to be big appearance spenders.
Variables & Data Management
To conduct this analysis, I will look to variables that measure whether a young respondent is a big spender on their appearance (spendlook), has interest in celebrity lifestyles (celebrity), fears ageing (fearageing), and, finally, gender.
- spendlook - This variable will be our dependent variable and it measures whether a young respondent claimed to be someone who spent a lot of money on their appearance on a 5-point Likert scale (Strongly Disagree -> Strongly Agree) - “I spend a lot of money on my appearance”
- celebrity - This variable measures whether a young respondent is or is not interested in celebrities lifestyles on a 5-point Likert scale (Not Interested -> Very Interested) - “Celebrity lifestyle”
- fearageing - This variable measures whether a young respondent fears or does not fear ageing/growing older on a 5-point Likert scale (Not Afraid at all -> Very Afraid of): “Ageing”
- gender - This variable measures whether a respondent is male or female, 2-point scale, categorical
The new variable, bigspendlook, was generated to include only those who responded as being big spenders on their appearance.
library(tidyverse)
library(dplyr)
library(sjmisc)
library(radiant.data)
library(pander)
library(Zelig)
library(texreg)
library(visreg)
yp2 <- data.frame(read_csv("/Users/ernesto/Documents/Advanced Analytics/Data/youngpeople.csv")) %>%
rename("fearageing" = Ageing,
"spendlook" = Spending.on.looks,
"gender" = Gender,
"celebrity" = Celebrities) %>%
select(celebrity, gender, fearageing,spendlook) %>%
filter(!is.na(spendlook),
!is.na(fearageing),
!is.na(celebrity),
!is.na(gender),
gender %in% c("male", "female")) %>%
mutate(bigspendlook = ifelse(spendlook>3,1,0),
gender=as.factor(gender))
head(yp2)
Logit Regressions
Model 1: bigspendlook ~ celebrity
Our first model investigates the relationship between big appearance spenders and the influence of being a fan of celebrity lifestyles. The results show that the log odds of being a big appearance spender increases when one also is a fan of celebrity life. This is statistically significant.
m1 <- glm(data=yp2, bigspendlook ~ celebrity, family="binomial")
summary(m1)
Call:
glm(formula = bigspendlook ~ celebrity, family = "binomial",
data = yp2)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.4394 -0.9292 -0.7844 1.2685 1.6301
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.42560 0.14722 -9.683 < 0.0000000000000002 ***
celebrity 0.40464 0.05332 7.589 0.0000000000000323 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1334.6 on 997 degrees of freedom
Residual deviance: 1274.0 on 996 degrees of freedom
AIC: 1278
Number of Fisher Scoring iterations: 4
Model 2: bigspendlook ~ celebrity & gender & fear of ageing
Our second model adds additional independent variables, such as gender and the fear of ageing, to determine possible influence. The output indicates a log odds increase in appearance spending when coupled with a phobia of ageing. Gender, however, does not present a statistically significant influence.
m2 <- glm(data=yp2, bigspendlook ~ celebrity + gender + fearageing, family="binomial")
summary(m2)
Call:
glm(formula = bigspendlook ~ celebrity + gender + fearageing,
family = "binomial", data = yp2)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.5397 -0.9650 -0.7366 1.1897 1.7878
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.81527 0.21415 -8.476 < 0.0000000000000002 ***
celebrity 0.36213 0.05539 6.537 0.0000000000627 ***
gendermale -0.12534 0.14342 -0.874 0.382
fearageing 0.20632 0.04951 4.167 0.0000308828950 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1334.6 on 997 degrees of freedom
Residual deviance: 1254.6 on 994 degrees of freedom
AIC: 1262.6
Number of Fisher Scoring iterations: 4
Model 3: bigspendlook ~ likeceleb & fearage*gender
Our third model examines the same relationships as the second model, only this time we test for the interaction between gender and a phobia of ageing. We see that when
m3 <- glm(data=yp2, bigspendlook ~ celebrity + fearageing*gender, family="binomial")
summary(m3)
Call:
glm(formula = bigspendlook ~ celebrity + fearageing * gender,
family = "binomial", data = yp2)
Deviance Residuals:
Min 1Q Median 3Q Max
-1.5239 -0.9835 -0.7316 1.1629 1.8135
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -1.73918 0.24315 -7.153 0.00000000000085 ***
celebrity 0.35947 0.05552 6.475 0.00000000009498 ***
fearageing 0.18182 0.06210 2.928 0.00341 **
gendermale -0.29847 0.30302 -0.985 0.32463
fearageing:gendermale 0.06656 0.10251 0.649 0.51617
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1334.6 on 997 degrees of freedom
Residual deviance: 1254.2 on 993 degrees of freedom
AIC: 1264.2
Number of Fisher Scoring iterations: 4
Likelihood Ratio Test
ANOVA
Our test shows that model 2 is the best fit overall.
anova (m1, m2, m3, test="Chisq")
Analysis of Deviance Table
Model 1: bigspendlook ~ celebrity
Model 2: bigspendlook ~ celebrity + gender + fearageing
Model 3: bigspendlook ~ celebrity + fearageing * gender
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 996 1274.0
2 994 1254.6 2 19.4242 0.00006055 ***
3 993 1254.2 1 0.4219 0.516
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Model Comparisons
When models are placed in a table we see even further that Model 2 is our best fit. We know this by observing the AIC of 1262.60 and BIC of 1282.22. These are the lowest AIC and BIC values suggesting best fit.
screenreg(list(m1,m2,m3))
============================================================
Model 1 Model 2 Model 3
------------------------------------------------------------
(Intercept) -1.43 *** -1.82 *** -1.74 ***
(0.15) (0.21) (0.24)
celebrity 0.40 *** 0.36 *** 0.36 ***
(0.05) (0.06) (0.06)
gendermale -0.13 -0.30
(0.14) (0.30)
fearageing 0.21 *** 0.18 **
(0.05) (0.06)
fearageing:gendermale 0.07
(0.10)
------------------------------------------------------------
AIC 1278.02 1262.60 1264.18
BIC 1287.83 1282.22 1288.70
Log Likelihood -637.01 -627.30 -627.09
Deviance 1274.02 1254.60 1254.18
Num. obs. 998 998 998
============================================================
*** p < 0.001, ** p < 0.01, * p < 0.05
Visuals
Big Appearance Spending & Interest in Celebrity Lifestyles
visreg(m2, "celebrity", scale="response")

Big Appearance Spending & Fear of Ageing
visreg(m2, "fearageing", scale="response")

Big Appearance Spending & Gender
visreg(m2, "gender", scale="response")

Analysis
Ultimately, our models tell us:
- If you are interested in celebrity lifestyles, the log odds, or likelihood, of being a big appearance spender increases.
- If you have a fear of ageing or getting older, the log odds, or likelihood, of being a big apperance spender also increases.
- If you are male, the likelihood of being a big appearance spender slightly decreases in comparison to women, but this is not statistically significant. Neither is the interaction between gender and fear of ageing.
What does this suggest about younger people and our culture? It might mean that being enamored with celebrity living generates a sense of lavishness and beauty that might create an increased desire to spend a lot of money on your appearance. Many young people, especially in the age of social media, look up to and follow celebrities. This might have an effect on how young people see themselves and what they view as important (i.e. looking beautiful, emulating celebrities). Furthermore, having a fear of ageing suggests that one views old(er) age as a negative on one’s appearance and therefore needs to be corrected or maintained with high spending.
The graphed models, in terms of gender, show that, while NOT statistically significant, there exists a very slight difference between women and men and being big appearance spenders. This speaks more about our culture in which women are expected more than men to always keep up with their appearances. While the difference remains negligible when it comes to the data, this in and of itself might mean that men and women ultimately both spend on their appearances.
LS0tCnRpdGxlOiAiSG9tZXdvcmsgNCAtIExvZ2lzdGljIFJlZ3Jlc3Npb25zIgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgojIyMjI0VybmVzdG8gR29tZXoKIyMjIyNPY3RvYmVyIDIsIDIwMTcKX19fX19fX19fX19fX19fX19fX19fX19fX19fClRoaXMgYW5hbHlzaXMgdXRpbGl6ZXMgZGF0YSBmcm9tIGEgMjAxMyBzdXJ2ZXkgZGlzdHJpYnV0ZWQgdG8gYSBncm91cCBvZiBTbG92YWtpYW4gc3R1ZGVudHMgaW4gYSBTdGF0aXN0aWNzIGNsYXNzLCB3aGljaCB3YXMgdGhlbiBzaW11bHRhbmVvdXNseSByZWRzaXRyaWJ1dGVkIGJ5IHRoZW0gdG8gdGhlaXIgZnJpZW5kcy4gVGhlIGRhdGFzZXQgY29udGFpbnMgbmVhcmx5IDEsMDAwIHJlc3BvbnNlcyBmcm9tIHlvdW5nIHBlb3BsZSBhZ2VzIDE1LTMwIGFuZCBpbmNsdWRlcyBvdmVyIDE1MCB2YXJpYWJsZXMgcGVydGFpbmluZyB0byB5b3VuZyBwZW9wbGUncyBpbnRlcmVzdHMsIGhvYmJpZXMsIGZlYXJzLCBhbmQgbW9yZS4gCgpGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgYXNzaWdubWVudCwgNCB2YXJpYWJsZXMgd2VyZSBleHRyYWN0ZWQgZnJvbSB0aGUgZGF0YXNldCB0byBleGFtaW5lIHNwZW5kaW5nLCBwYXJ0aWN1bGFybHkgc3BlbmRpbmcgb24gb25lJ3MgYXBwZWFyYW5jZSAoRFYpLCBhbmQgcG90ZW50aWFsIGRyaXZlcnMgb2YgdGhhdCBzcGVuZGluZy4gVWx0aW1hdGVseSwgd2hhdCBmYWN0b3JzIHBvdGVudGlhbGx5IGluZmx1ZW5jZSBhIHlvdW5nIHBlcnNvbiB0byBiZSBhIGJpZyBzcGVuZGVyIG9uIHRoZWlyIGFwcGVhcmFuY2UgKGkuZS4gZmVhciBvZiBnZXR0aW5nIG9sZCwgb3Zlci1pbnRlcmVzdCBpbiBjZWxlYnJpdHkgbGlmZXN0eWxlcykgYW5kIHdoYXQgbWlnaHQgdGhpcyBzdWdnZXN0IGFib3V0IHlvdW5nIHBlb3BsZSBhbmQgb3VyIGN1bHR1cmU/CgojIyNIeXBvdGhlc2VzCjEpIFRoZSBtb3JlIGludGVyZXN0ZWQgb25lIGlzIGluIGNlbGVicml0eSBsaWZlc3R5bGVzIHRoZSBtb3JlIHRoZXkgbWF5IHNwZW5kIG9uIHRoZWlyIGFwcGVhcmFuY2UuCjIpIElmIG9uZSBpcyBmZWFyZnVsIG9mIGFnZWluZyB0aGV5IGFyZSBtb3JlIGxpa2VseSB0byBzcGVuZCBhIGxvdCBvbiB0aGVpciBhcHBlYXJhbmNlLgozKSBHZW5kZXIgaW5mbHVlbmNlcyB3aGV0aGVyIHlvdSBzcGVuZCBhIGxvdCBvbiB5b3VyIGFwcGVhcmFuY2UuIFdvbWVuIG1pZ2h0IGJlIG1vcmUgbGlrZWx5IHRvIGJlIGJpZyBhcHBlYXJhbmNlIHNwZW5kZXJzLgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KCiNWYXJpYWJsZXMgJiBEYXRhIE1hbmFnZW1lbnQKClRvIGNvbmR1Y3QgdGhpcyBhbmFseXNpcywgSSB3aWxsIGxvb2sgdG8gdmFyaWFibGVzIHRoYXQgbWVhc3VyZSB3aGV0aGVyIGEgeW91bmcgcmVzcG9uZGVudCBpcyBhIGJpZyBzcGVuZGVyIG9uIHRoZWlyIGFwcGVhcmFuY2UgKCoqc3BlbmRsb29rKiopLCBoYXMgaW50ZXJlc3QgaW4gY2VsZWJyaXR5IGxpZmVzdHlsZXMgKCoqY2VsZWJyaXR5KiopLCBmZWFycyBhZ2VpbmcgKCoqZmVhcmFnZWluZyoqKSwgYW5kLCBmaW5hbGx5LCAqKmdlbmRlcioqLiAKCiogKipzcGVuZGxvb2sqKiAtIFRoaXMgdmFyaWFibGUgd2lsbCBiZSBvdXIgZGVwZW5kZW50IHZhcmlhYmxlIGFuZCBpdCBtZWFzdXJlcyB3aGV0aGVyIGEgeW91bmcgcmVzcG9uZGVudCBjbGFpbWVkIHRvIGJlIHNvbWVvbmUgd2hvIHNwZW50IGEgbG90IG9mIG1vbmV5IG9uIHRoZWlyIGFwcGVhcmFuY2Ugb24gYSA1LXBvaW50IExpa2VydCBzY2FsZSAoU3Ryb25nbHkgRGlzYWdyZWUgLT4gU3Ryb25nbHkgQWdyZWUpIC0gKiJJIHNwZW5kIGEgbG90IG9mIG1vbmV5IG9uIG15IGFwcGVhcmFuY2UiKgorICoqY2VsZWJyaXR5KiogLSBUaGlzIHZhcmlhYmxlIG1lYXN1cmVzIHdoZXRoZXIgYSB5b3VuZyByZXNwb25kZW50IGlzIG9yIGlzIG5vdCBpbnRlcmVzdGVkIGluIGNlbGVicml0aWVzIGxpZmVzdHlsZXMgb24gYSA1LXBvaW50IExpa2VydCBzY2FsZSAoTm90IEludGVyZXN0ZWQgLT4gVmVyeSBJbnRlcmVzdGVkKSAtICoiQ2VsZWJyaXR5IGxpZmVzdHlsZSIqCisgKipmZWFyYWdlaW5nKiogLSBUaGlzIHZhcmlhYmxlIG1lYXN1cmVzIHdoZXRoZXIgYSB5b3VuZyByZXNwb25kZW50IGZlYXJzIG9yIGRvZXMgbm90IGZlYXIgYWdlaW5nL2dyb3dpbmcgb2xkZXIgb24gYSA1LXBvaW50IExpa2VydCBzY2FsZSAoTm90IEFmcmFpZCBhdCBhbGwgLT4gVmVyeSBBZnJhaWQgb2YpOiAqIkFnZWluZyIqCisgKipnZW5kZXIqKiAtIFRoaXMgdmFyaWFibGUgbWVhc3VyZXMgd2hldGhlciBhIHJlc3BvbmRlbnQgaXMgbWFsZSBvciBmZW1hbGUsIDItcG9pbnQgc2NhbGUsIGNhdGVnb3JpY2FsCgpUaGUgbmV3IHZhcmlhYmxlLCAqKmJpZ3NwZW5kbG9vayoqLCB3YXMgZ2VuZXJhdGVkIHRvIGluY2x1ZGUgb25seSB0aG9zZSB3aG8gcmVzcG9uZGVkIGFzIGJlaW5nIGJpZyBzcGVuZGVycyBvbiB0aGVpciBhcHBlYXJhbmNlLgoKYGBge3IsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KHNqbWlzYykKbGlicmFyeShyYWRpYW50LmRhdGEpCmxpYnJhcnkocGFuZGVyKQpsaWJyYXJ5KFplbGlnKQpsaWJyYXJ5KHRleHJlZykKbGlicmFyeSh2aXNyZWcpCgp5cDIgPC0gZGF0YS5mcmFtZShyZWFkX2NzdigiL1VzZXJzL2VybmVzdG8vRG9jdW1lbnRzL0FkdmFuY2VkIEFuYWx5dGljcy9EYXRhL3lvdW5ncGVvcGxlLmNzdiIpKSAlPiUKIHJlbmFtZSgiZmVhcmFnZWluZyIgPSBBZ2VpbmcsCiAgICAic3BlbmRsb29rIiA9IFNwZW5kaW5nLm9uLmxvb2tzLAogICAgImdlbmRlciIgPSBHZW5kZXIsCiAgICAgImNlbGVicml0eSIgPSBDZWxlYnJpdGllcykgJT4lCiAgc2VsZWN0KGNlbGVicml0eSwgZ2VuZGVyLCBmZWFyYWdlaW5nLHNwZW5kbG9vaykgJT4lCiAgZmlsdGVyKCFpcy5uYShzcGVuZGxvb2spLAogICAgICAgICAhaXMubmEoZmVhcmFnZWluZyksCiAgICAgICAgICFpcy5uYShjZWxlYnJpdHkpLAogICAgICAgICAhaXMubmEoZ2VuZGVyKSwgCiAgICAgICAgIGdlbmRlciAlaW4lIGMoIm1hbGUiLCAiZmVtYWxlIikpICU+JQogICAgICAgICAgIG11dGF0ZShiaWdzcGVuZGxvb2sgPSBpZmVsc2Uoc3BlbmRsb29rPjMsMSwwKSwKICAgICAgICAgICAgICAgICAgZ2VuZGVyPWFzLmZhY3RvcihnZW5kZXIpKQogICAgICAgICAKCmhlYWQoeXAyKQpgYGAKX19fX19fX19fX19fX19fX19fX19fCiNMb2dpdCBSZWdyZXNzaW9ucyAKCiMjIyNNb2RlbCAxOiBiaWdzcGVuZGxvb2sgfiBjZWxlYnJpdHkKCk91ciBmaXJzdCBtb2RlbCBpbnZlc3RpZ2F0ZXMgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGJpZyBhcHBlYXJhbmNlIHNwZW5kZXJzIGFuZCB0aGUgaW5mbHVlbmNlIG9mIGJlaW5nIGEgZmFuIG9mIGNlbGVicml0eSBsaWZlc3R5bGVzLiBUaGUgcmVzdWx0cyBzaG93IHRoYXQgdGhlIGxvZyBvZGRzIG9mIGJlaW5nIGEgYmlnIGFwcGVhcmFuY2Ugc3BlbmRlciBpbmNyZWFzZXMgd2hlbiBvbmUgYWxzbyBpcyBhIGZhbiBvZiBjZWxlYnJpdHkgbGlmZS4gVGhpcyBpcyBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50LgoKYGBge3J9Cm0xIDwtIGdsbShkYXRhPXlwMiwgYmlnc3BlbmRsb29rIH4gY2VsZWJyaXR5LCBmYW1pbHk9ImJpbm9taWFsIikKc3VtbWFyeShtMSkKYGBgCl9fX19fX19fX19fX19fX19fX19fX19fX19fXwojIyMjTW9kZWwgMjogYmlnc3BlbmRsb29rIH4gY2VsZWJyaXR5ICYgZ2VuZGVyICYgZmVhciBvZiBhZ2VpbmcKCk91ciBzZWNvbmQgbW9kZWwgYWRkcyBhZGRpdGlvbmFsIGluZGVwZW5kZW50IHZhcmlhYmxlcywgc3VjaCBhcyBnZW5kZXIgYW5kIHRoZSBmZWFyIG9mIGFnZWluZywgdG8gZGV0ZXJtaW5lIHBvc3NpYmxlIGluZmx1ZW5jZS4gVGhlIG91dHB1dCBpbmRpY2F0ZXMgYSBsb2cgb2RkcyBpbmNyZWFzZSBpbiBhcHBlYXJhbmNlIHNwZW5kaW5nIHdoZW4gY291cGxlZCB3aXRoIGEgcGhvYmlhIG9mIGFnZWluZy4gR2VuZGVyLCBob3dldmVyLCBkb2VzIG5vdCBwcmVzZW50IGEgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCBpbmZsdWVuY2UuCmBgYHtyfQptMiA8LSBnbG0oZGF0YT15cDIsIGJpZ3NwZW5kbG9vayB+IGNlbGVicml0eSArIGdlbmRlciArIGZlYXJhZ2VpbmcsIGZhbWlseT0iYmlub21pYWwiKSAKc3VtbWFyeShtMikKYGBgCl9fX19fX19fX19fX19fX19fX19fX19fX19fCgojIyMjTW9kZWwgMzogYmlnc3BlbmRsb29rIH4gbGlrZWNlbGViICYgZmVhcmFnZSpnZW5kZXIKCk91ciB0aGlyZCBtb2RlbCBleGFtaW5lcyB0aGUgc2FtZSByZWxhdGlvbnNoaXBzIGFzIHRoZSBzZWNvbmQgbW9kZWwsIG9ubHkgdGhpcyB0aW1lIHdlIHRlc3QgZm9yIHRoZSBpbnRlcmFjdGlvbiBiZXR3ZWVuIGdlbmRlciBhbmQgYSBwaG9iaWEgb2YgYWdlaW5nLiBXZSBzZWUgdGhhdCB3aGVuIApgYGB7cn0KbTMgPC0gZ2xtKGRhdGE9eXAyLCBiaWdzcGVuZGxvb2sgfiBjZWxlYnJpdHkgKyBmZWFyYWdlaW5nKmdlbmRlciwgZmFtaWx5PSJiaW5vbWlhbCIpCnN1bW1hcnkobTMpCmBgYAoKX19fX19fX19fX19fX19fX19fX19fX19fXwojTGlrZWxpaG9vZCBSYXRpbyBUZXN0CiMjI0FOT1ZBCgpPdXIgdGVzdCBzaG93cyB0aGF0IG1vZGVsIDIgaXMgdGhlIGJlc3QgZml0IG92ZXJhbGwuCgpgYGB7cn0KYW5vdmEgKG0xLCBtMiwgbTMsIHRlc3Q9IkNoaXNxIikKYGBgCl9fX19fX19fX19fX19fX19fX19fX18KIyMjTW9kZWwgQ29tcGFyaXNvbnMKCldoZW4gbW9kZWxzIGFyZSBwbGFjZWQgaW4gYSB0YWJsZSB3ZSBzZWUgZXZlbiBmdXJ0aGVyIHRoYXQgTW9kZWwgMiBpcyBvdXIgYmVzdCBmaXQuIFdlIGtub3cgdGhpcyBieSBvYnNlcnZpbmcgdGhlIEFJQyBvZiAxMjYyLjYwIGFuZCBCSUMgb2YgMTI4Mi4yMi4gVGhlc2UgYXJlIHRoZSBsb3dlc3QgQUlDIGFuZCBCSUMgdmFsdWVzIHN1Z2dlc3RpbmcgYmVzdCBmaXQuCgpgYGB7cn0Kc2NyZWVucmVnKGxpc3QobTEsbTIsbTMpKQpgYGAKCl9fX19fX19fX19fX19fX19fX19fX19fCiNWaXN1YWxzCiMjI0JpZyBBcHBlYXJhbmNlIFNwZW5kaW5nICYgSW50ZXJlc3QgaW4gQ2VsZWJyaXR5IExpZmVzdHlsZXMKYGBge3J9CnZpc3JlZyhtMiwgImNlbGVicml0eSIsIHNjYWxlPSJyZXNwb25zZSIpCmBgYApfX19fX19fX19fX19fX19fX19fX19fCiMjI0JpZyBBcHBlYXJhbmNlIFNwZW5kaW5nICYgRmVhciBvZiBBZ2VpbmcKYGBge3J9CnZpc3JlZyhtMiwgImZlYXJhZ2VpbmciLCBzY2FsZT0icmVzcG9uc2UiKQpgYGAKX19fX19fX19fX19fX19fX19fX19fX19fCiMjI0JpZyBBcHBlYXJhbmNlIFNwZW5kaW5nICYgR2VuZGVyCmBgYHtyfQp2aXNyZWcobTIsICJnZW5kZXIiLCBzY2FsZT0icmVzcG9uc2UiKQpgYGAKX19fX19fX19fX19fX19fX19fX19fX19fCiNBbmFseXNpcwoKVWx0aW1hdGVseSwgb3VyIG1vZGVscyB0ZWxsIHVzOgoKKiBJZiB5b3UgYXJlIGludGVyZXN0ZWQgaW4gY2VsZWJyaXR5IGxpZmVzdHlsZXMsIHRoZSBsb2cgb2Rkcywgb3IgbGlrZWxpaG9vZCwgb2YgYmVpbmcgYSBiaWcgYXBwZWFyYW5jZSBzcGVuZGVyIGluY3JlYXNlcy4KKyBJZiB5b3UgaGF2ZSBhIGZlYXIgb2YgYWdlaW5nIG9yIGdldHRpbmcgb2xkZXIsIHRoZSBsb2cgb2Rkcywgb3IgbGlrZWxpaG9vZCwgb2YgYmVpbmcgYSBiaWcgYXBwZXJhbmNlIHNwZW5kZXIgYWxzbyBpbmNyZWFzZXMuCisgSWYgeW91IGFyZSBtYWxlLCB0aGUgbGlrZWxpaG9vZCBvZiBiZWluZyBhIGJpZyBhcHBlYXJhbmNlIHNwZW5kZXIgc2xpZ2h0bHkgZGVjcmVhc2VzIGluIGNvbXBhcmlzb24gdG8gd29tZW4sIGJ1dCB0aGlzIGlzIG5vdCBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50LiBOZWl0aGVyIGlzIHRoZSBpbnRlcmFjdGlvbiBiZXR3ZWVuIGdlbmRlciBhbmQgZmVhciBvZiBhZ2VpbmcuCgpXaGF0IGRvZXMgdGhpcyBzdWdnZXN0IGFib3V0IHlvdW5nZXIgcGVvcGxlIGFuZCBvdXIgY3VsdHVyZT8gSXQgbWlnaHQgbWVhbiB0aGF0IGJlaW5nIGVuYW1vcmVkIHdpdGggY2VsZWJyaXR5IGxpdmluZyBnZW5lcmF0ZXMgYSBzZW5zZSBvZiBsYXZpc2huZXNzIGFuZCBiZWF1dHkgdGhhdCBtaWdodCBjcmVhdGUgYW4gaW5jcmVhc2VkIGRlc2lyZSB0byBzcGVuZCBhIGxvdCBvZiBtb25leSBvbiB5b3VyIGFwcGVhcmFuY2UuIE1hbnkgeW91bmcgcGVvcGxlLCBlc3BlY2lhbGx5IGluIHRoZSBhZ2Ugb2Ygc29jaWFsIG1lZGlhLCBsb29rIHVwIHRvIGFuZCBmb2xsb3cgY2VsZWJyaXRpZXMuIFRoaXMgbWlnaHQgaGF2ZSBhbiBlZmZlY3Qgb24gaG93IHlvdW5nIHBlb3BsZSBzZWUgdGhlbXNlbHZlcyBhbmQgd2hhdCB0aGV5IHZpZXcgYXMgaW1wb3J0YW50IChpLmUuIGxvb2tpbmcgYmVhdXRpZnVsLCBlbXVsYXRpbmcgY2VsZWJyaXRpZXMpLiBGdXJ0aGVybW9yZSwgaGF2aW5nIGEgZmVhciBvZiBhZ2Vpbmcgc3VnZ2VzdHMgdGhhdCBvbmUgdmlld3Mgb2xkKGVyKSBhZ2UgYXMgYSBuZWdhdGl2ZSBvbiBvbmUncyBhcHBlYXJhbmNlIGFuZCB0aGVyZWZvcmUgbmVlZHMgdG8gYmUgY29ycmVjdGVkIG9yIG1haW50YWluZWQgd2l0aCBoaWdoIHNwZW5kaW5nLiAKClRoZSBncmFwaGVkIG1vZGVscywgaW4gdGVybXMgb2YgZ2VuZGVyLCBzaG93IHRoYXQsIHdoaWxlIE5PVCBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50LCB0aGVyZSBleGlzdHMgYSB2ZXJ5ICpzbGlnaHQqIGRpZmZlcmVuY2UgYmV0d2VlbiB3b21lbiBhbmQgbWVuIGFuZCBiZWluZyBiaWcgYXBwZWFyYW5jZSBzcGVuZGVycy4gVGhpcyBzcGVha3MgbW9yZSBhYm91dCBvdXIgY3VsdHVyZSBpbiB3aGljaCB3b21lbiBhcmUgZXhwZWN0ZWQgbW9yZSB0aGFuIG1lbiB0byBhbHdheXMga2VlcCB1cCB3aXRoIHRoZWlyIGFwcGVhcmFuY2VzLiBXaGlsZSB0aGUgZGlmZmVyZW5jZSByZW1haW5zIG5lZ2xpZ2libGUgd2hlbiBpdCBjb21lcyB0byB0aGUgZGF0YSwgdGhpcyBpbiBhbmQgb2YgaXRzZWxmIG1pZ2h0IG1lYW4gdGhhdCBtZW4gYW5kIHdvbWVuIHVsdGltYXRlbHkgYm90aCBzcGVuZCBvbiB0aGVpciBhcHBlYXJhbmNlcy4=