R Markdown の出力形式をためしてみよう

R Notebook と他の形式

R Notebook は、R Markdown の一つの形式ですが、書式はおなじですから、コードを実行すると、その下に実行結果が現れます。

コード・チャンクは、ハイライトされています。そのコード・チャンクは、 Run ボタンを押すか、コード・チャンクの右上にある、右を向いた三角形をおすか、 Ctrl+Shift+Enter (Win) または Cmd+Shift+Enter (Mac) のキーで実行できます。

R Notebook の、プレビューは、実際にコード・チャンクに表示されているものだけが、含まれますが、Knit で他の形式の出力をするときは、最初から一つ一つコード・チャンクを実行して、その結果が出力されますから、エラーがあると、出力されず、途中で停止します。

日本語・中国語・韓国語

文字化けが、起こることが多く、対応が、一定せず、難しかったのですが、現在は、どの場合も、次の設定で、解決しているようです。下の例を確認してください。

# showtext を、インストールしていない場合は、一回だけ、右上の三角をクリックして実行
install.packages('showtext')

パッケージをロード

library によって、Package をロード(いつでも使えるように)します。

library(tidyverse)
library(showtext) 
knitr::opts_chunk$set(fig.showtext=TRUE)

Test Code Chunk (1)

head(cars)

Test Code Chunk (2)

plot(cars, main="散布図")

Test Code Chunk (3)

df_iris <- iris
colnames(df_iris) <- c("萼長","萼幅","葉長","葉幅","Species" )
tab <- data.frame(Species = c("setosa", "versicolor", "virginica"), 
                  "種別" = c("ヒオウギアヤメ", "ブルーフラッグ", "バージニカ"))
df_iris <- df_iris %>% left_join(tab, by=c("Species" = "Species")) %>% select(-5)
df_iris %>% slice(1:2)

knitr::kable(df_iris[1:6, ])
萼長 萼幅 葉長 葉幅 種別
5.1 3.5 1.4 0.2 ヒオウギアヤメ
4.9 3.0 1.4 0.2 ヒオウギアヤメ
4.7 3.2 1.3 0.2 ヒオウギアヤメ
4.6 3.1 1.5 0.2 ヒオウギアヤメ
5.0 3.6 1.4 0.2 ヒオウギアヤメ
5.4 3.9 1.7 0.4 ヒオウギアヤメ

Test Code Chunk (4)

新しいコード・チャンク

あらたにコード・チャンクを挿入するときは、ツール・バーの Insert Chunk ボタンを押すか、または、 Ctrl+Option+I (Win) or Cmd+Option+I (Mac) でも可能です。

まずは、Preview がおすすめ

ノートブックを保存すると、コードを含む HTML ファイルが作成されます。プレビュー(Preview )ボタンまたは、 Ctrl+Shift+K (Win) または Cmd+Shift+K (Mac) でも可能です。

いろいろな出力形式を加えたYAML

output:
  pdf_document: 
    latex_engine: xelatex
  beamer_presentation: 
    latex_engine: xelatex
  html_document:
    df_print: paged
  html_notebook: default
  word_document: default
  powerpoint_presentation: default
  ioslides_presentation: default
  slidy_presentation: default

Knit ボタンから、他の形式を選び、試してみてください。

出力形式に関する備考

  • スライドの場合は、第二レベルの表題 ## があると、改ページとなります。
  • --- または、Visual エディターの、Horizontal Line でも、改ページになります。
  • Word や PowerPoint は、一度、Knit して出力したファイルの書式を変更して、“my-styles.docx”、“my-styles.pptx” などと名称を変更して、下のように、書式ファイルを付けることが可能です。参考文献を参照してください。
---
 word_document:
    reference_docx: my-styles.docx
 powerpoint_presentation:
    reference_doc: my-styles.pptx
---
  • PDF 作成には、tinytex パッケージのインストールが必要。その後、Console で tinytex::install_tinytex().

さまざまな設定

  • Knit ボタンの隣のギアマーク の Output Option からそれぞれの書式を変更することが可能です。
  • 節番号自動振り付け、ページ番号、テーマ、出力する図のサイズなどが、それぞれの形式に応じて選択できます。
  • また、コード・チャンクの右上にある、ギア・マークからも、コードを出力するか否か、実行するか否か、コード・チャンクの名称、図のサイズなどが選択できます。
  • {r cache=TRUE} とすると、キャッシュしてくれるので、実行に時間がかかるコード・チャンクには、このようなオプションを加えるのも良いでしょう。

参考文献 References

LS0tCnRpdGxlOiAi44GE44KN44GE44KN44GqIFIgTWFya2Rvd24g44OV44Kp44O844Oe44OD44OIIgphdXRob3I6ICLlrabnsY3nlarlj7fjgIDmsI/lkI0iCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCIKaGVhZGVyLWluY2x1ZGVzOgogIC0gXHVzZXBhY2thZ2V7eGVDSkt9CiAgLSBcc2V0Q0pLbWFpbmZvbnR7aXBhZXhtLnR0Zn0KICAtIFxzZXRDSktzYW5zZm9udHtpcGFleGcudHRmfQogIC0gXHNldENKS21vbm9mb250e2lwYWV4Zy50dGZ9Cm91dHB1dDoKICBodG1sX25vdGVib29rOiBkZWZhdWx0CiAgYmVhbWVyX3ByZXNlbnRhdGlvbjogCiAgICBsYXRleF9lbmdpbmU6IHhlbGF0ZXgKICAgIHRoZW1lOiBNYWRyaWQKICAgIGNvbG9ydGhlbWU6IHJvc2UKICB3b3JkX2RvY3VtZW50OiBkZWZhdWx0CiAgcG93ZXJwb2ludF9wcmVzZW50YXRpb246IGRlZmF1bHQKICBwZGZfZG9jdW1lbnQ6IAogICAgbGF0ZXhfZW5naW5lOiB4ZWxhdGV4CiAgaHRtbF9kb2N1bWVudDoKICAgIGRmX3ByaW50OiBwYWdlZAogIGlvc2xpZGVzX3ByZXNlbnRhdGlvbjogCiAgICB3aWRlc2NyZWVuOiB5ZXMKICBzbGlkeV9wcmVzZW50YXRpb246IGRlZmF1bHQKLS0tCgpgYGB7ciBpbmNsdWRlPUZBTFNFLCBldmFsPUZBTFNFfQojIOOCguOBl+OAgUlQQSDjg5Xjgqnjg7Pjg4jjgYzjgarjgYTjgajoqIDjgo/jgozjgZ/jgonjgIHjgZPjga7jgrPjg7zjg4njgpLlrp/ooYzjgIJpZiBlcnJvciBvbiBpcGEgZm9udHMKdGlueXRleDo6dGxtZ3JfaW5zdGFsbCgiaXBhZXgiKQpgYGAKCiMgUiBNYXJrZG93biDjga7lh7rlipvlvaLlvI/jgpLjgZ/jgoHjgZfjgabjgb/jgojjgYYKCgojIyBSIE5vdGVib29rIOOBqOS7luOBruW9ouW8jwoKUiBOb3RlYm9vayDjga/jgIFbUiBNYXJrZG93bl0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbSkg44Gu5LiA44Gk44Gu5b2i5byP44Gn44GZ44GM44CB5pu45byP44Gv44GK44Gq44GY44Gn44GZ44GL44KJ44CB44Kz44O844OJ44KS5a6f6KGM44GZ44KL44Go44CB44Gd44Gu5LiL44Gr5a6f6KGM57WQ5p6c44GM54++44KM44G+44GZ44CCCgrjgrPjg7zjg4njg7vjg4Hjg6Pjg7Pjgq/jga/jgIHjg4/jgqTjg6njgqTjg4jjgZXjgozjgabjgYTjgb7jgZnjgILjgZ3jga7jgrPjg7zjg4njg7vjg4Hjg6Pjg7Pjgq/jga/jgIEgKlJ1biog44Oc44K/44Oz44KS5oq844GZ44GL44CB44Kz44O844OJ44O744OB44Oj44Oz44Kv44Gu5Y+z5LiK44Gr44GC44KL44CB5Y+z44KS5ZCR44GE44Gf5LiJ6KeS5b2i44KS44GK44GZ44GL44CBICpDdHJsK1NoaWZ0K0VudGVyKiAoV2luKSDjgb7jgZ/jga8gKkNtZCtTaGlmdCtFbnRlciogKE1hYykg44Gu44Kt44O844Gn5a6f6KGM44Gn44GN44G+44GZ44CCCgpSIE5vdGVib29rIOOBruOAgeODl+ODrOODk+ODpeODvOOBr+OAgeWun+mam+OBq+OCs+ODvOODieODu+ODgeODo+ODs+OCr+OBq+ihqOekuuOBleOCjOOBpuOBhOOCi+OCguOBruOBoOOBkeOBjOOAgeWQq+OBvuOCjOOBvuOBmeOBjOOAgSpLbml0KiDjgafku5bjga7lvaLlvI/jga7lh7rlipvjgpLjgZnjgovjgajjgY3jga/jgIHmnIDliJ3jgYvjgonkuIDjgaTkuIDjgaTjgrPjg7zjg4njg7vjg4Hjg6Pjg7Pjgq/jgpLlrp/ooYzjgZfjgabjgIHjgZ3jga7ntZDmnpzjgYzlh7rlipvjgZXjgozjgb7jgZnjgYvjgonjgIHjgqjjg6njg7zjgYzjgYLjgovjgajjgIHlh7rlipvjgZXjgozjgZrjgIHpgJTkuK3jgaflgZzmraLjgZfjgb7jgZnjgIIKCiMjIOaXpeacrOiqnuODu+S4reWbveiqnuODu+mfk+WbveiqngoK5paH5a2X5YyW44GR44GM44CB6LW344GT44KL44GT44Go44GM5aSa44GP44CB5a++5b+c44GM44CB5LiA5a6a44Gb44Ga44CB6Zuj44GX44GL44Gj44Gf44Gu44Gn44GZ44GM44CB54++5Zyo44Gv44CB44Gp44Gu5aC05ZCI44KC44CB5qyh44Gu6Kit5a6a44Gn44CB6Kej5rG644GX44Gm44GE44KL44KI44GG44Gn44GZ44CC5LiL44Gu5L6L44KS56K66KqN44GX44Gm44GP44Gg44GV44GE44CCCgpgYGB7ciBldmFsPUZBTFNFfQojIHNob3d0ZXh0IOOCkuOAgeOCpOODs+OCueODiOODvOODq+OBl+OBpuOBhOOBquOBhOWgtOWQiOOBr+OAgeS4gOWbnuOBoOOBkeOAgeWPs+S4iuOBruS4ieinkuOCkuOCr+ODquODg+OCr+OBl+OBpuWun+ihjAppbnN0YWxsLnBhY2thZ2VzKCdzaG93dGV4dCcpCmBgYAoKIyMjIOODkeODg+OCseODvOOCuOOCkuODreODvOODiQoKYGxpYnJhcnlgIOOBq+OCiOOBo+OBpuOAgVBhY2thZ2Ug44KS44Ot44O844OJ77yI44GE44Gk44Gn44KC5L2/44GI44KL44KI44GG44Gr77yJ44GX44G+44GZ44CCCgpgYGB7ciBzZXR1cCwgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFfQpsaWJyYXJ5KHRpZHl2ZXJzZSkKbGlicmFyeShzaG93dGV4dCkgCmtuaXRyOjpvcHRzX2NodW5rJHNldChmaWcuc2hvd3RleHQ9VFJVRSkKYGBgCgojIyBUZXN0IENvZGUgQ2h1bmsgKDEpCgpgYGB7cn0KaGVhZChjYXJzKQpgYGAKCiMjIFRlc3QgQ29kZSBDaHVuayAoMikKCmBgYHtyfQpwbG90KGNhcnMsIG1haW49IuaVo+W4g+WbsyIpCmBgYAoKCiMjIFRlc3QgQ29kZSBDaHVuayAoMykKCgpgYGB7cn0KZGZfaXJpcyA8LSBpcmlzCmNvbG5hbWVzKGRmX2lyaXMpIDwtIGMoIuiQvOmVtyIsIuiQvOW5hSIsIuiRiemVtyIsIuiRieW5hSIsIlNwZWNpZXMiICkKdGFiIDwtIGRhdGEuZnJhbWUoU3BlY2llcyA9IGMoInNldG9zYSIsICJ2ZXJzaWNvbG9yIiwgInZpcmdpbmljYSIpLCAKICAgICAgICAgICAgICAgICAgIueoruWIpSIgPSBjKCLjg5Ljgqrjgqbjgq7jgqLjg6Tjg6EiLCAi44OW44Or44O844OV44Op44OD44KwIiwgIuODkOODvOOCuOODi+OCqyIpKQpkZl9pcmlzIDwtIGRmX2lyaXMgJT4lIGxlZnRfam9pbih0YWIsIGJ5PWMoIlNwZWNpZXMiID0gIlNwZWNpZXMiKSkgJT4lIHNlbGVjdCgtNSkKZGZfaXJpcyAlPiUgc2xpY2UoMToyKQpgYGAKCi0tLQoKYGBge3Iga2FibGVpcmlzfQprbml0cjo6a2FibGUoZGZfaXJpc1sxOjYsIF0pCmBgYAoKCiMjIFRlc3QgQ29kZSBDaHVuayAoNCkKCmBgYHtyIGVjaG89RkFMU0V9CmdncGxvdChkZl9pcmlzLCBhZXMoeCA9IGDokYnplbdgLCB5ID0gYOiRieW5hWAsIGNvbCA9IGDnqK7liKVgKSkgKwogIGdlb21fcG9pbnQoKSArIGxhYnModGl0bGUgPSAi5pWj5biD5ZuzIiwgeCA9ICLokYnplbciLCB5ID0gIuiRieW5hSIpCmBgYAoKCiMjIOaWsOOBl+OBhOOCs+ODvOODieODu+ODgeODo+ODs+OCrwoK44GC44KJ44Gf44Gr44Kz44O844OJ44O744OB44Oj44Oz44Kv44KS5oy/5YWl44GZ44KL44Go44GN44Gv44CB44OE44O844Or44O744OQ44O844GuICpJbnNlcnQgQ2h1bmsqIOODnOOCv+ODs+OCkuaKvOOBmeOBi+OAgeOBvuOBn+OBr+OAgSAqQ3RybCtPcHRpb24rSSogKFdpbikgb3IgKkNtZCtPcHRpb24rSSogKE1hYykg44Gn44KC5Y+v6IO944Gn44GZ44CCCgojIyMg44G+44Ga44Gv44CBUHJldmlldyDjgYzjgYrjgZnjgZnjgoEKCuODjuODvOODiOODluODg+OCr+OCkuS/neWtmOOBmeOCi+OBqOOAgeOCs+ODvOODieOCkuWQq+OCgCBIVE1MIOODleOCoeOCpOODq+OBjOS9nOaIkOOBleOCjOOBvuOBmeOAguODl+ODrOODk+ODpeODvO+8iCpQcmV2aWV3KiDvvInjg5zjgr/jg7Pjgb7jgZ/jga/jgIEgICpDdHJsK1NoaWZ0K0sqIChXaW4pIOOBvuOBn+OBryAqQ21kK1NoaWZ0K0sqIChNYWMpIOOBp+OCguWPr+iDveOBp+OBmeOAggoKCiMjIOOBhOOCjeOBhOOCjeOBquWHuuWKm+W9ouW8j+OCkuWKoOOBiOOBn1lBTUwKCmBgYApvdXRwdXQ6CiAgcGRmX2RvY3VtZW50OiAKICAgIGxhdGV4X2VuZ2luZTogeGVsYXRleAogIGJlYW1lcl9wcmVzZW50YXRpb246IAogICAgbGF0ZXhfZW5naW5lOiB4ZWxhdGV4CiAgaHRtbF9kb2N1bWVudDoKICAgIGRmX3ByaW50OiBwYWdlZAogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQKICB3b3JkX2RvY3VtZW50OiBkZWZhdWx0CiAgcG93ZXJwb2ludF9wcmVzZW50YXRpb246IGRlZmF1bHQKICBpb3NsaWRlc19wcmVzZW50YXRpb246IGRlZmF1bHQKICBzbGlkeV9wcmVzZW50YXRpb246IGRlZmF1bHQKYGBgCgpLbml0IOODnOOCv+ODs+OBi+OCieOAgeS7luOBruW9ouW8j+OCkumBuOOBs+OAgeippuOBl+OBpuOBv+OBpuOBj+OBoOOBleOBhOOAggoKIyMg5Ye65Yqb5b2i5byP44Gr6Zai44GZ44KL5YKZ6ICDCgoqIOOCueODqeOCpOODieOBruWgtOWQiOOBr+OAgeesrOS6jOODrOODmeODq+OBruihqOmhjCBcI1wj44CA44GM44GC44KL44Go44CB5pS544Oa44O844K444Go44Gq44KK44G+44GZ44CCCiogYC0tLWAg44G+44Gf44Gv44CBVmlzdWFsIOOCqOODh+OCo+OCv+ODvOOBruOAgUhvcml6b250YWwgTGluZSDjgafjgoLjgIHmlLnjg5rjg7zjgrjjgavjgarjgorjgb7jgZnjgIIKKiBXb3JkIOOChCBQb3dlclBvaW50IOOBr+OAgeS4gOW6puOAgUtuaXQg44GX44Gm5Ye65Yqb44GX44Gf44OV44Kh44Kk44Or44Gu5pu45byP44KS5aSJ5pu044GX44Gm44CBIm15LXN0eWxlcy5kb2N4IuOAgSJteS1zdHlsZXMucHB0eCIgIOOBquOBqeOBqOWQjeensOOCkuWkieabtOOBl+OBpuOAgeS4i+OBruOCiOOBhuOBq+OAgeabuOW8j+ODleOCoeOCpOODq+OCkuS7mOOBkeOCi+OBk+OBqOOBjOWPr+iDveOBp+OBmeOAguWPguiAg+aWh+eMruOCkuWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAggpgYGAKLS0tCiB3b3JkX2RvY3VtZW50OgogICAgcmVmZXJlbmNlX2RvY3g6IG15LXN0eWxlcy5kb2N4CiBwb3dlcnBvaW50X3ByZXNlbnRhdGlvbjoKICAgIHJlZmVyZW5jZV9kb2M6IG15LXN0eWxlcy5wcHR4Ci0tLQpgYGAKCiogUERGIOS9nOaIkOOBq+OBr+OAgWB0aW55dGV4YCDjg5Hjg4PjgrHjg7zjgrjjga7jgqTjg7Pjgrnjg4jjg7zjg6vjgYzlv4XopoHjgILjgZ3jga7lvozjgIFDb25zb2xlIOOBpyBgdGlueXRleDo6aW5zdGFsbF90aW55dGV4KClgLgoKIyMg44GV44G+44GW44G+44Gq6Kit5a6aCgoqICpLbml0KiDjg5zjgr/jg7Pjga7pmqPjga7jgq7jgqLjg57jg7zjgq8g44GuIE91dHB1dCBPcHRpb24g44GL44KJ44Gd44KM44Ge44KM44Gu5pu45byP44KS5aSJ5pu044GZ44KL44GT44Go44GM5Y+v6IO944Gn44GZ44CCCiog56+A55Wq5Y+36Ieq5YuV5oyv44KK5LuY44GR44CB44Oa44O844K455Wq5Y+344CB44OG44O844Oe44CB5Ye65Yqb44GZ44KL5Zuz44Gu44K144Kk44K644Gq44Gp44GM44CB44Gd44KM44Ge44KM44Gu5b2i5byP44Gr5b+c44GY44Gm6YG45oqe44Gn44GN44G+44GZ44CCCiog44G+44Gf44CB44Kz44O844OJ44O744OB44Oj44Oz44Kv44Gu5Y+z5LiK44Gr44GC44KL44CB44Ku44Ki44O744Oe44O844Kv44GL44KJ44KC44CB44Kz44O844OJ44KS5Ye65Yqb44GZ44KL44GL5ZCm44GL44CB5a6f6KGM44GZ44KL44GL5ZCm44GL44CB44Kz44O844OJ44O744OB44Oj44Oz44Kv44Gu5ZCN56ew44CB5Zuz44Gu44K144Kk44K644Gq44Gp44GM6YG45oqe44Gn44GN44G+44GZ44CCCioge3IgY2FjaGU9VFJVRX0g44Go44GZ44KL44Go44CB44Kt44Oj44OD44K344Ol44GX44Gm44GP44KM44KL44Gu44Gn44CB5a6f6KGM44Gr5pmC6ZaT44GM44GL44GL44KL44Kz44O844OJ44O744OB44Oj44Oz44Kv44Gr44Gv44CB44GT44Gu44KI44GG44Gq44Kq44OX44K344On44Oz44KS5Yqg44GI44KL44Gu44KC6Imv44GE44Gn44GX44KH44GG44CCCgojIyDlj4LogIPmlofnjK4gUmVmZXJlbmNlcwoKKiDkuIDoiKznmoTjgarop6PoqqzvvJpb44G/44KT44Gq44Gu44OH44O844K/44K144Kk44Ko44Oz44K5XShodHRwczovL2ljdS1oc3V6dWtpLmdpdGh1Yi5pby9kczRhai9pbmRleC5odG1sKeOAgVtQb3NpdCBSZWNpcGVzXShodHRwczovL3Bvc2l0LmNsb3VkL2xlYXJuL3JlY2lwZXMpOiAKKiBbUmVwb3J0IFJlcHJvZHVjaWJseV0oaHR0cHM6Ly9ybWFya2Rvd24ucnN0dWRpby5jb20vbGVzc29uLTEuaHRtbD9fZ2E9Mi42MDcwODU5MS4zMTc2MjEyNzcuMTY3MTE0MjYxNC0yMDA0NDcyNzQyLjE2NzExNDI2MTQpOiBSIE1hcmtkb3duIOOBq+OBpOOBhOOBpuOBruino+iqrAoqIFtDaGVhdCBTaGVldF0oaHR0cHM6Ly9yc3R1ZGlvLmdpdGh1Yi5pby9jaGVhdHNoZWV0cy9odG1sL3JtYXJrZG93bi5odG1sKSAoVG9wIE1lbnUgQmFyOiBIZWxwIFw+IENoZWF0IFNoZWV0cyk6IFJNYXJrZG93biBDaGVhdCBTaGVldCwgUk1hcmtkb3duIFJlZmVyZW5jZSBHdWlkZQoqIEJvb2tzOltSIGZvciBEYXRhc2NpZW5jZSAoMWUpXShodHRwczovL3I0ZHMuaGFkLmNvLm56KSwgWzJuZCBFZC5dKGh0dHBzOi8vcjRkcy5oYWRsZXkubnopCiAgLSBbUiBNYXJrZG93bjogVGhlIERlZmluaXRpdmUgR3VpZGVdKGh0dHBzOi8vYm9va2Rvd24ub3JnL3lpaHVpL3JtYXJrZG93bi8pCiAgLSBbUiBNYXJrZG93biBDb29rYm9va10oaHR0cHM6Ly9ib29rZG93bi5vcmcveWlodWkvcm1hcmtkb3duLWNvb2tib29rLynjg7tb5pel5pys6Kqe57+76Kiz54mIXShodHRwczovL2dlZGV2YW4tYWxla3NpemRlLmdpdGh1Yi5pby9ybWFya2Rvd24tY29va2Jvb2svKQoqIOOCqOODqeODvOOBjOWHuuOBpuS4jeaYjuOBquOBqOOBjeOBr+OAgeaknOe0ouOCqOODs+OCuOODs+OBvuOBn+OBr+OAgVtHb29nbGUgR2VtaW5pXShodHRwczovL2dlbWluaS5nb29nbGUuY29tL2FwcCksIFtDaGF0IEdQVF0oaHR0cHM6Ly9jaGF0Lm9wZW5haS5jb20vYXV0aC9sb2dpbiksIFtQb2VdKGh0dHBzOi8vcG9lLmNvbSkg44Gq44Gp44GuIEFJIOOBp+OAgeino+axuuaWueazleOCkuaOouOBl+OBpuOBj+OBoOOBleOBhOOAguOBk+OBruOBqOOBjeOBq+OAgUNvbnNvbGUg44Gn44CBYFN5cy5zZXRlbnYoTEFORyA9ICJlbiIpYCDjgajjgZfjgabjgIHoi7Hoqp7jga7jgqjjg6njg7zjg6Hjg4Pjgrvjg7zjgrjjgpLlvpfjgabjgYrjgYTjgZ/mlrnjgYzjgIHop6Pmsbrmlrnms5XjgYzopovjgaTjgYvjgorjgoTjgZnjgY/jgarjgorjgb7jgZnjgILmiLvjgZnmmYLjga/jgIFgU3lzLnNldGVudihMQU5HID0gImphIilgLgogIAoK