1. Introduction
This report demonstrates the standard format for STA 506 assignments
using R Markdown. The purpose of this document is to show how narrative
text, statistical analysis, tables, and figures can be combined into a
professional report.
We analyze a built-in dataset to illustrate the workflow.
2. Data
Description
For this example, we use the built-in mtcars dataset,
which contains information about fuel efficiency and design
characteristics of automobiles.
data(mtcars)
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
The dataset contains 32 observations and 11 variables.
Key variables include:
- mpg: Miles per gallon
- hp: Horsepower
- wt: Weight (1000 lbs)
- cyl: Number of cylinders
3. Exploratory Data
Analysis
3.1 Summary
Statistics
We begin by examining summary statistics.
summary(mtcars[, c("mpg", "hp", "wt")])
mpg hp wt
Min. :10.40 Min. : 52.0 Min. :1.513
1st Qu.:15.43 1st Qu.: 96.5 1st Qu.:2.581
Median :19.20 Median :123.0 Median :3.325
Mean :20.09 Mean :146.7 Mean :3.217
3rd Qu.:22.80 3rd Qu.:180.0 3rd Qu.:3.610
Max. :33.90 Max. :335.0 Max. :5.424
We observe that fuel efficiency varies substantially across vehicles,
with horsepower and weight showing wide ranges.
3.2 Correlation
Analysis
Next, we examine correlations among key variables.
cor(mtcars[, c("mpg", "hp", "wt")])
mpg hp wt
mpg 1.0000000 -0.7761684 -0.8676594
hp -0.7761684 1.0000000 0.6587479
wt -0.8676594 0.6587479 1.0000000
There appears to be a strong negative relationship between fuel
efficiency and both horsepower and vehicle weight.
3.3 Data
Visualization
We visualize these relationships using scatterplots.
plot(
mtcars$wt,
mtcars$mpg,
xlab = "Weight (1000 lbs)",
ylab = "Miles Per Gallon",
main = "MPG vs Vehicle Weight",
pch = 19
)
abline(lm(mpg ~ wt, data = mtcars), col = "red")
The plot indicates that heavier vehicles tend to have lower fuel
efficiency.
4. Statistical
Modeling
4.1 Linear Regression
Model
We fit a linear regression model to predict fuel efficiency.
model <- lm(mpg ~ wt + hp, data = mtcars)
summary(model)
Call:
lm(formula = mpg ~ wt + hp, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-3.941 -1.600 -0.182 1.050 5.854
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 37.22727 1.59879 23.285 < 2e-16 ***
wt -3.87783 0.63273 -6.129 1.12e-06 ***
hp -0.03177 0.00903 -3.519 0.00145 **
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 2.593 on 29 degrees of freedom
Multiple R-squared: 0.8268, Adjusted R-squared: 0.8148
F-statistic: 69.21 on 2 and 29 DF, p-value: 9.109e-12
The model relates miles per gallon to vehicle weight and
horsepower.
4.2 Model
Interpretation
Based on the estimated coefficients:
- Weight has a strong negative effect on fuel efficiency
- Horsepower also contributes negatively
- Both predictors are statistically significant
This suggests that heavier and more powerful vehicles consume more
fuel.
5. Model
Diagnostics
We assess model assumptions using diagnostic plots.
par(mfrow = c(2,2))
plot(model)

Residual plots indicate reasonable linearity and
homoscedasticity.
6. Results Summary
Our analysis shows that:
- Vehicle weight is the strongest predictor of MPG
- Horsepower provides additional explanatory power
- The fitted model explains a substantial portion of variation
These results are consistent with physical expectations.
7. Conclusion
This report demonstrates the standard structure for STA 506
assignments.
Using R Markdown allows for:
- Reproducible analysis
- Integrated narrative and code
- Professional formatting
Future assignments will follow this template.
Appendix
(Optional)
Additional analyses and code may be placed here if needed.
[1] 20.09062
[1] 6.026948
LS0tCnRpdGxlOiAiWW91ciBSZXBvcnQgVGl0bGUiCmF1dGhvcjogIkNoYXJsaWUgTW9yZ2FuIgpkYXRlOiAiYHIgZm9ybWF0KFN5cy5EYXRlKCksICclQiAlZCwgJVknKWAiCm91dHB1dDoKICBodG1sX2RvY3VtZW50OiAgICAgICAgICAgIyBvdXRwdXQgZG9jdW1lbnQgZm9ybWF0CiAgICB0b2M6IHllcyAgICAgICAgICAgICAgICMgYWRkIHRhYmxlIG9mIGNvbnRlbnRzCiAgICB0b2NfZmxvYXQ6IHllcyAgICAgICAgICMgZmxvYXRpbmcgVE9DCiAgICB0b2NfZGVwdGg6IDQgICAgICAgICAgICMgZGVwdGggb2YgVE9DIGhlYWRpbmdzCiAgICBmaWdfd2lkdGg6IDYgICAgICAgICAgICMgZ2xvYmFsIGZpZ3VyZSB3aWR0aAogICAgZmlnX2hlaWdodDogNCAgICAgICAgICAjIGdsb2JhbCBmaWd1cmUgaGVpZ2h0CiAgICBmaWdfY2FwdGlvbjogeWVzICAgICAgICMgYWRkIGZpZ3VyZSBjYXB0aW9ucwogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMgICAjIG51bWJlciBzZWN0aW9uIGhlYWRpbmdzCiAgICB0b2NfY29sbGFwc2VkOiB5ZXMgICAgICMgY29sbGFwc2UgVE9DIHN1YmhlYWRpbmdzCiAgICBjb2RlX2ZvbGRpbmc6IGhpZGUgICAgICMgZm9sZC9oaWRlIGNvZGUgYnkgZGVmYXVsdAogICAgY29kZV9kb3dubG9hZDogeWVzICAgICAjIGFsbG93IGRvd25sb2FkaW5nIHRoZSAuUm1kCiAgICBzbW9vdGhfc2Nyb2xsOiB5ZXMgICAgICMgc21vb3RoIHNjcm9sbGluZwogICAgdGhlbWU6IGx1bWVuICAgICAgICAgICAjIEhUTUwgdGhlbWUKICAgIGhpZ2hsaWdodDogdGFuZ28gICAgICAgIyBzeW50YXggaGlnaGxpZ2h0aW5nIHN0eWxlCiAgcGRmX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKICAgIHRvY19kZXB0aDogNAogICAgZmlnX2NhcHRpb246IHllcwogICAgbnVtYmVyX3NlY3Rpb25zOiB5ZXMKICB3b3JkX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKICAgIHRvY19kZXB0aDogJzQnCi0tLQoKYGBge2NzcywgZWNobyA9IEZBTFNFfQpkaXYjVE9DIGxpIHsgICAgIC8qIHRhYmxlIG9mIGNvbnRlbnQgICovCiAgICBsaXN0LXN0eWxlOnVwcGVyLXJvbWFuOwogICAgYmFja2dyb3VuZC1pbWFnZTpub25lOwogICAgYmFja2dyb3VuZC1yZXBlYXQ6bm9uZTsKICAgIGJhY2tncm91bmQtcG9zaXRpb246MDsKfQoKaDEudGl0bGUgeyAgICAvKiBsZXZlbCAxIGhlYWRlciBvZiB0aXRsZSAgKi8KICBmb250LXNpemU6IDI0cHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgY29sb3I6IERhcmtSZWQ7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgpoNC5hdXRob3IgeyAvKiBIZWFkZXIgNCAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLwogIGZvbnQtc2l6ZTogMThweDsKICBmb250LXdlaWdodDogYm9sZDsKICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsKICBjb2xvcjogRGFya1JlZDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCmg0LmRhdGUgeyAvKiBIZWFkZXIgNCAtIGFuZCB0aGUgYXV0aG9yIGFuZCBkYXRhIGhlYWRlcnMgdXNlIHRoaXMgdG9vICAqLwogIGZvbnQtc2l6ZTogMThweDsKICBmb250LXdlaWdodDogYm9sZDsKICBmb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiIsIFRpbWVzLCBzZXJpZjsKICBjb2xvcjogRGFya0JsdWU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgpoMSB7IC8qIEhlYWRlciAxIC0gYW5kIHRoZSBhdXRob3IgYW5kIGRhdGEgaGVhZGVycyB1c2UgdGhpcyB0b28gICovCiAgICBmb250LXNpemU6IDIwcHg7CiAgICBmb250LXdlaWdodDogYm9sZDsKICAgIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOwogICAgY29sb3I6IGRhcmtyZWQ7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KCmgyIHsgLyogSGVhZGVyIDIgLSBhbmQgdGhlIGF1dGhvciBhbmQgZGF0YSBoZWFkZXJzIHVzZSB0aGlzIHRvbyAgKi8KICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7CiAgICBjb2xvcjogbmF2eTsKICAgIHRleHQtYWxpZ246IGxlZnQ7Cn0KCmgzIHsgLyogSGVhZGVyIDMgLSBhbmQgdGhlIGF1dGhvciBhbmQgZGF0YSBoZWFkZXJzIHVzZSB0aGlzIHRvbyAgKi8KICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iLCBUaW1lcywgc2VyaWY7CiAgICBjb2xvcjogbmF2eTsKICAgIHRleHQtYWxpZ246IGxlZnQ7Cn0KCmg0IHsgLyogSGVhZGVyIDQgLSBhbmQgdGhlIGF1dGhvciBhbmQgZGF0YSBoZWFkZXJzIHVzZSB0aGlzIHRvbyAgKi8KICAgIGZvbnQtc2l6ZTogMTRweDsKICBmb250LXdlaWdodDogYm9sZDsKICAgIGZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIiwgVGltZXMsIHNlcmlmOwogICAgY29sb3I6IGRhcmtyZWQ7CiAgICB0ZXh0LWFsaWduOiBsZWZ0Owp9CgovKiBBZGQgZG90cyBhZnRlciBudW1iZXJlZCBoZWFkZXJzICovCi5oZWFkZXItc2VjdGlvbi1udW1iZXI6OmFmdGVyIHsKICBjb250ZW50OiAiLiI7Cn0KYGBgCgpgYGB7ciBzZXR1cCwgaW5jbHVkZT1GQUxTRX0KIyBjb2RlIGNodW5rIHNwZWNpZmllcyB3aGV0aGVyIHRoZSBSIGNvZGUsIHdhcm5pbmdzLCBhbmQgb3V0cHV0IAojIHdpbGwgYmUgaW5jbHVkZWQgaW4gdGhlIG91dHB1dCBmaWxlcy4KCmlmICghcmVxdWlyZSgia25pdHIiKSkgeyAgICAgICAgICAgICAgICAgICAgICAjIHVzZSBjb25kaXRpb25hbCBzdGF0ZW1lbnQgdG8gZGV0ZWN0CiAgIGluc3RhbGwucGFja2FnZXMoImtuaXRyIikgICAgICAgICAgICAgICAgICAjIHdoZXRoZXIgYSBwYWNrYWdlIHdhcyBpbnN0YWxsZWQgaW4KICAgbGlicmFyeShrbml0cikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgeW91ciBtYWNoaW5lLiBJZiBub3QsIGluc3RhbGwgaXQgYW5kCn0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGxvYWQgaXQgdG8gdGhlIHdvcmtpbmcgZGlyZWN0b3J5LgojCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvID0gVFJVRSwgICAgICAgICAgICAjIGluY2x1ZGUgY29kZSBjaHVuayBpbiB0aGUgb3V0cHV0IGZpbGUKICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmcgPSBGQUxTRSwgICAgICAgICMgc29tZXRpbWVzLCB5b3UgY29kZSBtYXkgcHJvZHVjZSB3YXJuaW5nIG1lc3NhZ2VzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyB5b3UgY2FuIGNob29zZSB0byBpbmNsdWRlIHRoZSB3YXJuaW5nIG1lc3NhZ2VzIGluCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHRoZSBvdXRwdXQgZmlsZS4gCiAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzID0gVFJVRSwgICAgICAgICAjIHlvdSBjYW4gYWxzbyBkZWNpZGUgd2hldGhlciB0byBpbmNsdWRlIHRoZSBvdXRwdXQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaW4gdGhlIG91dHB1dCBmaWxlLgogICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IEZBTFNFLCAgICAgICAgIyBzdXBwcmVzcyBtZXNzYWdlcyAKICAgICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBOQSAgICAgICAgICAgICMgcmVtb3ZlIHRoZSBkZWZhdWx0IGxlYWRpbmcgaGFzaCB0YWdzIGluIHRoZSBvdXRwdXQKICAgICAgICAgICAgICAgICAgICAgICkgICAKYGBgCgojIyAxLiBJbnRyb2R1Y3Rpb24KClRoaXMgcmVwb3J0IGRlbW9uc3RyYXRlcyB0aGUgc3RhbmRhcmQgZm9ybWF0IGZvciBTVEEgNTA2IGFzc2lnbm1lbnRzIHVzaW5nIFIgTWFya2Rvd24uClRoZSBwdXJwb3NlIG9mIHRoaXMgZG9jdW1lbnQgaXMgdG8gc2hvdyBob3cgbmFycmF0aXZlIHRleHQsIHN0YXRpc3RpY2FsIGFuYWx5c2lzLCB0YWJsZXMsCmFuZCBmaWd1cmVzIGNhbiBiZSBjb21iaW5lZCBpbnRvIGEgcHJvZmVzc2lvbmFsIHJlcG9ydC4KCldlIGFuYWx5emUgYSBidWlsdC1pbiBkYXRhc2V0IHRvIGlsbHVzdHJhdGUgdGhlIHdvcmtmbG93LgoKLS0tCgojIyAyLiBEYXRhIERlc2NyaXB0aW9uCgpGb3IgdGhpcyBleGFtcGxlLCB3ZSB1c2UgdGhlIGJ1aWx0LWluIGBtdGNhcnNgIGRhdGFzZXQsIHdoaWNoIGNvbnRhaW5zIGluZm9ybWF0aW9uCmFib3V0IGZ1ZWwgZWZmaWNpZW5jeSBhbmQgZGVzaWduIGNoYXJhY3RlcmlzdGljcyBvZiBhdXRvbW9iaWxlcy4KCmBgYHtyIGxvYWQtZGF0YX0KZGF0YShtdGNhcnMpCmhlYWQobXRjYXJzKQpgYGAKClRoZSBkYXRhc2V0IGNvbnRhaW5zIGByIG5yb3cobXRjYXJzKWAgb2JzZXJ2YXRpb25zIGFuZCBgciBuY29sKG10Y2FycylgIHZhcmlhYmxlcy4KCktleSB2YXJpYWJsZXMgaW5jbHVkZToKCi0gbXBnOiBNaWxlcyBwZXIgZ2FsbG9uICAKLSBocDogSG9yc2Vwb3dlciAgCi0gd3Q6IFdlaWdodCAoMTAwMCBsYnMpICAKLSBjeWw6IE51bWJlciBvZiBjeWxpbmRlcnMgIAoKLS0tCgojIyAzLiBFeHBsb3JhdG9yeSBEYXRhIEFuYWx5c2lzCgojIyMgMy4xIFN1bW1hcnkgU3RhdGlzdGljcwoKV2UgYmVnaW4gYnkgZXhhbWluaW5nIHN1bW1hcnkgc3RhdGlzdGljcy4KCmBgYHtyIHN1bW1hcnktc3RhdHN9CnN1bW1hcnkobXRjYXJzWywgYygibXBnIiwgImhwIiwgInd0IildKQpgYGAKCldlIG9ic2VydmUgdGhhdCBmdWVsIGVmZmljaWVuY3kgdmFyaWVzIHN1YnN0YW50aWFsbHkgYWNyb3NzIHZlaGljbGVzLCB3aXRoIGhvcnNlcG93ZXIKYW5kIHdlaWdodCBzaG93aW5nIHdpZGUgcmFuZ2VzLgoKLS0tCgojIyMgMy4yIENvcnJlbGF0aW9uIEFuYWx5c2lzCgpOZXh0LCB3ZSBleGFtaW5lIGNvcnJlbGF0aW9ucyBhbW9uZyBrZXkgdmFyaWFibGVzLgoKYGBge3IgY29ycmVsYXRpb259CmNvcihtdGNhcnNbLCBjKCJtcGciLCAiaHAiLCAid3QiKV0pCmBgYAoKVGhlcmUgYXBwZWFycyB0byBiZSBhIHN0cm9uZyBuZWdhdGl2ZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBmdWVsIGVmZmljaWVuY3kgYW5kIGJvdGgKaG9yc2Vwb3dlciBhbmQgdmVoaWNsZSB3ZWlnaHQuCgotLS0KCiMjIyAzLjMgRGF0YSBWaXN1YWxpemF0aW9uCgpXZSB2aXN1YWxpemUgdGhlc2UgcmVsYXRpb25zaGlwcyB1c2luZyBzY2F0dGVycGxvdHMuCgpgYGB7ciBzY2F0dGVycGxvdCwgZmlnLmNhcD0iRnVlbCBFZmZpY2llbmN5IHZzIFdlaWdodCJ9CnBsb3QoCiAgbXRjYXJzJHd0LAogIG10Y2FycyRtcGcsCiAgeGxhYiA9ICJXZWlnaHQgKDEwMDAgbGJzKSIsCiAgeWxhYiA9ICJNaWxlcyBQZXIgR2FsbG9uIiwKICBtYWluID0gIk1QRyB2cyBWZWhpY2xlIFdlaWdodCIsCiAgcGNoID0gMTkKKQphYmxpbmUobG0obXBnIH4gd3QsIGRhdGEgPSBtdGNhcnMpLCBjb2wgPSAicmVkIikKYGBgCgpUaGUgcGxvdCBpbmRpY2F0ZXMgdGhhdCBoZWF2aWVyIHZlaGljbGVzIHRlbmQgdG8gaGF2ZSBsb3dlciBmdWVsIGVmZmljaWVuY3kuCgotLS0KCiMjIDQuIFN0YXRpc3RpY2FsIE1vZGVsaW5nCgojIyMgNC4xIExpbmVhciBSZWdyZXNzaW9uIE1vZGVsCgpXZSBmaXQgYSBsaW5lYXIgcmVncmVzc2lvbiBtb2RlbCB0byBwcmVkaWN0IGZ1ZWwgZWZmaWNpZW5jeS4KCmBgYHtyIHJlZ3Jlc3Npb259Cm1vZGVsIDwtIGxtKG1wZyB+IHd0ICsgaHAsIGRhdGEgPSBtdGNhcnMpCnN1bW1hcnkobW9kZWwpCmBgYAoKVGhlIG1vZGVsIHJlbGF0ZXMgbWlsZXMgcGVyIGdhbGxvbiB0byB2ZWhpY2xlIHdlaWdodCBhbmQgaG9yc2Vwb3dlci4KCi0tLQoKIyMjIDQuMiBNb2RlbCBJbnRlcnByZXRhdGlvbgoKQmFzZWQgb24gdGhlIGVzdGltYXRlZCBjb2VmZmljaWVudHM6CgotIFdlaWdodCBoYXMgYSBzdHJvbmcgbmVnYXRpdmUgZWZmZWN0IG9uIGZ1ZWwgZWZmaWNpZW5jeSAgCi0gSG9yc2Vwb3dlciBhbHNvIGNvbnRyaWJ1dGVzIG5lZ2F0aXZlbHkgIAotIEJvdGggcHJlZGljdG9ycyBhcmUgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCAgCgpUaGlzIHN1Z2dlc3RzIHRoYXQgaGVhdmllciBhbmQgbW9yZSBwb3dlcmZ1bCB2ZWhpY2xlcyBjb25zdW1lIG1vcmUgZnVlbC4KCi0tLQoKIyMgNS4gTW9kZWwgRGlhZ25vc3RpY3MKCldlIGFzc2VzcyBtb2RlbCBhc3N1bXB0aW9ucyB1c2luZyBkaWFnbm9zdGljIHBsb3RzLgoKYGBge3IgZGlhZ25vc3RpY3N9CnBhcihtZnJvdyA9IGMoMiwyKSkKcGxvdChtb2RlbCkKcGFyKG1mcm93ID0gYygxLDEpKQpgYGAKClJlc2lkdWFsIHBsb3RzIGluZGljYXRlIHJlYXNvbmFibGUgbGluZWFyaXR5IGFuZCBob21vc2NlZGFzdGljaXR5LgoKLS0tCgojIyA2LiBSZXN1bHRzIFN1bW1hcnkKCk91ciBhbmFseXNpcyBzaG93cyB0aGF0OgoKMS4gVmVoaWNsZSB3ZWlnaHQgaXMgdGhlIHN0cm9uZ2VzdCBwcmVkaWN0b3Igb2YgTVBHICAKMi4gSG9yc2Vwb3dlciBwcm92aWRlcyBhZGRpdGlvbmFsIGV4cGxhbmF0b3J5IHBvd2VyICAKMy4gVGhlIGZpdHRlZCBtb2RlbCBleHBsYWlucyBhIHN1YnN0YW50aWFsIHBvcnRpb24gb2YgdmFyaWF0aW9uICAKClRoZXNlIHJlc3VsdHMgYXJlIGNvbnNpc3RlbnQgd2l0aCBwaHlzaWNhbCBleHBlY3RhdGlvbnMuCgotLS0KCiMjIDcuIENvbmNsdXNpb24KClRoaXMgcmVwb3J0IGRlbW9uc3RyYXRlcyB0aGUgc3RhbmRhcmQgc3RydWN0dXJlIGZvciBTVEEgNTA2IGFzc2lnbm1lbnRzLgoKVXNpbmcgUiBNYXJrZG93biBhbGxvd3MgZm9yOgoKLSBSZXByb2R1Y2libGUgYW5hbHlzaXMgIAotIEludGVncmF0ZWQgbmFycmF0aXZlIGFuZCBjb2RlICAKLSBQcm9mZXNzaW9uYWwgZm9ybWF0dGluZyAgCgpGdXR1cmUgYXNzaWdubWVudHMgd2lsbCBmb2xsb3cgdGhpcyB0ZW1wbGF0ZS4KCi0tLQoKIyMgQXBwZW5kaXggKE9wdGlvbmFsKQoKQWRkaXRpb25hbCBhbmFseXNlcyBhbmQgY29kZSBtYXkgYmUgcGxhY2VkIGhlcmUgaWYgbmVlZGVkLgoKYGBge3IgZXh0cmF9Cm1lYW4obXRjYXJzJG1wZykKc2QobXRjYXJzJG1wZykKYGBgCgo=