galaaz 0.4.10 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/LICENSE +0 -0
  4. data/README.md +3123 -882
  5. data/Rakefile +62 -41
  6. data/bin/galaaz-bootstrap +137 -0
  7. data/bin/galaaz-jruby +14 -0
  8. data/bin/galaaz_jruby_env.inc.sh +6 -0
  9. data/bin/gbookdown +64 -0
  10. data/bin/gknit +223 -6
  11. data/bin/gknit-draft +105 -0
  12. data/bin/gknit-draft.rb +28 -0
  13. data/bin/gknit_Rscript +127 -0
  14. data/bin/grun +27 -1
  15. data/bin/gstudio +49 -4
  16. data/bin/{gstudio.rb → gstudio_irb.rb} +0 -0
  17. data/bin/gstudio_pry.rb +7 -0
  18. data/bin/install-tinytex +6 -0
  19. data/bin/run_all_rspec +43 -0
  20. data/bin/run_example +14 -0
  21. data/bin/run_old_rspec +19 -0
  22. data/bin/run_rspec +23 -0
  23. data/bin/run_rspec_subset +38 -0
  24. data/bin/run_slow_rspec +19 -0
  25. data/blogs/R-on-Rails-Planning-Document.md +940 -0
  26. data/blogs/README.md +100 -0
  27. data/blogs/galaaz_ggplot/galaaz_ggplot.Rmd +38 -66
  28. data/blogs/galaaz_ggplot/galaaz_ggplot.log +754 -0
  29. data/blogs/galaaz_ggplot/galaaz_ggplot.md +364 -0
  30. data/blogs/galaaz_ggplot/galaaz_ggplot.tex +607 -0
  31. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/midwest_rb.png +0 -0
  32. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-html/scatter_plot_rb.png +0 -0
  33. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/midwest_rb.png +0 -0
  34. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-markdown_github/scatter_plot_rb.png +0 -0
  35. data/blogs/galaaz_ggplot/midwest.Rmd +3 -3
  36. data/blogs/galaaz_ggplot/midwest_external_png +0 -0
  37. data/blogs/gknit/gknit.Rmd +52 -55
  38. data/blogs/gknit/gknit.md +94 -94
  39. data/blogs/gknit/gknit_files/figure-html/bubble-1.png +0 -0
  40. data/blogs/gknit/gknit_files/figure-html/diverging_bar.png +0 -0
  41. data/blogs/gknit/lst.rds +0 -0
  42. data/blogs/gknit/model.rb +1 -1
  43. data/blogs/gknit/stats.bib +0 -0
  44. data/blogs/manual/include_model_local_repro.Rmd +14 -0
  45. data/blogs/manual/include_model_local_repro.md +75 -0
  46. data/blogs/manual/lst.rds +0 -0
  47. data/blogs/manual/manual.Rmd +1582 -196
  48. data/blogs/manual/manual.log +1786 -0
  49. data/blogs/manual/manual.md +3107 -890
  50. data/blogs/manual/manual.tex +3018 -1086
  51. data/blogs/manual/manual_files/figure-html/bubble-1.png +0 -0
  52. data/blogs/manual/manual_files/figure-html/diverging_bar.png +0 -0
  53. data/blogs/manual/manual_files/figure-latex/bubble-1.png +0 -0
  54. data/blogs/manual/model.rb +41 -0
  55. data/blogs/nse_dplyr/nse_dplyr.Rmd +277 -151
  56. data/blogs/nse_dplyr/nse_dplyr.log +928 -0
  57. data/blogs/nse_dplyr/nse_dplyr.md +457 -293
  58. data/blogs/oh_my/not_so.rb +0 -0
  59. data/blogs/oh_my/oh_my.Rmd +1234 -25
  60. data/blogs/oh_my/oh_my.log +804 -0
  61. data/blogs/oh_my/oh_my.md +1808 -228
  62. data/blogs/oh_my/oh_my.tex +821 -0
  63. data/blogs/oh_my/old.Rmd +15 -14
  64. data/blogs/ruby_plot/ruby_plot.Rmd +58 -82
  65. data/blogs/ruby_plot/ruby_plot.log +885 -0
  66. data/blogs/ruby_plot/ruby_plot.md +71 -103
  67. data/blogs/ruby_plot/ruby_plot.tex +940 -0
  68. data/blogs/ruby_plot/ruby_plot_files/figure-html/dose_len.png +0 -0
  69. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_delivery.png +0 -0
  70. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_dose.png +0 -0
  71. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color.png +0 -0
  72. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color2.png +0 -0
  73. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_decorations.png +0 -0
  74. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_jitter.png +0 -0
  75. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_points.png +0 -0
  76. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_box_plot.png +0 -0
  77. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_violin_plot.png +0 -0
  78. data/blogs/ruby_plot/ruby_plot_files/figure-html/violin_with_jitter.png +0 -0
  79. data/blogs/ruby_plot/ruby_plot_files/figure-latex/dose_len.png +0 -0
  80. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_delivery.png +0 -0
  81. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facet_by_dose.png +0 -0
  82. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color.png +0 -0
  83. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_by_delivery_color2.png +0 -0
  84. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_decorations.png +0 -0
  85. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_jitter.png +0 -0
  86. data/blogs/ruby_plot/ruby_plot_files/figure-latex/facets_with_points.png +0 -0
  87. data/blogs/ruby_plot/ruby_plot_files/figure-latex/final_box_plot.png +0 -0
  88. data/blogs/ruby_plot/ruby_plot_files/figure-latex/final_violin_plot.png +0 -0
  89. data/blogs/ruby_plot/ruby_plot_files/figure-latex/violin_with_jitter.png +0 -0
  90. data/blogs/test/test.Rmd +14 -0
  91. data/examples/50Plots_MasterList/Images/midwest-scatterplot.PNG +0 -0
  92. data/examples/50Plots_MasterList/ScatterPlot.rb +0 -0
  93. data/examples/50Plots_MasterList/scatter_plot.rb +0 -0
  94. data/examples/Bibliography/master.bib +50 -0
  95. data/examples/Bibliography/stats.bib +72 -0
  96. data/examples/R/calc.R +0 -0
  97. data/examples/R/java_interop.R +0 -0
  98. data/examples/bioconductor_deseq2_airway/Documentation/DESeq2-airway-walkthrough.md +56 -0
  99. data/examples/bioconductor_deseq2_airway/bench_galaaz_three_same_process.rb +53 -0
  100. data/examples/bioconductor_deseq2_airway/bench_r_three_same_process.R +34 -0
  101. data/examples/bioconductor_deseq2_airway/deseq2_airway_galaaz.rb +33 -0
  102. data/examples/bioconductor_deseq2_airway/deseq2_airway_galaaz_optimized.rb +34 -0
  103. data/examples/bioconductor_deseq2_airway/deseq2_airway_minimal.R +30 -0
  104. data/examples/bioconductor_deseq2_airway/deseq2_airway_pipeline_for_bench.R +36 -0
  105. data/examples/islr/all.rb +13 -0
  106. data/examples/islr/ch2.spec.rb +37 -7
  107. data/examples/islr/ch3.spec.rb +11 -2
  108. data/examples/islr/ch3_boston.rb +27 -0
  109. data/examples/islr/ch3_multiple_regression.rb +0 -0
  110. data/examples/islr/ch6.spec.rb +24 -1
  111. data/examples/islr/x_y_rnorm.jpg +0 -0
  112. data/examples/latex_templates/Test-acm_article/Makefile +16 -0
  113. data/examples/latex_templates/Test-acm_article/Test-acm_article.Rmd +65 -0
  114. data/examples/latex_templates/Test-acm_article/acm_proc_article-sp.cls +1670 -0
  115. data/examples/latex_templates/Test-acm_article/sensys-abstract.cls +703 -0
  116. data/examples/latex_templates/Test-acm_article/sigproc.bib +59 -0
  117. data/examples/latex_templates/Test-acs_article/Test-acs_article.Rmd +260 -0
  118. data/examples/latex_templates/Test-acs_article/acs-Test-acs_article.bib +11 -0
  119. data/examples/latex_templates/Test-acs_article/acs-my_output.bib +11 -0
  120. data/examples/latex_templates/Test-acs_article/acstest.bib +17 -0
  121. data/examples/latex_templates/Test-aea_article/AEA.cls +1414 -0
  122. data/{blogs/gknit/marshal.dump → examples/latex_templates/Test-aea_article/BibFile.bib} +0 -0
  123. data/examples/latex_templates/Test-aea_article/Test-aea_article.Rmd +108 -0
  124. data/examples/latex_templates/Test-aea_article/aea.bst +1269 -0
  125. data/examples/latex_templates/Test-aea_article/multicol.sty +853 -0
  126. data/examples/latex_templates/Test-aea_article/references.bib +0 -0
  127. data/examples/latex_templates/Test-aea_article/setspace.sty +546 -0
  128. data/examples/latex_templates/Test-amq_article/Test-amq_article.Rmd +256 -0
  129. data/examples/latex_templates/Test-amq_article/Test-amq_article.pdfsync +3397 -0
  130. data/examples/latex_templates/Test-ams_article/Test-ams_article.Rmd +215 -0
  131. data/examples/latex_templates/Test-ams_article/amstest.bib +436 -0
  132. data/examples/latex_templates/Test-asa_article/Test-asa_article.Rmd +153 -0
  133. data/examples/latex_templates/Test-asa_article/agsm.bst +1353 -0
  134. data/examples/latex_templates/Test-asa_article/bibliography.bib +233 -0
  135. data/examples/latex_templates/Test-ieee_article/IEEEtran.bst +2409 -0
  136. data/examples/latex_templates/Test-ieee_article/IEEEtran.cls +6346 -0
  137. data/examples/latex_templates/Test-ieee_article/Test-ieee_article.Rmd +175 -0
  138. data/examples/latex_templates/Test-ieee_article/mybibfile.bib +20 -0
  139. data/examples/latex_templates/Test-rjournal_article/RJournal.sty +335 -0
  140. data/examples/latex_templates/Test-rjournal_article/RJreferences.bib +18 -0
  141. data/examples/latex_templates/Test-rjournal_article/Test-rjournal_article.Rmd +52 -0
  142. data/examples/latex_templates/Test-springer_article/Test-springer_article.Rmd +65 -0
  143. data/examples/latex_templates/Test-springer_article/bibliography.bib +26 -0
  144. data/examples/latex_templates/Test-springer_article/spbasic.bst +1658 -0
  145. data/examples/latex_templates/Test-springer_article/spmpsci.bst +1512 -0
  146. data/examples/latex_templates/Test-springer_article/spphys.bst +1443 -0
  147. data/examples/latex_templates/Test-springer_article/svglov3.clo +113 -0
  148. data/examples/latex_templates/Test-springer_article/svjour3.cls +1431 -0
  149. data/examples/misc/baseball.csv +0 -0
  150. data/examples/misc/ggplot.rb +3 -2
  151. data/examples/misc/moneyball.rb +0 -0
  152. data/examples/misc/subsetting.rb +0 -0
  153. data/examples/multithread_shards_to_r/shards_to_r.rb +67 -0
  154. data/examples/rmarkdown/svm-rmarkdown-anon-ms-example/svm-rmarkdown-anon-ms-example.Rmd +73 -0
  155. data/examples/rmarkdown/svm-rmarkdown-article-example/svm-rmarkdown-article-example.Rmd +382 -0
  156. data/examples/rmarkdown/svm-rmarkdown-beamer-example/svm-rmarkdown-beamer-example.Rmd +164 -0
  157. data/examples/rmarkdown/svm-rmarkdown-cv/svm-rmarkdown-cv.Rmd +92 -0
  158. data/examples/rmarkdown/svm-rmarkdown-syllabus-example/attend-grade-relationships.csv +482 -0
  159. data/examples/rmarkdown/svm-rmarkdown-syllabus-example/svm-rmarkdown-syllabus-example.Rmd +280 -0
  160. data/examples/rmarkdown/svm-xaringan-example/svm-xaringan-example.Rmd +386 -0
  161. data/examples/sthda_ggplot/README.md +0 -0
  162. data/examples/sthda_ggplot/RUN.md +41 -0
  163. data/examples/sthda_ggplot/all.rb +0 -0
  164. data/examples/sthda_ggplot/one_variable_continuous/density_gg.rb +0 -0
  165. data/examples/sthda_ggplot/one_variable_continuous/geom_area.rb +0 -0
  166. data/examples/sthda_ggplot/one_variable_continuous/geom_density.rb +2 -0
  167. data/examples/sthda_ggplot/one_variable_continuous/geom_dotplot.rb +0 -0
  168. data/examples/sthda_ggplot/one_variable_continuous/geom_freqpoly.rb +0 -0
  169. data/examples/sthda_ggplot/one_variable_continuous/geom_histogram.rb +0 -0
  170. data/examples/sthda_ggplot/one_variable_continuous/histogram_density.rb +0 -0
  171. data/examples/sthda_ggplot/one_variable_continuous/stat.rb +0 -0
  172. data/examples/sthda_ggplot/one_variable_discrete/bar.rb +0 -0
  173. data/examples/sthda_ggplot/qplots/box_violin_dot.rb +0 -0
  174. data/examples/sthda_ggplot/qplots/scatter_plots.rb +0 -0
  175. data/examples/sthda_ggplot/scatter_gg.rb +0 -0
  176. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_bin2d.rb +0 -0
  177. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_density2d.rb +0 -0
  178. data/examples/sthda_ggplot/two_variables_cont_bivariate/geom_hex.rb +0 -0
  179. data/examples/sthda_ggplot/two_variables_cont_cont/geom_point.rb +0 -0
  180. data/examples/sthda_ggplot/two_variables_cont_cont/geom_smooth.rb +0 -0
  181. data/examples/sthda_ggplot/two_variables_cont_cont/misc.rb +0 -0
  182. data/examples/sthda_ggplot/two_variables_cont_function/geom_area.rb +4 -3
  183. data/examples/sthda_ggplot/two_variables_disc_cont/geom_bar.rb +0 -0
  184. data/examples/sthda_ggplot/two_variables_disc_cont/geom_boxplot.rb +0 -0
  185. data/examples/sthda_ggplot/two_variables_disc_cont/geom_dotplot.rb +0 -0
  186. data/examples/sthda_ggplot/two_variables_disc_cont/geom_jitter.rb +0 -0
  187. data/examples/sthda_ggplot/two_variables_disc_cont/geom_line.rb +0 -0
  188. data/examples/sthda_ggplot/two_variables_disc_cont/geom_violin.rb +0 -0
  189. data/examples/sthda_ggplot/two_variables_disc_disc/geom_jitter.rb +0 -0
  190. data/examples/sthda_ggplot/two_variables_error/geom_crossbar.rb +0 -0
  191. data/ext/new_bridge/Makefile +46 -0
  192. data/ext/new_bridge/galaaz_gatekeeper_phase0.cpp +12 -0
  193. data/ext/new_bridge/galaaz_gatekeeper_phase1.cpp +1639 -0
  194. data/lib/R_interface/galaaz_device.R +20 -0
  195. data/lib/R_interface/include_engine.R +109 -0
  196. data/lib/R_interface/new_bridge_adapter.rb +824 -0
  197. data/lib/R_interface/r.rb +177 -25
  198. data/lib/R_interface/r_arrow.rb +113 -0
  199. data/lib/R_interface/r_libs.R +4 -4
  200. data/lib/R_interface/r_methods.rb +13 -116
  201. data/lib/R_interface/r_module_s.rb +0 -0
  202. data/lib/R_interface/rbinary_operators.rb +20 -2
  203. data/lib/R_interface/rclosure.rb +5 -1
  204. data/lib/R_interface/rdata_frame.rb +34 -70
  205. data/lib/R_interface/rdevice.rb +125 -0
  206. data/lib/R_interface/rdevices.R +0 -0
  207. data/lib/R_interface/renvironment.rb +10 -4
  208. data/lib/R_interface/rexpression.rb +5 -1
  209. data/lib/R_interface/rindexed_object.rb +41 -13
  210. data/lib/R_interface/rlanguage.rb +20 -62
  211. data/lib/R_interface/rlist.rb +115 -25
  212. data/lib/R_interface/rlogical_operators.rb +0 -0
  213. data/lib/R_interface/rmatrix.rb +2 -11
  214. data/lib/R_interface/rmd_indexed_object.rb +5 -1
  215. data/lib/R_interface/robject.rb +348 -290
  216. data/lib/R_interface/rpkg.rb +1 -0
  217. data/lib/R_interface/rsupport.rb +610 -331
  218. data/lib/R_interface/rsupport_scope.rb +2 -1
  219. data/lib/R_interface/rsymbol.rb +50 -0
  220. data/lib/R_interface/ruby_callback.rb +2 -3
  221. data/lib/R_interface/ruby_extensions.rb +225 -175
  222. data/lib/R_interface/runary_operators.rb +0 -0
  223. data/lib/R_interface/rvector.rb +147 -31
  224. data/lib/galaaz.rb +0 -0
  225. data/lib/galaaz_jruby.rb +22 -0
  226. data/lib/gknit/diagnostics.rb +50 -0
  227. data/lib/gknit/draft.rb +111 -0
  228. data/lib/gknit/include_engine.rb +15 -7
  229. data/lib/gknit/knitr_engine.rb +223 -107
  230. data/lib/gknit/rb_engine.rb +3 -3
  231. data/lib/gknit/ruby_engine.rb +0 -0
  232. data/lib/gknit.rb +3 -0
  233. data/lib/new_bridge/bootstrap/windows_bootstrap.rb +285 -0
  234. data/lib/new_bridge/envelope.rb +51 -0
  235. data/lib/new_bridge/eval_result.rb +26 -0
  236. data/lib/new_bridge/framing.rb +39 -0
  237. data/lib/new_bridge/instance_pool_client.rb +38 -0
  238. data/lib/new_bridge/r_instance_manager.rb +404 -0
  239. data/lib/new_bridge/session_client.rb +530 -0
  240. data/lib/new_bridge/tcp_framed.rb +44 -0
  241. data/lib/new_bridge.rb +9 -0
  242. data/lib/util/exec_ruby.rb +95 -46
  243. data/lib/util/inline_file.rb +35 -30
  244. data/new_bridge_specs/benchmark_phase5_5_unboxing_spec.rb +96 -0
  245. data/new_bridge_specs/eval_r_async_spec.rb +113 -0
  246. data/new_bridge_specs/integration_phase5_1_concurrent_spec.rb +50 -0
  247. data/new_bridge_specs/integration_phase5_1_eval_spec.rb +16 -0
  248. data/new_bridge_specs/integration_phase5_1_r_api_spec.rb +25 -0
  249. data/new_bridge_specs/integration_phase5_1_smoke_spec.rb +31 -0
  250. data/new_bridge_specs/integration_phase5_2_dataframe_unboxing_spec.rb +19 -0
  251. data/new_bridge_specs/integration_phase5_2_handle_eval_unboxing_spec.rb +25 -0
  252. data/new_bridge_specs/integration_phase5_3_callback_args_spec.rb +28 -0
  253. data/new_bridge_specs/integration_phase5_3_callback_error_spec.rb +22 -0
  254. data/new_bridge_specs/integration_phase5_3_callback_timeout_spec.rb +28 -0
  255. data/new_bridge_specs/integration_phase5_3_callbacks_smoke_spec.rb +22 -0
  256. data/new_bridge_specs/integration_phase5_3_edge_cases_spec.rb +52 -0
  257. data/new_bridge_specs/integration_phase5_3_nested_spec.rb +30 -0
  258. data/new_bridge_specs/integration_phase5_4_concurrent_sessions_spec.rb +53 -0
  259. data/new_bridge_specs/integration_phase5_4_nested_session_callbacks_spec.rb +49 -0
  260. data/new_bridge_specs/integration_phase5_4_session_routing_spec.rb +38 -0
  261. data/new_bridge_specs/integration_phase5_5_stress_concurrency_spec.rb +52 -0
  262. data/new_bridge_specs/integration_phase5_5_unbox_walk_spec.rb +46 -0
  263. data/new_bridge_specs/phase0_protocol_spec.rb +96 -0
  264. data/new_bridge_specs/phase1_req_ret_spec.rb +66 -0
  265. data/new_bridge_specs/phase2_multi_instance_spec.rb +67 -0
  266. data/new_bridge_specs/phase3_callbacks_spec.rb +71 -0
  267. data/new_bridge_specs/phase4_2_hardening_spec.rb +252 -0
  268. data/new_bridge_specs/phase4_3_r_instance_manager_spec.rb +85 -0
  269. data/new_bridge_specs/phase4_nested_callbacks_spec.rb +123 -0
  270. data/r_requires/ggplot.rb +0 -0
  271. data/r_requires/knitr.rb +0 -0
  272. data/specs/all.rb +15 -11
  273. data/specs/arrow_from_ruby_batches_spec.rb +50 -0
  274. data/specs/arrow_semantics_spec.rb +64 -0
  275. data/specs/bridge_concurrent_spec.rb +46 -0
  276. data/specs/bridge_nested_spec.rb +25 -0
  277. data/specs/dataframe_semantics_spec.rb +122 -0
  278. data/specs/dataframe_single_index_logical_filter_spec.rb +21 -0
  279. data/specs/dispatch_probe_cache_spec.rb +38 -0
  280. data/specs/dispatch_probe_error_class_fallback_spec.rb +20 -0
  281. data/specs/dispatch_probe_fallback_spec.rb +18 -0
  282. data/specs/environment_semantics_spec.rb +89 -0
  283. data/specs/field_access_spec.rb +31 -0
  284. data/specs/figures/bg.jpeg +0 -0
  285. data/specs/figures/bg.png +0 -0
  286. data/specs/figures/bg.svg +168 -57
  287. data/specs/figures/dose_len.png +0 -0
  288. data/specs/figures/no_args.jpeg +0 -0
  289. data/specs/figures/no_args.png +0 -0
  290. data/specs/figures/no_args.svg +168 -57
  291. data/specs/figures/width_height.jpeg +0 -0
  292. data/specs/figures/width_height.png +0 -0
  293. data/specs/figures/width_height_units1.jpeg +0 -0
  294. data/specs/figures/width_height_units1.png +0 -0
  295. data/specs/figures/width_height_units2.jpeg +0 -0
  296. data/specs/figures/width_height_units2.png +0 -0
  297. data/specs/formula_semantics_spec.rb +81 -0
  298. data/specs/galaaz_util_exec_ruby_spec.rb +85 -0
  299. data/specs/galaaz_util_inline_file_spec.rb +54 -0
  300. data/specs/gknit_cli_option_permutation_spec.rb +24 -0
  301. data/specs/gknit_include_engine_spec.rb +72 -0
  302. data/specs/gknit_install_timeout_report_spec.rb +69 -0
  303. data/specs/gknit_internal_error_report_spec.rb +57 -0
  304. data/specs/gknit_vector_map_output_spec.rb +59 -0
  305. data/specs/globalenv_guardrail_spec.rb +52 -0
  306. data/specs/language_expression_semantics_spec.rb +145 -0
  307. data/specs/list_semantics_spec.rb +111 -0
  308. data/specs/new_bridge_bulk_dataframe_transfer_spec.rb +44 -0
  309. data/specs/new_bridge_bulk_vector_transfer_spec.rb +73 -0
  310. data/specs/new_bridge_callback_timeout_spec.rb +69 -0
  311. data/specs/new_bridge_eval_r_fallback_spec.rb +55 -0
  312. data/specs/nil_null_spec.rb +42 -0
  313. data/specs/object_build_phase2_spec.rb +53 -0
  314. data/specs/phase1_callback_bridge_spec.rb +84 -0
  315. data/specs/phase2_gknit_generic_rendering_guardrail_spec.rb +46 -0
  316. data/specs/phase2_gknit_no_raw_code_leakage_spec.rb +43 -0
  317. data/specs/phase3_gknit_generic_graphics_capture_spec.rb +71 -0
  318. data/specs/plot_device_semantics_spec.rb +28 -0
  319. data/specs/plot_snapshot_semantics_spec.rb +58 -0
  320. data/specs/protocol_result_spec.rb +236 -0
  321. data/specs/r_batch_fail_fast_spec.rb +47 -0
  322. data/specs/r_bridge_bootstrap_spec.rb +11 -0
  323. data/specs/r_devices.spec.rb +1 -1
  324. data/specs/r_eval.spec.rb +16 -18
  325. data/specs/r_function.spec.rb +1 -1
  326. data/specs/r_instance_manager_spec.rb +285 -0
  327. data/specs/r_list_apply.spec.rb +15 -15
  328. data/specs/r_matrix.spec.rb +0 -0
  329. data/specs/r_nse.spec.rb +5 -5
  330. data/specs/r_object_send_dispatch_spec.rb +13 -0
  331. data/specs/r_vector_comparator_spec.rb +8 -0
  332. data/specs/r_vector_creation.spec.rb +0 -0
  333. data/specs/r_vector_functions.spec.rb +0 -0
  334. data/specs/r_vector_object.spec.rb +0 -0
  335. data/specs/r_vector_operators.spec.rb +0 -0
  336. data/specs/r_vector_structured_scalar_reads_spec.rb +35 -0
  337. data/specs/r_vector_subsetting.spec.rb +0 -0
  338. data/specs/range_helper_spec.rb +21 -0
  339. data/specs/rsupport_scope_spec.rb +28 -0
  340. data/specs/rsupport_var_name_thread_safety_spec.rb +24 -0
  341. data/specs/scalar_character_spec.rb +44 -0
  342. data/specs/scoped_symbol_dsl_refinement_spec.rb +40 -0
  343. data/specs/session_env_bridge_spec.rb +25 -0
  344. data/specs/simplecov_bootstrap_spec.rb +10 -0
  345. data/specs/spec_helper.rb +10 -0
  346. data/specs/tmp.rb +41 -20
  347. data/specs/unboxing_recursion_regression_spec.rb +30 -0
  348. data/specs/unboxing_spec.rb +49 -0
  349. data/specs/verify_callbacks.rb +42 -0
  350. data/sty/galaaz.sty +0 -0
  351. data/version.rb +1 -1
  352. metadata +239 -71
  353. data/blogs/galaaz_ggplot/galaaz_ggplot.aux +0 -41
  354. data/blogs/galaaz_ggplot/galaaz_ggplot.html +0 -705
  355. data/blogs/galaaz_ggplot/galaaz_ggplot.out +0 -10
  356. data/blogs/galaaz_ggplot/galaaz_ggplot.pdf +0 -0
  357. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-latex/midwest_rb.pdf +0 -0
  358. data/blogs/galaaz_ggplot/galaaz_ggplot_files/figure-latex/scatter_plot_rb.pdf +0 -0
  359. data/blogs/galaaz_ggplot/midwest.html +0 -188
  360. data/blogs/gknit/gknit.html +0 -2266
  361. data/blogs/gknit/gknit.pdf +0 -0
  362. data/blogs/gknit/gknit.tex +0 -1358
  363. data/blogs/manual/graph.rb +0 -29
  364. data/blogs/manual/manual.html +0 -2995
  365. data/blogs/manual/manual.pdf +0 -0
  366. data/blogs/manual/manual_files/figure-latex/diverging_bar.pdf +0 -0
  367. data/blogs/nse_dplyr/nse_dplyr.html +0 -960
  368. data/blogs/nse_dplyr/nse_dplyr.pdf +0 -0
  369. data/blogs/nse_dplyr/nse_dplyr.tex +0 -1373
  370. data/blogs/oh_my/oh_my.html +0 -680
  371. data/blogs/ruby_plot/ruby_plot.Rmd_external_figs +0 -662
  372. data/blogs/ruby_plot/ruby_plot.html +0 -729
  373. data/blogs/ruby_plot/ruby_plot.pdf +0 -0
  374. data/blogs/ruby_plot/ruby_plot_files/figure-html/dose_len.svg +0 -57
  375. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_delivery.svg +0 -106
  376. data/blogs/ruby_plot/ruby_plot_files/figure-html/facet_by_dose.svg +0 -110
  377. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color.svg +0 -174
  378. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_by_delivery_color2.svg +0 -236
  379. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_jitter.svg +0 -296
  380. data/blogs/ruby_plot/ruby_plot_files/figure-html/facets_with_points.svg +0 -236
  381. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_box_plot.svg +0 -218
  382. data/blogs/ruby_plot/ruby_plot_files/figure-html/final_violin_plot.svg +0 -128
  383. data/blogs/ruby_plot/ruby_plot_files/figure-html/violin_with_jitter.svg +0 -150
  384. data/examples/paper/paper.rb +0 -36
  385. data/specs/r_dataframe.spec.rb +0 -379
  386. data/specs/r_environment.spec.rb +0 -140
  387. data/specs/r_formula.spec.rb +0 -232
  388. data/specs/r_language.spec.rb +0 -112
  389. data/specs/r_list.spec.rb +0 -293
  390. data/specs/r_plots.spec.rb +0 -72
  391. data/specs/ruby_expression.spec.rb +0 -315
@@ -1,236 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 506 506' style='fill:transparent'>
4
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
5
- <rect x='0' y='0' width='506' height='506' style='stroke:#FFFFFF;fill:#FFFFFF'/>
6
- <rect x='31' y='20' width='199' height='458' style='stroke:rgb(0,0,0);stroke-opacity:0,000;fill:#EBEBEB'/>
7
- </g><g style='stroke-width:0.7113188976377953;stroke-linejoin:round;stroke-linecap:butt'>
8
- <polyline points='31,447 230,447' style='stroke:#FFFFFF'/>
9
- <polyline points='31,306 230,306' style='stroke:#FFFFFF'/>
10
- <polyline points='31,166 230,166' style='stroke:#FFFFFF'/>
11
- <polyline points='31,26 230,26' style='stroke:#FFFFFF'/>
12
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
13
- <polyline points='31,377 230,377' style='stroke:#FFFFFF'/>
14
- <polyline points='31,236 230,236' style='stroke:#FFFFFF'/>
15
- <polyline points='31,96 230,96' style='stroke:#FFFFFF'/>
16
- <polyline points='69,479 69,20' style='stroke:#FFFFFF'/>
17
- <polyline points='131,479 131,20' style='stroke:#FFFFFF'/>
18
- <polyline points='193,479 193,20' style='stroke:#FFFFFF'/>
19
- <polyline points='69,290 69,215' style='stroke:#333333'/>
20
- <polyline points='69,381 69,402' style='stroke:#333333'/>
21
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
22
- <polyline points='45,290 45,381 92,381 92,290 45,290 45,290' style='stroke:#333333;fill:#FFFFFF'/>
23
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
24
- <polyline points='45,345 92,345' style='stroke:#333333'/>
25
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
26
- <polyline points='131,157 131,134' style='stroke:#333333'/>
27
- <polyline points='131,232 131,313' style='stroke:#333333'/>
28
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
29
- <polyline points='107,157 107,232 154,232 154,157 107,157 107,157' style='stroke:#333333;fill:#FFFFFF'/>
30
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
31
- <polyline points='107,188 154,188' style='stroke:#333333'/>
32
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
33
- <circle cx='193' cy='83' r='2' style='stroke:#333333;fill:#333333'/>
34
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
35
- <polyline points='193,137 193,104' style='stroke:#333333'/>
36
- <polyline points='193,172 193,203' style='stroke:#333333'/>
37
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
38
- <polyline points='169,137 169,172 216,172 216,137 169,137 169,137' style='stroke:#333333;fill:#FFFFFF'/>
39
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
40
- <polyline points='169,153 216,153' style='stroke:#333333'/>
41
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
42
- <polyline points='69,290 69,215' style='stroke:#333333'/>
43
- <polyline points='69,381 69,402' style='stroke:#333333'/>
44
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
45
- <polyline points='45,290 45,381 92,381 92,290 45,290 45,290' style='stroke:#333333;fill:#F8766D'/>
46
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
47
- <polyline points='45,345 92,345' style='stroke:#333333'/>
48
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
49
- <polyline points='131,157 131,134' style='stroke:#333333'/>
50
- <polyline points='131,232 131,313' style='stroke:#333333'/>
51
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
52
- <polyline points='107,157 107,232 154,232 154,157 107,157 107,157' style='stroke:#333333;fill:#00BA38'/>
53
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
54
- <polyline points='107,188 154,188' style='stroke:#333333'/>
55
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
56
- <circle cx='193' cy='83' r='2' style='stroke:#333333;fill:#333333'/>
57
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
58
- <polyline points='193,137 193,104' style='stroke:#333333'/>
59
- <polyline points='193,172 193,203' style='stroke:#333333'/>
60
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
61
- <polyline points='169,137 169,172 216,172 216,137 169,137 169,137' style='stroke:#333333;fill:#619CFF'/>
62
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
63
- <polyline points='169,153 216,153' style='stroke:#333333'/>
64
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
65
- <circle cx='69' cy='304' r='2' style='stroke:#000000;fill:#000000'/>
66
- <circle cx='69' cy='215' r='2' style='stroke:#000000;fill:#000000'/>
67
- <circle cx='69' cy='270' r='2' style='stroke:#000000;fill:#000000'/>
68
- <circle cx='69' cy='381' r='2' style='stroke:#000000;fill:#000000'/>
69
- <circle cx='69' cy='313' r='2' style='stroke:#000000;fill:#000000'/>
70
- <circle cx='69' cy='377' r='2' style='stroke:#000000;fill:#000000'/>
71
- <circle cx='69' cy='402' r='2' style='stroke:#000000;fill:#000000'/>
72
- <circle cx='69' cy='385' r='2' style='stroke:#000000;fill:#000000'/>
73
- <circle cx='69' cy='285' r='2' style='stroke:#000000;fill:#000000'/>
74
- <circle cx='69' cy='381' r='2' style='stroke:#000000;fill:#000000'/>
75
- <circle cx='131' cy='241' r='2' style='stroke:#000000;fill:#000000'/>
76
- <circle cx='131' cy='190' r='2' style='stroke:#000000;fill:#000000'/>
77
- <circle cx='131' cy='186' r='2' style='stroke:#000000;fill:#000000'/>
78
- <circle cx='131' cy='147' r='2' style='stroke:#000000;fill:#000000'/>
79
- <circle cx='131' cy='236' r='2' style='stroke:#000000;fill:#000000'/>
80
- <circle cx='131' cy='163' r='2' style='stroke:#000000;fill:#000000'/>
81
- <circle cx='131' cy='155' r='2' style='stroke:#000000;fill:#000000'/>
82
- <circle cx='131' cy='219' r='2' style='stroke:#000000;fill:#000000'/>
83
- <circle cx='131' cy='313' r='2' style='stroke:#000000;fill:#000000'/>
84
- <circle cx='131' cy='134' r='2' style='stroke:#000000;fill:#000000'/>
85
- <circle cx='193' cy='159' r='2' style='stroke:#000000;fill:#000000'/>
86
- <circle cx='193' cy='147' r='2' style='stroke:#000000;fill:#000000'/>
87
- <circle cx='193' cy='203' r='2' style='stroke:#000000;fill:#000000'/>
88
- <circle cx='193' cy='173' r='2' style='stroke:#000000;fill:#000000'/>
89
- <circle cx='193' cy='169' r='2' style='stroke:#000000;fill:#000000'/>
90
- <circle cx='193' cy='83' r='2' style='stroke:#000000;fill:#000000'/>
91
- <circle cx='193' cy='147' r='2' style='stroke:#000000;fill:#000000'/>
92
- <circle cx='193' cy='134' r='2' style='stroke:#000000;fill:#000000'/>
93
- <circle cx='193' cy='104' r='2' style='stroke:#000000;fill:#000000'/>
94
- <circle cx='193' cy='194' r='2' style='stroke:#000000;fill:#000000'/>
95
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
96
- <rect x='235' y='20' width='199' height='458' style='stroke:rgb(0,0,0);stroke-opacity:0,000;fill:#EBEBEB'/>
97
- </g><g style='stroke-width:0.7113188976377953;stroke-linejoin:round;stroke-linecap:butt'>
98
- <polyline points='235,447 434,447' style='stroke:#FFFFFF'/>
99
- <polyline points='235,306 434,306' style='stroke:#FFFFFF'/>
100
- <polyline points='235,166 434,166' style='stroke:#FFFFFF'/>
101
- <polyline points='235,26 434,26' style='stroke:#FFFFFF'/>
102
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
103
- <polyline points='235,377 434,377' style='stroke:#FFFFFF'/>
104
- <polyline points='235,236 434,236' style='stroke:#FFFFFF'/>
105
- <polyline points='235,96 434,96' style='stroke:#FFFFFF'/>
106
- <polyline points='273,479 273,20' style='stroke:#FFFFFF'/>
107
- <polyline points='335,479 335,20' style='stroke:#FFFFFF'/>
108
- <polyline points='397,479 397,20' style='stroke:#FFFFFF'/>
109
- <polyline points='273,364 273,356' style='stroke:#333333'/>
110
- <polyline points='273,433 273,458' style='stroke:#333333'/>
111
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
112
- <polyline points='249,364 249,433 296,433 296,364 249,364 249,364' style='stroke:#333333;fill:#FFFFFF'/>
113
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
114
- <polyline points='249,417 296,417' style='stroke:#333333'/>
115
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
116
- <circle cx='335' cy='201' r='2' style='stroke:#333333;fill:#333333'/>
117
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
118
- <polyline points='335,274 335,253' style='stroke:#333333'/>
119
- <polyline points='335,303 335,326' style='stroke:#333333'/>
120
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
121
- <polyline points='311,274 311,303 358,303 358,274 311,274 311,274' style='stroke:#333333;fill:#FFFFFF'/>
122
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
123
- <polyline points='311,285 358,285' style='stroke:#333333'/>
124
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
125
- <polyline points='397,113 397,41' style='stroke:#333333'/>
126
- <polyline points='397,189 397,257' style='stroke:#333333'/>
127
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
128
- <polyline points='374,113 374,189 420,189 420,113 374,113 374,113' style='stroke:#333333;fill:#FFFFFF'/>
129
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
130
- <polyline points='374,153 420,153' style='stroke:#333333'/>
131
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
132
- <polyline points='273,364 273,356' style='stroke:#333333'/>
133
- <polyline points='273,433 273,458' style='stroke:#333333'/>
134
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
135
- <polyline points='249,364 249,433 296,433 296,364 249,364 249,364' style='stroke:#333333;fill:#F8766D'/>
136
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
137
- <polyline points='249,417 296,417' style='stroke:#333333'/>
138
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
139
- <circle cx='335' cy='201' r='2' style='stroke:#333333;fill:#333333'/>
140
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
141
- <polyline points='335,274 335,253' style='stroke:#333333'/>
142
- <polyline points='335,303 335,326' style='stroke:#333333'/>
143
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
144
- <polyline points='311,274 311,303 358,303 358,274 311,274 311,274' style='stroke:#333333;fill:#00BA38'/>
145
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
146
- <polyline points='311,285 358,285' style='stroke:#333333'/>
147
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
148
- <polyline points='397,113 397,41' style='stroke:#333333'/>
149
- <polyline points='397,189 397,257' style='stroke:#333333'/>
150
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
151
- <polyline points='374,113 374,189 420,189 420,113 374,113 374,113' style='stroke:#333333;fill:#619CFF'/>
152
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
153
- <polyline points='374,153 420,153' style='stroke:#333333'/>
154
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
155
- <circle cx='273' cy='458' r='2' style='stroke:#000000;fill:#000000'/>
156
- <circle cx='273' cy='356' r='2' style='stroke:#000000;fill:#000000'/>
157
- <circle cx='273' cy='415' r='2' style='stroke:#000000;fill:#000000'/>
158
- <circle cx='273' cy='436' r='2' style='stroke:#000000;fill:#000000'/>
159
- <circle cx='273' cy='427' r='2' style='stroke:#000000;fill:#000000'/>
160
- <circle cx='273' cy='377' r='2' style='stroke:#000000;fill:#000000'/>
161
- <circle cx='273' cy='360' r='2' style='stroke:#000000;fill:#000000'/>
162
- <circle cx='273' cy='360' r='2' style='stroke:#000000;fill:#000000'/>
163
- <circle cx='273' cy='444' r='2' style='stroke:#000000;fill:#000000'/>
164
- <circle cx='273' cy='419' r='2' style='stroke:#000000;fill:#000000'/>
165
- <circle cx='335' cy='285' r='2' style='stroke:#000000;fill:#000000'/>
166
- <circle cx='335' cy='285' r='2' style='stroke:#000000;fill:#000000'/>
167
- <circle cx='335' cy='304' r='2' style='stroke:#000000;fill:#000000'/>
168
- <circle cx='335' cy='274' r='2' style='stroke:#000000;fill:#000000'/>
169
- <circle cx='335' cy='201' r='2' style='stroke:#000000;fill:#000000'/>
170
- <circle cx='335' cy='274' r='2' style='stroke:#000000;fill:#000000'/>
171
- <circle cx='335' cy='326' r='2' style='stroke:#000000;fill:#000000'/>
172
- <circle cx='335' cy='313' r='2' style='stroke:#000000;fill:#000000'/>
173
- <circle cx='335' cy='253' r='2' style='stroke:#000000;fill:#000000'/>
174
- <circle cx='335' cy='299' r='2' style='stroke:#000000;fill:#000000'/>
175
- <circle cx='397' cy='186' r='2' style='stroke:#000000;fill:#000000'/>
176
- <circle cx='397' cy='257' r='2' style='stroke:#000000;fill:#000000'/>
177
- <circle cx='397' cy='41' r='2' style='stroke:#000000;fill:#000000'/>
178
- <circle cx='397' cy='159' r='2' style='stroke:#000000;fill:#000000'/>
179
- <circle cx='397' cy='147' r='2' style='stroke:#000000;fill:#000000'/>
180
- <circle cx='397' cy='61' r='2' style='stroke:#000000;fill:#000000'/>
181
- <circle cx='397' cy='142' r='2' style='stroke:#000000;fill:#000000'/>
182
- <circle cx='397' cy='215' r='2' style='stroke:#000000;fill:#000000'/>
183
- <circle cx='397' cy='190' r='2' style='stroke:#000000;fill:#000000'/>
184
- <circle cx='397' cy='103' r='2' style='stroke:#000000;fill:#000000'/>
185
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
186
- <rect x='31' y='5' width='199' height='15' style='stroke:rgb(0,0,0);stroke-opacity:0,000;fill:#D9D9D9'/>
187
- </g><text x='125' y='16' lengthAdjust='spacingAndGlyphs' textLength='11px' style='font-size:8.8px;fill:#1A1A1A'>OJ</text>
188
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
189
- <rect x='235' y='5' width='199' height='15' style='stroke:rgb(0,0,0);stroke-opacity:0,000;fill:#D9D9D9'/>
190
- </g><text x='329' y='16' lengthAdjust='spacingAndGlyphs' textLength='11px' style='font-size:8.8px;fill:#1A1A1A'>VC</text>
191
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
192
- <polyline points='69,482 69,479' style='stroke:#333333'/>
193
- <polyline points='131,482 131,479' style='stroke:#333333'/>
194
- <polyline points='193,482 193,479' style='stroke:#333333'/>
195
- </g><text x='61' y='490' lengthAdjust='spacingAndGlyphs' textLength='16px' style='font-size:8.8px;fill:#4D4D4D'>0.5</text>
196
- <text x='128' y='490' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.8px;fill:#4D4D4D'>1</text>
197
- <text x='190' y='490' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.8px;fill:#4D4D4D'>2</text>
198
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
199
- <polyline points='273,482 273,479' style='stroke:#333333'/>
200
- <polyline points='335,482 335,479' style='stroke:#333333'/>
201
- <polyline points='397,482 397,479' style='stroke:#333333'/>
202
- </g><text x='265' y='490' lengthAdjust='spacingAndGlyphs' textLength='16px' style='font-size:8.8px;fill:#4D4D4D'>0.5</text>
203
- <text x='332' y='490' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.8px;fill:#4D4D4D'>1</text>
204
- <text x='394' y='490' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.8px;fill:#4D4D4D'>2</text>
205
- <text x='16' y='380' lengthAdjust='spacingAndGlyphs' textLength='11px' style='font-size:8.8px;fill:#4D4D4D'>10</text>
206
- <text x='16' y='239' lengthAdjust='spacingAndGlyphs' textLength='11px' style='font-size:8.8px;fill:#4D4D4D'>20</text>
207
- <text x='16' y='99' lengthAdjust='spacingAndGlyphs' textLength='11px' style='font-size:8.8px;fill:#4D4D4D'>30</text>
208
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
209
- <polyline points='29,377 31,377' style='stroke:#333333'/>
210
- <polyline points='29,236 31,236' style='stroke:#333333'/>
211
- <polyline points='29,96 31,96' style='stroke:#333333'/>
212
- </g><text x='220' y='500' lengthAdjust='spacingAndGlyphs' textLength='26px' style='font-size:11.0px;fill:#000000'>dose</text>
213
- <text x='13' y='260' lengthAdjust='spacingAndGlyphs' textLength='20px' style='font-size:11.0px;fill:#000000' transform='rotate(-90,13,260)'>len</text>
214
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
215
- <rect x='445' y='203' width='55' height='93' style='stroke:rgb(0,0,0);stroke-opacity:0,000;fill:#FFFFFF'/>
216
- </g><text x='451' y='216' lengthAdjust='spacingAndGlyphs' textLength='26px' style='font-size:11.0px;fill:#000000'>dose</text>
217
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
218
- <rect x='451' y='222' width='23' height='23' style='stroke:#FFFFFF;fill:#F2F2F2'/>
219
- <polyline points='462,242 462,239' style='stroke:#333333'/>
220
- <polyline points='462,227 462,224' style='stroke:#333333'/>
221
- <rect x='453' y='227' width='17' height='12' style='stroke:#333333;fill:#F8766D'/>
222
- <polyline points='453,233 471,233' style='stroke:#333333'/>
223
- <rect x='451' y='245' width='23' height='23' style='stroke:#FFFFFF;fill:#F2F2F2'/>
224
- <polyline points='462,265 462,262' style='stroke:#333333'/>
225
- <polyline points='462,250 462,247' style='stroke:#333333'/>
226
- <rect x='453' y='250' width='17' height='12' style='stroke:#333333;fill:#00BA38'/>
227
- <polyline points='453,256 471,256' style='stroke:#333333'/>
228
- <rect x='451' y='268' width='23' height='23' style='stroke:#FFFFFF;fill:#F2F2F2'/>
229
- <polyline points='462,289 462,285' style='stroke:#333333'/>
230
- <polyline points='462,274 462,270' style='stroke:#333333'/>
231
- <rect x='453' y='274' width='17' height='12' style='stroke:#333333;fill:#619CFF'/>
232
- <polyline points='453,279 471,279' style='stroke:#333333'/>
233
- </g><text x='479' y='236' lengthAdjust='spacingAndGlyphs' textLength='16px' style='font-size:8.8px;fill:#000000'>0.5</text>
234
- <text x='479' y='259' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.8px;fill:#000000'>1</text>
235
- <text x='479' y='282' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.8px;fill:#000000'>2</text>
236
- </svg>
@@ -1,218 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
- <svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' version='1.1' viewBox='0 0 506 506' style='fill:transparent'>
4
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
5
- <rect x='0' y='0' width='506' height='506' style='stroke:#FFFFFF;fill:#FFFFFF'/>
6
- <rect x='30' y='48' width='199' height='421' style='stroke:rgb(0,0,0);stroke-opacity:0,000;fill:#EBEBEB'/>
7
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
8
- <polyline points='67,295 67,227' style='stroke:#333333'/>
9
- <polyline points='67,379 67,398' style='stroke:#333333'/>
10
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
11
- <polyline points='44,295 44,379 90,379 90,295 44,295 44,295' style='stroke:#333333;fill:#FFFFFF'/>
12
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
13
- <polyline points='44,346 90,346' style='stroke:#333333'/>
14
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
15
- <polyline points='129,173 129,152' style='stroke:#333333'/>
16
- <polyline points='129,242 129,317' style='stroke:#333333'/>
17
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
18
- <polyline points='106,173 106,242 153,242 153,173 106,173 106,173' style='stroke:#333333;fill:#FFFFFF'/>
19
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
20
- <polyline points='106,202 153,202' style='stroke:#333333'/>
21
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
22
- <circle cx='192' cy='106' r='2' style='stroke:#333333;fill:#333333'/>
23
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
24
- <polyline points='192,155 192,125' style='stroke:#333333'/>
25
- <polyline points='192,187 192,215' style='stroke:#333333'/>
26
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
27
- <polyline points='168,155 168,187 215,187 215,155 168,155 168,155' style='stroke:#333333;fill:#FFFFFF'/>
28
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
29
- <polyline points='168,169 215,169' style='stroke:#333333'/>
30
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
31
- <polyline points='67,295 67,227' style='stroke:#333333'/>
32
- <polyline points='67,379 67,398' style='stroke:#333333'/>
33
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
34
- <polyline points='44,295 44,379 90,379 90,295 44,295 44,295' style='stroke:#333333;fill:#00FFFF'/>
35
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
36
- <polyline points='44,346 90,346' style='stroke:#333333'/>
37
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
38
- <polyline points='129,173 129,152' style='stroke:#333333'/>
39
- <polyline points='129,242 129,317' style='stroke:#333333'/>
40
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
41
- <polyline points='106,173 106,242 153,242 153,173 106,173 106,173' style='stroke:#333333;fill:#00BFFF'/>
42
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
43
- <polyline points='106,202 153,202' style='stroke:#333333'/>
44
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
45
- <circle cx='192' cy='106' r='2' style='stroke:#333333;fill:#333333'/>
46
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
47
- <polyline points='192,155 192,125' style='stroke:#333333'/>
48
- <polyline points='192,187 192,215' style='stroke:#333333'/>
49
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
50
- <polyline points='168,155 168,187 215,187 215,155 168,155 168,155' style='stroke:#333333;fill:#00688B'/>
51
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
52
- <polyline points='168,169 215,169' style='stroke:#333333'/>
53
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
54
- <circle cx='67' cy='308' r='2' style='stroke:#000000;fill:#000000'/>
55
- <circle cx='67' cy='227' r='2' style='stroke:#000000;fill:#000000'/>
56
- <circle cx='67' cy='277' r='2' style='stroke:#000000;fill:#000000'/>
57
- <circle cx='67' cy='379' r='2' style='stroke:#000000;fill:#000000'/>
58
- <circle cx='67' cy='317' r='2' style='stroke:#000000;fill:#000000'/>
59
- <circle cx='67' cy='375' r='2' style='stroke:#000000;fill:#000000'/>
60
- <circle cx='67' cy='398' r='2' style='stroke:#000000;fill:#000000'/>
61
- <circle cx='67' cy='383' r='2' style='stroke:#000000;fill:#000000'/>
62
- <circle cx='67' cy='291' r='2' style='stroke:#000000;fill:#000000'/>
63
- <circle cx='67' cy='379' r='2' style='stroke:#000000;fill:#000000'/>
64
- <circle cx='129' cy='250' r='2' style='stroke:#000000;fill:#000000'/>
65
- <circle cx='129' cy='204' r='2' style='stroke:#000000;fill:#000000'/>
66
- <circle cx='129' cy='200' r='2' style='stroke:#000000;fill:#000000'/>
67
- <circle cx='129' cy='164' r='2' style='stroke:#000000;fill:#000000'/>
68
- <circle cx='129' cy='246' r='2' style='stroke:#000000;fill:#000000'/>
69
- <circle cx='129' cy='179' r='2' style='stroke:#000000;fill:#000000'/>
70
- <circle cx='129' cy='171' r='2' style='stroke:#000000;fill:#000000'/>
71
- <circle cx='129' cy='231' r='2' style='stroke:#000000;fill:#000000'/>
72
- <circle cx='129' cy='317' r='2' style='stroke:#000000;fill:#000000'/>
73
- <circle cx='129' cy='152' r='2' style='stroke:#000000;fill:#000000'/>
74
- <circle cx='192' cy='175' r='2' style='stroke:#000000;fill:#000000'/>
75
- <circle cx='192' cy='164' r='2' style='stroke:#000000;fill:#000000'/>
76
- <circle cx='192' cy='215' r='2' style='stroke:#000000;fill:#000000'/>
77
- <circle cx='192' cy='188' r='2' style='stroke:#000000;fill:#000000'/>
78
- <circle cx='192' cy='184' r='2' style='stroke:#000000;fill:#000000'/>
79
- <circle cx='192' cy='106' r='2' style='stroke:#000000;fill:#000000'/>
80
- <circle cx='192' cy='164' r='2' style='stroke:#000000;fill:#000000'/>
81
- <circle cx='192' cy='152' r='2' style='stroke:#000000;fill:#000000'/>
82
- <circle cx='192' cy='125' r='2' style='stroke:#000000;fill:#000000'/>
83
- <circle cx='192' cy='207' r='2' style='stroke:#000000;fill:#000000'/>
84
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
85
- <rect x='234' y='48' width='199' height='421' style='stroke:rgb(0,0,0);stroke-opacity:0,000;fill:#EBEBEB'/>
86
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
87
- <polyline points='272,363 272,356' style='stroke:#333333'/>
88
- <polyline points='272,427 272,450' style='stroke:#333333'/>
89
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
90
- <polyline points='248,363 248,427 295,427 295,363 248,363 248,363' style='stroke:#333333;fill:#FFFFFF'/>
91
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
92
- <polyline points='248,412 295,412' style='stroke:#333333'/>
93
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
94
- <circle cx='334' cy='214' r='2' style='stroke:#333333;fill:#333333'/>
95
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
96
- <polyline points='334,281 334,262' style='stroke:#333333'/>
97
- <polyline points='334,307 334,329' style='stroke:#333333'/>
98
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
99
- <polyline points='311,281 311,307 357,307 357,281 311,281 311,281' style='stroke:#333333;fill:#FFFFFF'/>
100
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
101
- <polyline points='311,291 357,291' style='stroke:#333333'/>
102
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
103
- <polyline points='396,133 396,67' style='stroke:#333333'/>
104
- <polyline points='396,203 396,266' style='stroke:#333333'/>
105
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
106
- <polyline points='373,133 373,203 420,203 420,133 373,133 373,133' style='stroke:#333333;fill:#FFFFFF'/>
107
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
108
- <polyline points='373,169 420,169' style='stroke:#333333'/>
109
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
110
- <polyline points='272,363 272,356' style='stroke:#333333'/>
111
- <polyline points='272,427 272,450' style='stroke:#333333'/>
112
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
113
- <polyline points='248,363 248,427 295,427 295,363 248,363 248,363' style='stroke:#333333;fill:#00FFFF'/>
114
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
115
- <polyline points='248,412 295,412' style='stroke:#333333'/>
116
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
117
- <circle cx='334' cy='214' r='2' style='stroke:#333333;fill:#333333'/>
118
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
119
- <polyline points='334,281 334,262' style='stroke:#333333'/>
120
- <polyline points='334,307 334,329' style='stroke:#333333'/>
121
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
122
- <polyline points='311,281 311,307 357,307 357,281 311,281 311,281' style='stroke:#333333;fill:#00BFFF'/>
123
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
124
- <polyline points='311,291 357,291' style='stroke:#333333'/>
125
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
126
- <polyline points='396,133 396,67' style='stroke:#333333'/>
127
- <polyline points='396,203 396,266' style='stroke:#333333'/>
128
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
129
- <polyline points='373,133 373,203 420,203 420,133 373,133 373,133' style='stroke:#333333;fill:#00688B'/>
130
- </g><g style='stroke-width:2.8452755905511813;stroke-linejoin:round;stroke-linecap:butt'>
131
- <polyline points='373,169 420,169' style='stroke:#333333'/>
132
- </g><g style='stroke-width:0.9448818897637796;stroke-linejoin:round;stroke-linecap:round'>
133
- <circle cx='272' cy='450' r='2' style='stroke:#000000;fill:#000000'/>
134
- <circle cx='272' cy='356' r='2' style='stroke:#000000;fill:#000000'/>
135
- <circle cx='272' cy='410' r='2' style='stroke:#000000;fill:#000000'/>
136
- <circle cx='272' cy='429' r='2' style='stroke:#000000;fill:#000000'/>
137
- <circle cx='272' cy='421' r='2' style='stroke:#000000;fill:#000000'/>
138
- <circle cx='272' cy='375' r='2' style='stroke:#000000;fill:#000000'/>
139
- <circle cx='272' cy='360' r='2' style='stroke:#000000;fill:#000000'/>
140
- <circle cx='272' cy='360' r='2' style='stroke:#000000;fill:#000000'/>
141
- <circle cx='272' cy='437' r='2' style='stroke:#000000;fill:#000000'/>
142
- <circle cx='272' cy='414' r='2' style='stroke:#000000;fill:#000000'/>
143
- <circle cx='334' cy='291' r='2' style='stroke:#000000;fill:#000000'/>
144
- <circle cx='334' cy='291' r='2' style='stroke:#000000;fill:#000000'/>
145
- <circle cx='334' cy='308' r='2' style='stroke:#000000;fill:#000000'/>
146
- <circle cx='334' cy='281' r='2' style='stroke:#000000;fill:#000000'/>
147
- <circle cx='334' cy='214' r='2' style='stroke:#000000;fill:#000000'/>
148
- <circle cx='334' cy='281' r='2' style='stroke:#000000;fill:#000000'/>
149
- <circle cx='334' cy='329' r='2' style='stroke:#000000;fill:#000000'/>
150
- <circle cx='334' cy='317' r='2' style='stroke:#000000;fill:#000000'/>
151
- <circle cx='334' cy='262' r='2' style='stroke:#000000;fill:#000000'/>
152
- <circle cx='334' cy='304' r='2' style='stroke:#000000;fill:#000000'/>
153
- <circle cx='396' cy='200' r='2' style='stroke:#000000;fill:#000000'/>
154
- <circle cx='396' cy='266' r='2' style='stroke:#000000;fill:#000000'/>
155
- <circle cx='396' cy='67' r='2' style='stroke:#000000;fill:#000000'/>
156
- <circle cx='396' cy='175' r='2' style='stroke:#000000;fill:#000000'/>
157
- <circle cx='396' cy='164' r='2' style='stroke:#000000;fill:#000000'/>
158
- <circle cx='396' cy='85' r='2' style='stroke:#000000;fill:#000000'/>
159
- <circle cx='396' cy='160' r='2' style='stroke:#000000;fill:#000000'/>
160
- <circle cx='396' cy='227' r='2' style='stroke:#000000;fill:#000000'/>
161
- <circle cx='396' cy='204' r='2' style='stroke:#000000;fill:#000000'/>
162
- <circle cx='396' cy='124' r='2' style='stroke:#000000;fill:#000000'/>
163
- </g><g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
164
- <rect x='30' y='33' width='199' height='15' style='stroke:rgb(0,0,0);stroke-opacity:0,000;fill:#D9D9D9'/>
165
- </g><text x='124' y='43' lengthAdjust='spacingAndGlyphs' textLength='11px' style='font-size:8.8px;fill:#1A1A1A'>OJ</text>
166
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
167
- <rect x='234' y='33' width='199' height='15' style='stroke:rgb(0,0,0);stroke-opacity:0,000;fill:#D9D9D9'/>
168
- </g><text x='329' y='43' lengthAdjust='spacingAndGlyphs' textLength='11px' style='font-size:8.8px;fill:#1A1A1A'>VC</text>
169
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
170
- <polyline points='67,472 67,469' style='stroke:#333333'/>
171
- <polyline points='129,472 129,469' style='stroke:#333333'/>
172
- <polyline points='192,472 192,469' style='stroke:#333333'/>
173
- </g><text x='60' y='480' lengthAdjust='spacingAndGlyphs' textLength='14px' style='font-size:8.0px;fill:#000080'>0.5</text>
174
- <text x='127' y='480' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.0px;fill:#000080'>1</text>
175
- <text x='189' y='480' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.0px;fill:#000080'>2</text>
176
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
177
- <polyline points='272,472 272,469' style='stroke:#333333'/>
178
- <polyline points='334,472 334,469' style='stroke:#333333'/>
179
- <polyline points='396,472 396,469' style='stroke:#333333'/>
180
- </g><text x='265' y='480' lengthAdjust='spacingAndGlyphs' textLength='14px' style='font-size:8.0px;fill:#000080'>0.5</text>
181
- <text x='332' y='480' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.0px;fill:#000080'>1</text>
182
- <text x='394' y='480' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.0px;fill:#000080'>2</text>
183
- <text x='15' y='378' lengthAdjust='spacingAndGlyphs' textLength='10px' style='font-size:8.0px;fill:#000080'>10</text>
184
- <text x='15' y='249' lengthAdjust='spacingAndGlyphs' textLength='10px' style='font-size:8.0px;fill:#000080'>20</text>
185
- <text x='15' y='120' lengthAdjust='spacingAndGlyphs' textLength='10px' style='font-size:8.0px;fill:#000080'>30</text>
186
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:butt'>
187
- <polyline points='27,375 30,375' style='stroke:#333333'/>
188
- <polyline points='27,246 30,246' style='stroke:#333333'/>
189
- <polyline points='27,117 30,117' style='stroke:#333333'/>
190
- </g><text x='371' y='489' lengthAdjust='spacingAndGlyphs' textLength='63px' style='font-size:10.0px;fill:#000080;font-weight:bold'>Dose (mg)</text>
191
- <text x='13' y='129' lengthAdjust='spacingAndGlyphs' textLength='81px' style='font-size:10.0px;fill:#000080;font-weight:bold' transform='rotate(-90,13,129)'>Teeth length</text>
192
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
193
- <rect x='445' y='211' width='56' height='95' style='stroke:rgb(0,0,0);stroke-opacity:0,000;fill:#FFFFFF'/>
194
- </g><text x='450' y='225' lengthAdjust='spacingAndGlyphs' textLength='32px' style='font-size:12.0px;fill:#000080;font-weight:bold'>dose</text>
195
- <g style='stroke-width:1.4226377952755906;stroke-linejoin:round;stroke-linecap:round'>
196
- <rect x='450' y='231' width='23' height='23' style='stroke:#FFFFFF;fill:#F2F2F2'/>
197
- <polyline points='462,252 462,248' style='stroke:#333333'/>
198
- <polyline points='462,237 462,233' style='stroke:#333333'/>
199
- <rect x='453' y='237' width='17' height='12' style='stroke:#333333;fill:#00688B'/>
200
- <polyline points='453,243 470,243' style='stroke:#333333'/>
201
- <rect x='450' y='254' width='23' height='23' style='stroke:#FFFFFF;fill:#F2F2F2'/>
202
- <polyline points='462,275 462,271' style='stroke:#333333'/>
203
- <polyline points='462,260 462,256' style='stroke:#333333'/>
204
- <rect x='453' y='260' width='17' height='12' style='stroke:#333333;fill:#00BFFF'/>
205
- <polyline points='453,266 470,266' style='stroke:#333333'/>
206
- <rect x='450' y='277' width='23' height='23' style='stroke:#FFFFFF;fill:#F2F2F2'/>
207
- <polyline points='462,298 462,294' style='stroke:#333333'/>
208
- <polyline points='462,283 462,279' style='stroke:#333333'/>
209
- <rect x='453' y='283' width='17' height='12' style='stroke:#333333;fill:#00FFFF'/>
210
- <polyline points='453,289 470,289' style='stroke:#333333'/>
211
- </g><text x='479' y='246' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.8px;fill:#000000'>2</text>
212
- <text x='479' y='269' lengthAdjust='spacingAndGlyphs' textLength='5px' style='font-size:8.8px;fill:#000000'>1</text>
213
- <text x='479' y='292' lengthAdjust='spacingAndGlyphs' textLength='16px' style='font-size:8.8px;fill:#000000'>0.5</text>
214
- <text x='30' y='27' lengthAdjust='spacingAndGlyphs' textLength='197px' style='font-size:9.0px;fill:#000080'>Faceted by delivery method, OJ or VC</text>
215
- <text x='30' y='16' lengthAdjust='spacingAndGlyphs' textLength='386px' style='font-size:14.399999999999999px;fill:#000080;font-weight:bold'>Tooth Growth: Length vs Vitamin C Dose</text>
216
- <text x='232' y='500' lengthAdjust='spacingAndGlyphs' textLength='202px' style='font-size:8.0px;fill:#000080'>Length of odontoblasts in 60 guinea pigs. </text>
217
- <text x='145' y='508' lengthAdjust='spacingAndGlyphs' textLength='289px' style='font-size:8.0px;fill:#000080'>Each animal received one of three dose levels of vitamin C.</text>
218
- </svg>