0.1 R Markdown

1 Introduction

This is the space where I’ll describe the data set and my team and the year…

Below are tables one and two that describe the overall summary for the 2025 season, as well as my team, NY Liberty. …

Table 1 – my team did make the playoffs, etc. … Table 2 –

#table for Team Summaries 2c
summary %>%
  kbl(digits = 2, caption = "Team Summaries") %>%
  kable_paper("hover", full_width = F, html_font = "Cambria") 
Team Summaries
team_name mean_score sd_score mean_fgp sd_fgp mean_rebounds sd_rebounds mean_three sd_three mean_steals sd_steals
Aces 85.52 9.56 45.27 5.82 33.78 5.88 35.27 7.08 6.80 2.67
Dream 76.93 10.59 41.28 6.78 35.95 4.41 30.83 9.32 7.14 2.82
Fever 84.50 10.17 45.56 5.38 35.10 5.49 35.00 8.99 5.88 2.29
Liberty 84.98 9.92 44.53 5.61 36.90 5.77 35.38 10.06 7.75 2.19
Lynx 82.36 11.39 45.21 6.34 33.15 5.06 37.80 9.43 8.36 3.17
Mercury 81.93 12.60 44.28 7.34 32.26 5.39 32.97 10.34 6.55 2.12
Mystics 79.30 8.69 43.36 4.82 31.85 4.66 36.64 8.69 7.28 2.24
Sky 77.40 9.62 42.44 5.22 36.60 5.57 31.74 11.62 7.00 3.30
Sparks 78.40 10.57 42.63 6.15 32.67 5.52 32.09 11.00 7.30 2.78
Storm 82.67 9.65 43.43 5.39 34.67 6.02 28.35 9.03 9.24 3.27
Sun 80.36 9.89 44.30 5.28 33.43 4.62 32.84 11.67 7.89 3.29
Wings 84.20 11.47 44.47 5.24 34.75 4.65 32.06 11.75 7.12 2.95
#table for My Team 2d
my_team_results %>%
  kbl(digits = 1, caption = "My Team Wins/Losses") %>%
  kable_paper("hover", full_width = F, html_font = "Cambria")
My Team Wins/Losses
team_winner mean
FALSE 80.0
TRUE 86.5

2 Histograms

Histogram discussion… Here are side by side histograms for …

library(ggplot2)

p = df_hist %>% 
  ggplot(aes(x=team_score, fill= result)) + geom_histogram(color = "blue", alpha=0.6, position = 'identity') +
  scale_fill_manual(values=c( "purple", "lightblue")) 
  
boxplot(team_score ~ result, data = df_hist, 
        col = c('lightblue', 'lightgreen'),
        main = "Points scored by game result", 
        xlab = "Result", ylab = "Points")  

3 Models

\(~\)

After all models were run and model reduction was completed, my final model is team_score= 3.2455521+ 1.1788679 * field_goal_pct + 0.5183829 * total_rebounds + 0.285623 * three_point_field_goal_pct .

This model significantly predicts team score, f(3, 48) = 32.2409164, p,.00001, adjusted R^2= 0.6476021 .

Dependent variable:
team_score
field_goal_pct 1.179***
(0.181)
total_rebounds 0.518***
(0.151)
three_point_field_goal_pct 0.286***
(0.101)
Constant 3.246
(10.049)
Observations 52
R2 0.668
Adjusted R2 0.648
Residual Std. Error 5.887 (df = 48)
F Statistic 32.241*** (df = 3; 48)
Note: p<0.1; p<0.05; p<0.01
hist(model3$residuals)

plot(model3$fitted.values, model3$residuals)

ols_plot_cooksd_bar(model3)

ols_plot_resid_lev(model3, threshold = 3)

I built this model to predict my team’s points for a game in which they archive the median value for each variable. The predicted team score is 84.6709881, with 95% confidence interval (83.0084105, 86.3335656)

LS0tCnRpdGxlOiAiUiBBc3NpZ25tZW50IDYiCmF1dGhvcjogIkxlYWggWnVyZmx1ZWgiCmRhdGU6ICJBcHJpbCAyNywgMjAyNiIKb3V0cHV0OgogIGh0bWxfZG9jdW1lbnQ6IAogICAgdG9jOiB5ZXMKICAgIHRvY19kZXB0aDogNAogICAgdG9jX2Zsb2F0OiB5ZXMKICAgIG51bWJlcl9zZWN0aW9uczogeWVzCiAgICB0b2NfY29sbGFwc2VkOiB5ZXMKICAgIGNvZGVfZm9sZGluZzogaGlkZQogICAgY29kZV9kb3dubG9hZDogeWVzCiAgICBzbW9vdGhfc2Nyb2xsOiB5ZXMKICAgIHRoZW1lOiBsdW1lbgogIHBkZl9kb2N1bWVudDogCiAgICB0b2M6IHllcwogICAgdG9jX2RlcHRoOiA0CiAgICBmaWdfY2FwdGlvbjogeWVzCiAgICBudW1iZXJfc2VjdGlvbnM6IHllcwogICAgZmlnX3dpZHRoOiAzCiAgICBmaWdfaGVpZ2h0OiAzCiAgd29yZF9kb2N1bWVudDogCiAgICB0b2M6IHllcwogICAgdG9jX2RlcHRoOiA0CiAgICBmaWdfY2FwdGlvbjogeWVzCiAgICBrZWVwX21kOiB5ZXMKZWRpdG9yX29wdGlvbnM6IAogIGNodW5rX291dHB1dF90eXBlOiBpbmxpbmUKLS0tCgpgYGB7Y3NzLCBlY2hvID0gRkFMU0V9CiNUT0M6OmJlZm9yZSB7CiAgY29udGVudDogIlRhYmxlIG9mIENvbnRlbnRzIjsKICBmb250LXdlaWdodDogYm9sZDsKICBmb250LXNpemU6IDEuMmVtOwogIGRpc3BsYXk6IGJsb2NrOwogIGNvbG9yOiBuYXZ5OwogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KCgpkaXYjVE9DIGxpIHsgICAgIC8qIHRhYmxlIG9mIGNvbnRlbnQgICovCiAgICBsaXN0LXN0eWxlOnVwcGVyLXJvbWFuOwogICAgYmFja2dyb3VuZC1pbWFnZTpub25lOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6bm9uZTsKICAgIGJhY2tncm91bmQtcG9zaXRpb246MDsKfQoKaDEudGl0bGUgeyAgICAvKiBsZXZlbCAxIGhlYWRlciBvZiB0aXRsZSAgKi8KICBmb250LXNpemU6IDIycHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgY29sb3I6IERhcmtSZWQ7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGZvbnQtZmFtaWx5OiAiR2lsbCBTYW5zIiwgc2Fucy1zZXJpZjsKfQoKaDQuYXV0aG9yIHsgLyogSGVhZGVyIDQgLSBhbmQgdGhlIGF1dGhvciBhbmQgZGF0YSBoZWFkZXJzIHVzZSB0aGlzIHRvbyAgKi8KICBmb250LXNpemU6IDE1cHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgZm9udC1mYW1pbHk6IHN5c3RlbS11aTsKICBjb2xvcjogbmF2eTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCmg0LmRhdGUgeyAvKiBIZWFkZXIgNCAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLwogIGZvbnQtc2l6ZTogMThweDsKICBmb250LXdlaWdodDogYm9sZDsKICBmb250LWZhbWlseTogIkdpbGwgU2FucyIsIHNhbnMtc2VyaWY7CiAgY29sb3I6IERhcmtCbHVlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKaDEgeyAvKiBIZWFkZXIgMSAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLwogICAgZm9udC1zaXplOiAyMHB4OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsKICAgIGNvbG9yOiBkYXJrcmVkOwogICAgdGV4dC1hbGlnbjogbGVmdDsKfQoKaDIgeyAvKiBIZWFkZXIgMiAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLwogICAgZm9udC1zaXplOiAxOHB4OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsKICAgIGNvbG9yOiBuYXZ5OwogICAgdGV4dC1hbGlnbjogbGVmdDsKfQoKaDMgeyAvKiBIZWFkZXIgMyAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLwogICAgZm9udC1zaXplOiAxNnB4OwogICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsKICAgIGNvbG9yOiBuYXZ5OwogICAgdGV4dC1hbGlnbjogbGVmdDsKfQoKaDQgeyAvKiBIZWFkZXIgNCAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLwogICAgZm9udC1zaXplOiAxNHB4OwogIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7CiAgICBjb2xvcjogZGFya3JlZDsKICAgIHRleHQtYWxpZ246IGxlZnQ7Cn0KCi8qIEFkZCBkb3RzIGFmdGVyIG51bWJlcmVkIGhlYWRlcnMgKi8KLmhlYWRlci1zZWN0aW9uLW51bWJlcjo6YWZ0ZXIgewogIGNvbnRlbnQ6ICIuIjsKCmJvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyB9CgouaGlnaGxpZ2h0bWUgeyBiYWNrZ3JvdW5kLWNvbG9yOnllbGxvdzsgfQoKcCB7IGJhY2tncm91bmQtY29sb3I6d2hpdGU7IH0KCn0KYGBgCgoKYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9CmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSkKCnNldHdkKCJ+L0xpYnJhcnkvQ2xvdWRTdG9yYWdlL09uZURyaXZlLVdlc3RDaGVzdGVyVW5pdmVyc2l0eW9mUEEvU1RBIDMxOSBzcHJpbmcgMjAyNiIpCgpkYXRhPXJlYWQuY3N2KCJXTkJBXzIwMjVfYm94LXNjb3Jlcy5jc3YiLCBoZWFkZXIgPSBUKQoKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGRwbHlyKQpsaWJyYXJ5KGNhcikKbGlicmFyeShvbHNycikKbGlicmFyeShrYWJsZUV4dHJhKQoKYGBgCgojIyBSIE1hcmtkb3duCgoKYGBge3Igd3JhbmdsaW5nLCBpbmNsdWRlPUZBTFNFfQoKc3VtbWFyeShkYXRhKQpsaWJyYXJ5KGRwbHlyKQoKI0FsbCBXQk5BIHRlYW1zIGluY2x1ZGVkLCByZW1vdmUgc2NvcmVzIGZyb20gQWxsIHN0YXIgZ2FtZSAKZGF0YSA9IGRhdGEgJT4lCiAgZmlsdGVyKHRlYW1fbmFtZSAhPSAiVGVhbSBXTkJBIiAmIHRlYW1fbmFtZSAhPSAiVGVhbSBVU0EiKQoKIyBncm91cCBkYXRhIGJ5IHRlYW0sIGZpbmQgbWVhbi9zZCBvZiBhbGwgdmFyaWFibGVzCnN1bW1hcnkgPSBkYXRhICU+JQogIGdyb3VwX2J5KHRlYW1fbmFtZSkgJT4lIAogIHN1bW1hcmlzZShtZWFuX3Njb3JlPW1lYW4odGVhbV9zY29yZSksIHNkX3Njb3JlPXNkKHRlYW1fc2NvcmUpLCAKICAgICAgICAgICAgbWVhbl9mZ3A9bWVhbihmaWVsZF9nb2FsX3BjdCksIHNkX2ZncD1zZChmaWVsZF9nb2FsX3BjdCksIAogICAgICAgICAgIG1lYW5fcmVib3VuZHM9bWVhbih0b3RhbF9yZWJvdW5kcyksIHNkX3JlYm91bmRzPXNkKHRvdGFsX3JlYm91bmRzKSwKICAgICAgICAgICBtZWFuX3RocmVlPW1lYW4odGhyZWVfcG9pbnRfZmllbGRfZ29hbF9wY3QpLCBzZF90aHJlZT1zZCh0aHJlZV9wb2ludF9maWVsZF9nb2FsX3BjdCksCiAgICAgICAgICAgbWVhbl9zdGVhbHM9bWVhbihzdGVhbHMpLCBzZF9zdGVhbHM9c2Qoc3RlYWxzKSkgCgogIAojc2VsZWN0IG9ubHkgdmFyaWFibGVzIHdlIG5lZWQgYW5kIGZpbHRlciBvbiBteSB0ZWFtCm15X3RlYW0gPSBkYXRhICU+JQogIHNlbGVjdCh0ZWFtX3Njb3JlLCBmaWVsZF9nb2FsX3BjdCwgdG90YWxfcmVib3VuZHMsIAogICAgICAgICB0aHJlZV9wb2ludF9maWVsZF9nb2FsX3BjdCwgc3RlYWxzLCB0ZWFtX25hbWUsIHRlYW1fd2lubmVyKSAlPiUKICBmaWx0ZXIodGVhbV9uYW1lID09ICJMaWJlcnR5IikKCiNncm91cHMgY2FzZXMgYnkgd2luIHZzLiBsb3NzCiMgc3VtbWFyaXplIGFsbCB2YXJpYmFsZXMgd2l0aCBtZWFuIGFuZCBzZApteV90ZWFtX3Jlc3VsdHMgPSBteV90ZWFtICU+JSAKICBncm91cF9ieSh0ZWFtX3dpbm5lcikgJT4lCiAgc3VtbWFyaXNlKG1lYW49bWVhbih0ZWFtX3Njb3JlKSkKCmRmX2hpc3QgPSBkYXRhICU+JSAKICAgIGZpbHRlcih0ZWFtX25hbWUgPT0gIkxpYmVydHkiKSAlPiUKICAgIG11dGF0ZSAocmVzdWx0PSBjYXNlX3doZW4odGVhbV93aW5uZXIgPT0gVFJVRSB+ICJ3aW4iLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVhbV93aW5uZXIgPT0gRkFMU0UgfiAibG9zcyIpKQoKYGBgCgojIEludHJvZHVjdGlvbgoKVGhpcyBpcyB0aGUgc3BhY2Ugd2hlcmUgSSdsbCBkZXNjcmliZSB0aGUgZGF0YSBzZXQgYW5kIG15IHRlYW0gYW5kIHRoZSB5ZWFyLi4uCgpCZWxvdyBhcmUgdGFibGVzIG9uZSBhbmQgdHdvIHRoYXQgZGVzY3JpYmUgdGhlIG92ZXJhbGwgc3VtbWFyeSBmb3IgdGhlIDIwMjUgc2Vhc29uLCBhcyB3ZWxsIGFzIG15IHRlYW0sIE5ZIExpYmVydHkuIC4uLgoKVGFibGUgMSAtLSBteSB0ZWFtIGRpZCBtYWtlIHRoZSBwbGF5b2ZmcywgZXRjLiAuLi4KVGFibGUgMiAtLSAKCmBgYHtyIHRhYmxlcywgaW5jbHVkZT1UUlVFfQojdGFibGUgZm9yIFRlYW0gU3VtbWFyaWVzIDJjCnN1bW1hcnkgJT4lCiAga2JsKGRpZ2l0cyA9IDIsIGNhcHRpb24gPSAiVGVhbSBTdW1tYXJpZXMiKSAlPiUKICBrYWJsZV9wYXBlcigiaG92ZXIiLCBmdWxsX3dpZHRoID0gRiwgaHRtbF9mb250ID0gIkNhbWJyaWEiKSAKICAKI3RhYmxlIGZvciBNeSBUZWFtIDJkCm15X3RlYW1fcmVzdWx0cyAlPiUKICBrYmwoZGlnaXRzID0gMSwgY2FwdGlvbiA9ICJNeSBUZWFtIFdpbnMvTG9zc2VzIikgJT4lCiAga2FibGVfcGFwZXIoImhvdmVyIiwgZnVsbF93aWR0aCA9IEYsIGh0bWxfZm9udCA9ICJDYW1icmlhIikKCmBgYAoKIyBIaXN0b2dyYW1zCgpIaXN0b2dyYW0gZGlzY3Vzc2lvbi4uLiAKICBIZXJlIGFyZSBzaWRlIGJ5IHNpZGUgaGlzdG9ncmFtcyBmb3IgLi4uCgoKYGBge3IgZ3JhcGhzLCBpbmNsdWRlPVRSVUUsIGZpZy53aWR0aD00LCBmaWcuaGVpZ2h0PTR9CgpsaWJyYXJ5KGdncGxvdDIpCgpwID0gZGZfaGlzdCAlPiUgCiAgZ2dwbG90KGFlcyh4PXRlYW1fc2NvcmUsIGZpbGw9IHJlc3VsdCkpICsgZ2VvbV9oaXN0b2dyYW0oY29sb3IgPSAiYmx1ZSIsIGFscGhhPTAuNiwgcG9zaXRpb24gPSAnaWRlbnRpdHknKSArCiAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzPWMoICJwdXJwbGUiLCAibGlnaHRibHVlIikpIAogIApib3hwbG90KHRlYW1fc2NvcmUgfiByZXN1bHQsIGRhdGEgPSBkZl9oaXN0LCAKICAgICAgICBjb2wgPSBjKCdsaWdodGJsdWUnLCAnbGlnaHRncmVlbicpLAogICAgICAgIG1haW4gPSAiUG9pbnRzIHNjb3JlZCBieSBnYW1lIHJlc3VsdCIsIAogICAgICAgIHhsYWIgPSAiUmVzdWx0IiwgeWxhYiA9ICJQb2ludHMiKSAgCgpgYGAKCiMgTW9kZWxzCgoKYGBge3IgZmlyc3Qgb3JkZXIgbW9kZWwsIGluY2x1ZGU9RkFMU0V9CiNtb2RlbCAxIGlzIGEgZmlyc3Qgb3JkZXIgbW9kZWwgd2l0aCA0IHRlcm1zIAptb2RlbCA9IGxtKHRlYW1fc2NvcmV+IGZpZWxkX2dvYWxfcGN0ICsgdG90YWxfcmVib3VuZHMgKyB0aHJlZV9wb2ludF9maWVsZF9nb2FsX3BjdCsgc3RlYWxzLCBkYXRhPW15X3RlYW0pCnN1bW1hcnkgKG1vZGVsKQoKI2NvcnJlbGF0aW9uIG1hdHJpeCByZXF1aXJlcyBhbGwgcXVhbnRpdGF0aXZlIHZhcmlhYmxlcyBzbyBrZWVwIG9ubHkgdGhvc2UgdmFyaWFibGVzCmNvcl9kYXRhPSBteV90ZWFtICU+JQogIHNlbGVjdCh0ZWFtX3Njb3JlLCBmaWVsZF9nb2FsX3BjdCwgdG90YWxfcmVib3VuZHMsIAogICAgICAgICB0aHJlZV9wb2ludF9maWVsZF9nb2FsX3BjdCwgc3RlYWxzKQojY29ycmVsYXRpb24gbWF0cml4CmNvcihjb3JfZGF0YSkKCiNubyB2YXJpYWJsZSBpbnRlcmFjdGlvbnMsIHNvIG5vIG5lZWQgZm9yIGEgcmVkdWNlZCBtb2RlbAoKYGBgCgoKYGBge3IgaW50ZXJhY3Rpb24gbW9kZWwscmVzdWx0cz0nYXNpcycsIGluY2x1ZGU9Rn0KCm1vZGVsMj1sbSh0ZWFtX3Njb3JlfiBmaWVsZF9nb2FsX3BjdCt0b3RhbF9yZWJvdW5kcysKICAgICAgICAgICAgdGhyZWVfcG9pbnRfZmllbGRfZ29hbF9wY3Qrc3RlYWxzKwogICAgICAgICAgZmllbGRfZ29hbF9wY3QqdG90YWxfcmVib3VuZHMrIAogICAgICAgICAgICBmaWVsZF9nb2FsX3BjdCp0aHJlZV9wb2ludF9maWVsZF9nb2FsX3BjdCsKICAgICAgICAgICAgZmllbGRfZ29hbF9wY3Qqc3RlYWxzKwogICAgICAgICAgICB0b3RhbF9yZWJvdW5kcyp0aHJlZV9wb2ludF9maWVsZF9nb2FsX3BjdCsKICAgICAgICAgICAgdG90YWxfcmVib3VuZHMqc3RlYWxzKwogICAgICAgICAgICB0aHJlZV9wb2ludF9maWVsZF9nb2FsX3BjdCpzdGVhbHMsIGRhdGE9bXlfdGVhbSkKc3VtbWFyeShtb2RlbDIpCgptb2RlbDMgPSBsbSh0ZWFtX3Njb3JlfiBmaWVsZF9nb2FsX3BjdCArIHRvdGFsX3JlYm91bmRzICsgdGhyZWVfcG9pbnRfZmllbGRfZ29hbF9wY3QsIGRhdGE9bXlfdGVhbSkKbW9kZWwzc3VtPXN1bW1hcnkgKG1vZGVsMykKCgpgYGAKJH4kCgpBZnRlciBhbGwgbW9kZWxzIHdlcmUgcnVuIGFuZCBtb2RlbCByZWR1Y3Rpb24gd2FzIGNvbXBsZXRlZCwgbXkgZmluYWwgbW9kZWwgaXMgdGVhbV9zY29yZT0gYHIgbW9kZWwzJGNvZWZmaWNpZW50c1sxXWArIGByIG1vZGVsMyRjb2VmZmljaWVudHNbMl1gICogZmllbGRfZ29hbF9wY3QgKyBgciBtb2RlbDMkY29lZmZpY2llbnRzWzNdYCAqIHRvdGFsX3JlYm91bmRzICsgYHIgbW9kZWwzJGNvZWZmaWNpZW50c1s0XWAgKiB0aHJlZV9wb2ludF9maWVsZF9nb2FsX3BjdCAuIAoKVGhpcyBtb2RlbCBzaWduaWZpY2FudGx5IHByZWRpY3RzIHRlYW0gc2NvcmUsIGYoYHIgbW9kZWwzc3VtJGZzdGF0aXN0aWNbMl1gLCBgciBtb2RlbDNzdW0kZnN0YXRpc3RpY1szXWApID0gYHIgbW9kZWwzc3VtJGZzdGF0aXN0aWNbMV1gLCBwLC4wMDAwMSwgYWRqdXN0ZWQgUl4yPSBgciBtb2RlbDNzdW0kYWRqLnIuc3F1YXJlZGAgLgoKYGBgIHtyIGZpbmFsIHRhYmxlLCByZXN1bHRzPSdhc2lzJywgZWNobz1GLCBpbmNsdWRlPSBULCBtZXNzYWdlPUZ9CmxpYnJhcnkoc3RhcmdhemVyKQpzdGFyZ2F6ZXIobW9kZWwzLCB0eXBlID0gImh0bWwiKQogCmBgYAoKYGBge3IgcmVzaWR1YWxzfQoKaGlzdChtb2RlbDMkcmVzaWR1YWxzKQpwbG90KG1vZGVsMyRmaXR0ZWQudmFsdWVzLCBtb2RlbDMkcmVzaWR1YWxzKQpvbHNfcGxvdF9jb29rc2RfYmFyKG1vZGVsMykKb2xzX3Bsb3RfcmVzaWRfbGV2KG1vZGVsMywgdGhyZXNob2xkID0gMykKYGBgCgoKYGBge3IgcHJlZGljdGlvbiwgaW5jbHVkZT1GQUxTRX0KI3RoaXMgc3VtbWFyeSBpcyBmb3IgZmluZGluZyB0aGUgbWVkaWFuIHZhbHVlcwpzdW1tYXJ5KGNvcl9kYXRhKQojdGhpcyBpcyBhIG5ldyBkYXRhIGZyYW1lIGZvciB0aGUgbWVkaWFuIGdhbWUKbmV3ZGF0YT1kYXRhLmZyYW1lKGZpZWxkX2dvYWxfcGN0PSA0NC4yNSAsIHRvdGFsX3JlYm91bmRzPSAzNi41LCB0aHJlZV9wb2ludF9maWVsZF9nb2FsX3BjdD0gMzYuMjApCiNwcmVkaWN0aW5nIHRoZSBtZWRpYW4gZ2FtZQpwcmVkaWN0aW9uPXByZWRpY3QobW9kZWwzLCBuZXdkYXRhLCBpbnRlcnZhbD0gImNvbmZpZGVuY2UiLCBsZXZlbD0uOTUpCgpgYGAKSSBidWlsdCB0aGlzIG1vZGVsIHRvIHByZWRpY3QgbXkgdGVhbSdzIHBvaW50cyBmb3IgYSBnYW1lIGluIHdoaWNoIHRoZXkgYXJjaGl2ZSB0aGUgbWVkaWFuIHZhbHVlIGZvciBlYWNoIHZhcmlhYmxlLiBUaGUgcHJlZGljdGVkIHRlYW0gc2NvcmUgaXMgYHIgcHJlZGljdGlvblsxXWAsIHdpdGggOTUlIGNvbmZpZGVuY2UgaW50ZXJ2YWwgKGByIHByZWRpY3Rpb25bMl1gLCBgciBwcmVkaWN0aW9uWzNdYCkKCg==