1 Introduction

This work tree will attempt to ask some questions about the essentiality of prophage regions in a few bacterial strains of interest to Yoann:

  • S. pyogenes 5448 , accession CP008776.
  • S. pyogenes M1 SF370, accession NZ_LS483338.
  • S. pyogenes NZ131, accession CP000829.
  • A. baumannii ATCC strain 17978, accession CP000521.

My understanding of Yoann’s goals is not yet complete, I think we will be doing some queries of samples from bioproject PRJNA668602 as well as reinterpreting our previous results of some 5448/M1/NZ131 samples in order to look a little more carefully at the putative prophage regions.

2 Prophage regions

After I grabbed what I think are current assemblies for these genomes, I ran phastaf on them to get the following putative prophage coordinates:

(Note, I need to take a minute and write down the gene IDs therein.)

2.1 A. baumannii strain 17978:

Contig start e nd OR Fs
CP000521 928530 929082 1
CP000521 1334211 1336523 3
CP000521 1342834 1344535 3
CP000521 1367712 1368684 2
CP000521 1831088 1831316 1
CP000521 2334766 2361414 27
CP000521 2370788 2371052 1
CP000521 2375167 2376286 1
CP000521 2378697 2378964 1

2.2 S. pyogenes 5448

Contig start end ORFs
CP008776 323721 324042 3
CP008776 413106 446866 36
CP008776 450234 450704 2
CP008776 453540 453717 1
CP008776 600591 601695 1
CP008776 659989 661129 1
CP008776 663415 691106 42
CP008776 739785 739908 1
CP008776 817108 854441 52
CP008776 1289907 1291212 1
CP008776 1718455 1718650 1

2.3 S. pyogenes SF370

Contig start e nd OR Fs
NZ_LS483338 318536 318857 3
NZ_LS483338 321542 360909 58
NZ_LS483338 591773 592877 1
NZ_LS483338 697509 697632 1
NZ_LS483338 770603 778346 11
NZ_LS483338 784465 789136 9
NZ_LS483338 792861 793047 1
NZ_LS483338 1202519 1203824 1
NZ_LS483338 1636235 1636430 1

2.4 S. pyogenes NZ131

Contig start end ORFs
CP000829 560383 561688 1
CP000829 751629 785701 39
CP000829 1094129 1094252 1
CP000829 1198932 1200036 1
CP000829 1435686 1436007 3
CP000829 1463220 1467186 7
CP000829 1469295 1472342 2
CP000829 1487870 1496304 20
CP000829 1498835 1501664 5
CP000829 1504588 1505660 3
CP000829 1704534 1704729 1
pander::pander(sessionInfo())

R version 4.2.0 (2022-04-22)

Platform: x86_64-pc-linux-gnu (64-bit)

locale: LC_CTYPE=en_US.UTF-8, LC_NUMERIC=C, LC_TIME=en_US.UTF-8, LC_COLLATE=en_US.UTF-8, LC_MONETARY=en_US.UTF-8, LC_MESSAGES=en_US.UTF-8, LC_PAPER=en_US.UTF-8, LC_NAME=C, LC_ADDRESS=C, LC_TELEPHONE=C, LC_MEASUREMENT=en_US.UTF-8 and LC_IDENTIFICATION=C

attached base packages: stats4, stats, graphics, grDevices, utils, datasets, methods and base

other attached packages: hpgltools(v.1.0), testthat(v.3.1.8), reticulate(v.1.28), SummarizedExperiment(v.1.28.0), GenomicRanges(v.1.50.2), GenomeInfoDb(v.1.34.9), IRanges(v.2.32.0), S4Vectors(v.0.36.2), MatrixGenerics(v.1.10.0), matrixStats(v.0.63.0), Biobase(v.2.58.0) and BiocGenerics(v.0.44.0)

loaded via a namespace (and not attached): utf8(v.1.2.3), RUnit(v.0.4.32), tidyselect(v.1.2.0), lme4(v.1.1-33), RSQLite(v.2.3.1), AnnotationDbi(v.1.60.2), htmlwidgets(v.1.6.2), grid(v.4.2.0), BiocParallel(v.1.32.6), scatterpie(v.0.1.9), devtools(v.2.4.5), munsell(v.0.5.0), codetools(v.0.2-19), miniUI(v.0.1.1.1), withr(v.2.5.0), colorspace(v.2.1-0), GOSemSim(v.2.24.0), filelock(v.1.0.2), knitr(v.1.42), rstudioapi(v.0.14), DOSE(v.3.24.2), Rdpack(v.2.4), GenomeInfoDbData(v.1.2.9), polyclip(v.1.10-4), farver(v.2.1.1), bit64(v.4.0.5), downloader(v.0.4), rprojroot(v.2.0.3), treeio(v.1.22.0), vctrs(v.0.6.2), generics(v.0.1.3), gson(v.0.1.0), clusterGeneration(v.1.3.7), xfun(v.0.39), BiocFileCache(v.2.6.1), R6(v.2.5.1), doParallel(v.1.0.17), graphlayouts(v.1.0.0), locfit(v.1.5-9.7), gridGraphics(v.0.5-1), bitops(v.1.0-7), cachem(v.1.0.8), fgsea(v.1.24.0), DelayedArray(v.0.24.0), promises(v.1.2.0.1), BiocIO(v.1.8.0), scales(v.1.2.1), ggraph(v.2.1.0), enrichplot(v.1.18.4), gtable(v.0.3.3), sva(v.3.46.0), processx(v.3.8.1), tidygraph(v.1.2.3), rlang(v.1.1.1), genefilter(v.1.80.3), splines(v.4.2.0), rtracklayer(v.1.58.0), lazyeval(v.0.2.2), broom(v.1.0.4), yaml(v.2.3.7), reshape2(v.1.4.4), GenomicFeatures(v.1.50.4), backports(v.1.4.1), httpuv(v.1.6.10), qvalue(v.2.30.0), clusterProfiler(v.4.6.2), tools(v.4.2.0), usethis(v.2.1.6), ggplotify(v.0.1.0), ggplot2(v.3.4.2), ellipsis(v.0.3.2), gplots(v.3.1.3), RColorBrewer(v.1.1-3), jquerylib(v.0.1.4), sessioninfo(v.1.2.2), Rcpp(v.1.0.10), plyr(v.1.8.8), progress(v.1.2.2), zlibbioc(v.1.44.0), purrr(v.1.0.1), RCurl(v.1.98-1.12), ps(v.1.7.5), prettyunits(v.1.1.1), remaCor(v.0.0.11), viridis(v.0.6.3), cowplot(v.1.1.1), urlchecker(v.1.0.1), ggrepel(v.0.9.3), fs(v.1.6.2), variancePartition(v.1.28.9), magrittr(v.2.0.3), data.table(v.1.14.8), mvtnorm(v.1.1-3), pkgload(v.1.3.2), patchwork(v.1.1.2), hms(v.1.1.3), mime(v.0.12), evaluate(v.0.21), xtable(v.1.8-4), HDO.db(v.0.99.1), pbkrtest(v.0.5.2), RhpcBLASctl(v.0.23-42), XML(v.3.99-0.14), gridExtra(v.2.3), compiler(v.4.2.0), biomaRt(v.2.54.1), tibble(v.3.2.1), shadowtext(v.0.1.2), KernSmooth(v.2.23-21), crayon(v.1.5.2), minqa(v.1.2.5), htmltools(v.0.5.5), ggfun(v.0.0.9), mgcv(v.1.8-42), later(v.1.3.1), aplot(v.0.1.10), tidyr(v.1.3.0), DBI(v.1.1.3), tweenr(v.2.0.2), dbplyr(v.2.3.2), MASS(v.7.3-60), rappdirs(v.0.3.3), boot(v.1.3-28.1), Matrix(v.1.5-4), brio(v.1.1.3), cli(v.3.6.1), rbibutils(v.2.2.13), igraph(v.1.4.2), parallel(v.4.2.0), pkgconfig(v.2.0.3), GenomicAlignments(v.1.34.1), plotly(v.4.10.1), xml2(v.1.3.4), foreach(v.1.5.2), ggtree(v.3.6.2), annotate(v.1.76.0), bslib(v.0.4.2), XVector(v.0.38.0), yulab.utils(v.0.0.6), stringr(v.1.5.0), callr(v.3.7.3), digest(v.0.6.31), graph(v.1.76.0), Biostrings(v.2.66.0), rmarkdown(v.2.21), fastmatch(v.1.1-3), tidytree(v.0.4.2), edgeR(v.3.40.2), PROPER(v.1.30.0), GSEABase(v.1.60.0), restfulr(v.0.0.15), curl(v.5.0.0), shiny(v.1.7.4), Rsamtools(v.2.14.0), gtools(v.3.9.4), rjson(v.0.2.21), nloptr(v.2.0.3), lifecycle(v.1.0.3), nlme(v.3.1-162), jsonlite(v.1.8.4), aod(v.1.3.2), desc(v.1.4.2), viridisLite(v.0.4.2), limma(v.3.54.2), fansi(v.1.0.4), pillar(v.1.9.0), lattice(v.0.21-8), KEGGREST(v.1.38.0), fastmap(v.1.1.1), httr(v.1.4.6), pkgbuild(v.1.4.0), survival(v.3.5-5), GO.db(v.3.16.0), glue(v.1.6.2), remotes(v.2.4.2), png(v.0.1-8), iterators(v.1.0.14), pander(v.0.6.5), bit(v.4.0.5), ggforce(v.0.4.1), stringi(v.1.7.12), sass(v.0.4.6), profvis(v.0.3.8), blob(v.1.2.4), caTools(v.1.18.2), memoise(v.2.0.1), dplyr(v.1.1.2) and ape(v.5.7-1)

message("This is hpgltools commit: ", get_git_commit())
## If you wish to reproduce this exact build of hpgltools, invoke the following:
## > git clone http://github.com/abelew/hpgltools.git
## > git reset 3e0de6383ee41f791dac5025f8e6790ddc8072bd
## This is hpgltools commit: Mon May 15 12:43:27 2023 -0400: 3e0de6383ee41f791dac5025f8e6790ddc8072bd
this_save <- paste0(gsub(pattern = "\\.Rmd", replace = "", x = rmd_file), "-v", ver, ".rda.xz")
message("Saving to ", this_save)
## Saving to index-v20230523.rda.xz
tmp <- sm(saveme(filename = this_save))
LS0tCnRpdGxlOiAiTm90ZXMgYWJvdXQgVE5TZXEgdG8gbG9vayBhdCBwcm9waGFnZSBzZXF1ZW5jZXMuIgphdXRob3I6ICJhdGIgYWJlbGV3QGdtYWlsLmNvbSIKZGF0ZTogImByIFN5cy5EYXRlKClgIgpvdXRwdXQ6CiAgaHRtbF9kb2N1bWVudDoKICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKICAgIGNvZGVfZm9sZGluZzogc2hvdwogICAgZmlnX2NhcHRpb246IHRydWUKICAgIGZpZ19oZWlnaHQ6IDcKICAgIGZpZ193aWR0aDogNwogICAgaGlnaGxpZ2h0OiB6ZW5idXJuCiAgICBrZWVwX21kOiBmYWxzZQogICAgbW9kZTogc2VsZmNvbnRhaW5lZAogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlCiAgICBzZWxmX2NvbnRhaW5lZDogdHJ1ZQogICAgdGhlbWU6IHJlYWRhYmxlCiAgICB0b2M6IHRydWUKICAgIHRvY19mbG9hdDoKICAgICAgY29sbGFwc2VkOiBmYWxzZQogICAgICBzbW9vdGhfc2Nyb2xsOiBmYWxzZQogIHJtZGZvcm1hdHM6OnJlYWR0aGVkb3duOgogICAgY29kZV9kb3dubG9hZDogdHJ1ZQogICAgY29kZV9mb2xkaW5nOiBzaG93CiAgICBkZl9wcmludDogcGFnZWQKICAgIGZpZ19jYXB0aW9uOiB0cnVlCiAgICBmaWdfaGVpZ2h0OiA3CiAgICBmaWdfd2lkdGg6IDcKICAgIGhpZ2hsaWdodDogemVuYnVybgogICAgd2lkdGg6IDMwMAogICAga2VlcF9tZDogZmFsc2UKICAgIG1vZGU6IHNlbGZjb250YWluZWQKICAgIHRvY19mbG9hdDogdHJ1ZQogIEJpb2NTdHlsZTo6aHRtbF9kb2N1bWVudDoKICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKICAgIGNvZGVfZm9sZGluZzogc2hvdwogICAgZmlnX2NhcHRpb246IHRydWUKICAgIGZpZ19oZWlnaHQ6IDcKICAgIGZpZ193aWR0aDogNwogICAgaGlnaGxpZ2h0OiB6ZW5idXJuCiAgICBrZWVwX21kOiBmYWxzZQogICAgbW9kZTogc2VsZmNvbnRhaW5lZAogICAgdG9jX2Zsb2F0OiB0cnVlCi0tLQoKPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KYm9keSwgdGQgewogIGZvbnQtc2l6ZTogMTZweDsKfQpjb2RlLnJ7CiAgZm9udC1zaXplOiAxNnB4Owp9CnByZSB7CiBmb250LXNpemU6IDE2cHgKfQo8L3N0eWxlPgoKYGBge3Igb3B0aW9ucywgaW5jbHVkZT1GQUxTRX0KbGlicmFyeShocGdsdG9vbHMpCmxpYnJhcnkocmV0aWN1bGF0ZSkKdHQgPC0gZGV2dG9vbHM6OmxvYWRfYWxsKCJ+L2hwZ2x0b29scyIpCmtuaXRyOjpvcHRzX2tuaXQkc2V0KAogIHdpZHRoID0gMTIwLCBwcm9ncmVzcyA9IFRSVUUsIHZlcmJvc2UgPSBUUlVFLCBlY2hvID0gVFJVRSkKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVycm9yID0gVFJVRSwgZHBpID0gOTYpCmx1YV9maWx0ZXJzIDwtIHJtYXJrZG93bjo6cGFuZG9jX2x1YV9maWx0ZXJfYXJncygicGFuZG9jLXpvdHh0Lmx1YSIpCm9sZF9vcHRpb25zIDwtIG9wdGlvbnMoCiAgZGlnaXRzID0gNCwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFLCBrbml0ci5kdXBsaWNhdGUubGFiZWwgPSAiYWxsb3ciKQpnZ3Bsb3QyOjp0aGVtZV9zZXQoZ2dwbG90Mjo6dGhlbWVfYncoYmFzZV9zaXplID0gMTApKQpydW5kYXRlIDwtIGZvcm1hdChTeXMuRGF0ZSgpLCBmb3JtYXQgPSAiJVklbSVkIikKcHJldmlvdXNfZmlsZSA8LSAiIgp2ZXIgPC0gZm9ybWF0KFN5cy5EYXRlKCksICIlWSVtJWQiKQoKIyN0bXAgPC0gc20obG9hZG1lKGZpbGVuYW1lPXBhc3RlMChnc3ViKHBhdHRlcm49IlxcLlJtZCIsIHJlcGxhY2U9IiIsIHg9cHJldmlvdXNfZmlsZSksICItdiIsIHZlciwgIi5yZGEueHoiKSkpCnJtZF9maWxlIDwtICJpbmRleC5SbWQiCmBgYAoKIyBJbnRyb2R1Y3Rpb24KClRoaXMgd29yayB0cmVlIHdpbGwgYXR0ZW1wdCB0byBhc2sgc29tZSBxdWVzdGlvbnMgYWJvdXQgdGhlCmVzc2VudGlhbGl0eSBvZiBwcm9waGFnZSByZWdpb25zIGluIGEgZmV3IGJhY3RlcmlhbCBzdHJhaW5zIG9mCmludGVyZXN0IHRvIFlvYW5uOgoKKiBTLiBweW9nZW5lcyA1NDQ4ICwgYWNjZXNzaW9uIENQMDA4Nzc2LgoqIFMuIHB5b2dlbmVzIE0xIFNGMzcwLCBhY2Nlc3Npb24gTlpfTFM0ODMzMzguCiogUy4gcHlvZ2VuZXMgTloxMzEsIGFjY2Vzc2lvbiBDUDAwMDgyOS4KKiBBLiBiYXVtYW5uaWkgQVRDQyBzdHJhaW4gMTc5NzgsIGFjY2Vzc2lvbiBDUDAwMDUyMS4KCk15IHVuZGVyc3RhbmRpbmcgb2YgWW9hbm4ncyBnb2FscyBpcyBub3QgeWV0IGNvbXBsZXRlLCBJIHRoaW5rIHdlIHdpbGwKYmUgZG9pbmcgc29tZSBxdWVyaWVzIG9mIHNhbXBsZXMgZnJvbSBiaW9wcm9qZWN0IFBSSk5BNjY4NjAyIGFzIHdlbGwKYXMgcmVpbnRlcnByZXRpbmcgb3VyIHByZXZpb3VzIHJlc3VsdHMgb2Ygc29tZSA1NDQ4L00xL05aMTMxIHNhbXBsZXMKaW4gb3JkZXIgdG8gbG9vayBhIGxpdHRsZSBtb3JlIGNhcmVmdWxseSBhdCB0aGUgcHV0YXRpdmUgcHJvcGhhZ2UKcmVnaW9ucy4KCiMgUHJvcGhhZ2UgcmVnaW9ucwoKQWZ0ZXIgSSBncmFiYmVkIHdoYXQgSSB0aGluayBhcmUgY3VycmVudCBhc3NlbWJsaWVzIGZvciB0aGVzZSBnZW5vbWVzLApJIHJhbiBwaGFzdGFmIG9uIHRoZW0gdG8gZ2V0IHRoZSBmb2xsb3dpbmcgcHV0YXRpdmUgcHJvcGhhZ2UKY29vcmRpbmF0ZXM6CgooTm90ZSwgSSBuZWVkIHRvIHRha2UgYSBtaW51dGUgYW5kIHdyaXRlIGRvd24gdGhlIGdlbmUgSURzIHRoZXJlaW4uKQoKIyMgQS4gYmF1bWFubmlpIHN0cmFpbiAxNzk3ODoKCkNvbnRpZyAgICAgICAgICBzdGFydCAgZW5kICAgIE9SRnMKLS0tLS0tLS0gICAgICAgIC0tLS0tLSAgLS0tLS0tLSAtLQpDUDAwMDUyMSAgICAgICAgOTI4NTMwICA5MjkwODIgIDEKQ1AwMDA1MjEgICAgICAgIDEzMzQyMTEgMTMzNjUyMyAzCkNQMDAwNTIxICAgICAgICAxMzQyODM0IDEzNDQ1MzUgMwpDUDAwMDUyMSAgICAgICAgMTM2NzcxMiAxMzY4Njg0IDIKQ1AwMDA1MjEgICAgICAgIDE4MzEwODggMTgzMTMxNiAxCkNQMDAwNTIxICAgICAgICAyMzM0NzY2IDIzNjE0MTQgMjcKQ1AwMDA1MjEgICAgICAgIDIzNzA3ODggMjM3MTA1MiAxCkNQMDAwNTIxICAgICAgICAyMzc1MTY3IDIzNzYyODYgMQpDUDAwMDUyMSAgICAgICAgMjM3ODY5NyAyMzc4OTY0IDEKLS0tLS0tLS0gICAgICAgIC0tLS0tLSAgLS0tLS0tLSAtLQoKIyMgUy4gcHlvZ2VuZXMgNTQ0OAoKQ29udGlnICAgICAgICAgIHN0YXJ0ICAgIGVuZCAgICBPUkZzCi0tLS0tLS0tICAgICAgICAtLS0tLS0gIC0tLS0tLS0gLS0KQ1AwMDg3NzYgICAgICAgIDMyMzcyMSAgMzI0MDQyICAzCkNQMDA4Nzc2ICAgICAgICA0MTMxMDYgIDQ0Njg2NiAgMzYKQ1AwMDg3NzYgICAgICAgIDQ1MDIzNCAgNDUwNzA0ICAyCkNQMDA4Nzc2ICAgICAgICA0NTM1NDAgIDQ1MzcxNyAgMQpDUDAwODc3NiAgICAgICAgNjAwNTkxICA2MDE2OTUgIDEKQ1AwMDg3NzYgICAgICAgIDY1OTk4OSAgNjYxMTI5ICAxCkNQMDA4Nzc2ICAgICAgICA2NjM0MTUgIDY5MTEwNiAgNDIKQ1AwMDg3NzYgICAgICAgIDczOTc4NSAgNzM5OTA4ICAxCkNQMDA4Nzc2ICAgICAgICA4MTcxMDggIDg1NDQ0MSAgNTIKQ1AwMDg3NzYgICAgICAgIDEyODk5MDcgMTI5MTIxMiAxCkNQMDA4Nzc2ICAgICAgICAxNzE4NDU1IDE3MTg2NTAgMQotLS0tLS0tLSAgICAgICAgLS0tLS0tICAtLS0tLS0tIC0tCgoKIyMgUy4gcHlvZ2VuZXMgU0YzNzAKCkNvbnRpZyAgICAgICAgICBzdGFydCAgZW5kICAgIE9SRnMKLS0tLS0tLS0tLS0gICAgIC0tLS0tLSAgLS0tLS0tICAtLQpOWl9MUzQ4MzMzOCAgICAgMzE4NTM2ICAzMTg4NTcgIDMKTlpfTFM0ODMzMzggICAgIDMyMTU0MiAgMzYwOTA5ICA1OApOWl9MUzQ4MzMzOCAgICAgNTkxNzczICA1OTI4NzcgIDEKTlpfTFM0ODMzMzggICAgIDY5NzUwOSAgNjk3NjMyICAxCk5aX0xTNDgzMzM4ICAgICA3NzA2MDMgIDc3ODM0NiAgMTEKTlpfTFM0ODMzMzggICAgIDc4NDQ2NSAgNzg5MTM2ICA5Ck5aX0xTNDgzMzM4ICAgICA3OTI4NjEgIDc5MzA0NyAgMQpOWl9MUzQ4MzMzOCAgICAgMTIwMjUxOSAxMjAzODI0IDEKTlpfTFM0ODMzMzggICAgIDE2MzYyMzUgMTYzNjQzMCAxCi0tLS0tLS0tLS0tICAgICAtLS0tLS0tIC0tLS0tLS0gLS0KCiMjIFMuIHB5b2dlbmVzIE5aMTMxCgpDb250aWcgICAgICAgICAgc3RhcnQgICAgZW5kICAgIE9SRnMKLS0tLS0tLS0gICAgICAgIC0tLS0tLS0gLS0tLS0tICAtLS0tCkNQMDAwODI5ICAgICAgICA1NjAzODMgIDU2MTY4OCAgMQpDUDAwMDgyOSAgICAgICAgNzUxNjI5ICA3ODU3MDEgIDM5CkNQMDAwODI5ICAgICAgICAxMDk0MTI5IDEwOTQyNTIgMQpDUDAwMDgyOSAgICAgICAgMTE5ODkzMiAxMjAwMDM2IDEKQ1AwMDA4MjkgICAgICAgIDE0MzU2ODYgMTQzNjAwNyAzCkNQMDAwODI5ICAgICAgICAxNDYzMjIwIDE0NjcxODYgNwpDUDAwMDgyOSAgICAgICAgMTQ2OTI5NSAxNDcyMzQyIDIKQ1AwMDA4MjkgICAgICAgIDE0ODc4NzAgMTQ5NjMwNCAyMApDUDAwMDgyOSAgICAgICAgMTQ5ODgzNSAxNTAxNjY0IDUKQ1AwMDA4MjkgICAgICAgIDE1MDQ1ODggMTUwNTY2MCAzCkNQMDAwODI5ICAgICAgICAxNzA0NTM0IDE3MDQ3MjkgMQotLS0tLS0tLSAgICAgICAgLS0tLS0tLSAtLS0tLS0gIC0tLS0KCgoKCgoKYGBge3Igc2F2ZW1lfQpwYW5kZXI6OnBhbmRlcihzZXNzaW9uSW5mbygpKQptZXNzYWdlKCJUaGlzIGlzIGhwZ2x0b29scyBjb21taXQ6ICIsIGdldF9naXRfY29tbWl0KCkpCnRoaXNfc2F2ZSA8LSBwYXN0ZTAoZ3N1YihwYXR0ZXJuID0gIlxcLlJtZCIsIHJlcGxhY2UgPSAiIiwgeCA9IHJtZF9maWxlKSwgIi12IiwgdmVyLCAiLnJkYS54eiIpCm1lc3NhZ2UoIlNhdmluZyB0byAiLCB0aGlzX3NhdmUpCnRtcCA8LSBzbShzYXZlbWUoZmlsZW5hbWUgPSB0aGlzX3NhdmUpKQpgYGAK