This is an R Markdown
Notebook. When you execute code within the notebook, the results appear
beneath the code.
Try executing this chunk by clicking the Run button within
the chunk or by placing your cursor inside it and pressing
Ctrl+Shift+Enter.
These lines load the packages for use in our current session.
install.packages("tidyverse")
install.packages("readr")
install.packages("data.table")
install.packages("ggplot2")
install.packages("janitor")
install.packages("lubridate")
install.packages("scales")
install.packages("corrplot")
install.packages("reshape2")
library(corrplot)
library(reshape2)
library(scales)
library(tidyverse)
library(lubridate)
library(readr)
library(ggplot2)
library(janitor)
library(data.table)
These lines import text file into Rstudio
masterfile11_d75_final <- read.delim("~/NYCS survey/2011 data files online/masterfile11_d75_final.txt")
masterfile11_gened_final <- read.delim("~/NYCS survey/2011 data files online/masterfile11_gened_final.txt")
combine both tables into one large data frame named nycs_2011
removes any empty rows and columns
nycs_2011 <- bind_rows(masterfile11_d75_final, masterfile11_gened_final)
nycs_2011 <- janitor::remove_empty(nycs_2011, which = c("rows"))
nycs_2011 <- janitor::remove_empty(nycs_2011, which = c("cols"))
Filter the data for school that did participate in the surveys
nycs_2011 <- nycs_2011%>%
filter(studentssurveyed == "Yes")
This line created the dataframe “nycs_v2” with on the specific
columns need for analysis
nycs_v2 <- select(nycs_2011, dbn, bn, N_s, N_t, N_p, nr_s, nr_t, nr_p,saf_p_11, com_p_11, eng_p_11, aca_p_11, saf_t_11, com_t_11, eng_t_11, aca_t_11, saf_s_11, com_s_11, eng_s_11, aca_s_11, saf_tot_11, com_tot_11, eng_tot_11, aca_tot_11)
Give each column in the nycs_v2 a clearer column name
nycs_v2 <- rename(nycs_v2, academic_total = aca_tot_11,
engagement_total = eng_tot_11,
communication_total = com_tot_11,
safety_respect_total = saf_tot_11,
stud_academic = aca_s_11,
stud_engagement = eng_s_11,
stud_communication = com_s_11,
stud_safety_resp = saf_s_11,
teacher_academic = aca_t_11,
teacher_engagement = eng_t_11,
teacher_communication = com_t_11,
teacher_safety_resp = saf_t_11,
parent_academic = aca_p_11,
parent_engagement = eng_p_11,
parent_communication = com_p_11,
parent_safety_resp = saf_p_11,
eligible_parent = nr_p,
eligible_student = nr_s,
eligible_teacher = nr_t,
student_respondents = N_s,
teacher_respondents = N_t,
parent_respondents = N_p)
Error in `rename()`:
! Can't rename columns that don't exist.
✖ Column `aca_tot_11` doesn't exist.
Run `]8;;x-r-run:rlang::last_trace()rlang::last_trace()]8;;` to see where the error occurred.
Save data frame
write.csv(nycs_v2, file = "NYCS survey/nycs_working/nycs_v2.csv")
#Create a dataframe with data column grouped by demographic
perception_academic <- select(nycs_v2, parent_safety_resp, parent_communication, parent_engagement, parent_academic,
teacher_safety_resp, teacher_communication, teacher_engagement, teacher_academic,
stud_safety_resp, stud_communication, stud_engagement, stud_academic,
academic_total)
Now we calculate the correlations between all of these columns
#create the plot
cor_matrix <- cor(perception_academic, use = "complete.obs")
corrplot(cor_matrix, method = "circle", type = "upper", tl.col = "black", tl.srt = 45)
#organize the data to make it easier to work with #Rearrange data
using “melt”. This puts all perception scores in one column, and the
group in another.
academic.df <- select(nycs_v2 , stud_academic, teacher_academic, parent_academic)
academic.df <- melt(academic.df)
#create the boxplot
ggplot(academic.df , aes(x = variable, y = value, fill = variable)) + geom_boxplot(alpha = 0.7) +
labs(title = "Comparison of Academic Perceptions by Group", x = "Group", y = "Academic Perception Score") + theme(axis.text.x = element_text(angle = 45))
repeat same process for engagement
#organize the data to make it easier to work with #Use melt to
rearrange date #create the boxplot
engagement.df <- select(nycs_v2, stud_engagement, teacher_engagement, parent_engagement)
engagement.df <- melt(engagement.df)
ggplot(engagement.df , aes(x = variable, y = value, fill = variable)) + geom_boxplot(alpha = 0.7) + labs(title = "Comparison of Engagement Perceptions by Group",x = "Group", y = "Engagement Perception Score") + theme(axis.text.x = element_text(angle = 15))
#Repeat same process for communication #organize the data to make it
easier to work with #Use melt to rearrange date #create the boxplot
communication.df <- select(nycs_v2 , stud_communication, teacher_communication, parent_communication)
communication.df <- melt(communication.df)
ggplot(communication.df , aes(x = variable, y = value, fill = variable)) + geom_boxplot(alpha = 0.7) + labs(title = "Comparison of Communication Perceptions by Group", x = "Group", y = "Communication Perception Score") + theme(axis.text.x = element_text(angle = 15))
#Repeat same process for Safety & Respect #organize the data to
make it easier to work with #Use melt to rearrange date #create the
boxplot
safety_respect.df <- select(nycs_v2 , stud_safety_resp, teacher_safety_resp, parent_safety_resp)
safety_respect.df <- melt(safety_respect.df)
ggplot(safety_respect.df , aes(x = variable, y = value, fill = variable)) + geom_boxplot(alpha = 0.7) + labs(title = "Comparison of Safety & Respect Perceptions by Group",x = "Group", y = "Safety & Respect Perception Score") + theme(axis.text.x = element_text(angle = 15))
LS0tDQp0aXRsZTogIk5ZQyBTY2hvb2wgU3VydmV5ICBSIE5vdGVib29rIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQphdXRob3I6IEphdmF1bmllIFdhbHRlcnMNCi0tLQ0KDQpUaGlzIGlzIGFuIFtSIE1hcmtkb3duXShodHRwOi8vcm1hcmtkb3duLnJzdHVkaW8uY29tKSBOb3RlYm9vay4gV2hlbiB5b3UNCmV4ZWN1dGUgY29kZSB3aXRoaW4gdGhlIG5vdGVib29rLCB0aGUgcmVzdWx0cyBhcHBlYXIgYmVuZWF0aCB0aGUgY29kZS4NCg0KVHJ5IGV4ZWN1dGluZyB0aGlzIGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqUnVuKiBidXR0b24gd2l0aGluIHRoZSBjaHVuaw0Kb3IgYnkgcGxhY2luZyB5b3VyIGN1cnNvciBpbnNpZGUgaXQgYW5kIHByZXNzaW5nICpDdHJsK1NoaWZ0K0VudGVyKi4NCg0KIyBUaGVzZSBsaW5lcyBsb2FkIHRoZSBwYWNrYWdlcyBmb3IgdXNlIGluIG91ciBjdXJyZW50IHNlc3Npb24uDQoNCmBgYHtyfQ0KaW5zdGFsbC5wYWNrYWdlcygidGlkeXZlcnNlIikNCmluc3RhbGwucGFja2FnZXMoInJlYWRyIikNCmluc3RhbGwucGFja2FnZXMoImRhdGEudGFibGUiKQ0KaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpDQppbnN0YWxsLnBhY2thZ2VzKCJqYW5pdG9yIikNCmluc3RhbGwucGFja2FnZXMoImx1YnJpZGF0ZSIpDQppbnN0YWxsLnBhY2thZ2VzKCJzY2FsZXMiKQ0KaW5zdGFsbC5wYWNrYWdlcygiY29ycnBsb3QiKQ0KaW5zdGFsbC5wYWNrYWdlcygicmVzaGFwZTIiKQ0KbGlicmFyeShjb3JycGxvdCkNCmxpYnJhcnkocmVzaGFwZTIpDQpsaWJyYXJ5KHNjYWxlcykNCmxpYnJhcnkodGlkeXZlcnNlKQ0KbGlicmFyeShsdWJyaWRhdGUpDQpsaWJyYXJ5KHJlYWRyKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShqYW5pdG9yKQ0KbGlicmFyeShkYXRhLnRhYmxlKQ0KYGBgDQoNCiMgVGhlc2UgbGluZXMgaW1wb3J0IHRleHQgZmlsZSBpbnRvIFJzdHVkaW8NCg0KYGBge3J9DQptYXN0ZXJmaWxlMTFfZDc1X2ZpbmFsIDwtIHJlYWQuZGVsaW0oIn4vTllDUyBzdXJ2ZXkvMjAxMSBkYXRhIGZpbGVzIG9ubGluZS9tYXN0ZXJmaWxlMTFfZDc1X2ZpbmFsLnR4dCIpDQptYXN0ZXJmaWxlMTFfZ2VuZWRfZmluYWwgPC0gcmVhZC5kZWxpbSgifi9OWUNTIHN1cnZleS8yMDExIGRhdGEgZmlsZXMgb25saW5lL21hc3RlcmZpbGUxMV9nZW5lZF9maW5hbC50eHQiKQ0KDQpgYGANCg0KIyBjb21iaW5lIGJvdGggdGFibGVzIGludG8gb25lIGxhcmdlIGRhdGEgZnJhbWUgbmFtZWQgbnljc18yMDExDQoNCiMgcmVtb3ZlcyBhbnkgZW1wdHkgcm93cyBhbmQgY29sdW1ucw0KDQpgYGB7cn0NCm55Y3NfMjAxMSA8LSBiaW5kX3Jvd3MobWFzdGVyZmlsZTExX2Q3NV9maW5hbCwgbWFzdGVyZmlsZTExX2dlbmVkX2ZpbmFsKQ0Kbnljc18yMDExIDwtIGphbml0b3I6OnJlbW92ZV9lbXB0eShueWNzXzIwMTEsIHdoaWNoID0gYygicm93cyIpKQ0Kbnljc18yMDExIDwtIGphbml0b3I6OnJlbW92ZV9lbXB0eShueWNzXzIwMTEsIHdoaWNoID0gYygiY29scyIpKQ0KYGBgDQoNCiMgRmlsdGVyIHRoZSBkYXRhIGZvciBzY2hvb2wgdGhhdCBkaWQgcGFydGljaXBhdGUgaW4gdGhlIHN1cnZleXMNCg0KYGBge3J9DQpueWNzXzIwMTEgPC0gbnljc18yMDExJT4lDQogIGZpbHRlcihzdHVkZW50c3N1cnZleWVkID09ICAiWWVzIikNCmBgYA0KDQojIFRoaXMgbGluZSBjcmVhdGVkIHRoZSBkYXRhZnJhbWUgIm55Y3NfdjIiIHdpdGggb24gdGhlIHNwZWNpZmljIGNvbHVtbnMgbmVlZCBmb3IgYW5hbHlzaXMNCg0KYGBge3J9DQpueWNzX3YyIDwtIHNlbGVjdChueWNzXzIwMTEsIGRibiwgYm4sIE5fcywgTl90LCBOX3AsIG5yX3MsIG5yX3QsIG5yX3Asc2FmX3BfMTEsIGNvbV9wXzExLCBlbmdfcF8xMSwgYWNhX3BfMTEsIHNhZl90XzExLCBjb21fdF8xMSwgZW5nX3RfMTEsIGFjYV90XzExLCBzYWZfc18xMSwgY29tX3NfMTEsIGVuZ19zXzExLCBhY2Ffc18xMSwgc2FmX3RvdF8xMSwgY29tX3RvdF8xMSwgZW5nX3RvdF8xMSwgYWNhX3RvdF8xMSkNCmBgYA0KDQojIEdpdmUgZWFjaCBjb2x1bW4gaW4gdGhlIG55Y3NfdjIgYSBjbGVhcmVyIGNvbHVtbiBuYW1lDQoNCmBgYHtyfQ0Kbnljc192MiA8LSByZW5hbWUobnljc192MiwgYWNhZGVtaWNfdG90YWwgPSBhY2FfdG90XzExLA0KICAgICAgICAgICAgICAgICAgICBlbmdhZ2VtZW50X3RvdGFsID0gZW5nX3RvdF8xMSwNCiAgICAgICAgICAgICAgICAgICAgY29tbXVuaWNhdGlvbl90b3RhbCA9IGNvbV90b3RfMTEsDQogICAgICAgICAgICAgICAgICAgIHNhZmV0eV9yZXNwZWN0X3RvdGFsID0gc2FmX3RvdF8xMSwNCiAgICAgICAgICAgICAgICAgICAgc3R1ZF9hY2FkZW1pYyA9IGFjYV9zXzExLA0KICAgICAgICAgICAgICAgICAgICBzdHVkX2VuZ2FnZW1lbnQgPSBlbmdfc18xMSwNCiAgICAgICAgICAgICAgICAgICAgc3R1ZF9jb21tdW5pY2F0aW9uID0gY29tX3NfMTEsDQogICAgICAgICAgICAgICAgICAgIHN0dWRfc2FmZXR5X3Jlc3AgPSBzYWZfc18xMSwNCiAgICAgICAgICAgICAgICAgICAgdGVhY2hlcl9hY2FkZW1pYyA9IGFjYV90XzExLA0KICAgICAgICAgICAgICAgICAgICB0ZWFjaGVyX2VuZ2FnZW1lbnQgPSBlbmdfdF8xMSwNCiAgICAgICAgICAgICAgICAgICAgdGVhY2hlcl9jb21tdW5pY2F0aW9uID0gY29tX3RfMTEsDQogICAgICAgICAgICAgICAgICAgIHRlYWNoZXJfc2FmZXR5X3Jlc3AgPSBzYWZfdF8xMSwNCiAgICAgICAgICAgICAgICAgICAgcGFyZW50X2FjYWRlbWljID0gYWNhX3BfMTEsDQogICAgICAgICAgICAgICAgICAgIHBhcmVudF9lbmdhZ2VtZW50ID0gZW5nX3BfMTEsDQogICAgICAgICAgICAgICAgICAgIHBhcmVudF9jb21tdW5pY2F0aW9uID0gY29tX3BfMTEsDQogICAgICAgICAgICAgICAgICAgIHBhcmVudF9zYWZldHlfcmVzcCA9IHNhZl9wXzExLA0KICAgICAgICAgICAgICAgICAgICBlbGlnaWJsZV9wYXJlbnQgPSBucl9wLA0KICAgICAgICAgICAgICAgICAgICBlbGlnaWJsZV9zdHVkZW50ID0gbnJfcywNCiAgICAgICAgICAgICAgICAgICAgZWxpZ2libGVfdGVhY2hlciA9IG5yX3QsDQogICAgICAgICAgICAgICAgICAgIHN0dWRlbnRfcmVzcG9uZGVudHMgPSBOX3MsDQogICAgICAgICAgICAgICAgICAgIHRlYWNoZXJfcmVzcG9uZGVudHMgPSBOX3QsDQogICAgICAgICAgICAgICAgICAgIHBhcmVudF9yZXNwb25kZW50cyA9IE5fcCkNCmBgYA0KDQojIFNhdmUgZGF0YSBmcmFtZQ0KDQpgYGB7cn0NCndyaXRlLmNzdihueWNzX3YyLCBmaWxlID0gIk5ZQ1Mgc3VydmV5L255Y3Nfd29ya2luZy9ueWNzX3YyLmNzdiIpDQoNCmBgYA0KDQojQ3JlYXRlIGEgZGF0YWZyYW1lIHdpdGggZGF0YSBjb2x1bW4gZ3JvdXBlZCBieSBkZW1vZ3JhcGhpYw0KDQpgYGB7cn0NCg0KcGVyY2VwdGlvbl9hY2FkZW1pYyA8LSBzZWxlY3Qobnljc192MiwgcGFyZW50X3NhZmV0eV9yZXNwLCBwYXJlbnRfY29tbXVuaWNhdGlvbiwgcGFyZW50X2VuZ2FnZW1lbnQsIHBhcmVudF9hY2FkZW1pYywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlYWNoZXJfc2FmZXR5X3Jlc3AsIHRlYWNoZXJfY29tbXVuaWNhdGlvbiwgdGVhY2hlcl9lbmdhZ2VtZW50LCB0ZWFjaGVyX2FjYWRlbWljLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R1ZF9zYWZldHlfcmVzcCwgc3R1ZF9jb21tdW5pY2F0aW9uLCBzdHVkX2VuZ2FnZW1lbnQsIHN0dWRfYWNhZGVtaWMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2FkZW1pY190b3RhbCkNCmBgYA0KDQojIE5vdyB3ZSBjYWxjdWxhdGUgdGhlIGNvcnJlbGF0aW9ucyBiZXR3ZWVuIGFsbCBvZiB0aGVzZSBjb2x1bW5zDQoNCiNjcmVhdGUgdGhlIHBsb3QNCg0KYGBge3J9DQpjb3JfbWF0cml4IDwtIGNvcihwZXJjZXB0aW9uX2FjYWRlbWljLCB1c2UgPSAiY29tcGxldGUub2JzIikNCmNvcnJwbG90KGNvcl9tYXRyaXgsIG1ldGhvZCA9ICJjaXJjbGUiLCB0eXBlID0gInVwcGVyIiwgdGwuY29sID0gImJsYWNrIiwgdGwuc3J0ID0gNDUpDQpgYGANCg0KI29yZ2FuaXplIHRoZSBkYXRhIHRvIG1ha2UgaXQgZWFzaWVyIHRvIHdvcmsgd2l0aCAjUmVhcnJhbmdlIGRhdGEgdXNpbmcNCiJtZWx0Ii4gVGhpcyBwdXRzIGFsbCBwZXJjZXB0aW9uIHNjb3JlcyBpbiBvbmUgY29sdW1uLCBhbmQgdGhlIGdyb3VwIGluDQphbm90aGVyLg0KDQpgYGB7cn0NCmFjYWRlbWljLmRmIDwtIHNlbGVjdChueWNzX3YyICwgc3R1ZF9hY2FkZW1pYywgdGVhY2hlcl9hY2FkZW1pYywgcGFyZW50X2FjYWRlbWljKQ0KYWNhZGVtaWMuZGYgPC0gbWVsdChhY2FkZW1pYy5kZikNCmBgYA0KDQojY3JlYXRlIHRoZSBib3hwbG90DQoNCmBgYHtyfQ0KZ2dwbG90KGFjYWRlbWljLmRmICwgYWVzKHggPSB2YXJpYWJsZSwgeSA9IHZhbHVlLCBmaWxsID0gdmFyaWFibGUpKSArIGdlb21fYm94cGxvdChhbHBoYSA9IDAuNykgKw0KICBsYWJzKHRpdGxlID0gIkNvbXBhcmlzb24gb2YgQWNhZGVtaWMgUGVyY2VwdGlvbnMgYnkgR3JvdXAiLCB4ID0gIkdyb3VwIiwgeSA9ICJBY2FkZW1pYyBQZXJjZXB0aW9uIFNjb3JlIikgKyB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1KSkNCg0KYGBgDQoNCiMgcmVwZWF0IHNhbWUgcHJvY2VzcyBmb3IgZW5nYWdlbWVudA0KDQojb3JnYW5pemUgdGhlIGRhdGEgdG8gbWFrZSBpdCBlYXNpZXIgdG8gd29yayB3aXRoICNVc2UgbWVsdCB0byByZWFycmFuZ2UNCmRhdGUgI2NyZWF0ZSB0aGUgYm94cGxvdA0KDQpgYGB7cn0NCmVuZ2FnZW1lbnQuZGYgPC0gc2VsZWN0KG55Y3NfdjIsIHN0dWRfZW5nYWdlbWVudCwgdGVhY2hlcl9lbmdhZ2VtZW50LCBwYXJlbnRfZW5nYWdlbWVudCkNCg0KZW5nYWdlbWVudC5kZiA8LSBtZWx0KGVuZ2FnZW1lbnQuZGYpDQoNCmdncGxvdChlbmdhZ2VtZW50LmRmICwgYWVzKHggPSB2YXJpYWJsZSwgeSA9IHZhbHVlLCBmaWxsID0gdmFyaWFibGUpKSArIGdlb21fYm94cGxvdChhbHBoYSA9IDAuNykgKyBsYWJzKHRpdGxlID0gIkNvbXBhcmlzb24gb2YgRW5nYWdlbWVudCBQZXJjZXB0aW9ucyBieSBHcm91cCIseCA9ICJHcm91cCIsIHkgPSAiRW5nYWdlbWVudCBQZXJjZXB0aW9uIFNjb3JlIikgKyB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDE1KSkNCmBgYA0KDQojUmVwZWF0IHNhbWUgcHJvY2VzcyBmb3IgY29tbXVuaWNhdGlvbiAjb3JnYW5pemUgdGhlIGRhdGEgdG8gbWFrZSBpdA0KZWFzaWVyIHRvIHdvcmsgd2l0aCAjVXNlIG1lbHQgdG8gcmVhcnJhbmdlIGRhdGUgI2NyZWF0ZSB0aGUgYm94cGxvdA0KDQpgYGB7cn0NCmNvbW11bmljYXRpb24uZGYgPC0gc2VsZWN0KG55Y3NfdjIgLCBzdHVkX2NvbW11bmljYXRpb24sIHRlYWNoZXJfY29tbXVuaWNhdGlvbiwgcGFyZW50X2NvbW11bmljYXRpb24pDQoNCmNvbW11bmljYXRpb24uZGYgPC0gbWVsdChjb21tdW5pY2F0aW9uLmRmKQ0KDQpnZ3Bsb3QoY29tbXVuaWNhdGlvbi5kZiAsIGFlcyh4ID0gdmFyaWFibGUsIHkgPSB2YWx1ZSwgZmlsbCA9IHZhcmlhYmxlKSkgKyBnZW9tX2JveHBsb3QoYWxwaGEgPSAwLjcpICsgbGFicyh0aXRsZSA9ICJDb21wYXJpc29uIG9mIENvbW11bmljYXRpb24gUGVyY2VwdGlvbnMgYnkgR3JvdXAiLCB4ID0gIkdyb3VwIiwgeSA9ICJDb21tdW5pY2F0aW9uIFBlcmNlcHRpb24gU2NvcmUiKSArIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gMTUpKQ0KDQpgYGANCg0KI1JlcGVhdCBzYW1lIHByb2Nlc3MgZm9yIFNhZmV0eSAmIFJlc3BlY3QgI29yZ2FuaXplIHRoZSBkYXRhIHRvIG1ha2UgaXQNCmVhc2llciB0byB3b3JrIHdpdGggI1VzZSBtZWx0IHRvIHJlYXJyYW5nZSBkYXRlICNjcmVhdGUgdGhlIGJveHBsb3QNCg0KYGBge3J9DQpzYWZldHlfcmVzcGVjdC5kZiA8LSBzZWxlY3Qobnljc192MiAsIHN0dWRfc2FmZXR5X3Jlc3AsIHRlYWNoZXJfc2FmZXR5X3Jlc3AsIHBhcmVudF9zYWZldHlfcmVzcCkNCg0Kc2FmZXR5X3Jlc3BlY3QuZGYgPC0gbWVsdChzYWZldHlfcmVzcGVjdC5kZikNCg0KZ2dwbG90KHNhZmV0eV9yZXNwZWN0LmRmICwgYWVzKHggPSB2YXJpYWJsZSwgeSA9IHZhbHVlLCBmaWxsID0gdmFyaWFibGUpKSArIGdlb21fYm94cGxvdChhbHBoYSA9IDAuNykgKyBsYWJzKHRpdGxlID0gIkNvbXBhcmlzb24gb2YgU2FmZXR5ICYgUmVzcGVjdCBQZXJjZXB0aW9ucyBieSBHcm91cCIseCA9ICJHcm91cCIsIHkgPSAiU2FmZXR5ICYgUmVzcGVjdCBQZXJjZXB0aW9uIFNjb3JlIikgKyAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSAxNSkpDQpgYGANCg==