Understanding the Relationship Between Student Lifestyle
Factors and Depression Levels
Introduction
Depression is a growing concern among students due to academic
pressure, social dynamics, and lifestyle changes. This project aims to
explore the factors that may influence student depression levels by
analyzing a dataset focused on various lifestyle, social, and academic
variables. By applying statistical methods such as Chi-square tests,
T-tests, ANOVA, and Multiple Linear Regression, we aim to uncover
patterns and relationships that can provide insight into student mental
health trends.
Dataset
Name: Student Depression Dataset
Source: Kaggle - Student Depression Dataset
Description: This dataset includes self-reported information from
students on variables such as age, gender, sleep duration, academic
performance, social support, and depression indicators.
Metadata:
Age: Age of the student.
Gender: Gender identity (Male/Female/Other).
Sleep Duration: Average number of hours the student sleeps per
day.
GPA: Grade Point Average.
Depression: Depression status (Yes/No).
Social Support: Level of support from friends or family.
Exercise Frequency: How often the student exercises.
Screen Time: Daily screen time in hours.
Depression Score: A numerical score indicating severity of depressive
symptoms (if present).
Types of Used Columns
Numerical (float/int):Age, Academic Pressure, Work Pressure, CGPA,
Study Satisfaction, Job Satisfaction, Work/Study Hours, Financial
Stress.
Categorical (object):Gender, Sleep Duration, Dietary Habits, Degree,
Family History of Mental Illness, Suicidal Thoughts.
Target Variable:Depression (int, 0 or 1)
Number of Records
Total records: 27,901
Most columns have no missing values, except:
Financial Stress: 3 missing values (removed)
data <- read.csv("Student Depression Dataset.csv")
clean_data <- data[!is.na(data$Financial_Stress), ]
Other Interesting Notes Respondents come from
various cities and educational backgrounds.
Age varies widely (students in both undergrad and postgrad).
Resource 1: Chi-square Test
To determine whether there is a statistically significant association
between Gender and Depression status among students.
Variables Used Gender: Categorical variable with
levels Male and Female.
Depression: Binary variable (0 = No, 1 = Yes).
Method: A Chi-square test of independence was performed using a
contingency table of the counts of depressed and non-depressed
individuals grouped by gender.
# Load your dataset
data <- read.csv("Student Depression Dataset.csv")
# Create a contingency table between Gender and Depression
gender_depression_table <- table(data$Gender, data$Depression)
# View the contingency table
print(gender_depression_table)
# Perform Chi-square test of independence
chisq_test <- chisq.test(gender_depression_table)
# View results
print(chisq_test)
Interpretation
With a p-value of 0.774, we fail to reject the null hypothesis. This
means there is no statistically significant association between gender
and depression status in this dataset.
# Load data
data <- read.csv("Student Depression Dataset.csv")
# Remove missing values in CGPA or Depression if any
data_clean <- na.omit(data[, c("CGPA", "Depression")])
# Run the T-test
t_test <- t.test(CGPA ~ Depression, data = data_clean)
# View results
print(t_test)
Interpretation
A T-test was conducted to examine whether there was a difference in
GPA between students who were depressed and those who were not. The mean
GPA for depressed students (M = 7.68) was slightly higher than for
non-depressed students (M = 7.62). This data shows that depressed
students (group 1) have a slightly higher average CGPA (7.68) than
non-depressed students (7.62). Even though the difference is small, it
is statistically significant, meaning it is unlikely due to chance.
Goal of Multiple Linear Regression:
To predict CGPA using multiple predictor variables like:
-Sleep Duration
-Financial Stress
-Depression
-Study Hours
-Anxiety
data <- read.csv("Student Depression Dataset.csv")
mlr_data <- na.omit(data[, c("CGPA", "Sleep.Duration", "Financial.Stress", "Depression", "Work.Study.Hours")])
mlr_model <- lm(CGPA ~ Sleep.Duration + Financial.Stress + Depression + Work.Study.Hours, data = mlr_data)
summary(mlr_model)
Interpretation
This model explains less than 1% of the variation in CGPA.
We noticed that students sleeping less than 5 hours or more than 8
hours had slightly lower CGPA.
Depression was associated with a higher CGPA, which matches the
t-test result.
Students who sleep more and study more tend to have higher GPAs,
while financial stress negatively affects academic performance.
Test Type Result Summary
Chi-Squar-No significant link between gender and depression
T-Tes-Depressed students had slightly higher GPAs (significant)
Regressio-Weak model, but sleep and depression had significant
effects
Final Conclusions
In this project, we looked into how different factors might be
related to student depression and academic performance (GPA), using a
large dataset with over 27,000 students. We used three main statistical
methods: Chi-square, T-test, and Multiple Linear Regression.
Chi-square test: We checked if gender and depression were related.
Turns out, there’s no significant connection, both male and female
students reported depression at similar rates.
T-test: We compared CGPA between students with and without
depression. The results showed a small but statistically significant
difference, students with depression actually had a slightly higher
CGPA. It’s surprising, but the difference is pretty small overall.
Multiple Linear Regression: We attempted to predict GPA based on
things like sleep duration, financial stress, depression, and study/work
hours. The model didn’t explain much, but a few factors stood out.
Students who sleep less than 5 hours or more than 8 tend to have lower
GPAs. Also, depression showed a small positive link to CGPA again, just
like in the T-test.
Final Thoughts:
Gender doesn’t really seem to affect depression rates in this
group.
Depression doesn’t necessarily hurt academic performance, at least
based on GPA.
Sleep seems to matter a bit — too little or too much might hurt
GPA.
Overall, these factors don’t predict GPA super well, but some
interesting trends popped up.
LS0tDQp0aXRsZTogIlByb2plY3RfQ2FtaWxhT3JnYV9OaWNvbGVCZW5hdmlkZXMuUm1kIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KDQoqKlVuZGVyc3RhbmRpbmcgdGhlIFJlbGF0aW9uc2hpcCBCZXR3ZWVuIFN0dWRlbnQgTGlmZXN0eWxlIEZhY3RvcnMgYW5kIERlcHJlc3Npb24gTGV2ZWxzKioNCg0KDQoNCioqSW50cm9kdWN0aW9uKioNCg0KRGVwcmVzc2lvbiBpcyBhIGdyb3dpbmcgY29uY2VybiBhbW9uZyBzdHVkZW50cyBkdWUgdG8gYWNhZGVtaWMgcHJlc3N1cmUsIHNvY2lhbCBkeW5hbWljcywgYW5kIGxpZmVzdHlsZSBjaGFuZ2VzLiBUaGlzIHByb2plY3QgYWltcyB0byBleHBsb3JlIHRoZSBmYWN0b3JzIHRoYXQgbWF5IGluZmx1ZW5jZSBzdHVkZW50IGRlcHJlc3Npb24gbGV2ZWxzIGJ5IGFuYWx5emluZyBhIGRhdGFzZXQgZm9jdXNlZCBvbiB2YXJpb3VzIGxpZmVzdHlsZSwgc29jaWFsLCBhbmQgYWNhZGVtaWMgdmFyaWFibGVzLiBCeSBhcHBseWluZyBzdGF0aXN0aWNhbCBtZXRob2RzIHN1Y2ggYXMgQ2hpLXNxdWFyZSB0ZXN0cywgVC10ZXN0cywgQU5PVkEsIGFuZCBNdWx0aXBsZSBMaW5lYXIgUmVncmVzc2lvbiwgd2UgYWltIHRvIHVuY292ZXIgcGF0dGVybnMgYW5kIHJlbGF0aW9uc2hpcHMgdGhhdCBjYW4gcHJvdmlkZSBpbnNpZ2h0IGludG8gc3R1ZGVudCBtZW50YWwgaGVhbHRoIHRyZW5kcy4NCg0KDQoNCioqRGF0YXNldCoqDQoNCk5hbWU6IFN0dWRlbnQgRGVwcmVzc2lvbiBEYXRhc2V0DQoNClNvdXJjZTogS2FnZ2xlIC0gU3R1ZGVudCBEZXByZXNzaW9uIERhdGFzZXQgDQoNCkRlc2NyaXB0aW9uOiBUaGlzIGRhdGFzZXQgaW5jbHVkZXMgc2VsZi1yZXBvcnRlZCBpbmZvcm1hdGlvbiBmcm9tIHN0dWRlbnRzIG9uIHZhcmlhYmxlcyBzdWNoIGFzIGFnZSwgZ2VuZGVyLCBzbGVlcCBkdXJhdGlvbiwgYWNhZGVtaWMgcGVyZm9ybWFuY2UsIHNvY2lhbCBzdXBwb3J0LCBhbmQgZGVwcmVzc2lvbiBpbmRpY2F0b3JzLg0KDQpNZXRhZGF0YToNCg0KQWdlOiBBZ2Ugb2YgdGhlIHN0dWRlbnQuDQoNCkdlbmRlcjogR2VuZGVyIGlkZW50aXR5IChNYWxlL0ZlbWFsZS9PdGhlcikuDQoNClNsZWVwIER1cmF0aW9uOiBBdmVyYWdlIG51bWJlciBvZiBob3VycyB0aGUgc3R1ZGVudCBzbGVlcHMgcGVyIGRheS4NCg0KR1BBOiBHcmFkZSBQb2ludCBBdmVyYWdlLg0KDQpEZXByZXNzaW9uOiBEZXByZXNzaW9uIHN0YXR1cyAoWWVzL05vKS4NCg0KU29jaWFsIFN1cHBvcnQ6IExldmVsIG9mIHN1cHBvcnQgZnJvbSBmcmllbmRzIG9yIGZhbWlseS4NCg0KRXhlcmNpc2UgRnJlcXVlbmN5OiBIb3cgb2Z0ZW4gdGhlIHN0dWRlbnQgZXhlcmNpc2VzLg0KDQpTY3JlZW4gVGltZTogRGFpbHkgc2NyZWVuIHRpbWUgaW4gaG91cnMuDQoNCkRlcHJlc3Npb24gU2NvcmU6IEEgbnVtZXJpY2FsIHNjb3JlIGluZGljYXRpbmcgc2V2ZXJpdHkgb2YgZGVwcmVzc2l2ZSBzeW1wdG9tcyAoaWYgcHJlc2VudCkuDQoNCg0KKipUeXBlcyBvZiBVc2VkIENvbHVtbnMqKg0KDQpOdW1lcmljYWwgKGZsb2F0L2ludCk6QWdlLCBBY2FkZW1pYyBQcmVzc3VyZSwgV29yayBQcmVzc3VyZSwgQ0dQQSwgU3R1ZHkgU2F0aXNmYWN0aW9uLCBKb2IgU2F0aXNmYWN0aW9uLCBXb3JrL1N0dWR5IEhvdXJzLCBGaW5hbmNpYWwgU3RyZXNzLg0KDQpDYXRlZ29yaWNhbCAob2JqZWN0KTpHZW5kZXIsIFNsZWVwIER1cmF0aW9uLCBEaWV0YXJ5IEhhYml0cywgRGVncmVlLCBGYW1pbHkgSGlzdG9yeSBvZiBNZW50YWwgSWxsbmVzcywgU3VpY2lkYWwgVGhvdWdodHMuDQoNClRhcmdldCBWYXJpYWJsZTpEZXByZXNzaW9uIChpbnQsIDAgb3IgMSkNCg0KDQoqKk51bWJlciBvZiBSZWNvcmRzKioNCg0KVG90YWwgcmVjb3JkczogMjcsOTAxDQoNCk1vc3QgY29sdW1ucyBoYXZlIG5vIG1pc3NpbmcgdmFsdWVzLCBleGNlcHQ6DQoNCkZpbmFuY2lhbCBTdHJlc3M6IDMgbWlzc2luZyB2YWx1ZXMgKHJlbW92ZWQpDQoNCg0KDQpgYGB7cn0NCmRhdGEgPC0gcmVhZC5jc3YoIlN0dWRlbnQgRGVwcmVzc2lvbiBEYXRhc2V0LmNzdiIpDQpgYGANCmBgYHtyfQ0KY2xlYW5fZGF0YSA8LSBkYXRhWyFpcy5uYShkYXRhJEZpbmFuY2lhbF9TdHJlc3MpLCBdDQpgYGANCg0KDQoNCioqT3RoZXIgSW50ZXJlc3RpbmcgTm90ZXMqKg0KUmVzcG9uZGVudHMgY29tZSBmcm9tIHZhcmlvdXMgY2l0aWVzIGFuZCBlZHVjYXRpb25hbCBiYWNrZ3JvdW5kcy4NCg0KQWdlIHZhcmllcyB3aWRlbHkgKHN0dWRlbnRzIGluIGJvdGggdW5kZXJncmFkIGFuZCBwb3N0Z3JhZCkuDQoNCg0KDQoqKlJlc291cmNlIDE6IENoaS1zcXVhcmUgVGVzdCoqDQoNClRvIGRldGVybWluZSB3aGV0aGVyIHRoZXJlIGlzIGEgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCBhc3NvY2lhdGlvbiBiZXR3ZWVuIEdlbmRlciBhbmQgRGVwcmVzc2lvbiBzdGF0dXMgYW1vbmcgc3R1ZGVudHMuDQoNCioqVmFyaWFibGVzIFVzZWQqKg0KR2VuZGVyOiBDYXRlZ29yaWNhbCB2YXJpYWJsZSB3aXRoIGxldmVscyBNYWxlIGFuZCBGZW1hbGUuDQoNCkRlcHJlc3Npb246IEJpbmFyeSB2YXJpYWJsZSAoMCA9IE5vLCAxID0gWWVzKS4NCg0KTWV0aG9kOiBBIENoaS1zcXVhcmUgdGVzdCBvZiBpbmRlcGVuZGVuY2Ugd2FzIHBlcmZvcm1lZCB1c2luZyBhIGNvbnRpbmdlbmN5IHRhYmxlIG9mIHRoZSBjb3VudHMgb2YgZGVwcmVzc2VkIGFuZCBub24tZGVwcmVzc2VkIGluZGl2aWR1YWxzIGdyb3VwZWQgYnkgZ2VuZGVyLg0KDQoNCg0KYGBge3J9DQojIExvYWQgeW91ciBkYXRhc2V0DQpkYXRhIDwtIHJlYWQuY3N2KCJTdHVkZW50IERlcHJlc3Npb24gRGF0YXNldC5jc3YiKQ0KDQojIENyZWF0ZSBhIGNvbnRpbmdlbmN5IHRhYmxlIGJldHdlZW4gR2VuZGVyIGFuZCBEZXByZXNzaW9uDQpnZW5kZXJfZGVwcmVzc2lvbl90YWJsZSA8LSB0YWJsZShkYXRhJEdlbmRlciwgZGF0YSREZXByZXNzaW9uKQ0KDQojIFZpZXcgdGhlIGNvbnRpbmdlbmN5IHRhYmxlDQpwcmludChnZW5kZXJfZGVwcmVzc2lvbl90YWJsZSkNCg0KIyBQZXJmb3JtIENoaS1zcXVhcmUgdGVzdCBvZiBpbmRlcGVuZGVuY2UNCmNoaXNxX3Rlc3QgPC0gY2hpc3EudGVzdChnZW5kZXJfZGVwcmVzc2lvbl90YWJsZSkNCg0KIyBWaWV3IHJlc3VsdHMNCnByaW50KGNoaXNxX3Rlc3QpDQoNCmBgYA0KKipJbnRlcnByZXRhdGlvbioqDQoNCldpdGggYSBwLXZhbHVlIG9mIDAuNzc0LCB3ZSBmYWlsIHRvIHJlamVjdCB0aGUgbnVsbCBoeXBvdGhlc2lzLiBUaGlzIG1lYW5zIHRoZXJlIGlzIG5vIHN0YXRpc3RpY2FsbHkgc2lnbmlmaWNhbnQgYXNzb2NpYXRpb24gYmV0d2VlbiBnZW5kZXIgYW5kIGRlcHJlc3Npb24gc3RhdHVzIGluIHRoaXMgZGF0YXNldC4NCg0KDQoNCmBgYHtyfQ0KIyBMb2FkIGRhdGENCmRhdGEgPC0gcmVhZC5jc3YoIlN0dWRlbnQgRGVwcmVzc2lvbiBEYXRhc2V0LmNzdiIpDQoNCiMgUmVtb3ZlIG1pc3NpbmcgdmFsdWVzIGluIENHUEEgb3IgRGVwcmVzc2lvbiBpZiBhbnkNCmRhdGFfY2xlYW4gPC0gbmEub21pdChkYXRhWywgYygiQ0dQQSIsICJEZXByZXNzaW9uIildKQ0KDQojIFJ1biB0aGUgVC10ZXN0DQp0X3Rlc3QgPC0gdC50ZXN0KENHUEEgfiBEZXByZXNzaW9uLCBkYXRhID0gZGF0YV9jbGVhbikNCg0KIyBWaWV3IHJlc3VsdHMNCnByaW50KHRfdGVzdCkNCg0KDQpgYGANCg0KDQoqKkludGVycHJldGF0aW9uKioNCg0KQSBULXRlc3Qgd2FzIGNvbmR1Y3RlZCB0byBleGFtaW5lIHdoZXRoZXIgdGhlcmUgd2FzIGEgZGlmZmVyZW5jZSBpbiBHUEEgYmV0d2VlbiBzdHVkZW50cyB3aG8gd2VyZSBkZXByZXNzZWQgYW5kIHRob3NlIHdobyB3ZXJlIG5vdC4gVGhlIG1lYW4gR1BBIGZvciBkZXByZXNzZWQgc3R1ZGVudHMgKE0gPSA3LjY4KSB3YXMgc2xpZ2h0bHkgaGlnaGVyIHRoYW4gZm9yIG5vbi1kZXByZXNzZWQgc3R1ZGVudHMgKE0gPSA3LjYyKS4gVGhpcyBkYXRhIHNob3dzIHRoYXQgZGVwcmVzc2VkIHN0dWRlbnRzIChncm91cCAxKSBoYXZlIGEgc2xpZ2h0bHkgaGlnaGVyIGF2ZXJhZ2UgQ0dQQSAoNy42OCkgdGhhbiBub24tZGVwcmVzc2VkIHN0dWRlbnRzICg3LjYyKS4gRXZlbiB0aG91Z2ggdGhlIGRpZmZlcmVuY2UgaXMgc21hbGwsIGl0IGlzIHN0YXRpc3RpY2FsbHkgc2lnbmlmaWNhbnQsIG1lYW5pbmcgaXQgaXMgdW5saWtlbHkgZHVlIHRvIGNoYW5jZS4NCg0KDQoNCioqR29hbCBvZiBNdWx0aXBsZSBMaW5lYXIgUmVncmVzc2lvbjoqKg0KDQpUbyBwcmVkaWN0IENHUEEgdXNpbmcgbXVsdGlwbGUgcHJlZGljdG9yIHZhcmlhYmxlcyBsaWtlOg0KDQotU2xlZXAgRHVyYXRpb24NCg0KLUZpbmFuY2lhbCBTdHJlc3MNCg0KLURlcHJlc3Npb24NCg0KLVN0dWR5IEhvdXJzDQoNCi1BbnhpZXR5DQoNCg0KYGBge3J9DQpkYXRhIDwtIHJlYWQuY3N2KCJTdHVkZW50IERlcHJlc3Npb24gRGF0YXNldC5jc3YiKQ0KDQptbHJfZGF0YSA8LSBuYS5vbWl0KGRhdGFbLCBjKCJDR1BBIiwgIlNsZWVwLkR1cmF0aW9uIiwgIkZpbmFuY2lhbC5TdHJlc3MiLCAiRGVwcmVzc2lvbiIsICJXb3JrLlN0dWR5LkhvdXJzIildKQ0KDQptbHJfbW9kZWwgPC0gbG0oQ0dQQSB+IFNsZWVwLkR1cmF0aW9uICsgRmluYW5jaWFsLlN0cmVzcyArIERlcHJlc3Npb24gKyBXb3JrLlN0dWR5LkhvdXJzLCBkYXRhID0gbWxyX2RhdGEpDQoNCnN1bW1hcnkobWxyX21vZGVsKQ0KDQpgYGANCg0KDQoqKkludGVycHJldGF0aW9uKioNCg0KVGhpcyBtb2RlbCBleHBsYWlucyBsZXNzIHRoYW4gMSUgb2YgdGhlIHZhcmlhdGlvbiBpbiBDR1BBLg0KDQpXZSBub3RpY2VkIHRoYXQgc3R1ZGVudHMgc2xlZXBpbmcgbGVzcyB0aGFuIDUgaG91cnMgb3IgbW9yZSB0aGFuIDggaG91cnMgaGFkIHNsaWdodGx5IGxvd2VyIENHUEEuDQoNCkRlcHJlc3Npb24gd2FzIGFzc29jaWF0ZWQgd2l0aCBhIGhpZ2hlciBDR1BBLCB3aGljaCBtYXRjaGVzIHRoZSB0LXRlc3QgcmVzdWx0Lg0KDQpTdHVkZW50cyB3aG8gc2xlZXAgbW9yZSBhbmQgc3R1ZHkgbW9yZSB0ZW5kIHRvIGhhdmUgaGlnaGVyIEdQQXMsIHdoaWxlIGZpbmFuY2lhbCBzdHJlc3MgbmVnYXRpdmVseSBhZmZlY3RzIGFjYWRlbWljIHBlcmZvcm1hbmNlLiANCg0KDQoqKlRlc3QgVHlwZQlSZXN1bHQgU3VtbWFyeSoqDQoNCkNoaS1TcXVhci1ObyBzaWduaWZpY2FudCBsaW5rIGJldHdlZW4gZ2VuZGVyIGFuZCBkZXByZXNzaW9uDQpULVRlcy1EZXByZXNzZWQgc3R1ZGVudHMgaGFkIHNsaWdodGx5IGhpZ2hlciBHUEFzIChzaWduaWZpY2FudCkNClJlZ3Jlc3Npby1XZWFrIG1vZGVsLCBidXQgc2xlZXAgYW5kIGRlcHJlc3Npb24gaGFkIHNpZ25pZmljYW50IGVmZmVjdHMNCg0KDQoNCg0KKipGaW5hbCBDb25jbHVzaW9ucyoqDQoNCkluIHRoaXMgcHJvamVjdCwgd2UgbG9va2VkIGludG8gaG93IGRpZmZlcmVudCBmYWN0b3JzIG1pZ2h0IGJlIHJlbGF0ZWQgdG8gc3R1ZGVudCBkZXByZXNzaW9uIGFuZCBhY2FkZW1pYyBwZXJmb3JtYW5jZSAoR1BBKSwgdXNpbmcgYSBsYXJnZSBkYXRhc2V0IHdpdGggb3ZlciAyNywwMDAgc3R1ZGVudHMuIFdlIHVzZWQgdGhyZWUgbWFpbiBzdGF0aXN0aWNhbCBtZXRob2RzOiBDaGktc3F1YXJlLCBULXRlc3QsIGFuZCBNdWx0aXBsZSBMaW5lYXIgUmVncmVzc2lvbi4NCg0KQ2hpLXNxdWFyZSB0ZXN0OiBXZSBjaGVja2VkIGlmIGdlbmRlciBhbmQgZGVwcmVzc2lvbiB3ZXJlIHJlbGF0ZWQuIFR1cm5zIG91dCwgdGhlcmXigJlzIG5vIHNpZ25pZmljYW50IGNvbm5lY3Rpb24sIGJvdGggbWFsZSBhbmQgZmVtYWxlIHN0dWRlbnRzIHJlcG9ydGVkIGRlcHJlc3Npb24gYXQgc2ltaWxhciByYXRlcy4NCg0KVC10ZXN0OiBXZSBjb21wYXJlZCBDR1BBIGJldHdlZW4gc3R1ZGVudHMgd2l0aCBhbmQgd2l0aG91dCBkZXByZXNzaW9uLiBUaGUgcmVzdWx0cyBzaG93ZWQgYSBzbWFsbCBidXQgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCBkaWZmZXJlbmNlLCBzdHVkZW50cyB3aXRoIGRlcHJlc3Npb24gYWN0dWFsbHkgaGFkIGEgc2xpZ2h0bHkgaGlnaGVyIENHUEEuIEl04oCZcyBzdXJwcmlzaW5nLCBidXQgdGhlIGRpZmZlcmVuY2UgaXMgcHJldHR5IHNtYWxsIG92ZXJhbGwuDQoNCk11bHRpcGxlIExpbmVhciBSZWdyZXNzaW9uOiBXZSBhdHRlbXB0ZWQgdG8gcHJlZGljdCBHUEEgYmFzZWQgb24gdGhpbmdzIGxpa2Ugc2xlZXAgZHVyYXRpb24sIGZpbmFuY2lhbCBzdHJlc3MsIGRlcHJlc3Npb24sIGFuZCBzdHVkeS93b3JrIGhvdXJzLiBUaGUgbW9kZWwgZGlkbuKAmXQgZXhwbGFpbiBtdWNoLCBidXQgYSBmZXcgZmFjdG9ycyBzdG9vZCBvdXQuIFN0dWRlbnRzIHdobyBzbGVlcCBsZXNzIHRoYW4gNSBob3VycyBvciBtb3JlIHRoYW4gOCB0ZW5kIHRvIGhhdmUgbG93ZXIgR1BBcy4gQWxzbywgZGVwcmVzc2lvbiBzaG93ZWQgYSBzbWFsbCBwb3NpdGl2ZSBsaW5rIHRvIENHUEEgYWdhaW4sIGp1c3QgbGlrZSBpbiB0aGUgVC10ZXN0Lg0KDQoqKkZpbmFsIFRob3VnaHRzOioqDQoNCkdlbmRlciBkb2VzbuKAmXQgcmVhbGx5IHNlZW0gdG8gYWZmZWN0IGRlcHJlc3Npb24gcmF0ZXMgaW4gdGhpcyBncm91cC4NCg0KRGVwcmVzc2lvbiBkb2Vzbid0IG5lY2Vzc2FyaWx5IGh1cnQgYWNhZGVtaWMgcGVyZm9ybWFuY2UsIGF0IGxlYXN0IGJhc2VkIG9uIEdQQS4NCg0KU2xlZXAgc2VlbXMgdG8gbWF0dGVyIGEgYml0IOKAlCB0b28gbGl0dGxlIG9yIHRvbyBtdWNoIG1pZ2h0IGh1cnQgR1BBLg0KDQpPdmVyYWxsLCB0aGVzZSBmYWN0b3JzIGRvbuKAmXQgcHJlZGljdCBHUEEgc3VwZXIgd2VsbCwgYnV0IHNvbWUgaW50ZXJlc3RpbmcgdHJlbmRzIHBvcHBlZCB1cC4NCg0K