@windward/core 0.18.0 → 0.19.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 (350) hide show
  1. package/.idea/codeStyles/Project.xml +58 -0
  2. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  3. package/.idea/inspectionProfiles/Project_Default.xml +6 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/php-docker-settings.xml +24 -0
  7. package/.idea/php.xml +19 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/.idea/watcherTasks.xml +4 -0
  10. package/.idea/windward-ui-plugin-core.iml +8 -0
  11. package/CHANGELOG.md +3 -19
  12. package/components/Content/Blocks/Email.vue +6 -1
  13. package/components/utils/GenerateAIQuestionButton.vue +88 -16
  14. package/config/menu.config.json +475 -0
  15. package/coverage/clover.xml +1474 -0
  16. package/coverage/coverage-final.json +199 -0
  17. package/coverage/lcov-report/base.css +224 -0
  18. package/coverage/lcov-report/block-navigation.js +87 -0
  19. package/coverage/lcov-report/components/Content/Blocks/Accordion.vue.html +772 -0
  20. package/coverage/lcov-report/components/Content/Blocks/BlockQuote.vue.html +625 -0
  21. package/coverage/lcov-report/components/Content/Blocks/ClickableIcons.vue.html +979 -0
  22. package/coverage/lcov-report/components/Content/Blocks/Email.vue.html +1171 -0
  23. package/coverage/lcov-report/components/Content/Blocks/Feedback.vue.html +1075 -0
  24. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileLinks.vue.html +331 -0
  25. package/coverage/lcov-report/components/Content/Blocks/FileDownload/FileTable.vue.html +403 -0
  26. package/coverage/lcov-report/components/Content/Blocks/FileDownload/index.html +131 -0
  27. package/coverage/lcov-report/components/Content/Blocks/FileDownload.vue.html +514 -0
  28. package/coverage/lcov-report/components/Content/Blocks/Image.vue.html +211 -0
  29. package/coverage/lcov-report/components/Content/Blocks/Math.vue.html +352 -0
  30. package/coverage/lcov-report/components/Content/Blocks/OpenResponse.vue.html +667 -0
  31. package/coverage/lcov-report/components/Content/Blocks/OpenResponseCollate.vue.html +643 -0
  32. package/coverage/lcov-report/components/Content/Blocks/RichText.vue.html +295 -0
  33. package/coverage/lcov-report/components/Content/Blocks/ScenarioChoice.vue.html +976 -0
  34. package/coverage/lcov-report/components/Content/Blocks/Tab.vue.html +445 -0
  35. package/coverage/lcov-report/components/Content/Blocks/Table.vue.html +667 -0
  36. package/coverage/lcov-report/components/Content/Blocks/UserUpload/DisplayUserFilesTable.vue.html +562 -0
  37. package/coverage/lcov-report/components/Content/Blocks/UserUpload/index.html +116 -0
  38. package/coverage/lcov-report/components/Content/Blocks/UserUpload.vue.html +844 -0
  39. package/coverage/lcov-report/components/Content/Blocks/Video.vue.html +1225 -0
  40. package/coverage/lcov-report/components/Content/Blocks/index.html +311 -0
  41. package/coverage/lcov-report/components/Settings/AccordionSettings.vue.html +961 -0
  42. package/coverage/lcov-report/components/Settings/BlockQuoteSettings.vue.html +673 -0
  43. package/coverage/lcov-report/components/Settings/ClickableIconsSettings.vue.html +1144 -0
  44. package/coverage/lcov-report/components/Settings/EmailSettings.vue.html +901 -0
  45. package/coverage/lcov-report/components/Settings/FeedbackSettings.vue.html +373 -0
  46. package/coverage/lcov-report/components/Settings/FileDownloadSettings.vue.html +607 -0
  47. package/coverage/lcov-report/components/Settings/ImageSettings.vue.html +310 -0
  48. package/coverage/lcov-report/components/Settings/MathSettings.vue.html +337 -0
  49. package/coverage/lcov-report/components/Settings/OpenResponseCollateSettings.vue.html +586 -0
  50. package/coverage/lcov-report/components/Settings/OpenResponseSettings.vue.html +415 -0
  51. package/coverage/lcov-report/components/Settings/ScenarioChoiceSettings.vue.html +1183 -0
  52. package/coverage/lcov-report/components/Settings/TabSettings.vue.html +751 -0
  53. package/coverage/lcov-report/components/Settings/UserUploadSettings.vue.html +535 -0
  54. package/coverage/lcov-report/components/Settings/index.html +296 -0
  55. package/coverage/lcov-report/components/utils/ContentViewer.vue.html +199 -0
  56. package/coverage/lcov-report/components/utils/MathExpressionEditor.vue.html +1120 -0
  57. package/coverage/lcov-report/components/utils/MathLiveWrapper.vue.html +415 -0
  58. package/coverage/lcov-report/components/utils/TinyMCEWrapper.vue.html +271 -0
  59. package/coverage/lcov-report/components/utils/index.html +131 -0
  60. package/coverage/lcov-report/config/index.html +116 -0
  61. package/coverage/lcov-report/config/tinymce.config.js.html +493 -0
  62. package/coverage/lcov-report/config/tinymce.config.ts.html +1051 -0
  63. package/coverage/lcov-report/favicon.png +0 -0
  64. package/coverage/lcov-report/helpers/GlossaryHelper.ts.html +577 -0
  65. package/coverage/lcov-report/helpers/GlossaryTerm.ts.html +178 -0
  66. package/coverage/lcov-report/helpers/MathHelper.ts.html +1033 -0
  67. package/coverage/lcov-report/helpers/index.html +146 -0
  68. package/coverage/lcov-report/helpers/tinymce/index.html +116 -0
  69. package/coverage/lcov-report/helpers/tinymce/plugin.ts.html +334 -0
  70. package/coverage/lcov-report/i18n/en-US/components/content/blocks/block_quote.ts.html +94 -0
  71. package/coverage/lcov-report/i18n/en-US/components/content/blocks/email.ts.html +127 -0
  72. package/coverage/lcov-report/i18n/en-US/components/content/blocks/feedback.ts.html +178 -0
  73. package/coverage/lcov-report/i18n/en-US/components/content/blocks/file_download.ts.html +100 -0
  74. package/coverage/lcov-report/i18n/en-US/components/content/blocks/generate_questions.ts.html +100 -0
  75. package/coverage/lcov-report/i18n/en-US/components/content/blocks/image.ts.html +100 -0
  76. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.html +296 -0
  77. package/coverage/lcov-report/i18n/en-US/components/content/blocks/index.ts.html +166 -0
  78. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response.ts.html +100 -0
  79. package/coverage/lcov-report/i18n/en-US/components/content/blocks/open_response_collate.ts.html +106 -0
  80. package/coverage/lcov-report/i18n/en-US/components/content/blocks/scenario_choice.ts.html +100 -0
  81. package/coverage/lcov-report/i18n/en-US/components/content/blocks/table.ts.html +97 -0
  82. package/coverage/lcov-report/i18n/en-US/components/content/blocks/user_upload.ts.html +115 -0
  83. package/coverage/lcov-report/i18n/en-US/components/content/blocks/video.ts.html +97 -0
  84. package/coverage/lcov-report/i18n/en-US/components/content/index.html +116 -0
  85. package/coverage/lcov-report/i18n/en-US/components/content/index.ts.html +100 -0
  86. package/coverage/lcov-report/i18n/en-US/components/index.html +116 -0
  87. package/coverage/lcov-report/i18n/en-US/components/index.ts.html +118 -0
  88. package/coverage/lcov-report/i18n/en-US/components/navigation/ask_the_expert.ts.html +118 -0
  89. package/coverage/lcov-report/i18n/en-US/components/navigation/image.ts.html +97 -0
  90. package/coverage/lcov-report/i18n/en-US/components/navigation/index.html +161 -0
  91. package/coverage/lcov-report/i18n/en-US/components/navigation/index.ts.html +112 -0
  92. package/coverage/lcov-report/i18n/en-US/components/navigation/user_upload.ts.html +94 -0
  93. package/coverage/lcov-report/i18n/en-US/components/settings/accordion.ts.html +106 -0
  94. package/coverage/lcov-report/i18n/en-US/components/settings/block_quote.ts.html +130 -0
  95. package/coverage/lcov-report/i18n/en-US/components/settings/clickable_icon.ts.html +142 -0
  96. package/coverage/lcov-report/i18n/en-US/components/settings/email.ts.html +115 -0
  97. package/coverage/lcov-report/i18n/en-US/components/settings/file_download.ts.html +109 -0
  98. package/coverage/lcov-report/i18n/en-US/components/settings/horizontal_rule.ts.html +94 -0
  99. package/coverage/lcov-report/i18n/en-US/components/settings/image.ts.html +142 -0
  100. package/coverage/lcov-report/i18n/en-US/components/settings/index.html +326 -0
  101. package/coverage/lcov-report/i18n/en-US/components/settings/index.ts.html +178 -0
  102. package/coverage/lcov-report/i18n/en-US/components/settings/open_response.ts.html +100 -0
  103. package/coverage/lcov-report/i18n/en-US/components/settings/open_response_collate.ts.html +103 -0
  104. package/coverage/lcov-report/i18n/en-US/components/settings/scenario_choice.ts.html +145 -0
  105. package/coverage/lcov-report/i18n/en-US/components/settings/tab.ts.html +109 -0
  106. package/coverage/lcov-report/i18n/en-US/components/settings/text_editor.ts.html +115 -0
  107. package/coverage/lcov-report/i18n/en-US/components/settings/user_upload.ts.html +121 -0
  108. package/coverage/lcov-report/i18n/en-US/components/settings/video.ts.html +277 -0
  109. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
  110. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
  111. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.html +146 -0
  112. package/coverage/lcov-report/i18n/en-US/components/utils/FillInBlank/index.ts.html +103 -0
  113. package/coverage/lcov-report/i18n/en-US/components/utils/index.html +146 -0
  114. package/coverage/lcov-report/i18n/en-US/components/utils/index.ts.html +109 -0
  115. package/coverage/lcov-report/i18n/en-US/components/utils/math_expression_editor.ts.html +130 -0
  116. package/coverage/lcov-report/i18n/en-US/components/utils/tiny_mce_wrapper.ts.html +175 -0
  117. package/coverage/lcov-report/i18n/en-US/index.html +116 -0
  118. package/coverage/lcov-report/i18n/en-US/index.ts.html +133 -0
  119. package/coverage/lcov-report/i18n/en-US/modules/index.html +116 -0
  120. package/coverage/lcov-report/i18n/en-US/modules/index.ts.html +100 -0
  121. package/coverage/lcov-report/i18n/en-US/pages/glossary.ts.html +106 -0
  122. package/coverage/lcov-report/i18n/en-US/pages/index.html +146 -0
  123. package/coverage/lcov-report/i18n/en-US/pages/index.ts.html +112 -0
  124. package/coverage/lcov-report/i18n/en-US/pages/plugins/error.ts.html +112 -0
  125. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.html +131 -0
  126. package/coverage/lcov-report/i18n/en-US/pages/plugins/index.ts.html +100 -0
  127. package/coverage/lcov-report/i18n/en-US/pages/user_upload.ts.html +94 -0
  128. package/coverage/lcov-report/i18n/en-US/shared/content_blocks.ts.html +163 -0
  129. package/coverage/lcov-report/i18n/en-US/shared/index.html +176 -0
  130. package/coverage/lcov-report/i18n/en-US/shared/index.ts.html +118 -0
  131. package/coverage/lcov-report/i18n/en-US/shared/menu.ts.html +97 -0
  132. package/coverage/lcov-report/i18n/en-US/shared/permission.ts.html +130 -0
  133. package/coverage/lcov-report/i18n/en-US/shared/settings.ts.html +172 -0
  134. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/block_quote.ts.html +94 -0
  135. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/email.ts.html +127 -0
  136. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/feedback.ts.html +178 -0
  137. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/file_download.ts.html +100 -0
  138. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/generate_questions.ts.html +100 -0
  139. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/image.ts.html +100 -0
  140. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.html +296 -0
  141. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/index.ts.html +166 -0
  142. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response.ts.html +103 -0
  143. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/open_response_collate.ts.html +106 -0
  144. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/scenario_choice.ts.html +103 -0
  145. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/table.ts.html +97 -0
  146. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/user_upload.ts.html +118 -0
  147. package/coverage/lcov-report/i18n/es-ES/components/content/blocks/video.ts.html +100 -0
  148. package/coverage/lcov-report/i18n/es-ES/components/content/index.html +116 -0
  149. package/coverage/lcov-report/i18n/es-ES/components/content/index.ts.html +100 -0
  150. package/coverage/lcov-report/i18n/es-ES/components/index.html +116 -0
  151. package/coverage/lcov-report/i18n/es-ES/components/index.ts.html +121 -0
  152. package/coverage/lcov-report/i18n/es-ES/components/navigation/ask_the_expert.ts.html +118 -0
  153. package/coverage/lcov-report/i18n/es-ES/components/navigation/image.ts.html +97 -0
  154. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.html +161 -0
  155. package/coverage/lcov-report/i18n/es-ES/components/navigation/index.ts.html +112 -0
  156. package/coverage/lcov-report/i18n/es-ES/components/navigation/user_upload.ts.html +94 -0
  157. package/coverage/lcov-report/i18n/es-ES/components/settings/accordion.ts.html +106 -0
  158. package/coverage/lcov-report/i18n/es-ES/components/settings/block_quote.ts.html +130 -0
  159. package/coverage/lcov-report/i18n/es-ES/components/settings/clickable_icon.ts.html +145 -0
  160. package/coverage/lcov-report/i18n/es-ES/components/settings/email.ts.html +115 -0
  161. package/coverage/lcov-report/i18n/es-ES/components/settings/file_download.ts.html +109 -0
  162. package/coverage/lcov-report/i18n/es-ES/components/settings/horizontal_rule.ts.html +94 -0
  163. package/coverage/lcov-report/i18n/es-ES/components/settings/image.ts.html +148 -0
  164. package/coverage/lcov-report/i18n/es-ES/components/settings/index.html +326 -0
  165. package/coverage/lcov-report/i18n/es-ES/components/settings/index.ts.html +178 -0
  166. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response.ts.html +100 -0
  167. package/coverage/lcov-report/i18n/es-ES/components/settings/open_response_collate.ts.html +106 -0
  168. package/coverage/lcov-report/i18n/es-ES/components/settings/scenario_choice.ts.html +145 -0
  169. package/coverage/lcov-report/i18n/es-ES/components/settings/tab.ts.html +112 -0
  170. package/coverage/lcov-report/i18n/es-ES/components/settings/text_editor.ts.html +115 -0
  171. package/coverage/lcov-report/i18n/es-ES/components/settings/user_upload.ts.html +121 -0
  172. package/coverage/lcov-report/i18n/es-ES/components/settings/video.ts.html +283 -0
  173. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
  174. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
  175. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.html +146 -0
  176. package/coverage/lcov-report/i18n/es-ES/components/utils/FillInBlank/index.ts.html +103 -0
  177. package/coverage/lcov-report/i18n/es-ES/components/utils/index.html +146 -0
  178. package/coverage/lcov-report/i18n/es-ES/components/utils/index.ts.html +109 -0
  179. package/coverage/lcov-report/i18n/es-ES/components/utils/math_expression_editor.ts.html +130 -0
  180. package/coverage/lcov-report/i18n/es-ES/components/utils/tiny_mce_wrapper.ts.html +178 -0
  181. package/coverage/lcov-report/i18n/es-ES/index.html +116 -0
  182. package/coverage/lcov-report/i18n/es-ES/index.ts.html +133 -0
  183. package/coverage/lcov-report/i18n/es-ES/modules/index.html +116 -0
  184. package/coverage/lcov-report/i18n/es-ES/modules/index.ts.html +100 -0
  185. package/coverage/lcov-report/i18n/es-ES/pages/glossary.ts.html +106 -0
  186. package/coverage/lcov-report/i18n/es-ES/pages/index.html +146 -0
  187. package/coverage/lcov-report/i18n/es-ES/pages/index.ts.html +112 -0
  188. package/coverage/lcov-report/i18n/es-ES/pages/plugins/error.ts.html +112 -0
  189. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.html +131 -0
  190. package/coverage/lcov-report/i18n/es-ES/pages/plugins/index.ts.html +100 -0
  191. package/coverage/lcov-report/i18n/es-ES/pages/user_upload.ts.html +94 -0
  192. package/coverage/lcov-report/i18n/es-ES/shared/content_blocks.ts.html +163 -0
  193. package/coverage/lcov-report/i18n/es-ES/shared/index.html +176 -0
  194. package/coverage/lcov-report/i18n/es-ES/shared/index.ts.html +118 -0
  195. package/coverage/lcov-report/i18n/es-ES/shared/menu.ts.html +97 -0
  196. package/coverage/lcov-report/i18n/es-ES/shared/permission.ts.html +130 -0
  197. package/coverage/lcov-report/i18n/es-ES/shared/settings.ts.html +178 -0
  198. package/coverage/lcov-report/i18n/index.html +116 -0
  199. package/coverage/lcov-report/i18n/index.ts.html +118 -0
  200. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/block_quote.ts.html +94 -0
  201. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/email.ts.html +127 -0
  202. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/feedback.ts.html +178 -0
  203. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/file_download.ts.html +100 -0
  204. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/generate_questions.ts.html +100 -0
  205. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/image.ts.html +100 -0
  206. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.html +296 -0
  207. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/index.ts.html +166 -0
  208. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response.ts.html +103 -0
  209. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/open_response_collate.ts.html +106 -0
  210. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/scenario_choice.ts.html +100 -0
  211. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/table.ts.html +97 -0
  212. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/user_upload.ts.html +118 -0
  213. package/coverage/lcov-report/i18n/sv-SE/components/content/blocks/video.ts.html +97 -0
  214. package/coverage/lcov-report/i18n/sv-SE/components/content/index.html +116 -0
  215. package/coverage/lcov-report/i18n/sv-SE/components/content/index.ts.html +100 -0
  216. package/coverage/lcov-report/i18n/sv-SE/components/index.html +116 -0
  217. package/coverage/lcov-report/i18n/sv-SE/components/index.ts.html +121 -0
  218. package/coverage/lcov-report/i18n/sv-SE/components/navigation/ask_the_expert.ts.html +118 -0
  219. package/coverage/lcov-report/i18n/sv-SE/components/navigation/image.ts.html +97 -0
  220. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.html +161 -0
  221. package/coverage/lcov-report/i18n/sv-SE/components/navigation/index.ts.html +112 -0
  222. package/coverage/lcov-report/i18n/sv-SE/components/navigation/user_upload.ts.html +94 -0
  223. package/coverage/lcov-report/i18n/sv-SE/components/settings/accordion.ts.html +109 -0
  224. package/coverage/lcov-report/i18n/sv-SE/components/settings/block_quote.ts.html +130 -0
  225. package/coverage/lcov-report/i18n/sv-SE/components/settings/clickable_icon.ts.html +145 -0
  226. package/coverage/lcov-report/i18n/sv-SE/components/settings/email.ts.html +115 -0
  227. package/coverage/lcov-report/i18n/sv-SE/components/settings/file_download.ts.html +109 -0
  228. package/coverage/lcov-report/i18n/sv-SE/components/settings/horizontal_rule.ts.html +94 -0
  229. package/coverage/lcov-report/i18n/sv-SE/components/settings/image.ts.html +142 -0
  230. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.html +326 -0
  231. package/coverage/lcov-report/i18n/sv-SE/components/settings/index.ts.html +178 -0
  232. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response.ts.html +100 -0
  233. package/coverage/lcov-report/i18n/sv-SE/components/settings/open_response_collate.ts.html +103 -0
  234. package/coverage/lcov-report/i18n/sv-SE/components/settings/scenario_choice.ts.html +145 -0
  235. package/coverage/lcov-report/i18n/sv-SE/components/settings/tab.ts.html +109 -0
  236. package/coverage/lcov-report/i18n/sv-SE/components/settings/text_editor.ts.html +115 -0
  237. package/coverage/lcov-report/i18n/sv-SE/components/settings/user_upload.ts.html +121 -0
  238. package/coverage/lcov-report/i18n/sv-SE/components/settings/video.ts.html +277 -0
  239. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInBlankInput.ts.html +130 -0
  240. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/FillInTheBlanksManager.ts.html +118 -0
  241. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.html +146 -0
  242. package/coverage/lcov-report/i18n/sv-SE/components/utils/FillInBlank/index.ts.html +103 -0
  243. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.html +146 -0
  244. package/coverage/lcov-report/i18n/sv-SE/components/utils/index.ts.html +109 -0
  245. package/coverage/lcov-report/i18n/sv-SE/components/utils/math_expression_editor.ts.html +130 -0
  246. package/coverage/lcov-report/i18n/sv-SE/components/utils/tiny_mce_wrapper.ts.html +178 -0
  247. package/coverage/lcov-report/i18n/sv-SE/index.html +116 -0
  248. package/coverage/lcov-report/i18n/sv-SE/index.ts.html +133 -0
  249. package/coverage/lcov-report/i18n/sv-SE/modules/index.html +116 -0
  250. package/coverage/lcov-report/i18n/sv-SE/modules/index.ts.html +100 -0
  251. package/coverage/lcov-report/i18n/sv-SE/pages/glossary.ts.html +106 -0
  252. package/coverage/lcov-report/i18n/sv-SE/pages/index.html +146 -0
  253. package/coverage/lcov-report/i18n/sv-SE/pages/index.ts.html +112 -0
  254. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/error.ts.html +109 -0
  255. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.html +131 -0
  256. package/coverage/lcov-report/i18n/sv-SE/pages/plugins/index.ts.html +100 -0
  257. package/coverage/lcov-report/i18n/sv-SE/pages/user_upload.ts.html +94 -0
  258. package/coverage/lcov-report/i18n/sv-SE/shared/content_blocks.ts.html +163 -0
  259. package/coverage/lcov-report/i18n/sv-SE/shared/index.html +176 -0
  260. package/coverage/lcov-report/i18n/sv-SE/shared/index.ts.html +118 -0
  261. package/coverage/lcov-report/i18n/sv-SE/shared/menu.ts.html +97 -0
  262. package/coverage/lcov-report/i18n/sv-SE/shared/permission.ts.html +130 -0
  263. package/coverage/lcov-report/i18n/sv-SE/shared/settings.ts.html +172 -0
  264. package/coverage/lcov-report/index.html +806 -0
  265. package/coverage/lcov-report/models/SurveyResult.ts.html +109 -0
  266. package/coverage/lcov-report/models/SurveyTemplate.ts.html +109 -0
  267. package/coverage/lcov-report/models/index.html +131 -0
  268. package/coverage/lcov-report/pages/plugins/tinymce/_plugin.vue.html +322 -0
  269. package/coverage/lcov-report/pages/plugins/tinymce/index.html +116 -0
  270. package/coverage/lcov-report/prettify.css +1 -0
  271. package/coverage/lcov-report/prettify.js +2 -0
  272. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  273. package/coverage/lcov-report/sorter.js +196 -0
  274. package/coverage/lcov-report/test/index.html +131 -0
  275. package/coverage/lcov-report/test/locales.js.html +370 -0
  276. package/coverage/lcov-report/test/mocks.js.html +532 -0
  277. package/coverage/lcov.info +2753 -0
  278. package/i18n/en-US/components/content/blocks/generate_questions.ts +4 -0
  279. package/i18n/es-ES/components/content/blocks/generate_questions.ts +4 -0
  280. package/i18n/sv-SE/components/content/blocks/generate_questions.ts +4 -0
  281. package/lib/helpers/GlossaryHelper.d.ts +9 -0
  282. package/lib/helpers/GlossaryHelper.js +118 -0
  283. package/lib/helpers/GlossaryTerm.d.ts +10 -0
  284. package/lib/helpers/GlossaryTerm.js +22 -0
  285. package/lib/helpers/MathHelper.d.ts +99 -0
  286. package/lib/helpers/MathHelper.js +194 -0
  287. package/lib/helpers/tinymce/plugin.d.ts +2 -0
  288. package/lib/helpers/tinymce/plugin.js +86 -0
  289. package/lib/i18n/en-US/components/content/blocks/image.d.ts +6 -0
  290. package/lib/i18n/en-US/components/content/blocks/image.js +7 -0
  291. package/lib/i18n/en-US/components/content/blocks/index.d.ts +75 -0
  292. package/lib/i18n/en-US/components/content/blocks/index.js +14 -0
  293. package/lib/i18n/en-US/components/content/blocks/tab.d.ts +5 -0
  294. package/lib/i18n/en-US/components/content/blocks/tab.js +6 -0
  295. package/lib/i18n/en-US/components/content/blocks/table.d.ts +5 -0
  296. package/lib/i18n/en-US/components/content/blocks/table.js +6 -0
  297. package/lib/i18n/en-US/components/content/blocks/user_upload.d.ts +13 -0
  298. package/lib/i18n/en-US/components/content/blocks/user_upload.js +14 -0
  299. package/lib/i18n/en-US/components/content/blocks/video.d.ts +48 -0
  300. package/lib/i18n/en-US/components/content/blocks/video.js +49 -0
  301. package/lib/i18n/en-US/components/content/index.d.ts +77 -0
  302. package/lib/i18n/en-US/components/content/index.js +6 -0
  303. package/lib/i18n/en-US/components/index.d.ts +140 -0
  304. package/lib/i18n/en-US/components/index.js +12 -0
  305. package/lib/i18n/en-US/components/navigation/image.d.ts +5 -0
  306. package/lib/i18n/en-US/components/navigation/image.js +6 -0
  307. package/lib/i18n/en-US/components/navigation/index.d.ts +10 -0
  308. package/lib/i18n/en-US/components/navigation/index.js +8 -0
  309. package/lib/i18n/en-US/components/navigation/user_upload.d.ts +4 -0
  310. package/lib/i18n/en-US/components/navigation/user_upload.js +5 -0
  311. package/lib/i18n/en-US/components/settings/clickable_icon.d.ts +6 -0
  312. package/lib/i18n/en-US/components/settings/clickable_icon.js +7 -0
  313. package/lib/i18n/en-US/components/settings/image.d.ts +2 -0
  314. package/lib/i18n/en-US/components/settings/image.js +3 -0
  315. package/lib/i18n/en-US/components/settings/index.d.ts +39 -0
  316. package/lib/i18n/en-US/components/settings/index.js +14 -0
  317. package/lib/i18n/en-US/components/settings/text_editor.d.ts +8 -0
  318. package/lib/i18n/en-US/components/settings/text_editor.js +9 -0
  319. package/lib/i18n/en-US/components/settings/user_upload.d.ts +12 -0
  320. package/lib/i18n/en-US/components/settings/user_upload.js +13 -0
  321. package/lib/i18n/en-US/components/settings/video.d.ts +13 -0
  322. package/lib/i18n/en-US/components/settings/video.js +14 -0
  323. package/lib/i18n/en-US/components/utils/index.d.ts +15 -0
  324. package/lib/i18n/en-US/components/utils/index.js +6 -0
  325. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.d.ts +13 -0
  326. package/lib/i18n/en-US/components/utils/tiny_mce_wrapper.js +14 -0
  327. package/lib/i18n/en-US/index.d.ts +197 -0
  328. package/lib/i18n/en-US/index.js +16 -0
  329. package/lib/i18n/en-US/modules/index.d.ts +2 -0
  330. package/lib/i18n/en-US/modules/index.js +6 -0
  331. package/lib/i18n/en-US/pages/glossary.d.ts +8 -0
  332. package/lib/i18n/en-US/pages/glossary.js +9 -0
  333. package/lib/i18n/en-US/pages/index.d.ts +13 -0
  334. package/lib/i18n/en-US/pages/index.js +8 -0
  335. package/lib/i18n/en-US/pages/user_upload.d.ts +4 -0
  336. package/lib/i18n/en-US/pages/user_upload.js +5 -0
  337. package/lib/i18n/en-US/shared/content_blocks.d.ts +20 -0
  338. package/lib/i18n/en-US/shared/content_blocks.js +21 -0
  339. package/lib/i18n/en-US/shared/index.d.ts +39 -0
  340. package/lib/i18n/en-US/shared/index.js +10 -0
  341. package/lib/i18n/en-US/shared/menu.d.ts +4 -0
  342. package/lib/i18n/en-US/shared/menu.js +5 -0
  343. package/lib/i18n/en-US/shared/settings.d.ts +15 -0
  344. package/lib/i18n/en-US/shared/settings.js +16 -0
  345. package/lib/i18n/en-US.d.ts +197 -0
  346. package/lib/i18n/en-US.js +15 -0
  347. package/lib/models/UserFileAsset.d.ts +5 -0
  348. package/lib/models/UserFileAsset.js +37 -0
  349. package/package.json +1 -1
  350. package/table_styling.scss +58 -0
@@ -0,0 +1,1120 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for components/utils/MathExpressionEditor.vue</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">components/utils</a> MathExpressionEditor.vue</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>4/4</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/0</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>4/4</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a>
260
+ <a name='L195'></a><a href='#L195'>195</a>
261
+ <a name='L196'></a><a href='#L196'>196</a>
262
+ <a name='L197'></a><a href='#L197'>197</a>
263
+ <a name='L198'></a><a href='#L198'>198</a>
264
+ <a name='L199'></a><a href='#L199'>199</a>
265
+ <a name='L200'></a><a href='#L200'>200</a>
266
+ <a name='L201'></a><a href='#L201'>201</a>
267
+ <a name='L202'></a><a href='#L202'>202</a>
268
+ <a name='L203'></a><a href='#L203'>203</a>
269
+ <a name='L204'></a><a href='#L204'>204</a>
270
+ <a name='L205'></a><a href='#L205'>205</a>
271
+ <a name='L206'></a><a href='#L206'>206</a>
272
+ <a name='L207'></a><a href='#L207'>207</a>
273
+ <a name='L208'></a><a href='#L208'>208</a>
274
+ <a name='L209'></a><a href='#L209'>209</a>
275
+ <a name='L210'></a><a href='#L210'>210</a>
276
+ <a name='L211'></a><a href='#L211'>211</a>
277
+ <a name='L212'></a><a href='#L212'>212</a>
278
+ <a name='L213'></a><a href='#L213'>213</a>
279
+ <a name='L214'></a><a href='#L214'>214</a>
280
+ <a name='L215'></a><a href='#L215'>215</a>
281
+ <a name='L216'></a><a href='#L216'>216</a>
282
+ <a name='L217'></a><a href='#L217'>217</a>
283
+ <a name='L218'></a><a href='#L218'>218</a>
284
+ <a name='L219'></a><a href='#L219'>219</a>
285
+ <a name='L220'></a><a href='#L220'>220</a>
286
+ <a name='L221'></a><a href='#L221'>221</a>
287
+ <a name='L222'></a><a href='#L222'>222</a>
288
+ <a name='L223'></a><a href='#L223'>223</a>
289
+ <a name='L224'></a><a href='#L224'>224</a>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a>
336
+ <a name='L271'></a><a href='#L271'>271</a>
337
+ <a name='L272'></a><a href='#L272'>272</a>
338
+ <a name='L273'></a><a href='#L273'>273</a>
339
+ <a name='L274'></a><a href='#L274'>274</a>
340
+ <a name='L275'></a><a href='#L275'>275</a>
341
+ <a name='L276'></a><a href='#L276'>276</a>
342
+ <a name='L277'></a><a href='#L277'>277</a>
343
+ <a name='L278'></a><a href='#L278'>278</a>
344
+ <a name='L279'></a><a href='#L279'>279</a>
345
+ <a name='L280'></a><a href='#L280'>280</a>
346
+ <a name='L281'></a><a href='#L281'>281</a>
347
+ <a name='L282'></a><a href='#L282'>282</a>
348
+ <a name='L283'></a><a href='#L283'>283</a>
349
+ <a name='L284'></a><a href='#L284'>284</a>
350
+ <a name='L285'></a><a href='#L285'>285</a>
351
+ <a name='L286'></a><a href='#L286'>286</a>
352
+ <a name='L287'></a><a href='#L287'>287</a>
353
+ <a name='L288'></a><a href='#L288'>288</a>
354
+ <a name='L289'></a><a href='#L289'>289</a>
355
+ <a name='L290'></a><a href='#L290'>290</a>
356
+ <a name='L291'></a><a href='#L291'>291</a>
357
+ <a name='L292'></a><a href='#L292'>292</a>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a>
371
+ <a name='L306'></a><a href='#L306'>306</a>
372
+ <a name='L307'></a><a href='#L307'>307</a>
373
+ <a name='L308'></a><a href='#L308'>308</a>
374
+ <a name='L309'></a><a href='#L309'>309</a>
375
+ <a name='L310'></a><a href='#L310'>310</a>
376
+ <a name='L311'></a><a href='#L311'>311</a>
377
+ <a name='L312'></a><a href='#L312'>312</a>
378
+ <a name='L313'></a><a href='#L313'>313</a>
379
+ <a name='L314'></a><a href='#L314'>314</a>
380
+ <a name='L315'></a><a href='#L315'>315</a>
381
+ <a name='L316'></a><a href='#L316'>316</a>
382
+ <a name='L317'></a><a href='#L317'>317</a>
383
+ <a name='L318'></a><a href='#L318'>318</a>
384
+ <a name='L319'></a><a href='#L319'>319</a>
385
+ <a name='L320'></a><a href='#L320'>320</a>
386
+ <a name='L321'></a><a href='#L321'>321</a>
387
+ <a name='L322'></a><a href='#L322'>322</a>
388
+ <a name='L323'></a><a href='#L323'>323</a>
389
+ <a name='L324'></a><a href='#L324'>324</a>
390
+ <a name='L325'></a><a href='#L325'>325</a>
391
+ <a name='L326'></a><a href='#L326'>326</a>
392
+ <a name='L327'></a><a href='#L327'>327</a>
393
+ <a name='L328'></a><a href='#L328'>328</a>
394
+ <a name='L329'></a><a href='#L329'>329</a>
395
+ <a name='L330'></a><a href='#L330'>330</a>
396
+ <a name='L331'></a><a href='#L331'>331</a>
397
+ <a name='L332'></a><a href='#L332'>332</a>
398
+ <a name='L333'></a><a href='#L333'>333</a>
399
+ <a name='L334'></a><a href='#L334'>334</a>
400
+ <a name='L335'></a><a href='#L335'>335</a>
401
+ <a name='L336'></a><a href='#L336'>336</a>
402
+ <a name='L337'></a><a href='#L337'>337</a>
403
+ <a name='L338'></a><a href='#L338'>338</a>
404
+ <a name='L339'></a><a href='#L339'>339</a>
405
+ <a name='L340'></a><a href='#L340'>340</a>
406
+ <a name='L341'></a><a href='#L341'>341</a>
407
+ <a name='L342'></a><a href='#L342'>342</a>
408
+ <a name='L343'></a><a href='#L343'>343</a>
409
+ <a name='L344'></a><a href='#L344'>344</a>
410
+ <a name='L345'></a><a href='#L345'>345</a>
411
+ <a name='L346'></a><a href='#L346'>346</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
+ <span class="cline-any cline-neutral">&nbsp;</span>
419
+ <span class="cline-any cline-neutral">&nbsp;</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-neutral">&nbsp;</span>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-neutral">&nbsp;</span>
436
+ <span class="cline-any cline-neutral">&nbsp;</span>
437
+ <span class="cline-any cline-neutral">&nbsp;</span>
438
+ <span class="cline-any cline-neutral">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-neutral">&nbsp;</span>
441
+ <span class="cline-any cline-neutral">&nbsp;</span>
442
+ <span class="cline-any cline-neutral">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-neutral">&nbsp;</span>
445
+ <span class="cline-any cline-neutral">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-neutral">&nbsp;</span>
448
+ <span class="cline-any cline-neutral">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
452
+ <span class="cline-any cline-neutral">&nbsp;</span>
453
+ <span class="cline-any cline-neutral">&nbsp;</span>
454
+ <span class="cline-any cline-neutral">&nbsp;</span>
455
+ <span class="cline-any cline-neutral">&nbsp;</span>
456
+ <span class="cline-any cline-neutral">&nbsp;</span>
457
+ <span class="cline-any cline-neutral">&nbsp;</span>
458
+ <span class="cline-any cline-neutral">&nbsp;</span>
459
+ <span class="cline-any cline-neutral">&nbsp;</span>
460
+ <span class="cline-any cline-neutral">&nbsp;</span>
461
+ <span class="cline-any cline-neutral">&nbsp;</span>
462
+ <span class="cline-any cline-neutral">&nbsp;</span>
463
+ <span class="cline-any cline-neutral">&nbsp;</span>
464
+ <span class="cline-any cline-neutral">&nbsp;</span>
465
+ <span class="cline-any cline-neutral">&nbsp;</span>
466
+ <span class="cline-any cline-neutral">&nbsp;</span>
467
+ <span class="cline-any cline-neutral">&nbsp;</span>
468
+ <span class="cline-any cline-neutral">&nbsp;</span>
469
+ <span class="cline-any cline-neutral">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
472
+ <span class="cline-any cline-neutral">&nbsp;</span>
473
+ <span class="cline-any cline-neutral">&nbsp;</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-neutral">&nbsp;</span>
476
+ <span class="cline-any cline-neutral">&nbsp;</span>
477
+ <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-neutral">&nbsp;</span>
479
+ <span class="cline-any cline-neutral">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-neutral">&nbsp;</span>
482
+ <span class="cline-any cline-neutral">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-neutral">&nbsp;</span>
485
+ <span class="cline-any cline-neutral">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-neutral">&nbsp;</span>
488
+ <span class="cline-any cline-neutral">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-neutral">&nbsp;</span>
491
+ <span class="cline-any cline-neutral">&nbsp;</span>
492
+ <span class="cline-any cline-neutral">&nbsp;</span>
493
+ <span class="cline-any cline-neutral">&nbsp;</span>
494
+ <span class="cline-any cline-neutral">&nbsp;</span>
495
+ <span class="cline-any cline-neutral">&nbsp;</span>
496
+ <span class="cline-any cline-neutral">&nbsp;</span>
497
+ <span class="cline-any cline-neutral">&nbsp;</span>
498
+ <span class="cline-any cline-neutral">&nbsp;</span>
499
+ <span class="cline-any cline-neutral">&nbsp;</span>
500
+ <span class="cline-any cline-neutral">&nbsp;</span>
501
+ <span class="cline-any cline-neutral">&nbsp;</span>
502
+ <span class="cline-any cline-neutral">&nbsp;</span>
503
+ <span class="cline-any cline-neutral">&nbsp;</span>
504
+ <span class="cline-any cline-neutral">&nbsp;</span>
505
+ <span class="cline-any cline-neutral">&nbsp;</span>
506
+ <span class="cline-any cline-neutral">&nbsp;</span>
507
+ <span class="cline-any cline-neutral">&nbsp;</span>
508
+ <span class="cline-any cline-neutral">&nbsp;</span>
509
+ <span class="cline-any cline-neutral">&nbsp;</span>
510
+ <span class="cline-any cline-neutral">&nbsp;</span>
511
+ <span class="cline-any cline-neutral">&nbsp;</span>
512
+ <span class="cline-any cline-neutral">&nbsp;</span>
513
+ <span class="cline-any cline-neutral">&nbsp;</span>
514
+ <span class="cline-any cline-neutral">&nbsp;</span>
515
+ <span class="cline-any cline-neutral">&nbsp;</span>
516
+ <span class="cline-any cline-neutral">&nbsp;</span>
517
+ <span class="cline-any cline-neutral">&nbsp;</span>
518
+ <span class="cline-any cline-neutral">&nbsp;</span>
519
+ <span class="cline-any cline-neutral">&nbsp;</span>
520
+ <span class="cline-any cline-neutral">&nbsp;</span>
521
+ <span class="cline-any cline-neutral">&nbsp;</span>
522
+ <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-neutral">&nbsp;</span>
524
+ <span class="cline-any cline-neutral">&nbsp;</span>
525
+ <span class="cline-any cline-neutral">&nbsp;</span>
526
+ <span class="cline-any cline-neutral">&nbsp;</span>
527
+ <span class="cline-any cline-neutral">&nbsp;</span>
528
+ <span class="cline-any cline-neutral">&nbsp;</span>
529
+ <span class="cline-any cline-neutral">&nbsp;</span>
530
+ <span class="cline-any cline-neutral">&nbsp;</span>
531
+ <span class="cline-any cline-neutral">&nbsp;</span>
532
+ <span class="cline-any cline-neutral">&nbsp;</span>
533
+ <span class="cline-any cline-neutral">&nbsp;</span>
534
+ <span class="cline-any cline-neutral">&nbsp;</span>
535
+ <span class="cline-any cline-neutral">&nbsp;</span>
536
+ <span class="cline-any cline-neutral">&nbsp;</span>
537
+ <span class="cline-any cline-neutral">&nbsp;</span>
538
+ <span class="cline-any cline-neutral">&nbsp;</span>
539
+ <span class="cline-any cline-neutral">&nbsp;</span>
540
+ <span class="cline-any cline-neutral">&nbsp;</span>
541
+ <span class="cline-any cline-yes">2x</span>
542
+ <span class="cline-any cline-yes">2x</span>
543
+ <span class="cline-any cline-yes">2x</span>
544
+ <span class="cline-any cline-yes">2x</span>
545
+ <span class="cline-any cline-neutral">&nbsp;</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
547
+ <span class="cline-any cline-neutral">&nbsp;</span>
548
+ <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-neutral">&nbsp;</span>
551
+ <span class="cline-any cline-neutral">&nbsp;</span>
552
+ <span class="cline-any cline-neutral">&nbsp;</span>
553
+ <span class="cline-any cline-neutral">&nbsp;</span>
554
+ <span class="cline-any cline-neutral">&nbsp;</span>
555
+ <span class="cline-any cline-neutral">&nbsp;</span>
556
+ <span class="cline-any cline-neutral">&nbsp;</span>
557
+ <span class="cline-any cline-neutral">&nbsp;</span>
558
+ <span class="cline-any cline-neutral">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-neutral">&nbsp;</span>
561
+ <span class="cline-any cline-neutral">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</span>
563
+ <span class="cline-any cline-neutral">&nbsp;</span>
564
+ <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
+ <span class="cline-any cline-neutral">&nbsp;</span>
569
+ <span class="cline-any cline-neutral">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</span>
574
+ <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-neutral">&nbsp;</span>
576
+ <span class="cline-any cline-neutral">&nbsp;</span>
577
+ <span class="cline-any cline-neutral">&nbsp;</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-neutral">&nbsp;</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-neutral">&nbsp;</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-neutral">&nbsp;</span>
588
+ <span class="cline-any cline-neutral">&nbsp;</span>
589
+ <span class="cline-any cline-neutral">&nbsp;</span>
590
+ <span class="cline-any cline-neutral">&nbsp;</span>
591
+ <span class="cline-any cline-neutral">&nbsp;</span>
592
+ <span class="cline-any cline-neutral">&nbsp;</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-neutral">&nbsp;</span>
595
+ <span class="cline-any cline-neutral">&nbsp;</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-neutral">&nbsp;</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-neutral">&nbsp;</span>
603
+ <span class="cline-any cline-neutral">&nbsp;</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-neutral">&nbsp;</span>
613
+ <span class="cline-any cline-neutral">&nbsp;</span>
614
+ <span class="cline-any cline-neutral">&nbsp;</span>
615
+ <span class="cline-any cline-neutral">&nbsp;</span>
616
+ <span class="cline-any cline-neutral">&nbsp;</span>
617
+ <span class="cline-any cline-neutral">&nbsp;</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-neutral">&nbsp;</span>
620
+ <span class="cline-any cline-neutral">&nbsp;</span>
621
+ <span class="cline-any cline-neutral">&nbsp;</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-neutral">&nbsp;</span>
624
+ <span class="cline-any cline-neutral">&nbsp;</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-neutral">&nbsp;</span>
627
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
630
+ <span class="cline-any cline-neutral">&nbsp;</span>
631
+ <span class="cline-any cline-neutral">&nbsp;</span>
632
+ <span class="cline-any cline-neutral">&nbsp;</span>
633
+ <span class="cline-any cline-neutral">&nbsp;</span>
634
+ <span class="cline-any cline-neutral">&nbsp;</span>
635
+ <span class="cline-any cline-neutral">&nbsp;</span>
636
+ <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-neutral">&nbsp;</span>
638
+ <span class="cline-any cline-neutral">&nbsp;</span>
639
+ <span class="cline-any cline-neutral">&nbsp;</span>
640
+ <span class="cline-any cline-neutral">&nbsp;</span>
641
+ <span class="cline-any cline-neutral">&nbsp;</span>
642
+ <span class="cline-any cline-neutral">&nbsp;</span>
643
+ <span class="cline-any cline-neutral">&nbsp;</span>
644
+ <span class="cline-any cline-neutral">&nbsp;</span>
645
+ <span class="cline-any cline-neutral">&nbsp;</span>
646
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
+ <span class="cline-any cline-neutral">&nbsp;</span>
648
+ <span class="cline-any cline-neutral">&nbsp;</span>
649
+ <span class="cline-any cline-neutral">&nbsp;</span>
650
+ <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-neutral">&nbsp;</span>
652
+ <span class="cline-any cline-neutral">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
655
+ <span class="cline-any cline-neutral">&nbsp;</span>
656
+ <span class="cline-any cline-neutral">&nbsp;</span>
657
+ <span class="cline-any cline-neutral">&nbsp;</span>
658
+ <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-neutral">&nbsp;</span>
660
+ <span class="cline-any cline-neutral">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-neutral">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-neutral">&nbsp;</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
671
+ <span class="cline-any cline-neutral">&nbsp;</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-neutral">&nbsp;</span>
675
+ <span class="cline-any cline-neutral">&nbsp;</span>
676
+ <span class="cline-any cline-neutral">&nbsp;</span>
677
+ <span class="cline-any cline-neutral">&nbsp;</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-neutral">&nbsp;</span>
680
+ <span class="cline-any cline-neutral">&nbsp;</span>
681
+ <span class="cline-any cline-neutral">&nbsp;</span>
682
+ <span class="cline-any cline-neutral">&nbsp;</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-neutral">&nbsp;</span>
685
+ <span class="cline-any cline-neutral">&nbsp;</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-neutral">&nbsp;</span>
689
+ <span class="cline-any cline-neutral">&nbsp;</span>
690
+ <span class="cline-any cline-neutral">&nbsp;</span>
691
+ <span class="cline-any cline-neutral">&nbsp;</span>
692
+ <span class="cline-any cline-neutral">&nbsp;</span>
693
+ <span class="cline-any cline-neutral">&nbsp;</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-neutral">&nbsp;</span>
696
+ <span class="cline-any cline-neutral">&nbsp;</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-neutral">&nbsp;</span>
699
+ <span class="cline-any cline-neutral">&nbsp;</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-neutral">&nbsp;</span>
705
+ <span class="cline-any cline-neutral">&nbsp;</span>
706
+ <span class="cline-any cline-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-neutral">&nbsp;</span>
708
+ <span class="cline-any cline-neutral">&nbsp;</span>
709
+ <span class="cline-any cline-neutral">&nbsp;</span>
710
+ <span class="cline-any cline-neutral">&nbsp;</span>
711
+ <span class="cline-any cline-neutral">&nbsp;</span>
712
+ <span class="cline-any cline-neutral">&nbsp;</span>
713
+ <span class="cline-any cline-neutral">&nbsp;</span>
714
+ <span class="cline-any cline-neutral">&nbsp;</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-neutral">&nbsp;</span>
717
+ <span class="cline-any cline-neutral">&nbsp;</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-neutral">&nbsp;</span>
721
+ <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-neutral">&nbsp;</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
726
+ <span class="cline-any cline-neutral">&nbsp;</span>
727
+ <span class="cline-any cline-neutral">&nbsp;</span>
728
+ <span class="cline-any cline-neutral">&nbsp;</span>
729
+ <span class="cline-any cline-neutral">&nbsp;</span>
730
+ <span class="cline-any cline-neutral">&nbsp;</span>
731
+ <span class="cline-any cline-neutral">&nbsp;</span>
732
+ <span class="cline-any cline-neutral">&nbsp;</span>
733
+ <span class="cline-any cline-neutral">&nbsp;</span>
734
+ <span class="cline-any cline-neutral">&nbsp;</span>
735
+ <span class="cline-any cline-neutral">&nbsp;</span>
736
+ <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-neutral">&nbsp;</span>
738
+ <span class="cline-any cline-neutral">&nbsp;</span>
739
+ <span class="cline-any cline-neutral">&nbsp;</span>
740
+ <span class="cline-any cline-neutral">&nbsp;</span>
741
+ <span class="cline-any cline-neutral">&nbsp;</span>
742
+ <span class="cline-any cline-neutral">&nbsp;</span>
743
+ <span class="cline-any cline-neutral">&nbsp;</span>
744
+ <span class="cline-any cline-neutral">&nbsp;</span>
745
+ <span class="cline-any cline-neutral">&nbsp;</span>
746
+ <span class="cline-any cline-neutral">&nbsp;</span>
747
+ <span class="cline-any cline-neutral">&nbsp;</span>
748
+ <span class="cline-any cline-neutral">&nbsp;</span>
749
+ <span class="cline-any cline-neutral">&nbsp;</span>
750
+ <span class="cline-any cline-neutral">&nbsp;</span>
751
+ <span class="cline-any cline-neutral">&nbsp;</span>
752
+ <span class="cline-any cline-neutral">&nbsp;</span>
753
+ <span class="cline-any cline-neutral">&nbsp;</span>
754
+ <span class="cline-any cline-neutral">&nbsp;</span>
755
+ <span class="cline-any cline-neutral">&nbsp;</span>
756
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">&lt;template&gt;
757
+ &lt;div&gt;
758
+ &lt;v-card flat class="py-12"&gt;
759
+ &lt;v-card-title&gt;
760
+ {{
761
+ $t(
762
+ 'windward.core.components.utils.math_expression_editor.title'
763
+ )
764
+ }}
765
+ &lt;/v-card-title&gt;
766
+ &nbsp;
767
+ &lt;v-card-text&gt;
768
+ &lt;v-tabs
769
+ v-model="tab"
770
+ align-with-title
771
+ next-icon="mdi-arrow-right-bold-box-outline"
772
+ prev-icon="mdi-arrow-left-bold-box-outline"
773
+ show-arrows
774
+ &gt;
775
+ &lt;v-tabs-slider color="primary"&gt;&lt;/v-tabs-slider&gt;
776
+ &nbsp;
777
+ &lt;v-tab
778
+ v-for="(keyboard, index) in config.buttons.groups"
779
+ :key="index"
780
+ &gt;
781
+ {{ $tc(keyboard.name, keyboard.buttons.length) }}
782
+ &lt;/v-tab&gt;
783
+ &lt;v-tab&gt;{{
784
+ $t(
785
+ 'windward.core.components.utils.math_expression_editor.accessibility'
786
+ )
787
+ }}&lt;/v-tab&gt;
788
+ &lt;/v-tabs&gt;
789
+ &nbsp;
790
+ &lt;v-tabs-items v-model="tab"&gt;
791
+ &lt;v-tab-item
792
+ v-for="(keyboard, index) in config.buttons.groups"
793
+ :key="index"
794
+ &gt;
795
+ &lt;v-container&gt;
796
+ &lt;div class="flex-wrap col-12"&gt;
797
+ &lt;button
798
+ v-for="(
799
+ button, buttonIndex
800
+ ) in keyboard.buttons"
801
+ :key="buttonIndex"
802
+ class="btn"
803
+ @click="insert(button)"
804
+ v-html="
805
+ '&lt;strong&gt;' +
806
+ convertLatexToMarkup(button.text) +
807
+ '&lt;/strong&gt;'
808
+ "
809
+ &gt;&lt;/button&gt;
810
+ &lt;/div&gt;
811
+ &lt;/v-container&gt;
812
+ &lt;/v-tab-item&gt;
813
+ &lt;v-tab-item&gt;
814
+ &lt;v-container class="pb-4"&gt;
815
+ &lt;v-row align="center"&gt;
816
+ &lt;v-switch
817
+ v-model="spokenTextChanged"
818
+ :label="
819
+ $t(
820
+ 'windward.core.components.utils.math_expression_editor.custom_screen_reader_text'
821
+ )
822
+ "
823
+ hide-details
824
+ class="shrink mr-2 mt-0"
825
+ &gt;&lt;/v-switch&gt;
826
+ &lt;v-textarea
827
+ v-model="spokenText"
828
+ :disabled="!spokenTextChanged"
829
+ :label="
830
+ $t(
831
+ 'windward.core.components.utils.math_expression_editor.screen_reader_text'
832
+ )
833
+ "
834
+ class="col-md-12"
835
+ @input="submit"
836
+ &gt;&lt;/v-textarea&gt;
837
+ &lt;/v-row&gt;
838
+ &nbsp;
839
+ &lt;br /&gt;
840
+ &lt;v-row class="float-right"&gt;
841
+ &lt;v-btn
842
+ primary
843
+ color="success"
844
+ elevation="0"
845
+ @click="setSRText"
846
+ :class="fontSize"
847
+ &gt;{{
848
+ $t(
849
+ 'windward.core.components.utils.math_expression_editor.default_screen_reader_text'
850
+ )
851
+ }}
852
+ &lt;/v-btn&gt;
853
+ &amp;nbsp;
854
+ &lt;v-btn
855
+ color="primary"
856
+ elevation="0"
857
+ :class="fontSize"
858
+ @click="readSRText"
859
+ &gt;{{
860
+ $t(
861
+ 'windward.core.components.utils.math_expression_editor.read_text_aloud'
862
+ )
863
+ }}
864
+ &lt;/v-btn&gt;
865
+ &lt;/v-row&gt;
866
+ &lt;/v-container&gt;
867
+ &lt;br /&gt;
868
+ &lt;/v-tab-item&gt;
869
+ &lt;/v-tabs-items&gt;
870
+ &lt;br /&gt;
871
+ &lt;math-live-wrapper
872
+ ref="mathfield"
873
+ v-model="formula"
874
+ :id="mathElementId"
875
+ :options="options"
876
+ :value="value"
877
+ @change="submit"
878
+ &gt;&lt;/math-live-wrapper&gt;
879
+ &lt;br /&gt;
880
+ &lt;/v-card-text&gt;
881
+ &lt;/v-card&gt;
882
+ &lt;/div&gt;
883
+ &lt;/template&gt;
884
+ &nbsp;
885
+ &lt;script&gt;
886
+ import MathHelper from '../../helpers/MathHelper'
887
+ import MathLiveWrapper from './MathLiveWrapper'
888
+ import tinymceConfig from '../../config/tinymce.config'
889
+ import Crypto from '~/helpers/Crypto'
890
+ export default {
891
+ components: { MathLiveWrapper },
892
+ layout: 'plugin',
893
+ props: {
894
+ mode: { type: String, required: false, default: 'plugin' },
895
+ value: { type: String, required: false, default: null },
896
+ shrinkFont: { type: Boolean, required: false, default: null },
897
+ },
898
+ data() {
899
+ return {
900
+ formula: '',
901
+ keystroke: '',
902
+ spokenText: '',
903
+ spokenTextChanged: false,
904
+ options: {
905
+ smartFence: false,
906
+ smartMode: false,
907
+ virtualKeyboardMode: 'none',
908
+ keypressSound: 'none',
909
+ plonkSound: 'none',
910
+ readOnly: false,
911
+ },
912
+ tab: null,
913
+ toggle_exclusive: true,
914
+ panel: [],
915
+ mathElementId: '',
916
+ }
917
+ },
918
+ computed: {
919
+ config() {
920
+ const plugin = tinymceConfig.plugins.filter((item) =&gt; {
921
+ return item.name === 'math'
922
+ })
923
+ &nbsp;
924
+ return plugin[0]
925
+ },
926
+ fontSize() {
927
+ if (this.shrinkFont === true) {
928
+ return 'adjustFont'
929
+ }
930
+ return ''
931
+ },
932
+ },
933
+ beforeMount() {
934
+ this.mathElementId = Crypto.id()
935
+ if (this.mode === 'standalone') {
936
+ this.initStandaloneMode()
937
+ }
938
+ },
939
+ mounted() {
940
+ if (this.mode === 'plugin') {
941
+ window.parent.postMessage(
942
+ {
943
+ mceAction: 'math-plugin-mounted',
944
+ status: true,
945
+ },
946
+ '*'
947
+ )
948
+ }
949
+ },
950
+ created() {
951
+ if (this.mode === 'plugin') {
952
+ window.parent.addEventListener('message', (event) =&gt; {
953
+ if (event.data.latex) this.initPluginMode(event.data.latex)
954
+ })
955
+ }
956
+ },
957
+ methods: {
958
+ initStandaloneMode() {
959
+ if (this.value &amp;&amp; MathHelper.containsLatex(this.value)) {
960
+ this.formula = MathHelper.parseLatexString(this.value)
961
+ } else if (
962
+ this.value &amp;&amp;
963
+ MathHelper.containSREnhancedLatex(this.value)
964
+ ) {
965
+ const formulaObject = MathHelper.parseSREnhancedLatexString(
966
+ this.value
967
+ )
968
+ this.formula = formulaObject.latex
969
+ this.spokenText = formulaObject.sr_text
970
+ this.spokenTextChanged = true
971
+ } else if (this.value) {
972
+ this.formula = this.value
973
+ }
974
+ },
975
+ initPluginMode(value) {
976
+ if (value &amp;&amp; MathHelper.containsLatex(value)) {
977
+ this.formula = MathHelper.parseLatexString(value)
978
+ } else if (value &amp;&amp; MathHelper.containSREnhancedLatex(value)) {
979
+ const formulaObject =
980
+ MathHelper.parseSREnhancedLatexString(value)
981
+ this.formula = formulaObject.latex
982
+ this.spokenText = formulaObject.sr_text
983
+ this.spokenTextChanged = true
984
+ }
985
+ this.$refs.mathfield.setValue(this.formula)
986
+ },
987
+ convertLatexToSpeakableText(latex) {
988
+ return MathHelper.Mathlive.convertLatexToSpeakableText(latex)
989
+ },
990
+ convertLatexToMarkup(latex) {
991
+ return MathHelper.Mathlive.convertLatexToMarkup(latex)
992
+ },
993
+ submit() {
994
+ let latex = '$$' + this.formula + '$$'
995
+ if (this.spokenTextChanged) {
996
+ latex =
997
+ '**' +
998
+ JSON.stringify({
999
+ latex: this.formula,
1000
+ sr_text: this.spokenText,
1001
+ }) +
1002
+ '**'
1003
+ }
1004
+ if (this.mode === 'plugin') {
1005
+ window.parent.postMessage(
1006
+ {
1007
+ mceAction: 'equation-insert',
1008
+ content: latex,
1009
+ },
1010
+ '*'
1011
+ )
1012
+ } else {
1013
+ this.$emit('input', latex)
1014
+ }
1015
+ },
1016
+ getBtnCode(button, isAlpha) {
1017
+ if (button.cmd &amp;&amp; isAlpha) {
1018
+ return button.latex
1019
+ }
1020
+ return button.text
1021
+ },
1022
+ &nbsp;
1023
+ isLastCharValid(str, pos = 0) {
1024
+ const lastChar = str.slice(pos, pos + 1)
1025
+ const alphanumericRegex = /^[a-z0-9]$/i
1026
+ const validSymbols = [')', '}', '|']
1027
+ return (
1028
+ alphanumericRegex.test(lastChar) ||
1029
+ validSymbols.includes(lastChar)
1030
+ )
1031
+ },
1032
+ insert(latex) {
1033
+ const existingText = this.$refs.mathfield.getValue()
1034
+ this.$refs.mathfield.insert(
1035
+ this.getBtnCode(
1036
+ latex,
1037
+ this.isLastCharValid(
1038
+ existingText,
1039
+ this.$refs.mathfield.$el.position - 1
1040
+ )
1041
+ ),
1042
+ {
1043
+ selectionMode: 'placeholder',
1044
+ insertionMode: 'replaceSelection',
1045
+ focus: true,
1046
+ }
1047
+ )
1048
+ },
1049
+ &nbsp;
1050
+ setSRText() {
1051
+ this.spokenTextChanged = false
1052
+ this.spokenText = this.convertLatexToSpeakableText(this.formula)
1053
+ },
1054
+ readSRText() {
1055
+ if (!this.spokenText) {
1056
+ this.$refs.mathfield.executeCommand('speak')
1057
+ } else {
1058
+ const utterance = new SpeechSynthesisUtterance(this.spokenText)
1059
+ speechSynthesis.speak(utterance)
1060
+ }
1061
+ },
1062
+ },
1063
+ }
1064
+ &lt;/script&gt;
1065
+ &nbsp;
1066
+ &lt;style lang="scss" scoped&gt;
1067
+ /* stylelint-disable-next-line selector-type-no-unknown */
1068
+ math-field {
1069
+ min-height: 150px;
1070
+ outline: 2px solid var(--v-primary-base);
1071
+ border-radius: 4px;
1072
+ width: 100%;
1073
+ background: var(--v-background-base);
1074
+ color: var(--v-primary-base);
1075
+ }
1076
+ /* stylelint-disable-next-line selector-type-no-unknown */
1077
+ math-field:focus-within {
1078
+ outline: 2px solid var(--v-secondary-base);
1079
+ border-radius: 4px;
1080
+ background: var(--v-background-base);
1081
+ color: var(--v-primary-base);
1082
+ }
1083
+ .btn {
1084
+ cursor: pointer;
1085
+ margin: 0 5px 5px 0;
1086
+ border: 1px solid #595959;
1087
+ background: var(--v-background-base);
1088
+ border-radius: 5px;
1089
+ padding: 5px 10px;
1090
+ min-height: 40px;
1091
+ }
1092
+ &nbsp;
1093
+ .btn:hover {
1094
+ background: #595959;
1095
+ color: var(--v-background-base);
1096
+ }
1097
+ .adjustFont {
1098
+ font-size: 12px !important;
1099
+ }
1100
+ &lt;/style&gt;
1101
+ &nbsp;</pre></td></tr></table></pre>
1102
+
1103
+ <div class='push'></div><!-- for sticky footer -->
1104
+ </div><!-- /wrapper -->
1105
+ <div class='footer quiet pad2 space-top1 center small'>
1106
+ Code coverage generated by
1107
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1108
+ at Thu Dec 05 2024 15:22:58 GMT-0500 (Eastern Standard Time)
1109
+ </div>
1110
+ <script src="../../prettify.js"></script>
1111
+ <script>
1112
+ window.onload = function () {
1113
+ prettyPrint();
1114
+ };
1115
+ </script>
1116
+ <script src="../../sorter.js"></script>
1117
+ <script src="../../block-navigation.js"></script>
1118
+ </body>
1119
+ </html>
1120
+