install.packages("rstatix", dependencies = TRUE)
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:

https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ‘C:/Users/Windows 10/AppData/Local/R/win-library/4.4’
(as ‘lib’ is unspecified)
also installing the dependencies ‘Deriv’, ‘modelr’, ‘microbenchmark’, ‘zoo’, ‘doBy’, ‘SparseM’, ‘MatrixModels’, ‘minqa’, ‘nloptr’, ‘RcppEigen’, ‘TH.data’, ‘sandwich’, ‘pkgbuild’, ‘rprojroot’, ‘diffobj’, ‘backports’, ‘carData’, ‘abind’, ‘Formula’, ‘pbkrtest’, ‘quantreg’, ‘lme4’, ‘ggrepel’, ‘ggsci’, ‘cowplot’, ‘ggsignif’, ‘polynom’, ‘estimability’, ‘numDeriv’, ‘mvtnorm’, ‘libcoin’, ‘matrixStats’, ‘modeltools’, ‘multcomp’, ‘brio’, ‘callr’, ‘desc’, ‘pkgload’, ‘praise’, ‘processx’, ‘ps’, ‘waldo’, ‘xml2’, ‘hunspell’, ‘tidyr’, ‘purrr’, ‘broom’, ‘dplyr’, ‘corrplot’, ‘tidyselect’, ‘car’, ‘generics’, ‘ggpubr’, ‘emmeans’, ‘coin’, ‘testthat’, ‘spelling’

  There are binary versions
  available but the source versions
  are later:

  Binaries will be installed
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/Deriv_4.1.6.zip'
Content type 'application/zip' length 151985 bytes (148 KB)
downloaded 148 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/modelr_0.1.11.zip'
Content type 'application/zip' length 204129 bytes (199 KB)
downloaded 199 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/microbenchmark_1.5.0.zip'
Content type 'application/zip' length 73564 bytes (71 KB)
downloaded 71 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/zoo_1.8-12.zip'
Content type 'application/zip' length 1029839 bytes (1005 KB)
downloaded 1005 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/doBy_4.6.24.zip'
Content type 'application/zip' length 4853988 bytes (4.6 MB)
downloaded 4.6 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/SparseM_1.84-2.zip'
Content type 'application/zip' length 889280 bytes (868 KB)
downloaded 868 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/MatrixModels_0.5-3.zip'
Content type 'application/zip' length 407011 bytes (397 KB)
downloaded 397 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/minqa_1.2.8.zip'
Content type 'application/zip' length 441848 bytes (431 KB)
downloaded 431 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/nloptr_2.1.1.zip'
Content type 'application/zip' length 894575 bytes (873 KB)
downloaded 873 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/RcppEigen_0.3.4.0.2.zip'
Content type 'application/zip' length 2592455 bytes (2.5 MB)
downloaded 2.5 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/TH.data_1.1-2.zip'
Content type 'application/zip' length 8827760 bytes (8.4 MB)
downloaded 8.4 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/sandwich_3.1-1.zip'
Content type 'application/zip' length 1506011 bytes (1.4 MB)
downloaded 1.4 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/pkgbuild_1.4.5.zip'
Content type 'application/zip' length 206059 bytes (201 KB)
downloaded 201 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/rprojroot_2.0.4.zip'
Content type 'application/zip' length 115238 bytes (112 KB)
downloaded 112 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/diffobj_0.3.5.zip'
Content type 'application/zip' length 1031328 bytes (1007 KB)
downloaded 1007 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/backports_1.5.0.zip'
Content type 'application/zip' length 122682 bytes (119 KB)
downloaded 119 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/carData_3.0-5.zip'
Content type 'application/zip' length 1708215 bytes (1.6 MB)
downloaded 1.6 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/abind_1.4-8.zip'
Content type 'application/zip' length 67211 bytes (65 KB)
downloaded 65 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/Formula_1.2-5.zip'
Content type 'application/zip' length 161370 bytes (157 KB)
downloaded 157 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/pbkrtest_0.5.3.zip'
Content type 'application/zip' length 185987 bytes (181 KB)
downloaded 181 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/quantreg_5.99.1.zip'
Content type 'application/zip' length 1472987 bytes (1.4 MB)
downloaded 1.4 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/lme4_1.1-35.5.zip'
Content type 'application/zip' length 4558653 bytes (4.3 MB)
downloaded 4.3 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ggrepel_0.9.6.zip'
Content type 'application/zip' length 603892 bytes (589 KB)
downloaded 589 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ggsci_3.2.0.zip'
Content type 'application/zip' length 2403591 bytes (2.3 MB)
downloaded 2.3 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/cowplot_1.1.3.zip'
Content type 'application/zip' length 1380829 bytes (1.3 MB)
downloaded 1.3 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ggsignif_0.6.4.zip'
Content type 'application/zip' length 602231 bytes (588 KB)
downloaded 588 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/polynom_1.4-1.zip'
Content type 'application/zip' length 407143 bytes (397 KB)
downloaded 397 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/estimability_1.5.1.zip'
Content type 'application/zip' length 54255 bytes (52 KB)
downloaded 52 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/numDeriv_2016.8-1.1.zip'
Content type 'application/zip' length 117304 bytes (114 KB)
downloaded 114 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/mvtnorm_1.3-2.zip'
Content type 'application/zip' length 956673 bytes (934 KB)
downloaded 934 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/libcoin_1.0-10.zip'
Content type 'application/zip' length 816735 bytes (797 KB)
downloaded 797 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/matrixStats_1.4.1.zip'
Content type 'application/zip' length 546815 bytes (533 KB)
downloaded 533 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/modeltools_0.2-23.zip'
Content type 'application/zip' length 225349 bytes (220 KB)
downloaded 220 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/multcomp_1.4-26.zip'
Content type 'application/zip' length 737156 bytes (719 KB)
downloaded 719 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/brio_1.1.5.zip'
Content type 'application/zip' length 41904 bytes (40 KB)
downloaded 40 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/callr_3.7.6.zip'
Content type 'application/zip' length 477506 bytes (466 KB)
downloaded 466 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/desc_1.4.3.zip'
Content type 'application/zip' length 338227 bytes (330 KB)
downloaded 330 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/pkgload_1.4.0.zip'
Content type 'application/zip' length 220195 bytes (215 KB)
downloaded 215 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/praise_1.0.0.zip'
Content type 'application/zip' length 20172 bytes (19 KB)
downloaded 19 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/processx_3.8.4.zip'
Content type 'application/zip' length 689446 bytes (673 KB)
downloaded 673 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ps_1.8.1.zip'
Content type 'application/zip' length 644438 bytes (629 KB)
downloaded 629 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/waldo_0.6.1.zip'
Content type 'application/zip' length 135186 bytes (132 KB)
downloaded 132 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/xml2_1.3.6.zip'
Content type 'application/zip' length 1614833 bytes (1.5 MB)
downloaded 1.5 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/hunspell_3.0.5.zip'
Content type 'application/zip' length 1491433 bytes (1.4 MB)
downloaded 1.4 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/tidyr_1.3.1.zip'
Content type 'application/zip' length 1273469 bytes (1.2 MB)
downloaded 1.2 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/purrr_1.0.2.zip'
Content type 'application/zip' length 513037 bytes (501 KB)
downloaded 501 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/broom_1.0.7.zip'
Content type 'application/zip' length 1935637 bytes (1.8 MB)
downloaded 1.8 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/dplyr_1.1.4.zip'
Content type 'application/zip' length 1587987 bytes (1.5 MB)
downloaded 1.5 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/corrplot_0.95.zip'
Content type 'application/zip' length 3825956 bytes (3.6 MB)
downloaded 3.6 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/tidyselect_1.2.1.zip'
Content type 'application/zip' length 229273 bytes (223 KB)
downloaded 223 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/car_3.1-3.zip'
Content type 'application/zip' length 1541831 bytes (1.5 MB)
downloaded 1.5 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/generics_0.1.3.zip'
Content type 'application/zip' length 84845 bytes (82 KB)
downloaded 82 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ggpubr_0.6.0.zip'
Content type 'application/zip' length 2093228 bytes (2.0 MB)
downloaded 2.0 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/coin_1.4-3.zip'
Content type 'application/zip' length 1471365 bytes (1.4 MB)
downloaded 1.4 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/testthat_3.2.1.1.zip'
Content type 'application/zip' length 2254338 bytes (2.1 MB)
downloaded 2.1 MB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/spelling_2.3.1.zip'
Content type 'application/zip' length 57483 bytes (56 KB)
downloaded 56 KB

trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/rstatix_0.7.2.zip'
Content type 'application/zip' length 621090 bytes (606 KB)
downloaded 606 KB
package ‘Deriv’ successfully unpacked and MD5 sums checked
package ‘modelr’ successfully unpacked and MD5 sums checked
package ‘microbenchmark’ successfully unpacked and MD5 sums checked
package ‘zoo’ successfully unpacked and MD5 sums checked
package ‘doBy’ successfully unpacked and MD5 sums checked
package ‘SparseM’ successfully unpacked and MD5 sums checked
package ‘MatrixModels’ successfully unpacked and MD5 sums checked
package ‘minqa’ successfully unpacked and MD5 sums checked
package ‘nloptr’ successfully unpacked and MD5 sums checked
package ‘RcppEigen’ successfully unpacked and MD5 sums checked
package ‘TH.data’ successfully unpacked and MD5 sums checked
package ‘sandwich’ successfully unpacked and MD5 sums checked
package ‘pkgbuild’ successfully unpacked and MD5 sums checked
package ‘rprojroot’ successfully unpacked and MD5 sums checked
package ‘diffobj’ successfully unpacked and MD5 sums checked
package ‘backports’ successfully unpacked and MD5 sums checked
package ‘carData’ successfully unpacked and MD5 sums checked
package ‘abind’ successfully unpacked and MD5 sums checked
package ‘Formula’ successfully unpacked and MD5 sums checked
package ‘pbkrtest’ successfully unpacked and MD5 sums checked
package ‘quantreg’ successfully unpacked and MD5 sums checked
package ‘lme4’ successfully unpacked and MD5 sums checked
package ‘ggrepel’ successfully unpacked and MD5 sums checked
package ‘ggsci’ successfully unpacked and MD5 sums checked
package ‘cowplot’ successfully unpacked and MD5 sums checked
package ‘ggsignif’ successfully unpacked and MD5 sums checked
package ‘polynom’ successfully unpacked and MD5 sums checked
package ‘estimability’ successfully unpacked and MD5 sums checked
package ‘numDeriv’ successfully unpacked and MD5 sums checked
package ‘mvtnorm’ successfully unpacked and MD5 sums checked
package ‘libcoin’ successfully unpacked and MD5 sums checked
package ‘matrixStats’ successfully unpacked and MD5 sums checked
package ‘modeltools’ successfully unpacked and MD5 sums checked
package ‘multcomp’ successfully unpacked and MD5 sums checked
package ‘brio’ successfully unpacked and MD5 sums checked
package ‘callr’ successfully unpacked and MD5 sums checked
package ‘desc’ successfully unpacked and MD5 sums checked
package ‘pkgload’ successfully unpacked and MD5 sums checked
package ‘praise’ successfully unpacked and MD5 sums checked
package ‘processx’ successfully unpacked and MD5 sums checked
package ‘ps’ successfully unpacked and MD5 sums checked
package ‘waldo’ successfully unpacked and MD5 sums checked
package ‘xml2’ successfully unpacked and MD5 sums checked
package ‘hunspell’ successfully unpacked and MD5 sums checked
package ‘tidyr’ successfully unpacked and MD5 sums checked
package ‘purrr’ successfully unpacked and MD5 sums checked
package ‘broom’ successfully unpacked and MD5 sums checked
package ‘dplyr’ successfully unpacked and MD5 sums checked
package ‘corrplot’ successfully unpacked and MD5 sums checked
package ‘tidyselect’ successfully unpacked and MD5 sums checked
package ‘car’ successfully unpacked and MD5 sums checked
package ‘generics’ successfully unpacked and MD5 sums checked
package ‘ggpubr’ successfully unpacked and MD5 sums checked
package ‘coin’ successfully unpacked and MD5 sums checked
package ‘testthat’ successfully unpacked and MD5 sums checked
package ‘spelling’ successfully unpacked and MD5 sums checked
package ‘rstatix’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
    C:\Users\Windows 10\AppData\Local\Temp\RtmpYdcksG\downloaded_packages
installing the source package ‘emmeans’

trying URL 'https://cran.rstudio.com/src/contrib/emmeans_1.10.6.tar.gz'
Content type 'application/x-gzip' length 1522682 bytes (1.5 MB)
downloaded 1.5 MB
* installing *source* package 'emmeans' ...
** package 'emmeans' successfully unpacked and MD5 sums checked
** using staged installation
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (emmeans)

The downloaded source packages are in
    ‘C:\Users\Windows 10\AppData\Local\Temp\RtmpYdcksG\downloaded_packages’
library("rstatix")
Warning: package ‘rstatix’ was built under R version 4.4.2
Attaching package: ‘rstatix’

The following object is masked from ‘package:stats’:

    filter
library(readxl)
bird_Ohio <- read_excel("C:/Users/Windows 10/Downloads/bird_Ohio.xlsx")
New names:
View(bird_Ohio)
library(readxl)
env_Ohio <- read_excel("C:/Users/Windows 10/Downloads/env_Ohio.xlsx")
New names:
View(env_Ohio)
library(vegan)
bird_Ohio
ncol(bird_Ohio)
[1] 49
sp.rich<-specnumber(bird_Ohio, MARGIN = 1)
as.data.frame(sp.rich)
sp.even<-specnumber(bird_Ohio,MARGIN=2)
as.data.frame(sp.even)
shannon<-diversity(bird_Ohio, index = "shannon")
shannon
  [1] 1.8917399 2.5122269 2.5759511
  [4] 2.5306341 2.5813695 2.5851922
  [7] 2.8543118 2.6869090 2.6290101
 [10] 2.4471082 2.4514742 2.6624436
 [13] 2.4801533 2.4524231 2.4446459
 [16] 2.5985159 2.1580650 2.0290131
 [19] 2.3439848 2.3677896 2.6230152
 [22] 2.1818266 2.3999167 2.3497389
 [25] 2.1019228 2.1558323 2.1542864
 [28] 2.2277483 2.3289428 1.8809617
 [31] 2.4493401 2.3266446 2.2270348
 [34] 1.9964440 2.0417370 2.4618897
 [37] 2.1320689 2.2922720 1.5430953
 [40] 2.0627115 2.6546098 2.3331170
 [43] 1.7535317 1.8944254 1.9905828
 [46] 1.8202840 1.7588983 1.2049611
 [49] 2.1437307 2.0737966 1.6534827
 [52] 2.1077805 1.9625262 1.7738141
 [55] 2.0210011 1.8759969 1.4522335
 [58] 1.5969316 1.4228140 2.2233828
 [61] 1.6941131 2.2527933 1.4705667
 [64] 1.4376671 1.6556983 2.0069460
 [67] 1.7242396 1.6262868 1.9412633
 [70] 1.2809809 1.3010760 1.5318794
 [73] 1.5531853 1.5204937 1.7648837
 [76] 1.6943305 1.7000499 1.3091997
 [79] 1.5702975 1.3837769 1.3385135
 [82] 1.4513903 0.9429183 1.4490505
 [85] 1.7895111 1.9656594 1.5788314
 [88] 1.5022623 1.4904512 1.4962931
 [91] 1.4059042 1.6478061 1.2990656
 [94] 1.0930459 1.5543977 1.7289643
 [97] 1.6443609 1.5495614 1.4031313
[100] 1.7226377 1.8883235 1.9303606
[103] 1.4901640 1.5787674 1.5705318
[106] 1.4178638 1.2837894 1.5926701
[109] 1.6081552 1.4082954 1.2234179
[112] 1.2528753 1.3100790 1.4507992
[115] 1.2323738 1.3797947 1.7293521
[118] 1.4854109 1.4658616 0.9669648
[121] 1.1795715 1.3672704 1.5350481
[124] 1.3090028 1.2126036 1.3047201
[127] 1.2040135 1.3639687 1.1349332
[130] 1.4067959 1.2394246 1.3198667
[133] 1.1560033 1.2668167 1.3633187
[136] 1.7184293 1.4705114 1.4134997
[139] 1.1657677 1.4382794 1.6241226
[142] 0.9479850 0.7890530 1.4545973
[145] 1.4366209 1.3270892 1.1408832
[148] 0.9003295 0.9349969 1.1903317
[151] 1.5749987 1.5003813 1.0810697
[154] 1.5488876 1.5759803 0.9573217
[157] 1.2080605 1.1433944 1.0993195
[160] 1.1174376 1.1019272 0.9943400
[163] 1.0646499 1.6364990 1.2202461
[166] 1.3055935 1.2551904 1.3908337
[169] 1.5319849 0.9827985 0.9091475
[172] 1.3284004 1.0280144 1.0155201
[175] 0.8256294 1.1407526 1.1095773
[178] 0.9370976 1.1957853 0.9132408
[181] 0.9268789 0.9070407 0.9184634
[184] 1.0505849 1.1130730 1.1475092
[187] 0.8861070 1.1679846 1.3269686
[190] 1.4025824 0.7316835 1.0732068
[193] 1.0880649 0.8289934 0.8676827
[196] 1.1044350 1.0755235 1.0144104
[199] 1.1081660 1.0762302 1.0511711
[202] 0.9282779 1.2321592 0.7472004
[205] 0.8967415 0.9696155 0.4879819
[208] 1.2601278 1.2607309 1.0734488
simpson<-diversity(bird_Ohio, index = "simpson")
simpson
  [1] 0.7923875 0.9023669 0.9141051
  [4] 0.8955078 0.9112426 0.9100346
  [7] 0.9286265 0.9171429 0.9131944
 [10] 0.8927116 0.8897290 0.9137893
 [13] 0.8793388 0.8758573 0.8830959
 [16] 0.8967347 0.8536155 0.8264046
 [19] 0.8624852 0.8617998 0.8762865
 [22] 0.8433163 0.8526139 0.8573088
 [25] 0.8130987 0.8250548 0.8136574
 [28] 0.8264701 0.8491358 0.7441406
 [31] 0.8553590 0.8238062 0.8106576
 [34] 0.7780612 0.7801904 0.8531268
 [37] 0.7831946 0.8068698 0.6477631
 [40] 0.7808963 0.8616564 0.7890625
 [43] 0.6954194 0.7339693 0.7269136
 [46] 0.6911844 0.6822566 0.5081633
 [49] 0.7527571 0.7694515 0.6567901
 [52] 0.7160000 0.7361333 0.6479362
 [55] 0.6747189 0.6863983 0.5658574
 [58] 0.6459054 0.5912465 0.7710506
 [61] 0.6341785 0.7706531 0.5559896
 [64] 0.5789628 0.6272199 0.7150879
 [67] 0.6403025 0.6024793 0.7088021
 [70] 0.4988000 0.4968140 0.5861804
 [73] 0.5995339 0.5778835 0.6374853
 [76] 0.6346974 0.6039282 0.4959013
 [79] 0.5915848 0.5347080 0.5234094
 [82] 0.5429308 0.4238292 0.5318678
 [85] 0.6617778 0.6964237 0.5921019
 [88] 0.5775047 0.5791837 0.5853587
 [91] 0.5223585 0.6010774 0.5181661
 [94] 0.4416889 0.5807846 0.6220482
 [97] 0.5677222 0.5565515 0.5220452
[100] 0.5952296 0.6635526 0.6503184
[103] 0.5207111 0.6158734 0.5447686
[106] 0.5379747 0.4695946 0.5760346
[109] 0.5821278 0.5175781 0.5051503
[112] 0.4630629 0.4962000 0.5478637
[115] 0.4671492 0.5235294 0.6090305
[118] 0.5106574 0.5185606 0.3701524
[121] 0.4405887 0.5040980 0.5602648
[124] 0.4785325 0.4391298 0.4572742
[127] 0.4574581 0.4963772 0.4396221
[130] 0.5037577 0.4670187 0.4978497
[133] 0.4104902 0.4898061 0.4876454
[136] 0.5769861 0.5051541 0.5225468
[139] 0.3938079 0.5078587 0.5466634
[142] 0.3572150 0.3180077 0.4964437
[145] 0.4751863 0.4889245 0.4303415
[148] 0.3341988 0.3763435 0.4262014
[151] 0.5111597 0.5117908 0.4075500
[154] 0.5420794 0.5161432 0.3428280
[157] 0.4343764 0.4120049 0.4084227
[160] 0.3921670 0.4009981 0.3344865
[163] 0.4009879 0.5320156 0.4317769
[166] 0.4590037 0.4250527 0.4708680
[169] 0.5338560 0.3637872 0.3495779
[172] 0.4747466 0.3657520 0.3795146
[175] 0.2896172 0.4219639 0.4203375
[178] 0.3414050 0.4325555 0.3431800
[181] 0.3372680 0.3009006 0.3442333
[184] 0.3724143 0.3960015 0.3812779
[187] 0.3234457 0.4113292 0.4541780
[190] 0.4803133 0.2576901 0.3719623
[193] 0.3935743 0.2681985 0.3192152
[196] 0.3765746 0.3795178 0.3771101
[199] 0.3910828 0.3889234 0.3824131
[202] 0.3371236 0.4337904 0.2852947
[205] 0.3188013 0.3529198 0.1674397
[208] 0.4239074 0.4304125 0.3842678
inv.simpson<-diversity(bird_Ohio, index = "invsimpson")
inv.simpson
  [1]  4.816667 10.242424 11.642140
  [4]  9.570093 11.266667 11.115385
  [7] 14.010811 12.068966 11.520000
 [10]  9.320675  9.068571 11.599483
 [13]  8.287671  8.055249  8.554023
 [16]  9.683794  6.831325  5.760522
 [19]  7.271945  7.235880  8.083192
 [22]  6.382284  6.784902  7.008138
 [25]  5.350417  5.716075  5.366460
 [28]  5.762696  6.628478  3.908397
 [31]  6.913669  5.675570  5.281437
 [34]  4.505747  4.549391  6.808596
 [37]  4.612431  5.177854  2.838998
 [40]  4.564050  7.228380  4.740741
 [43]  3.283203  3.758965  3.661844
 [46]  3.238179  3.147193  2.033195
 [49]  4.044605  4.337483  2.913669
 [52]  3.521127  3.789793  2.840394
 [55]  3.074264  3.188759  2.303391
 [58]  2.824104  2.446462  4.367778
 [61]  2.733574  4.360207  2.252199
 [64]  2.375087  2.682547  3.509854
 [67]  2.780114  2.515593  3.434090
 [70]  1.995211  1.987337  2.416512
 [73]  2.497090  2.369014  2.758509
 [76]  2.737457  2.524795  1.983739
 [79]  2.448489  2.149188  2.098237
 [82]  2.187852  1.735597  2.136149
 [85]  2.956636  3.294065  2.451592
 [88]  2.366890  2.376334  2.411723
 [91]  2.093621  2.506752  2.075404
 [94]  1.791116  2.385409  2.645840
 [97]  2.313327  2.255053  2.092248
[100]  2.470536  2.972233  2.859744
[103]  2.086424  2.603309  2.196685
[106]  2.164384  1.885350  2.358683
[109]  2.393076  2.072874  2.020815
[112]  1.862416  1.984915  2.211722
[115]  1.876698  2.098765  2.557744
[118]  2.043558  2.077105  1.587686
[121]  1.787593  2.016527  2.274096
[124]  1.917665  1.782944  1.842551
[127]  1.843175  1.985613  1.784510
[130]  2.015144  1.876238  1.991436
[133]  1.696325  1.960039  1.951773
[136]  2.363989  2.020831  2.094446
[139]  1.649642  2.031937  2.205866
[142]  1.555730  1.466292  1.985875
[145]  1.905438  1.956658  1.755438
[148]  1.501950  1.603447  1.742772
[151]  2.045658  2.048302  1.687906
[154]  2.183785  2.066727  1.521672
[157]  1.767960  1.700695  1.690396
[160]  1.645189  1.669444  1.502599
[163]  1.669415  2.136824  1.759872
[166]  1.848441  1.739290  1.889888
[169]  2.145260  1.571801  1.537463
[172]  1.903843  1.576670  1.611642
[175]  1.407692  1.729996  1.725142
[178]  1.518384  1.762287  1.522487
[181]  1.508906  1.430412  1.524933
[184]  1.593408  1.655633  1.616235
[187]  1.478078  1.698742  1.832099
[190]  1.924236  1.347146  1.592261
[193]  1.649007  1.366491  1.468893
[196]  1.604041  1.611650  1.605420
[199]  1.642259  1.636456  1.619205
[202]  1.508577  1.766130  1.399178
[205]  1.468000  1.545403  1.201114
[208]  1.735832  1.755657  1.624083
fish.alp<-fisher.alpha(bird_Ohio)
fish.alp
  [1]  5.642066  7.896600  6.488217
  [4]  7.565648  7.896600  7.275326
  [7] 11.680602  8.578491  7.703286
 [10]  7.612305  7.916266  8.839863
 [13]  9.316717  9.454690  7.814550
 [16]  9.354043  4.970140  4.970140
 [19]  6.781181  7.415136 11.156386
 [22]  5.110244  9.198544  7.705935
 [25]  5.389613  5.679263  6.377738
 [28]  6.055108  6.765902  4.927590
 [31]  7.224522  8.920683  7.027652
 [34]  6.430958  5.381526  8.310228
 [37]  6.891754  8.984035  3.690822
 [40]  5.538659 11.970603  9.586698
 [43]  4.350582  5.112918  6.765902
 [46]  5.254828  4.718079  3.192559
 [49]  7.976087  5.576450  3.718729
 [52]  9.354332  5.646225  6.096825
 [55] 10.837223  5.798205  4.212510
 [58]  4.392532  3.217794  7.064403
 [61]  4.829737  8.991549  4.986195
 [64]  3.546422  4.711590  6.648249
 [67]  5.988234  6.114229  6.065899
 [70]  3.560586  3.546422  4.192993
 [73]  5.427384  5.030672  5.726751
 [76]  5.687885  6.259378  4.238987
 [79]  4.858106  4.121275  3.717707
 [82]  5.349775  1.659647  4.890459
 [85]  4.931276  7.342929  5.082987
 [88]  4.281400  4.257961  4.223961
 [91]  4.342856  5.369842  3.173985
 [94]  2.544462  4.545684  6.048954
 [97]  7.602821  5.778996  5.414712
[100]  7.383522  6.606168  7.981444
[103]  7.105981  3.601971  6.964669
[106]  4.071694  4.557373  5.109555
[109]  5.469168  4.810390  3.335706
[112]  4.489371  4.415941  4.311580
[115]  4.062475  3.967505  6.848485
[118]  7.622560  6.259936  3.401558
[121]  4.396019  5.031600  5.661968
[124]  4.672620  5.506903  6.274631
[127]  3.935634  4.959159  3.588003
[130]  5.297514  3.882807  3.497519
[133]  5.042383  4.164308  5.639364
[136]  8.224130  6.763796  4.777415
[139]  5.769443  5.149475  7.797693
[142]  3.904973  2.305868  5.871991
[145]  7.955229  4.394232  3.450861
[148]  3.204387  2.846412  4.802582
[151]  8.995673  6.871785  3.756033
[154]  6.745033  8.446768  3.800210
[157]  4.713438  4.046218  4.379899
[160]  5.104476  4.033430  5.926942
[163]  4.014640  8.614307  5.345689
[166]  5.647828  6.075704  6.342263
[169]  6.915739  3.675202  2.750911
[172]  4.849896  4.653569  3.632950
[175]  3.708700  4.551192  3.574193
[178]  3.328464  4.513385  3.010270
[181]  3.314740  5.730437  3.296916
[184]  4.218990  4.513385  5.923958
[187]  3.292541  4.471297  6.113701
[190]  6.406272  3.014282  5.165024
[193]  4.453883  5.647828  2.957055
[196]  6.182347  4.772041  3.494964
[199]  4.741473  4.409155  4.409155
[202]  3.815290  4.655622  2.103496
[205]  3.815290  3.778652  2.415700
[208]  6.323830  5.950260  4.993876
Div.Ind<-cbind.data.frame(shannon, simpson, inv.simpson,fish.alp)
Div.Ind
summary(Div.Ind)
    shannon         simpson      
 Min.   :0.488   Min.   :0.1674  
 1st Qu.:1.171   1st Qu.:0.4272  
 Median :1.453   Median :0.5277  
 Mean   :1.559   Mean   :0.5678  
 3rd Qu.:1.891   3rd Qu.:0.6944  
 Max.   :2.854   Max.   :0.9286  
  inv.simpson        fish.alp     
 Min.   : 1.201   Min.   : 1.660  
 1st Qu.: 1.746   1st Qu.: 4.214  
 Median : 2.117   Median : 5.112  
 Mean   : 3.192   Mean   : 5.521  
 3rd Qu.: 3.272   3rd Qu.: 6.638  
 Max.   :14.011   Max.   :11.971  
env_Ohio
Ohio.env.Div<-cbind.data.frame(env_Ohio, Div.Ind)
Ohio.env.Div
library("rstatix")
Ohio.env.Div %>%
  group_by(ELT) %>%
  get_summary_stats(shannon, type = "mean_sd")
Ohio.env.Div %>%
  group_by(ELT) %>%
  get_summary_stats(simpson, type = "mean_sd")
Ohio.env.Div %>%
  group_by(ELT) %>%
  get_summary_stats(inv.simpson, type = "mean_sd")
Ohio.env.Div %>%
  group_by(ELT) %>%
  get_summary_stats(fish.alp, type = "mean_sd")
library("gridExtra")
library("ggplot2")
Shanon.ELT<-ggplot(Ohio.env.Div, aes(x = ELT, y = shannon, fill = ELT)) +
  geom_boxplot() + 
  stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")

Simp.ELT<-ggplot(Ohio.env.Div, aes(x = ELT, y = simpson, fill = ELT)) +
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")

InvSimp.ELT<-ggplot(Ohio.env.Div, aes(x = ELT, y = inv.simpson, fill = ELT)) +
  geom_boxplot()  + 
  stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")

Fish.ELT<-ggplot(Ohio.env.Div, aes(x = ELT, y = fish.alp, fill = ELT)) +
  geom_boxplot()  + 
  stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")
grid.arrange(Shanon.ELT, Simp.ELT, InvSimp.ELT, Fish.ELT,
             nrow=2, ncol=2)

grid.arrange(Shanon.ELT, Simp.ELT, InvSimp.ELT, Fish.ELT, nrow=2, ncol=2)

shannon_aov <- aov(Ohio.env.Div$shannon ~ Ohio.env.Div$ELT)

summary(shannon_aov)
                  Df Sum Sq Mean Sq
Ohio.env.Div$ELT   2   1.30  0.6482
Residuals        207  51.93  0.2509
                 F value Pr(>F)  
Ohio.env.Div$ELT   2.584 0.0779 .
Residuals                        
---
Signif. codes:  
  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’
  0.1 ‘ ’ 1
simpson_aov <- aov(Ohio.env.Div$simpson ~ Ohio.env.Div$ELT)

summary(simpson_aov)
                  Df Sum Sq Mean Sq
Ohio.env.Div$ELT   2  0.146 0.07315
Residuals        207  6.514 0.03147
                 F value Pr(>F)
Ohio.env.Div$ELT   2.325    0.1
Residuals                      
inv.simpson_aov <- aov(Ohio.env.Div$inv.simpson ~ Ohio.env.Div$ELT)

summary(inv.simpson_aov)
                  Df Sum Sq Mean Sq
Ohio.env.Div$ELT   2   10.9   5.432
Residuals        207 1281.0   6.188
                 F value Pr(>F)
Ohio.env.Div$ELT   0.878  0.417
Residuals                      
fish.alp_aov <- aov(Ohio.env.Div$fish.alp ~ Ohio.env.Div$ELT)

summary(fish.alp_aov)
                  Df Sum Sq Mean Sq
Ohio.env.Div$ELT   2   13.2   6.610
Residuals        207  723.6   3.495
                 F value Pr(>F)
Ohio.env.Div$ELT   1.891  0.154
Residuals                      
distance_matrix<-vegdist(Ohio.env.Div[,10:10], method="bray", binary=FALSE)
adonis2(distance_matrix ~ ELT, data=Ohio.env.Div)
Permutation test for adonis under reduced model
Permutation: free
Number of permutations: 999

adonis2(formula = distance_matrix ~ ELT, data = Ohio.env.Div)
          Df SumOfSqs      R2      F
Model      2   0.1056 0.01964 2.0734
Residual 207   5.2698 0.98036       
Total    209   5.3754 1.00000       
         Pr(>F)
Model     0.119
Residual       
Total          
shannon_Tukey<-TukeyHSD(shannon_aov, conf.level=.95, ordered = TRUE)
shannon_Tukey
  Tukey multiple comparisons of means
    95% family-wise confidence level
    factor levels have been ordered

Fit: aov(formula = Ohio.env.Div$shannon ~ Ohio.env.Div$ELT)

$`Ohio.env.Div$ELT`
            diff         lwr       upr
wm-do 0.13037032 -0.06959090 0.3303315
dm-do 0.17612817 -0.01947617 0.3717325
dm-wm 0.04575785 -0.17586744 0.2673832
          p adj
wm-do 0.2748238
dm-do 0.0871606
dm-wm 0.8773715
simpson_Tukey<-TukeyHSD(simpson_aov, conf.level=.95, ordered = TRUE)
simpson_Tukey
  Tukey multiple comparisons of means
    95% family-wise confidence level
    factor levels have been ordered

Fit: aov(formula = Ohio.env.Div$simpson ~ Ohio.env.Div$ELT)

$`Ohio.env.Div$ELT`
            diff          lwr        upr
wm-do 0.03999172 -0.030825457 0.11080889
dm-do 0.06072189 -0.008552273 0.12999606
dm-wm 0.02073018 -0.057759428 0.09921978
          p adj
wm-do 0.3784527
dm-do 0.0987988
dm-wm 0.8074071
inv.simpson_Tukey<-TukeyHSD(inv.simpson_aov, conf.level=.95, ordered = TRUE)
inv.simpson_Tukey
  Tukey multiple comparisons of means
    95% family-wise confidence level
    factor levels have been ordered

Fit: aov(formula = Ohio.env.Div$inv.simpson ~ Ohio.env.Div$ELT)

$`Ohio.env.Div$ELT`
             diff        lwr      upr
do-wm 0.008178931 -0.9849209 1.001279
dm-wm 0.511205013 -0.5894887 1.611899
dm-do 0.503026083 -0.4684355 1.474488
          p adj
do-wm 0.9997916
dm-wm 0.5173776
dm-do 0.4413130
inv.simpson_Tukey<-TukeyHSD(inv.simpson_aov, conf.level=.95, ordered = TRUE)
inv.simpson_Tukey
  Tukey multiple comparisons of means
    95% family-wise confidence level
    factor levels have been ordered

Fit: aov(formula = Ohio.env.Div$inv.simpson ~ Ohio.env.Div$ELT)

$`Ohio.env.Div$ELT`
             diff        lwr      upr
do-wm 0.008178931 -0.9849209 1.001279
dm-wm 0.511205013 -0.5894887 1.611899
dm-do 0.503026083 -0.4684355 1.474488
          p adj
do-wm 0.9997916
dm-wm 0.5173776
dm-do 0.4413130
fish.alp_Tukey<-TukeyHSD(fish.alp_aov, conf.level=.95, ordered = TRUE)
fish.alp_Tukey
  Tukey multiple comparisons of means
    95% family-wise confidence level
    factor levels have been ordered

Fit: aov(formula = Ohio.env.Div$fish.alp ~ Ohio.env.Div$ELT)

$`Ohio.env.Div$ELT`
            diff        lwr       upr
dm-do 0.49303208 -0.2370869 1.2231511
wm-do 0.51451175 -0.2318699 1.2608934
wm-dm 0.02147968 -0.8057660 0.8487254
          p adj
dm-do 0.2504500
wm-do 0.2364382
wm-dm 0.9979307
shannon_Tukey_plot <- as.data.frame(shannon_Tukey$`Ohio.env.Div$ELT`)

shannon_Tukey_plot$comparison <- rownames(shannon_Tukey_plot)

shannon_Tukey_plot
simpson_Tukey_plot <- as.data.frame(simpson_Tukey$`Ohio.env.Div$ELT`)

simpson_Tukey_plot$comparison <- rownames(simpson_Tukey_plot)

simpson_Tukey_plot
inv.simpson_Tukey_plot <- as.data.frame(inv.simpson_Tukey$`Ohio.env.Div$ELT`)

inv.simpson_Tukey_plot$comparison <- rownames(inv.simpson_Tukey_plot)

inv.simpson_Tukey_plot
fish.alp_Tukey_plot <- as.data.frame(fish.alp_Tukey$`Ohio.env.Div$ELT`)

fish.alp_Tukey_plot$comparison <- rownames(fish.alp_Tukey_plot)

fish.alp_Tukey_plot
shannon_Tukey_plot_result<-ggplot(shannon_Tukey_plot, aes(x = comparison, y = diff)) +
  geom_point() +
  geom_errorbar(aes(ymin = lwr, ymax = upr), width = 0.2) +
  labs(
    title = "Tukey HSD Test Results for Shannon Diversity",
    x = "ELT Comparison",
    y = "Pairwise Difference in Mean"
  )

shannon_Tukey_plot_result

shannon_Tukey_plot_result_meandiff<-shannon_Tukey_plot_result + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
  geom_hline(yintercept=0, linetype="dashed", color = "red")

shannon_Tukey_plot_result_meandiff

simpson_Tukey_plot_result<-ggplot(simpson_Tukey_plot, aes(x = comparison, y = diff)) +
  geom_point() +
  geom_errorbar(aes(ymin = lwr, ymax = upr), width = 0.2) +
  labs(
    title = "Tukey HSD Test Results for Simpson Diversity",
    x = "ELT Comparison",
    y = "Pairwise Difference in Mean"
  )

simpson_Tukey_plot_result

simpson_Tukey_plot_result_meandiff<-simpson_Tukey_plot_result + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
  geom_hline(yintercept=0, linetype="dashed", color = "red")

simpson_Tukey_plot_result_meandiff

inv.simpson_Tukey_plot_result<-ggplot(inv.simpson_Tukey_plot, aes(x = comparison, y = diff)) +
  geom_point() +
  geom_errorbar(aes(ymin = lwr, ymax = upr), width = 0.2) +
  labs(
    title = "Tukey HSD Test Results for inv.Simpson Diversity",
    x = "ELT Comparison",
    y = "Pairwise Difference in Mean"
  )

inv.simpson_Tukey_plot_result

inv.simpson_Tukey_plot_result_meandiff<-inv.simpson_Tukey_plot_result + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
  geom_hline(yintercept=0, linetype="dashed", color = "red")

inv.simpson_Tukey_plot_result_meandiff

fish.alp_Tukey_plot_result<-ggplot(fish.alp_Tukey_plot, aes(x = comparison, y = diff)) +
  geom_point() +
  geom_errorbar(aes(ymin = lwr, ymax = upr), width = 0.2) +
  labs(
    title = "Tukey HSD Test Results for fish alpha Diversity",
    x = "ELT Comparison",
    y = "Pairwise Difference in Mean"
  )

fish.alp_Tukey_plot_result

fish.alp_Tukey_plot_result_meandiff<-fish.alp_Tukey_plot_result + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
  geom_hline(yintercept=0, linetype="dashed", color = "red")

fish.alp_Tukey_plot_result_meandiff

grid.arrange(shannon_Tukey_plot_result_meandiff,Shanon.ELT,nrow=1, ncol=2)

grid.arrange(simpson_Tukey_plot_result_meandiff,Simp.ELT,nrow=1, ncol=2)

grid.arrange(inv.simpson_Tukey_plot_result_meandiff,InvSimp.ELT,nrow=1, ncol=2)

grid.arrange(fish.alp_Tukey_plot_result_meandiff,Fish.ELT,nrow=1, ncol=2)

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCmluc3RhbGwucGFja2FnZXMoInJzdGF0aXgiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQ0KbGlicmFyeSgicnN0YXRpeCIpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KHJlYWR4bCkNCmJpcmRfT2hpbyA8LSByZWFkX2V4Y2VsKCJDOi9Vc2Vycy9XaW5kb3dzIDEwL0Rvd25sb2Fkcy9iaXJkX09oaW8ueGxzeCIpDQpWaWV3KGJpcmRfT2hpbykNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkocmVhZHhsKQ0KZW52X09oaW8gPC0gcmVhZF9leGNlbCgiQzovVXNlcnMvV2luZG93cyAxMC9Eb3dubG9hZHMvZW52X09oaW8ueGxzeCIpDQpWaWV3KGVudl9PaGlvKQ0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeSh2ZWdhbikNCmBgYA0KDQpgYGB7cn0NCmJpcmRfT2hpbw0KYGBgDQoNCmBgYHtyfQ0KbmNvbChiaXJkX09oaW8pDQpgYGANCg0KYGBge3J9DQpzcC5yaWNoPC1zcGVjbnVtYmVyKGJpcmRfT2hpbywgTUFSR0lOID0gMSkNCmFzLmRhdGEuZnJhbWUoc3AucmljaCkNCmBgYA0KDQpgYGB7cn0NCnNwLmV2ZW48LXNwZWNudW1iZXIoYmlyZF9PaGlvLE1BUkdJTj0yKQ0KYXMuZGF0YS5mcmFtZShzcC5ldmVuKQ0KYGBgDQoNCmBgYHtyfQ0Kc2hhbm5vbjwtZGl2ZXJzaXR5KGJpcmRfT2hpbywgaW5kZXggPSAic2hhbm5vbiIpDQpzaGFubm9uDQpgYGANCg0KYGBge3J9DQpzaW1wc29uPC1kaXZlcnNpdHkoYmlyZF9PaGlvLCBpbmRleCA9ICJzaW1wc29uIikNCnNpbXBzb24NCmBgYA0KDQpgYGB7cn0NCmludi5zaW1wc29uPC1kaXZlcnNpdHkoYmlyZF9PaGlvLCBpbmRleCA9ICJpbnZzaW1wc29uIikNCmludi5zaW1wc29uDQpgYGANCg0KYGBge3J9DQpmaXNoLmFscDwtZmlzaGVyLmFscGhhKGJpcmRfT2hpbykNCmZpc2guYWxwDQpgYGANCg0KYGBge3J9DQpEaXYuSW5kPC1jYmluZC5kYXRhLmZyYW1lKHNoYW5ub24sIHNpbXBzb24sIGludi5zaW1wc29uLGZpc2guYWxwKQ0KRGl2LkluZA0KYGBgDQoNCmBgYHtyfQ0Kc3VtbWFyeShEaXYuSW5kKQ0KYGBgDQoNCmBgYHtyfQ0KZW52X09oaW8NCmBgYA0KDQpgYGB7cn0NCk9oaW8uZW52LkRpdjwtY2JpbmQuZGF0YS5mcmFtZShlbnZfT2hpbywgRGl2LkluZCkNCk9oaW8uZW52LkRpdg0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeSgicnN0YXRpeCIpDQpgYGANCg0KYGBge3J9DQpPaGlvLmVudi5EaXYgJT4lDQogIGdyb3VwX2J5KEVMVCkgJT4lDQogIGdldF9zdW1tYXJ5X3N0YXRzKHNoYW5ub24sIHR5cGUgPSAibWVhbl9zZCIpDQpgYGANCg0KYGBge3J9DQpPaGlvLmVudi5EaXYgJT4lDQogIGdyb3VwX2J5KEVMVCkgJT4lDQogIGdldF9zdW1tYXJ5X3N0YXRzKHNpbXBzb24sIHR5cGUgPSAibWVhbl9zZCIpDQpgYGANCg0KYGBge3J9DQpPaGlvLmVudi5EaXYgJT4lDQogIGdyb3VwX2J5KEVMVCkgJT4lDQogIGdldF9zdW1tYXJ5X3N0YXRzKGludi5zaW1wc29uLCB0eXBlID0gIm1lYW5fc2QiKQ0KYGBgDQoNCmBgYHtyfQ0KT2hpby5lbnYuRGl2ICU+JQ0KICBncm91cF9ieShFTFQpICU+JQ0KICBnZXRfc3VtbWFyeV9zdGF0cyhmaXNoLmFscCwgdHlwZSA9ICJtZWFuX3NkIikNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoImdyaWRFeHRyYSIpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KCJnZ3Bsb3QyIikNCmBgYA0KDQpgYGB7cn0NClNoYW5vbi5FTFQ8LWdncGxvdChPaGlvLmVudi5EaXYsIGFlcyh4ID0gRUxULCB5ID0gc2hhbm5vbiwgZmlsbCA9IEVMVCkpICsNCiAgZ2VvbV9ib3hwbG90KCkgKyANCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBzaGFwZSA9MjEsIHNpemUgPSAzLCBjb2xvdXIgPSAiYmxhY2siLCBmaWxsPSJ5ZWxsb3ciKQ0KDQpTaW1wLkVMVDwtZ2dwbG90KE9oaW8uZW52LkRpdiwgYWVzKHggPSBFTFQsIHkgPSBzaW1wc29uLCBmaWxsID0gRUxUKSkgKw0KICBnZW9tX2JveHBsb3QoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50Iiwgc2hhcGUgPTIxLCBzaXplID0gMywgY29sb3VyID0gImJsYWNrIiwgZmlsbD0ieWVsbG93IikNCg0KSW52U2ltcC5FTFQ8LWdncGxvdChPaGlvLmVudi5EaXYsIGFlcyh4ID0gRUxULCB5ID0gaW52LnNpbXBzb24sIGZpbGwgPSBFTFQpKSArDQogIGdlb21fYm94cGxvdCgpICArIA0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJwb2ludCIsIHNoYXBlID0yMSwgc2l6ZSA9IDMsIGNvbG91ciA9ICJibGFjayIsIGZpbGw9InllbGxvdyIpDQoNCkZpc2guRUxUPC1nZ3Bsb3QoT2hpby5lbnYuRGl2LCBhZXMoeCA9IEVMVCwgeSA9IGZpc2guYWxwLCBmaWxsID0gRUxUKSkgKw0KICBnZW9tX2JveHBsb3QoKSAgKyANCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBzaGFwZSA9MjEsIHNpemUgPSAzLCBjb2xvdXIgPSAiYmxhY2siLCBmaWxsPSJ5ZWxsb3ciKQ0KYGBgDQoNCmBgYHtyfQ0KZ3JpZC5hcnJhbmdlKFNoYW5vbi5FTFQsIFNpbXAuRUxULCBJbnZTaW1wLkVMVCwgRmlzaC5FTFQsDQogICAgICAgICAgICAgbnJvdz0yLCBuY29sPTIpDQpgYGANCg0KYGBge3J9DQpncmlkLmFycmFuZ2UoU2hhbm9uLkVMVCwgU2ltcC5FTFQsIEludlNpbXAuRUxULCBGaXNoLkVMVCwgbnJvdz0yLCBuY29sPTIpDQpgYGANCg0KYGBge3J9DQpzaGFubm9uX2FvdiA8LSBhb3YoT2hpby5lbnYuRGl2JHNoYW5ub24gfiBPaGlvLmVudi5EaXYkRUxUKQ0KDQpzdW1tYXJ5KHNoYW5ub25fYW92KQ0KYGBgDQoNCmBgYHtyfQ0Kc2ltcHNvbl9hb3YgPC0gYW92KE9oaW8uZW52LkRpdiRzaW1wc29uIH4gT2hpby5lbnYuRGl2JEVMVCkNCg0Kc3VtbWFyeShzaW1wc29uX2FvdikNCmBgYA0KDQpgYGB7cn0NCmludi5zaW1wc29uX2FvdiA8LSBhb3YoT2hpby5lbnYuRGl2JGludi5zaW1wc29uIH4gT2hpby5lbnYuRGl2JEVMVCkNCg0Kc3VtbWFyeShpbnYuc2ltcHNvbl9hb3YpDQpgYGANCg0KYGBge3J9DQpmaXNoLmFscF9hb3YgPC0gYW92KE9oaW8uZW52LkRpdiRmaXNoLmFscCB+IE9oaW8uZW52LkRpdiRFTFQpDQoNCnN1bW1hcnkoZmlzaC5hbHBfYW92KQ0KYGBgDQoNCmBgYHtyfQ0KZGlzdGFuY2VfbWF0cml4PC12ZWdkaXN0KE9oaW8uZW52LkRpdlssMTA6MTBdLCBtZXRob2Q9ImJyYXkiLCBiaW5hcnk9RkFMU0UpDQpgYGANCg0KYGBge3J9DQphZG9uaXMyKGRpc3RhbmNlX21hdHJpeCB+IEVMVCwgZGF0YT1PaGlvLmVudi5EaXYpDQpgYGANCg0KYGBge3J9DQpzaGFubm9uX1R1a2V5PC1UdWtleUhTRChzaGFubm9uX2FvdiwgY29uZi5sZXZlbD0uOTUsIG9yZGVyZWQgPSBUUlVFKQ0Kc2hhbm5vbl9UdWtleQ0KYGBgDQoNCmBgYHtyfQ0Kc2ltcHNvbl9UdWtleTwtVHVrZXlIU0Qoc2ltcHNvbl9hb3YsIGNvbmYubGV2ZWw9Ljk1LCBvcmRlcmVkID0gVFJVRSkNCnNpbXBzb25fVHVrZXkNCmBgYA0KDQpgYGB7cn0NCmludi5zaW1wc29uX1R1a2V5PC1UdWtleUhTRChpbnYuc2ltcHNvbl9hb3YsIGNvbmYubGV2ZWw9Ljk1LCBvcmRlcmVkID0gVFJVRSkNCmludi5zaW1wc29uX1R1a2V5DQpgYGANCg0KYGBge3J9DQppbnYuc2ltcHNvbl9UdWtleTwtVHVrZXlIU0QoaW52LnNpbXBzb25fYW92LCBjb25mLmxldmVsPS45NSwgb3JkZXJlZCA9IFRSVUUpDQppbnYuc2ltcHNvbl9UdWtleQ0KYGBgDQoNCmBgYHtyfQ0KZmlzaC5hbHBfVHVrZXk8LVR1a2V5SFNEKGZpc2guYWxwX2FvdiwgY29uZi5sZXZlbD0uOTUsIG9yZGVyZWQgPSBUUlVFKQ0KZmlzaC5hbHBfVHVrZXkNCmBgYA0KDQpgYGB7cn0NCnNoYW5ub25fVHVrZXlfcGxvdCA8LSBhcy5kYXRhLmZyYW1lKHNoYW5ub25fVHVrZXkkYE9oaW8uZW52LkRpdiRFTFRgKQ0KDQpzaGFubm9uX1R1a2V5X3Bsb3QkY29tcGFyaXNvbiA8LSByb3duYW1lcyhzaGFubm9uX1R1a2V5X3Bsb3QpDQoNCnNoYW5ub25fVHVrZXlfcGxvdA0KYGBgDQoNCmBgYHtyfQ0Kc2ltcHNvbl9UdWtleV9wbG90IDwtIGFzLmRhdGEuZnJhbWUoc2ltcHNvbl9UdWtleSRgT2hpby5lbnYuRGl2JEVMVGApDQoNCnNpbXBzb25fVHVrZXlfcGxvdCRjb21wYXJpc29uIDwtIHJvd25hbWVzKHNpbXBzb25fVHVrZXlfcGxvdCkNCg0Kc2ltcHNvbl9UdWtleV9wbG90DQpgYGANCg0KYGBge3J9DQppbnYuc2ltcHNvbl9UdWtleV9wbG90IDwtIGFzLmRhdGEuZnJhbWUoaW52LnNpbXBzb25fVHVrZXkkYE9oaW8uZW52LkRpdiRFTFRgKQ0KDQppbnYuc2ltcHNvbl9UdWtleV9wbG90JGNvbXBhcmlzb24gPC0gcm93bmFtZXMoaW52LnNpbXBzb25fVHVrZXlfcGxvdCkNCg0KaW52LnNpbXBzb25fVHVrZXlfcGxvdA0KYGBgDQoNCmBgYHtyfQ0KZmlzaC5hbHBfVHVrZXlfcGxvdCA8LSBhcy5kYXRhLmZyYW1lKGZpc2guYWxwX1R1a2V5JGBPaGlvLmVudi5EaXYkRUxUYCkNCg0KZmlzaC5hbHBfVHVrZXlfcGxvdCRjb21wYXJpc29uIDwtIHJvd25hbWVzKGZpc2guYWxwX1R1a2V5X3Bsb3QpDQoNCmZpc2guYWxwX1R1a2V5X3Bsb3QNCmBgYA0KDQpgYGB7cn0NCnNoYW5ub25fVHVrZXlfcGxvdF9yZXN1bHQ8LWdncGxvdChzaGFubm9uX1R1a2V5X3Bsb3QsIGFlcyh4ID0gY29tcGFyaXNvbiwgeSA9IGRpZmYpKSArDQogIGdlb21fcG9pbnQoKSArDQogIGdlb21fZXJyb3JiYXIoYWVzKHltaW4gPSBsd3IsIHltYXggPSB1cHIpLCB3aWR0aCA9IDAuMikgKw0KICBsYWJzKA0KICAgIHRpdGxlID0gIlR1a2V5IEhTRCBUZXN0IFJlc3VsdHMgZm9yIFNoYW5ub24gRGl2ZXJzaXR5IiwNCiAgICB4ID0gIkVMVCBDb21wYXJpc29uIiwNCiAgICB5ID0gIlBhaXJ3aXNlIERpZmZlcmVuY2UgaW4gTWVhbiINCiAgKQ0KDQpzaGFubm9uX1R1a2V5X3Bsb3RfcmVzdWx0DQoNCmBgYA0KDQpgYGB7cn0NCnNoYW5ub25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmY8LXNoYW5ub25fVHVrZXlfcGxvdF9yZXN1bHQgKyANCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSwgaGp1c3QgPSAxKSkgKyANCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0PTAsIGxpbmV0eXBlPSJkYXNoZWQiLCBjb2xvciA9ICJyZWQiKQ0KDQpzaGFubm9uX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmDQpgYGANCg0KYGBge3J9DQpzaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0PC1nZ3Bsb3Qoc2ltcHNvbl9UdWtleV9wbG90LCBhZXMoeCA9IGNvbXBhcmlzb24sIHkgPSBkaWZmKSkgKw0KICBnZW9tX3BvaW50KCkgKw0KICBnZW9tX2Vycm9yYmFyKGFlcyh5bWluID0gbHdyLCB5bWF4ID0gdXByKSwgd2lkdGggPSAwLjIpICsNCiAgbGFicygNCiAgICB0aXRsZSA9ICJUdWtleSBIU0QgVGVzdCBSZXN1bHRzIGZvciBTaW1wc29uIERpdmVyc2l0eSIsDQogICAgeCA9ICJFTFQgQ29tcGFyaXNvbiIsDQogICAgeSA9ICJQYWlyd2lzZSBEaWZmZXJlbmNlIGluIE1lYW4iDQogICkNCg0Kc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdA0KYGBgDQoNCmBgYHtyfQ0Kc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdF9tZWFuZGlmZjwtc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdCArIA0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpKSArIA0KICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQ9MCwgbGluZXR5cGU9ImRhc2hlZCIsIGNvbG9yID0gInJlZCIpDQoNCnNpbXBzb25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmYNCmBgYA0KDQpgYGB7cn0NCmludi5zaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0PC1nZ3Bsb3QoaW52LnNpbXBzb25fVHVrZXlfcGxvdCwgYWVzKHggPSBjb21wYXJpc29uLCB5ID0gZGlmZikpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbiA9IGx3ciwgeW1heCA9IHVwciksIHdpZHRoID0gMC4yKSArDQogIGxhYnMoDQogICAgdGl0bGUgPSAiVHVrZXkgSFNEIFRlc3QgUmVzdWx0cyBmb3IgaW52LlNpbXBzb24gRGl2ZXJzaXR5IiwNCiAgICB4ID0gIkVMVCBDb21wYXJpc29uIiwNCiAgICB5ID0gIlBhaXJ3aXNlIERpZmZlcmVuY2UgaW4gTWVhbiINCiAgKQ0KDQppbnYuc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdA0KYGBgDQoNCmBgYHtyfQ0KaW52LnNpbXBzb25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmY8LWludi5zaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0ICsgDQogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpICsgDQogIGdlb21faGxpbmUoeWludGVyY2VwdD0wLCBsaW5ldHlwZT0iZGFzaGVkIiwgY29sb3IgPSAicmVkIikNCg0KaW52LnNpbXBzb25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmYNCmBgYA0KDQpgYGB7cn0NCmZpc2guYWxwX1R1a2V5X3Bsb3RfcmVzdWx0PC1nZ3Bsb3QoZmlzaC5hbHBfVHVrZXlfcGxvdCwgYWVzKHggPSBjb21wYXJpc29uLCB5ID0gZGlmZikpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbiA9IGx3ciwgeW1heCA9IHVwciksIHdpZHRoID0gMC4yKSArDQogIGxhYnMoDQogICAgdGl0bGUgPSAiVHVrZXkgSFNEIFRlc3QgUmVzdWx0cyBmb3IgZmlzaCBhbHBoYSBEaXZlcnNpdHkiLA0KICAgIHggPSAiRUxUIENvbXBhcmlzb24iLA0KICAgIHkgPSAiUGFpcndpc2UgRGlmZmVyZW5jZSBpbiBNZWFuIg0KICApDQoNCmZpc2guYWxwX1R1a2V5X3Bsb3RfcmVzdWx0DQpgYGANCg0KYGBge3J9DQpmaXNoLmFscF9UdWtleV9wbG90X3Jlc3VsdF9tZWFuZGlmZjwtZmlzaC5hbHBfVHVrZXlfcGxvdF9yZXN1bHQgKyANCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSwgaGp1c3QgPSAxKSkgKyANCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0PTAsIGxpbmV0eXBlPSJkYXNoZWQiLCBjb2xvciA9ICJyZWQiKQ0KDQpmaXNoLmFscF9UdWtleV9wbG90X3Jlc3VsdF9tZWFuZGlmZg0KYGBgDQoNCmBgYHtyfQ0KZ3JpZC5hcnJhbmdlKHNoYW5ub25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmYsU2hhbm9uLkVMVCxucm93PTEsIG5jb2w9MikNCmBgYA0KDQpgYGB7cn0NCmdyaWQuYXJyYW5nZShzaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmLFNpbXAuRUxULG5yb3c9MSwgbmNvbD0yKQ0KYGBgDQoNCmBgYHtyfQ0KZ3JpZC5hcnJhbmdlKGludi5zaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmLEludlNpbXAuRUxULG5yb3c9MSwgbmNvbD0yKQ0KYGBgDQoNCmBgYHtyfQ0KZ3JpZC5hcnJhbmdlKGZpc2guYWxwX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmLEZpc2guRUxULG5yb3c9MSwgbmNvbD0yKQ0KYGBgDQo=