bfg-common 1.1.82 → 1.1.83

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 (706) hide show
  1. package/.eslintrc.js +21 -21
  2. package/.idea/inspectionProfiles/Project_Default.xml +48 -48
  3. package/.idea/modules.xml +7 -7
  4. package/.idea/prettier.xml +5 -5
  5. package/.idea/uikit.iml +11 -11
  6. package/.idea/vcs.xml +5 -5
  7. package/.prettierrc +4 -4
  8. package/PROJECT_STRUCTURE.md +42 -42
  9. package/README.md +42 -42
  10. package/assets/img/icons/icon-hcs.svg +3 -3
  11. package/assets/img/icons/icon-life-m-dark.svg +3 -3
  12. package/assets/img/icons/icon-life-m-light.svg +3 -3
  13. package/assets/img/icons/icon-ro-dark.svg +1 -1
  14. package/assets/img/icons/icon-ro-light.svg +2 -2
  15. package/assets/img/icons/icons-sprite-dark-6.svg +1 -1
  16. package/assets/img/icons/icons-sprite-light-6.svg +1 -1
  17. package/assets/img/icons/info.svg +8 -8
  18. package/assets/img/icons/vc.svg +52 -52
  19. package/assets/img/logo copy.svg +50 -50
  20. package/assets/img/logo.svg +51 -51
  21. package/assets/localization/local_be.json +2072 -2070
  22. package/assets/localization/local_en.json +2075 -2073
  23. package/assets/localization/local_hy.json +2075 -2073
  24. package/assets/localization/local_kk.json +2075 -2073
  25. package/assets/localization/local_ru.json +2075 -2073
  26. package/assets/localization/local_zh.json +2075 -2073
  27. package/assets/scss/clarity/clr-ui.min.css +8 -8
  28. package/assets/scss/common/animations.scss +28 -28
  29. package/assets/scss/common/global.scss +172 -172
  30. package/assets/scss/common/icons/icons-1.scss +188 -188
  31. package/assets/scss/common/icons/icons-2.scss +208 -208
  32. package/assets/scss/common/icons/icons-3.scss +176 -176
  33. package/assets/scss/common/icons/icons-4.scss +179 -179
  34. package/assets/scss/common/icons/icons-5.scss +53 -53
  35. package/assets/scss/common/icons/icons-6.scss +29 -29
  36. package/assets/scss/common/icons/icons.scss +15 -15
  37. package/assets/scss/common/mixins.scss +39 -39
  38. package/assets/scss/common/normalize.scss +320 -320
  39. package/assets/scss/common/theme.scss +230 -230
  40. package/assets/scss/common/utilities.scss +18 -18
  41. package/assets/scss/common/variables.scss +43 -43
  42. package/assets/scss/main.scss +13 -13
  43. package/components/atoms/DiagramIcon.vue +334 -334
  44. package/components/atoms/TheIcon.vue +1687 -1687
  45. package/components/atoms/TheIcon2.vue +355 -355
  46. package/components/atoms/alert/Alert.spec.ts +38 -38
  47. package/components/atoms/alert/Alert.vue +84 -84
  48. package/components/atoms/alert/Notification.spec.ts +34 -34
  49. package/components/atoms/alert/Notification.vue +167 -167
  50. package/components/atoms/alert/models/enums.ts +12 -12
  51. package/components/atoms/alert/models/interfaces.ts +27 -27
  52. package/components/atoms/alert/models/types.ts +7 -7
  53. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  54. package/components/atoms/collapse/CollapseNav.vue +158 -158
  55. package/components/atoms/collapse/CollapseNavItem.vue +190 -190
  56. package/components/atoms/collapse/models/interfaces.ts +9 -9
  57. package/components/atoms/combobox/Combobox.vue +147 -147
  58. package/components/atoms/datepicker/Datepicker.vue +612 -612
  59. package/components/atoms/datepicker/config/allShortMonths.ts +103 -103
  60. package/components/atoms/datepicker/config/datapicker.ts +43 -43
  61. package/components/atoms/datepicker/models/interfaces.ts +8 -8
  62. package/components/atoms/dropdown/Portlet.spec.ts +26 -26
  63. package/components/atoms/dropdown/Portlet.vue +111 -111
  64. package/components/atoms/dropdown/dropdown/Dropdown.vue +148 -148
  65. package/components/atoms/dropdown/dropdown/models/interfaces.ts +8 -8
  66. package/components/atoms/dropdown/tree/Tree.vue +134 -134
  67. package/components/atoms/dropdown/tree/models/interfaces.ts +9 -9
  68. package/components/atoms/input/Search.vue +16 -16
  69. package/components/atoms/list/SelectList.vue +62 -62
  70. package/components/atoms/list/SimpleList.vue +29 -29
  71. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  72. package/components/atoms/list/dragDropList/config/events.ts +4 -4
  73. package/components/atoms/loader/BarLoader.vue +21 -21
  74. package/components/atoms/loader/Loader.vue +26 -26
  75. package/components/atoms/loader/PreLoader.vue +34 -34
  76. package/components/atoms/loader/Preloader.spec.ts +24 -24
  77. package/components/atoms/modal/Modal.spec.ts +55 -55
  78. package/components/atoms/modal/Modal.vue +241 -241
  79. package/components/atoms/modal/bySteps/BySteps.spec.ts +66 -66
  80. package/components/atoms/modal/bySteps/BySteps.vue +241 -241
  81. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +174 -174
  82. package/components/atoms/models/interfaces.ts +11 -11
  83. package/components/atoms/nav/NavBar.spec.ts +34 -34
  84. package/components/atoms/nav/NavBar.vue +116 -116
  85. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  86. package/components/atoms/nav/models/interfaces.ts +5 -5
  87. package/components/atoms/notificationBar/NotificationBar.vue +175 -175
  88. package/components/atoms/notificationBar/models/enums.ts +13 -13
  89. package/components/atoms/notificationBar/models/interfaces.ts +6 -6
  90. package/components/atoms/notificationBar/models/types.ts +1 -1
  91. package/components/atoms/perPage/PerPage.vue +52 -52
  92. package/components/atoms/popover/Popover.vue +48 -48
  93. package/components/atoms/popup/SimplePopup.vue +90 -90
  94. package/components/atoms/select/TheSelect.vue +175 -175
  95. package/components/atoms/select/models/interfaces.ts +4 -4
  96. package/components/atoms/stack/StackBlock.vue +171 -171
  97. package/components/atoms/stack/StackContent.vue +60 -60
  98. package/components/atoms/step/VerticalStep.spec.ts +68 -68
  99. package/components/atoms/step/VerticalStep.vue +104 -104
  100. package/components/atoms/step/models/verticalStepItem.ts +7 -7
  101. package/components/atoms/switch/Switch.vue +107 -107
  102. package/components/atoms/table/compact/Compact.vue +526 -526
  103. package/components/atoms/table/compact/models/interfaces.ts +10 -10
  104. package/components/atoms/table/dataGrid/DataGrid.spec.ts +61 -61
  105. package/components/atoms/table/dataGrid/DataGrid.vue +1471 -1471
  106. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  107. package/components/atoms/table/dataGrid/DataGridPage.vue +189 -189
  108. package/components/atoms/table/dataGrid/DataGridPagination.vue +89 -89
  109. package/components/atoms/table/dataGrid/config/itemsPerPage.ts +20 -20
  110. package/components/atoms/table/dataGrid/models/interfaces.ts +24 -24
  111. package/components/atoms/table/dataGrid/models/types.ts +5 -5
  112. package/components/atoms/table/dataGrid/utils/constructDataTable.ts +32 -32
  113. package/components/atoms/table/info/Info.vue +60 -60
  114. package/components/atoms/table/info/models/interfaces.ts +6 -6
  115. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  116. package/components/atoms/table/simpleEvent/models/interfaces.ts +9 -9
  117. package/components/atoms/table/simpleInfo/SimpleInfo.vue +68 -68
  118. package/components/atoms/table/simpleInfo/models/interfaces.ts +4 -4
  119. package/components/atoms/table/simpleTable/SimpleTable.vue +291 -291
  120. package/components/atoms/table/simpleTable/models/interfaces.ts +10 -10
  121. package/components/atoms/tabs/Tabs.vue +189 -189
  122. package/components/atoms/tabs/VerticalTabs.vue +81 -81
  123. package/components/atoms/tabs/models/interfaces.ts +4 -4
  124. package/components/atoms/tabs/models/types.ts +1 -1
  125. package/components/atoms/tooltip/Models/interfaces.ts +4 -4
  126. package/components/atoms/tooltip/Signpost.vue +224 -224
  127. package/components/atoms/tooltip/Text.vue +39 -39
  128. package/components/atoms/tooltip/Tooltip.vue +57 -57
  129. package/components/atoms/tooltip/TooltipError.vue +113 -113
  130. package/components/common/accordion/Accordion.vue +183 -183
  131. package/components/common/accordion/Recursion.vue +216 -216
  132. package/components/common/accordion/models/enums.ts +5 -5
  133. package/components/common/accordion/models/interfaces.ts +15 -15
  134. package/components/common/accordion/models/types.ts +1 -1
  135. package/components/common/accordion/utils/accordion.ts +31 -31
  136. package/components/common/adapterManager/AdapterManager.vue +715 -715
  137. package/components/common/adapterManager/AddAdapterModal.vue +464 -464
  138. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  139. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  140. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  141. package/components/common/adapterManager/config/index.ts +19 -19
  142. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  143. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  144. package/components/common/adapterManager/ui/actions/ActionsBar.vue +93 -93
  145. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +28 -28
  146. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +33 -33
  147. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +33 -33
  148. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +34 -34
  149. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  150. package/components/common/adapterManager/ui/table/Adapters.vue +91 -91
  151. package/components/common/adapterManager/ui/table/Header.vue +89 -89
  152. package/components/common/adapterManager/ui/table/Table.vue +167 -167
  153. package/components/common/addNetworking/AddNetworking.vue +996 -996
  154. package/components/common/addNetworking/Wizard.vue +286 -286
  155. package/components/common/addNetworking/config/addNetworkingSteps.ts +438 -438
  156. package/components/common/addNetworking/config/index.ts +47 -47
  157. package/components/common/addNetworking/config/initialData.ts +78 -78
  158. package/components/common/addNetworking/config/portPropertiesStep.ts +19 -19
  159. package/components/common/addNetworking/config/selectSwitch.ts +19 -19
  160. package/components/common/addNetworking/config/sendData.ts +102 -102
  161. package/components/common/addNetworking/config/temporaryData.ts +7 -7
  162. package/components/common/addNetworking/config/validation.ts +23 -23
  163. package/components/common/addNetworking/mappers/mappers.ts +166 -166
  164. package/components/common/addNetworking/modals/SelectNetwork.vue +149 -149
  165. package/components/common/addNetworking/modals/SelectStandardSwitch.vue +125 -125
  166. package/components/common/addNetworking/modals/SelectSwitch.vue +114 -114
  167. package/components/common/addNetworking/models/enums.ts +6 -6
  168. package/components/common/addNetworking/models/interfaces.ts +208 -208
  169. package/components/common/addNetworking/models/types.ts +4 -4
  170. package/components/common/addNetworking/steps/ConnectionSettings.vue +269 -269
  171. package/components/common/addNetworking/steps/CreateStandardSwitch.vue +91 -91
  172. package/components/common/addNetworking/steps/Header.vue +52 -52
  173. package/components/common/addNetworking/steps/IpFourSettings.vue +361 -361
  174. package/components/common/addNetworking/steps/PhysicalAdapter.vue +24 -24
  175. package/components/common/addNetworking/steps/PortProperties.vue +481 -481
  176. package/components/common/addNetworking/steps/ReadyComplete.vue +29 -29
  177. package/components/common/addNetworking/steps/SelectConnectionType.vue +106 -106
  178. package/components/common/addNetworking/steps/SelectedTargetDevice.vue +558 -558
  179. package/components/common/addNetworking/utils/index.ts +212 -212
  180. package/components/common/browse/Browse.vue +182 -182
  181. package/components/common/browse/blocks/Container.vue +102 -102
  182. package/components/common/browse/blocks/Title.vue +66 -66
  183. package/components/common/browse/blocks/contents/Files.vue +68 -68
  184. package/components/common/browse/blocks/info/Date.vue +21 -21
  185. package/components/common/browse/blocks/info/Size.vue +17 -17
  186. package/components/common/browse/blocks/info/Text.vue +16 -16
  187. package/components/common/browse/blocks/models/types.ts +1 -1
  188. package/components/common/browse/models/interfaces.ts +5 -5
  189. package/components/common/config/states.ts +67 -67
  190. package/components/common/context/Context.spec.ts +20 -20
  191. package/components/common/context/Context.vue +97 -97
  192. package/components/common/context/ContextRecursion.spec.ts +55 -55
  193. package/components/common/context/ContextRecursion.vue +251 -251
  194. package/components/common/context/models/interfaces.ts +26 -26
  195. package/components/common/details/DetailsItem.vue +106 -106
  196. package/components/common/details/DetailsList.vue +23 -23
  197. package/components/common/details/model/interfaces.ts +9 -9
  198. package/components/common/diagramMain/Diagram.vue +186 -186
  199. package/components/common/diagramMain/DiagramMain.vue +986 -986
  200. package/components/common/diagramMain/Header.vue +163 -163
  201. package/components/common/diagramMain/Highlights.vue +102 -102
  202. package/components/common/diagramMain/adapter/Adapter.vue +105 -105
  203. package/components/common/diagramMain/adapter/AdapterItem.vue +227 -227
  204. package/components/common/diagramMain/adapter/AdapterItems.vue +57 -57
  205. package/components/common/diagramMain/adapter/Block.vue +41 -41
  206. package/components/common/diagramMain/adapter/Contents.vue +96 -96
  207. package/components/common/diagramMain/adapter/Lines.vue +52 -52
  208. package/components/common/diagramMain/adapter/SecondBlock.vue +42 -42
  209. package/components/common/diagramMain/config/index.ts +51 -51
  210. package/components/common/diagramMain/config/initial.ts +37 -37
  211. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +236 -236
  212. package/components/common/diagramMain/modals/MigrateVmkernelAdapter.vue +535 -535
  213. package/components/common/diagramMain/modals/config/adapterModal.ts +110 -110
  214. package/components/common/diagramMain/modals/config/diagramConfig.ts +17 -17
  215. package/components/common/diagramMain/modals/config/index.ts +57 -57
  216. package/components/common/diagramMain/modals/config/initial.ts +181 -181
  217. package/components/common/diagramMain/modals/config/migrateVmkernelAdapterSteps.ts +81 -81
  218. package/components/common/diagramMain/modals/config/networkModal.ts +337 -337
  219. package/components/common/diagramMain/modals/config/portModal.ts +201 -201
  220. package/components/common/diagramMain/modals/config/switchModal.ts +172 -172
  221. package/components/common/diagramMain/modals/config/vCenterModal.ts +30 -30
  222. package/components/common/diagramMain/modals/config/validation.ts +2 -2
  223. package/components/common/diagramMain/modals/config/vmKernelAdapter.ts +90 -90
  224. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -41
  225. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +491 -491
  226. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +714 -714
  227. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +211 -211
  228. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +183 -183
  229. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +161 -161
  230. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +166 -166
  231. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +393 -393
  232. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  233. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  234. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  235. package/components/common/diagramMain/modals/steps/ConnectionSettings.vue +206 -206
  236. package/components/common/diagramMain/modals/steps/SelectVmkernelAdapter.vue +221 -221
  237. package/components/common/diagramMain/modals/steps/VmkernelAdapterReadyComplete.vue +50 -50
  238. package/components/common/diagramMain/modals/utils/index.ts +9 -9
  239. package/components/common/diagramMain/modals/viewSettings/Info.vue +96 -96
  240. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +171 -171
  241. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  242. package/components/common/diagramMain/models/enums.ts +26 -26
  243. package/components/common/diagramMain/models/interfaces.ts +565 -565
  244. package/components/common/diagramMain/models/types.ts +9 -9
  245. package/components/common/diagramMain/network/Block.vue +55 -55
  246. package/components/common/diagramMain/network/Contents.vue +238 -238
  247. package/components/common/diagramMain/network/Lines.vue +65 -65
  248. package/components/common/diagramMain/network/Network.vue +117 -117
  249. package/components/common/diagramMain/network/NoNetwork.vue +47 -47
  250. package/components/common/diagramMain/network/SecondBlock.vue +51 -51
  251. package/components/common/diagramMain/port/Port.vue +301 -301
  252. package/components/common/diagramMain/port/Ports.vue +41 -41
  253. package/components/common/diagramMain/switch/Switch.vue +71 -71
  254. package/components/common/diagramMain/switch/SwitchSelected.vue +29 -29
  255. package/components/common/diagramMain/utils/utils.ts +218 -218
  256. package/components/common/feedback/Buttons.vue +232 -232
  257. package/components/common/feedback/Feedback.vue +236 -236
  258. package/components/common/feedback/Message.vue +468 -468
  259. package/components/common/feedback/VisitPortal.vue +54 -54
  260. package/components/common/feedback/config/drawingPanel.ts +31 -31
  261. package/components/common/feedback/config/feedbackTabs.ts +24 -24
  262. package/components/common/feedback/models/interfaces.ts +15 -15
  263. package/components/common/graph/Graph.vue +109 -109
  264. package/components/common/graph/utils/renderGraph.ts +389 -389
  265. package/components/common/headline/Headline.vue +32 -32
  266. package/components/common/help/navbar/left/Left.vue +159 -159
  267. package/components/common/help/navbar/left/models/interfaces.ts +6 -6
  268. package/components/common/help/navbar/left/utils/constructAccordion.ts +27 -27
  269. package/components/common/help/navbar/right/Right.vue +139 -139
  270. package/components/common/help/navbar/right/models/interfaces.ts +4 -4
  271. package/components/common/home/Card.vue +63 -63
  272. package/components/common/home/ResourceBlock.vue +117 -117
  273. package/components/common/home/StatusContent.vue +47 -47
  274. package/components/common/home/alertsTable/AlertsTable.vue +105 -105
  275. package/components/common/home/alertsTable/config/config.ts +61 -61
  276. package/components/common/home/alertsTable/models/enums.ts +11 -11
  277. package/components/common/home/alertsTable/models/interfaces.ts +19 -19
  278. package/components/common/home/alertsTable/models/types.ts +18 -18
  279. package/components/common/home/config/configResourceMeterBlock.ts +25 -25
  280. package/components/common/home/models/interfaces.ts +59 -59
  281. package/components/common/home/models/types.ts +18 -18
  282. package/components/common/home/servicesTable/ServicesTable.vue +79 -79
  283. package/components/common/home/servicesTable/config/config.ts +62 -62
  284. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  285. package/components/common/mainNavigationPanel/models/interfaces.ts +6 -6
  286. package/components/common/mainNavigationPanel/models/types.ts +1 -1
  287. package/components/common/modals/Confirmation.vue +85 -85
  288. package/components/common/modals/Rename.vue +165 -165
  289. package/components/common/modals/config/defaultForm.ts +18 -18
  290. package/components/common/modals/config/renameLabelWidth.ts +3 -3
  291. package/components/common/modals/models/interfaces.ts +5 -5
  292. package/components/common/monitor/advanced/Advanced.vue +6 -19
  293. package/components/common/monitor/advanced/GraphView.vue +141 -141
  294. package/components/common/monitor/advanced/models/interfaces.ts +7 -7
  295. package/components/common/monitor/advanced/models/types.ts +1 -1
  296. package/components/common/monitor/advanced/table/Table.vue +90 -90
  297. package/components/common/monitor/advanced/table/config/performanceDatatable.ts +116 -116
  298. package/components/common/monitor/advanced/table/models/interfaces.ts +12 -12
  299. package/components/common/monitor/advanced/table/models/types.ts +10 -10
  300. package/components/common/monitor/advanced/tools/Tools.vue +28 -15
  301. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +5 -65
  302. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +33 -33
  303. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +150 -150
  304. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +76 -76
  305. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/utils/optionsActions.ts +25 -25
  306. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +86 -94
  307. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +121 -130
  308. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/tableConfig.ts +71 -71
  309. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/utils.ts +688 -689
  310. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces.ts +28 -28
  311. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/types.ts +5 -5
  312. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +0 -6
  313. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +501 -501
  314. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/config/dateForm.ts +59 -59
  315. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +129 -176
  316. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/config/objectTable.ts +54 -54
  317. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/interfaces.ts +4 -4
  318. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/types.ts +1 -1
  319. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  320. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/config/optionsMetrics.ts +116 -116
  321. package/components/common/monitor/advanced/tools/chartOptionsModal/models/types.ts +3 -3
  322. package/components/common/monitor/advanced/tools/config/advancedToolbar.ts +117 -117
  323. package/components/common/monitor/advanced/tools/models/interfaces.ts +4 -4
  324. package/components/common/monitor/advanced/tools/utils/countCores.ts +7 -7
  325. package/components/common/monitor/config/getValidDateByOption.ts +113 -113
  326. package/components/common/monitor/models/interfaces.ts +19 -20
  327. package/components/common/monitor/overview/Overview.vue +412 -412
  328. package/components/common/monitor/overview/filters/Filters.vue +210 -210
  329. package/components/common/monitor/overview/filters/config/filterOptions.ts +70 -70
  330. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +220 -220
  331. package/components/common/monitor/overview/filters/customIntervalModal/config/dateChecker.ts +35 -35
  332. package/components/common/monitor/overview/filters/models/interfaces.ts +7 -7
  333. package/components/common/monitor/overview/filters/models/types.ts +3 -3
  334. package/components/common/perPage/PerPage.vue +51 -51
  335. package/components/common/recursionTree/RecursionTree.vue +201 -201
  336. package/components/common/recursionTree/models/interfaces.ts +19 -19
  337. package/components/common/resource/models/interfaces.ts +9 -9
  338. package/components/common/resource/models/types.ts +1 -1
  339. package/components/common/resource/progressBlock/ProgressBlock.vue +105 -105
  340. package/components/common/resource/simple/Simple.vue +58 -58
  341. package/components/common/resource/simple/models/enums.ts +5 -5
  342. package/components/common/resource/utils.ts +33 -33
  343. package/components/common/select/button/ButtonDropdown.vue +100 -100
  344. package/components/common/select/button/models/interfaces.ts +6 -6
  345. package/components/common/select/radio/RadioGroup.vue +108 -108
  346. package/components/common/select/radio/models/interfaces.ts +8 -8
  347. package/components/common/shortcuts/Block.vue +83 -83
  348. package/components/common/shortcuts/Category.vue +40 -40
  349. package/components/common/shortcuts/Shortcuts.vue +44 -44
  350. package/components/common/shortcuts/models/interfaces.ts +10 -10
  351. package/components/common/spiceConsole/Drawer.vue +241 -241
  352. package/components/common/spiceConsole/SpiceConsole.vue +87 -87
  353. package/components/common/spiceConsole/keyboard/Keyboard.vue +402 -402
  354. package/components/common/spiceConsole/keyboard/config/keyboardRows.ts +891 -891
  355. package/components/common/spiceConsole/keyboard/models/interfaces.ts +17 -17
  356. package/components/common/spiceConsole/models/types.ts +1 -1
  357. package/components/common/split/horizontal/Horizontal.vue +306 -306
  358. package/components/common/split/horizontal/models/interfaces.ts +5 -5
  359. package/components/common/split/vertical/Vertical.vue +213 -213
  360. package/components/common/split/vertical/models/interfaces.ts +3 -3
  361. package/components/common/tools/Actions.vue +163 -163
  362. package/components/common/tools/models/interfaces.ts +6 -6
  363. package/components/common/vm/actions/add/Add.vue +687 -687
  364. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  365. package/components/common/vm/actions/add/config/capabilities.ts +777 -777
  366. package/components/common/vm/actions/add/customizeHardware/CustomizeHardware.vue +264 -264
  367. package/components/common/vm/actions/add/customizeHardware/config/navItems.ts +19 -19
  368. package/components/common/vm/actions/add/customizeHardware/models/interfaces.ts +7 -7
  369. package/components/common/vm/actions/add/customizeHardware/virtualHardware/VirtualHardware.vue +646 -646
  370. package/components/common/vm/actions/add/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  371. package/components/common/vm/actions/add/customizeHardware/virtualHardware/browseView/models/interfaces.ts +8 -8
  372. package/components/common/vm/actions/add/customizeHardware/virtualHardware/bus/Bus.vue +127 -127
  373. package/components/common/vm/actions/add/customizeHardware/virtualHardware/bus/config/options.ts +13 -13
  374. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +246 -246
  375. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/config/fileTypes.ts +9 -9
  376. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/config/options.ts +11 -11
  377. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +55 -55
  378. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cdDvdDrive/models/types.ts +1 -1
  379. package/components/common/vm/actions/add/customizeHardware/virtualHardware/config/binaryOptions.ts +12 -12
  380. package/components/common/vm/actions/add/customizeHardware/virtualHardware/config/dropdownItems.ts +52 -52
  381. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +108 -108
  382. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Cpu.vue +382 -382
  383. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +49 -49
  384. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  385. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Hv.vue +93 -93
  386. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Iommu.vue +52 -52
  387. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/MaxCpu.vue +105 -105
  388. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Pc.vue +54 -54
  389. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/Sa.vue +102 -102
  390. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/config/cpuOptions.ts +19 -19
  391. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/shares/Shares.vue +155 -155
  392. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/shares/config/options.ts +28 -28
  393. package/components/common/vm/actions/add/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +58 -58
  394. package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  395. package/components/common/vm/actions/add/customizeHardware/virtualHardware/limit/config/options.ts +28 -28
  396. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  397. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +53 -53
  398. package/components/common/vm/actions/add/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +35 -35
  399. package/components/common/vm/actions/add/customizeHardware/virtualHardware/models/interfaces.ts +125 -125
  400. package/components/common/vm/actions/add/customizeHardware/virtualHardware/models/types.ts +4 -4
  401. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  402. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/Location.vue +171 -171
  403. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  404. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +445 -445
  405. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +80 -80
  406. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/cache/config/options.ts +7 -7
  407. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +151 -151
  408. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/limitIops/config/options.ts +28 -28
  409. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +87 -87
  410. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/mode/config/options.ts +18 -18
  411. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +87 -87
  412. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/provisioning/config/options.ts +15 -15
  413. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +85 -85
  414. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newHardDisk/sharing/config/options.ts +12 -12
  415. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/Location.vue +141 -141
  416. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +258 -258
  417. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +86 -86
  418. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/adapterType/config/options.ts +9 -9
  419. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +140 -140
  420. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newNetwork/macAddress/config/options.ts +11 -11
  421. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +157 -157
  422. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/config/options.ts +7 -7
  423. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +44 -44
  424. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  425. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/config/options.ts +10 -10
  426. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  427. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  428. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +56 -56
  429. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +67 -67
  430. package/components/common/vm/actions/add/customizeHardware/virtualHardware/newUsbController/config/options.ts +6 -6
  431. package/components/common/vm/actions/add/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  432. package/components/common/vm/actions/add/customizeHardware/virtualHardware/other/Other.vue +27 -27
  433. package/components/common/vm/actions/add/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  434. package/components/common/vm/actions/add/customizeHardware/virtualHardware/reservation/config/options.ts +33 -33
  435. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/Graphics.vue +45 -45
  436. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +120 -120
  437. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  438. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/config/options.ts +11 -11
  439. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/model/Model.vue +57 -57
  440. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/model/config/options.ts +10 -10
  441. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +82 -82
  442. package/components/common/vm/actions/add/customizeHardware/virtualHardware/videoCard/numberDisplays/config/options.ts +14 -14
  443. package/components/common/vm/actions/add/customizeHardware/vmoptions/Vmoptions.vue +176 -176
  444. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/BootOptions.vue +111 -111
  445. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/Menu.vue +45 -45
  446. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/Secure.vue +45 -45
  447. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +50 -50
  448. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/delay/config/config.ts +14 -14
  449. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +83 -83
  450. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/firmware/config/config.ts +11 -11
  451. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  452. package/components/common/vm/actions/add/customizeHardware/vmoptions/bootOptions/order/models/interfaces.ts +8 -8
  453. package/components/common/vm/actions/add/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +180 -180
  454. package/components/common/vm/actions/add/customizeHardware/vmoptions/models/interfaces.ts +34 -34
  455. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  456. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +51 -51
  457. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +50 -50
  458. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +51 -51
  459. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +49 -49
  460. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +246 -246
  461. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +84 -84
  462. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/config/config.ts +14 -14
  463. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +84 -84
  464. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/config/config.ts +12 -12
  465. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  466. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/keymap/config/config.ts +6 -6
  467. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +52 -52
  468. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/config/config.ts +11 -11
  469. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +136 -136
  470. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/password/models/interfaces.ts +5 -5
  471. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/password/utils.ts +12 -12
  472. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +52 -52
  473. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/config/config.ts +11 -11
  474. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +84 -84
  475. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/config/config.ts +12 -12
  476. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +84 -84
  477. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/type/config/config.ts +7 -7
  478. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +56 -56
  479. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/config/config.ts +14 -14
  480. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +84 -84
  481. package/components/common/vm/actions/add/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/config/config.ts +12 -12
  482. package/components/common/vm/actions/add/customizeHardware/vmoptions/tools/Tools.vue +63 -63
  483. package/components/common/vm/actions/add/models/enums.ts +89 -89
  484. package/components/common/vm/actions/add/models/interfaces.ts +126 -126
  485. package/components/common/vm/actions/add/models/types.ts +65 -65
  486. package/components/common/vm/actions/add/readyToComplete/ReadyToComplete.vue +15 -15
  487. package/components/common/vm/actions/add/select/compatibility/Compatibility.vue +151 -151
  488. package/components/common/vm/actions/add/select/computeResource/ComputeResource.spec.ts +479 -479
  489. package/components/common/vm/actions/add/select/computeResource/ComputeResource.vue +170 -170
  490. package/components/common/vm/actions/add/select/computeResource/TreeView.vue +126 -126
  491. package/components/common/vm/actions/add/select/createType/CreateType.vue +61 -61
  492. package/components/common/vm/actions/add/select/createType/config/items.ts +26 -26
  493. package/components/common/vm/actions/add/select/models/interfaces.ts +32 -32
  494. package/components/common/vm/actions/add/select/models/types.ts +44 -44
  495. package/components/common/vm/actions/add/select/name/Name.vue +215 -215
  496. package/components/common/vm/actions/add/select/os/os.vue +221 -221
  497. package/components/common/vm/actions/add/select/storage/Storage.vue +177 -177
  498. package/components/common/vm/actions/add/select/storage/config/config.ts +154 -154
  499. package/components/common/vm/actions/add/select/storage/models/types.ts +15 -15
  500. package/components/common/vm/actions/add/utils.ts +118 -118
  501. package/components/common/vm/actions/editSettings/EditSettings.vue +316 -316
  502. package/components/common/vm/actions/editSettings/models/types.ts +23 -23
  503. package/components/common/vm/actions/editSettings/utils.ts +48 -48
  504. package/components/common/vm/actions/models/interfaces.ts +6 -6
  505. package/components/common/vm/actions/models/types.ts +11 -11
  506. package/components/common/vm/actions/utils.ts +221 -221
  507. package/components/common/wizards/datastore/add/Add.vue +382 -382
  508. package/components/common/wizards/datastore/add/config/stepItems.ts +160 -160
  509. package/components/common/wizards/datastore/add/local/Local.vue +67 -67
  510. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +159 -159
  511. package/components/common/wizards/datastore/add/local/createName/config/defaultForm.ts +15 -15
  512. package/components/common/wizards/datastore/add/models/interfaces.ts +35 -35
  513. package/components/common/wizards/datastore/add/models/types.ts +14 -14
  514. package/components/common/wizards/datastore/add/nfs/Nfs.vue +91 -91
  515. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +95 -95
  516. package/components/common/wizards/datastore/add/nfs/accessibility/config/tabsPannel.ts +24 -24
  517. package/components/common/wizards/datastore/add/nfs/accessibility/models/interfaces.ts +9 -9
  518. package/components/common/wizards/datastore/add/nfs/accessibility/models/types.ts +5 -5
  519. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +141 -141
  520. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/compatibleTable.ts +54 -54
  521. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/hostsTableItems.ts +75 -75
  522. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/incompatibleTable.ts +68 -68
  523. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/tableKeys.ts +15 -15
  524. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +373 -373
  525. package/components/common/wizards/datastore/add/nfs/configuration/config/defaultForm.ts +33 -33
  526. package/components/common/wizards/datastore/add/nfs/configuration/models/interfaces.ts +12 -12
  527. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +97 -97
  528. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  529. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/serversListConfig.ts +41 -41
  530. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/tableKeys.ts +3 -3
  531. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/interfaces.ts +11 -11
  532. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/types.ts +1 -1
  533. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  534. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions.ts +24 -24
  535. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  536. package/components/common/wizards/datastore/add/nfs/version/config/versionOptions.ts +20 -20
  537. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +77 -77
  538. package/components/common/wizards/datastore/add/readyComplete/config/propertiesDetails.ts +165 -165
  539. package/components/common/wizards/datastore/add/readyComplete/models/interfaces.ts +4 -4
  540. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +85 -85
  541. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +447 -447
  542. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/defaultForm.ts +18 -18
  543. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/selectOptions.ts +14 -14
  544. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  545. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/hostsTable.ts +87 -87
  546. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/tableKeys.ts +11 -11
  547. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/interfaces.ts +55 -55
  548. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/types.ts +14 -14
  549. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  550. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/config/selectOptions.ts +46 -46
  551. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  552. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  553. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  554. package/components/common/wizards/datastore/add/sharedStorm/version/config/versionOptions.ts +21 -21
  555. package/components/common/wizards/datastore/add/types/Types.vue +77 -77
  556. package/components/common/wizards/datastore/add/types/config/typeOptions.ts +39 -39
  557. package/components/common/wizards/datastore/add/utils.ts +69 -69
  558. package/components/content/Hint.vue +24 -24
  559. package/components/models/interfaces.ts +14 -14
  560. package/composables/deepCopy.ts +21 -21
  561. package/composables/useDiff.ts +15 -15
  562. package/composables/useLocal.ts +36 -36
  563. package/composables/useLocalStorage.ts +45 -45
  564. package/composables/useThrottle.ts +32 -32
  565. package/composables/useUniqueId.ts +5 -5
  566. package/config/regExp.ts +13 -13
  567. package/eslint/index.js +15 -15
  568. package/eslint/no-import-type.js +17 -17
  569. package/eslint/no-invalid-type-prefix.js +32 -32
  570. package/minify.js +51 -51
  571. package/models/composables/useMyFetch/interfaces.ts +4 -4
  572. package/models/composables/useMyFetch/types.ts +1 -1
  573. package/models/enums.ts +21 -21
  574. package/models/interfaces.ts +29 -29
  575. package/models/plugins/date/interfaces.ts +5 -5
  576. package/models/plugins/date/types.ts +1 -1
  577. package/models/plugins/validation/interfaces.ts +21 -21
  578. package/models/plugins/validation/types.ts +1 -1
  579. package/models/store/host/interfaces.ts +38 -38
  580. package/models/store/interfaces.ts +37 -37
  581. package/models/store/network/interfaces.ts +13 -13
  582. package/models/store/storage/interfaces.ts +32 -32
  583. package/models/store/types.ts +32 -32
  584. package/models/store/vm/interfaces.ts +207 -207
  585. package/models/types.ts +6 -6
  586. package/modules/fixContentBuild/index.ts +92 -92
  587. package/modules/fixContentBuild/utils/methods.ts +114 -114
  588. package/modules/replaceEnv/index.ts +40 -40
  589. package/nuxt.config.ts +8 -8
  590. package/package.json +39 -39
  591. package/plugins/binary.ts +122 -122
  592. package/plugins/date.ts +179 -179
  593. package/plugins/recursion.ts +230 -230
  594. package/plugins/spice-console/spice.console.ts +128 -128
  595. package/plugins/text.ts +48 -48
  596. package/plugins/validation.ts +172 -172
  597. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  598. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  599. package/public/spice-console/application/WorkerProcess_meta.js +3102 -3102
  600. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  601. package/public/spice-console/application/agent.js +175 -175
  602. package/public/spice-console/application/application.js +641 -641
  603. package/public/spice-console/application/checkActivity.js +50 -50
  604. package/public/spice-console/application/clientgui.js +842 -842
  605. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  606. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  607. package/public/spice-console/application/clipboard.js +82 -82
  608. package/public/spice-console/application/codec.js +257 -257
  609. package/public/spice-console/application/imagecache.js +81 -81
  610. package/public/spice-console/application/inputmanager.js +270 -270
  611. package/public/spice-console/application/packetfactory.js +202 -202
  612. package/public/spice-console/application/packetfilter.js +103 -103
  613. package/public/spice-console/application/packetprocess.js +75 -75
  614. package/public/spice-console/application/rasteroperation.js +118 -118
  615. package/public/spice-console/application/spiceconnection.js +197 -197
  616. package/public/spice-console/application/stream.js +67 -67
  617. package/public/spice-console/application/virtualmouse.js +109 -109
  618. package/public/spice-console/keymaps/keyevent.js +36 -36
  619. package/public/spice-console/keymaps/keymap.js +229 -229
  620. package/public/spice-console/keymaps/keymapes.js +375 -375
  621. package/public/spice-console/keymaps/keymapesObj.js +316 -316
  622. package/public/spice-console/keymaps/keymapus.js +317 -317
  623. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  624. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  625. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  626. package/public/spice-console/lib/AsyncWorker.js +60 -60
  627. package/public/spice-console/lib/CollisionDetector.js +27 -27
  628. package/public/spice-console/lib/DataLogger.js +197 -197
  629. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  630. package/public/spice-console/lib/GlobalPool.js +114 -114
  631. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  632. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  633. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  634. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  635. package/public/spice-console/lib/base64.js +298 -298
  636. package/public/spice-console/lib/biginteger.js +1640 -1640
  637. package/public/spice-console/lib/bowser.js +276 -276
  638. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  639. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  640. package/public/spice-console/lib/displayRouter.js +83 -83
  641. package/public/spice-console/lib/encrypt.js +191 -191
  642. package/public/spice-console/lib/flipper.js +39 -39
  643. package/public/spice-console/lib/graphic.js +1230 -1230
  644. package/public/spice-console/lib/graphicdebug.js +223 -223
  645. package/public/spice-console/lib/images/bitmap.js +194 -194
  646. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  647. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  648. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  649. package/public/spice-console/lib/images/lz.js +717 -717
  650. package/public/spice-console/lib/images/png.js +275 -275
  651. package/public/spice-console/lib/jgestures.min.js +43 -43
  652. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  653. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  654. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  655. package/public/spice-console/lib/jsbn.js +578 -578
  656. package/public/spice-console/lib/jsbn2.js +675 -675
  657. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  658. package/public/spice-console/lib/modernizr.js +39 -39
  659. package/public/spice-console/lib/pixastic.js +3244 -3244
  660. package/public/spice-console/lib/prettyprint.js +794 -794
  661. package/public/spice-console/lib/prng4.js +64 -64
  662. package/public/spice-console/lib/queue.js +259 -259
  663. package/public/spice-console/lib/rasterEngine.js +907 -907
  664. package/public/spice-console/lib/rng.js +87 -87
  665. package/public/spice-console/lib/runqueue.js +103 -103
  666. package/public/spice-console/lib/sha1.js +124 -124
  667. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  668. package/public/spice-console/lib/timelapsedetector.js +62 -62
  669. package/public/spice-console/lib/utils.js +327 -327
  670. package/public/spice-console/lib/virtualjoystick.js +370 -370
  671. package/public/spice-console/network/busconnection.js +195 -195
  672. package/public/spice-console/network/clusternodechooser.js +49 -49
  673. package/public/spice-console/network/connectioncontrol.js +60 -60
  674. package/public/spice-console/network/packetcontroller.js +62 -62
  675. package/public/spice-console/network/packetextractor.js +73 -73
  676. package/public/spice-console/network/packetlinkfactory.js +64 -64
  677. package/public/spice-console/network/packetreassembler.js +77 -77
  678. package/public/spice-console/network/reassemblerfactory.js +39 -39
  679. package/public/spice-console/network/sizedefiner.js +86 -86
  680. package/public/spice-console/network/socket.js +120 -120
  681. package/public/spice-console/network/socketqueue.js +95 -95
  682. package/public/spice-console/network/spicechannel.js +369 -369
  683. package/public/spice-console/network/websocketwrapper.js +75 -75
  684. package/public/spice-console/process/busprocess.js +309 -309
  685. package/public/spice-console/process/cursorprocess.js +110 -110
  686. package/public/spice-console/process/displaypreprocess.js +152 -152
  687. package/public/spice-console/process/displayprocess.js +210 -210
  688. package/public/spice-console/process/inputprocess.js +204 -204
  689. package/public/spice-console/process/mainprocess.js +78 -78
  690. package/public/spice-console/process/playbackprocess.js +233 -233
  691. package/public/spice-console/run.js +181 -181
  692. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  693. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  694. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  695. package/public/spice-console/tools/generate.php +269 -269
  696. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  697. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  698. package/public/spice-console-minify/lib/decoder/dixie.min.js +4 -4
  699. package/public/spice-console-minify/lib/jgestures.min.js +24 -24
  700. package/public/spice-console-minify/lib/jquery-2.0.3.min.js +24 -24
  701. package/public/spice-console-minify/lib/jquery-mousewheel.min.js +11 -11
  702. package/public/spice-console-minify/lib/jquery-visibility.min.js +1 -1
  703. package/public/spice-console-minify/lib/lodash.4.0.0.min.js +5 -5
  704. package/tsconfig.json +4 -4
  705. package/utils/contentBuild.ts +34 -34
  706. package/components/common/monitor/advanced/tools/chartOptionsModal/models/models.ts +0 -19
@@ -1,578 +1,578 @@
1
- /*
2
- Copyright (c) 2016 eyeOS
3
-
4
- This file is part of Open365.
5
-
6
- Open365 is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Affero General Public License as
8
- published by the Free Software Foundation, either version 3 of the
9
- License, or (at your option) any later version.
10
-
11
- This program is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Affero General Public License for more details.
15
-
16
- You should have received a copy of the GNU Affero General Public License
17
- along with this program. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
-
20
- // Copyright (c) 2005 Tom Wu
21
- // All Rights Reserved.
22
- // See "LICENSE" for details.
23
-
24
- // Basic JavaScript BN library - subset useful for RSA encryption.
25
-
26
- // Bits per digit
27
- var dbits;
28
-
29
- // JavaScript engine analysis
30
- var canary = 0xdeadbeefcafe;
31
- var j_lm = ((canary&0xffffff)==0xefcafe);
32
-
33
- // (public) Constructor
34
- function encryptionBigInteger(a,b,c) {
35
- if(a != null)
36
- if("number" == typeof a) this.fromNumber(a,b,c);
37
- else if(b == null && "string" != typeof a) this.fromString(a,256);
38
- else this.fromString(a,b);
39
- }
40
-
41
- // return new, unset encryptionBigInteger
42
- function nbi() { return new encryptionBigInteger(null); }
43
-
44
- // am: Compute w_j += (x*this_i), propagate carries,
45
- // c is initial carry, returns final carry.
46
- // c < 3*dvalue, x < 2*dvalue, this_i < dvalue
47
- // We need to select the fastest one that works in this environment.
48
-
49
- // am1: use a single mult and divide to get the high bits,
50
- // max digit bits should be 26 because
51
- // max internal value = 2*dvalue^2-2*dvalue (< 2^53)
52
- function am1(i,x,w,j,c,n) {
53
- while(--n >= 0) {
54
- var v = x*this[i++]+w[j]+c;
55
- c = Math.floor(v/0x4000000);
56
- w[j++] = v&0x3ffffff;
57
- }
58
- return c;
59
- }
60
- // am2 avoids a big mult-and-extract completely.
61
- // Max digit bits should be <= 30 because we do bitwise ops
62
- // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
63
- function am2(i,x,w,j,c,n) {
64
- var xl = x&0x7fff, xh = x>>15;
65
- while(--n >= 0) {
66
- var l = this[i]&0x7fff;
67
- var h = this[i++]>>15;
68
- var m = xh*l+h*xl;
69
- l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);
70
- c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);
71
- w[j++] = l&0x3fffffff;
72
- }
73
- return c;
74
- }
75
- // Alternately, set max digit bits to 28 since some
76
- // browsers slow down when dealing with 32-bit numbers.
77
- function am3(i,x,w,j,c,n) {
78
- var xl = x&0x3fff, xh = x>>14;
79
- while(--n >= 0) {
80
- var l = this[i]&0x3fff;
81
- var h = this[i++]>>14;
82
- var m = xh*l+h*xl;
83
- l = xl*l+((m&0x3fff)<<14)+w[j]+c;
84
- c = (l>>28)+(m>>14)+xh*h;
85
- w[j++] = l&0xfffffff;
86
- }
87
- return c;
88
- }
89
- if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
90
- encryptionBigInteger.prototype.am = am2;
91
- dbits = 30;
92
- }
93
- else if(j_lm && (navigator.appName != "Netscape")) {
94
- encryptionBigInteger.prototype.am = am1;
95
- dbits = 26;
96
- }
97
- else { // Mozilla/Netscape seems to prefer am3
98
- encryptionBigInteger.prototype.am = am3;
99
- dbits = 28;
100
- }
101
-
102
- encryptionBigInteger.prototype.DB = dbits;
103
- encryptionBigInteger.prototype.DM = ((1<<dbits)-1);
104
- encryptionBigInteger.prototype.DV = (1<<dbits);
105
-
106
- var BI_FP = 52;
107
- encryptionBigInteger.prototype.FV = Math.pow(2,BI_FP);
108
- encryptionBigInteger.prototype.F1 = BI_FP-dbits;
109
- encryptionBigInteger.prototype.F2 = 2*dbits-BI_FP;
110
-
111
- // Digit conversions
112
- var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
113
- var BI_RC = new Array();
114
- var rr,vv;
115
- rr = "0".charCodeAt(0);
116
- for(vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
117
- rr = "a".charCodeAt(0);
118
- for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
119
- rr = "A".charCodeAt(0);
120
- for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
121
-
122
- function int2char(n) { return BI_RM.charAt(n); }
123
- function intAt(s,i) {
124
- var c = BI_RC[s.charCodeAt(i)];
125
- return (c==null)?-1:c;
126
- }
127
-
128
- // (protected) copy this to r
129
- function bnpCopyTo(r) {
130
- for(var i = this.t-1; i >= 0; --i) r[i] = this[i];
131
- r.t = this.t;
132
- r.s = this.s;
133
- }
134
-
135
- // (protected) set from integer value x, -DV <= x < DV
136
- function bnpFromInt(x) {
137
- this.t = 1;
138
- this.s = (x<0)?-1:0;
139
- if(x > 0) this[0] = x;
140
- else if(x < -1) this[0] = x+DV;
141
- else this.t = 0;
142
- }
143
-
144
- // return bigint initialized to value
145
- function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
146
-
147
- // (protected) set from string and radix
148
- function bnpFromString(s,b) {
149
- var k;
150
- if(b == 16) k = 4;
151
- else if(b == 8) k = 3;
152
- else if(b == 256) k = 8; // byte array
153
- else if(b == 2) k = 1;
154
- else if(b == 32) k = 5;
155
- else if(b == 4) k = 2;
156
- else { this.fromRadix(s,b); return; }
157
- this.t = 0;
158
- this.s = 0;
159
- var i = s.length, mi = false, sh = 0;
160
- while(--i >= 0) {
161
- var x = (k==8)?s[i]&0xff:intAt(s,i);
162
- if(x < 0) {
163
- if(s.charAt(i) == "-") mi = true;
164
- continue;
165
- }
166
- mi = false;
167
- if(sh == 0)
168
- this[this.t++] = x;
169
- else if(sh+k > this.DB) {
170
- this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<<sh;
171
- this[this.t++] = (x>>(this.DB-sh));
172
- }
173
- else
174
- this[this.t-1] |= x<<sh;
175
- sh += k;
176
- if(sh >= this.DB) sh -= this.DB;
177
- }
178
- if(k == 8 && (s[0]&0x80) != 0) {
179
- this.s = -1;
180
- if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)<<sh;
181
- }
182
- this.clamp();
183
- if(mi) encryptionBigInteger.ZERO.subTo(this,this);
184
- }
185
-
186
- // (protected) clamp off excess high words
187
- function bnpClamp() {
188
- var c = this.s&this.DM;
189
- while(this.t > 0 && this[this.t-1] == c) --this.t;
190
- }
191
-
192
- // (public) return string representation in given radix
193
- function bnToString(b) {
194
- if(this.s < 0) return "-"+this.negate().toString(b);
195
- var k;
196
- if(b == 16) k = 4;
197
- else if(b == 8) k = 3;
198
- else if(b == 2) k = 1;
199
- else if(b == 32) k = 5;
200
- else if(b == 4) k = 2;
201
- else return this.toRadix(b);
202
- var km = (1<<k)-1, d, m = false, r = "", i = this.t;
203
- var p = this.DB-(i*this.DB)%k;
204
- if(i-- > 0) {
205
- if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }
206
- while(i >= 0) {
207
- if(p < k) {
208
- d = (this[i]&((1<<p)-1))<<(k-p);
209
- d |= this[--i]>>(p+=this.DB-k);
210
- }
211
- else {
212
- d = (this[i]>>(p-=k))&km;
213
- if(p <= 0) { p += this.DB; --i; }
214
- }
215
- if(d > 0) m = true;
216
- if(m) r += int2char(d);
217
- }
218
- }
219
- return m?r:"0";
220
- }
221
-
222
- // (public) -this
223
- function bnNegate() { var r = nbi(); encryptionBigInteger.ZERO.subTo(this,r); return r; }
224
-
225
- // (public) |this|
226
- function bnAbs() { return (this.s<0)?this.negate():this; }
227
-
228
- // (public) return + if this > a, - if this < a, 0 if equal
229
- function bnCompareTo(a) {
230
- var r = this.s-a.s;
231
- if(r != 0) return r;
232
- var i = this.t;
233
- r = i-a.t;
234
- if(r != 0) return (this.s<0)?-r:r;
235
- while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;
236
- return 0;
237
- }
238
-
239
- // returns bit length of the integer x
240
- function nbits(x) {
241
- var r = 1, t;
242
- if((t=x>>>16) != 0) { x = t; r += 16; }
243
- if((t=x>>8) != 0) { x = t; r += 8; }
244
- if((t=x>>4) != 0) { x = t; r += 4; }
245
- if((t=x>>2) != 0) { x = t; r += 2; }
246
- if((t=x>>1) != 0) { x = t; r += 1; }
247
- return r;
248
- }
249
-
250
- // (public) return the number of bits in "this"
251
- function bnBitLength() {
252
- if(this.t <= 0) return 0;
253
- return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));
254
- }
255
-
256
- // (protected) r = this << n*DB
257
- function bnpDLShiftTo(n,r) {
258
- var i;
259
- for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];
260
- for(i = n-1; i >= 0; --i) r[i] = 0;
261
- r.t = this.t+n;
262
- r.s = this.s;
263
- }
264
-
265
- // (protected) r = this >> n*DB
266
- function bnpDRShiftTo(n,r) {
267
- for(var i = n; i < this.t; ++i) r[i-n] = this[i];
268
- r.t = Math.max(this.t-n,0);
269
- r.s = this.s;
270
- }
271
-
272
- // (protected) r = this << n
273
- function bnpLShiftTo(n,r) {
274
- var bs = n%this.DB;
275
- var cbs = this.DB-bs;
276
- var bm = (1<<cbs)-1;
277
- var ds = Math.floor(n/this.DB), c = (this.s<<bs)&this.DM, i;
278
- for(i = this.t-1; i >= 0; --i) {
279
- r[i+ds+1] = (this[i]>>cbs)|c;
280
- c = (this[i]&bm)<<bs;
281
- }
282
- for(i = ds-1; i >= 0; --i) r[i] = 0;
283
- r[ds] = c;
284
- r.t = this.t+ds+1;
285
- r.s = this.s;
286
- r.clamp();
287
- }
288
-
289
- // (protected) r = this >> n
290
- function bnpRShiftTo(n,r) {
291
- r.s = this.s;
292
- var ds = Math.floor(n/this.DB);
293
- if(ds >= this.t) { r.t = 0; return; }
294
- var bs = n%this.DB;
295
- var cbs = this.DB-bs;
296
- var bm = (1<<bs)-1;
297
- r[0] = this[ds]>>bs;
298
- for(var i = ds+1; i < this.t; ++i) {
299
- r[i-ds-1] |= (this[i]&bm)<<cbs;
300
- r[i-ds] = this[i]>>bs;
301
- }
302
- if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<<cbs;
303
- r.t = this.t-ds;
304
- r.clamp();
305
- }
306
-
307
- // (protected) r = this - a
308
- function bnpSubTo(a,r) {
309
- var i = 0, c = 0, m = Math.min(a.t,this.t);
310
- while(i < m) {
311
- c += this[i]-a[i];
312
- r[i++] = c&this.DM;
313
- c >>= this.DB;
314
- }
315
- if(a.t < this.t) {
316
- c -= a.s;
317
- while(i < this.t) {
318
- c += this[i];
319
- r[i++] = c&this.DM;
320
- c >>= this.DB;
321
- }
322
- c += this.s;
323
- }
324
- else {
325
- c += this.s;
326
- while(i < a.t) {
327
- c -= a[i];
328
- r[i++] = c&this.DM;
329
- c >>= this.DB;
330
- }
331
- c -= a.s;
332
- }
333
- r.s = (c<0)?-1:0;
334
- if(c < -1) r[i++] = this.DV+c;
335
- else if(c > 0) r[i++] = c;
336
- r.t = i;
337
- r.clamp();
338
- }
339
-
340
- // (protected) r = this * a, r != this,a (HAC 14.12)
341
- // "this" should be the larger one if appropriate.
342
- function bnpMultiplyTo(a,r) {
343
- var x = this.abs(), y = a.abs();
344
- var i = x.t;
345
- r.t = i+y.t;
346
- while(--i >= 0) r[i] = 0;
347
- for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);
348
- r.s = 0;
349
- r.clamp();
350
- if(this.s != a.s) encryptionBigInteger.ZERO.subTo(r,r);
351
- }
352
-
353
- // (protected) r = this^2, r != this (HAC 14.16)
354
- function bnpSquareTo(r) {
355
- var x = this.abs();
356
- var i = r.t = 2*x.t;
357
- while(--i >= 0) r[i] = 0;
358
- for(i = 0; i < x.t-1; ++i) {
359
- var c = x.am(i,x[i],r,2*i,0,1);
360
- if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {
361
- r[i+x.t] -= x.DV;
362
- r[i+x.t+1] = 1;
363
- }
364
- }
365
- if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);
366
- r.s = 0;
367
- r.clamp();
368
- }
369
-
370
- // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
371
- // r != q, this != m. q or r may be null.
372
- function bnpDivRemTo(m,q,r) {
373
- var pm = m.abs();
374
- if(pm.t <= 0) return;
375
- var pt = this.abs();
376
- if(pt.t < pm.t) {
377
- if(q != null) q.fromInt(0);
378
- if(r != null) this.copyTo(r);
379
- return;
380
- }
381
- if(r == null) r = nbi();
382
- var y = nbi(), ts = this.s, ms = m.s;
383
- var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus
384
- if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }
385
- else { pm.copyTo(y); pt.copyTo(r); }
386
- var ys = y.t;
387
- var y0 = y[ys-1];
388
- if(y0 == 0) return;
389
- var yt = y0*(1<<this.F1)+((ys>1)?y[ys-2]>>this.F2:0);
390
- var d1 = this.FV/yt, d2 = (1<<this.F1)/yt, e = 1<<this.F2;
391
- var i = r.t, j = i-ys, t = (q==null)?nbi():q;
392
- y.dlShiftTo(j,t);
393
- if(r.compareTo(t) >= 0) {
394
- r[r.t++] = 1;
395
- r.subTo(t,r);
396
- }
397
- encryptionBigInteger.ONE.dlShiftTo(ys,t);
398
- t.subTo(y,y); // "negative" y so we can replace sub with am later
399
- while(y.t < ys) y[y.t++] = 0;
400
- while(--j >= 0) {
401
- // Estimate quotient digit
402
- var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);
403
- if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out
404
- y.dlShiftTo(j,t);
405
- r.subTo(t,r);
406
- while(r[i] < --qd) r.subTo(t,r);
407
- }
408
- }
409
- if(q != null) {
410
- r.drShiftTo(ys,q);
411
- if(ts != ms) encryptionBigInteger.ZERO.subTo(q,q);
412
- }
413
- r.t = ys;
414
- r.clamp();
415
- if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder
416
- if(ts < 0) encryptionBigInteger.ZERO.subTo(r,r);
417
- }
418
-
419
- // (public) this mod a
420
- function bnMod(a) {
421
- var r = nbi();
422
- this.abs().divRemTo(a,null,r);
423
- if(this.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) a.subTo(r,r);
424
- return r;
425
- }
426
-
427
- // Modular reduction using "classic" algorithm
428
- function Classic(m) { this.m = m; }
429
- function cConvert(x) {
430
- if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
431
- else return x;
432
- }
433
- function cRevert(x) { return x; }
434
- function cReduce(x) { x.divRemTo(this.m,null,x); }
435
- function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
436
- function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
437
-
438
- Classic.prototype.convert = cConvert;
439
- Classic.prototype.revert = cRevert;
440
- Classic.prototype.reduce = cReduce;
441
- Classic.prototype.mulTo = cMulTo;
442
- Classic.prototype.sqrTo = cSqrTo;
443
-
444
- // (protected) return "-1/this % 2^DB"; useful for Mont. reduction
445
- // justification:
446
- // xy == 1 (mod m)
447
- // xy = 1+km
448
- // xy(2-xy) = (1+km)(1-km)
449
- // x[y(2-xy)] = 1-k^2m^2
450
- // x[y(2-xy)] == 1 (mod m^2)
451
- // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
452
- // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
453
- // JS multiply "overflows" differently from C/C++, so care is needed here.
454
- function bnpInvDigit() {
455
- if(this.t < 1) return 0;
456
- var x = this[0];
457
- if((x&1) == 0) return 0;
458
- var y = x&3; // y == 1/x mod 2^2
459
- y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4
460
- y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8
461
- y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16
462
- // last step - calculate inverse mod DV directly;
463
- // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
464
- y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits
465
- // we really want the negative inverse, and -DV < y < DV
466
- return (y>0)?this.DV-y:-y;
467
- }
468
-
469
- // Montgomery reduction
470
- function Montgomery(m) {
471
- this.m = m;
472
- this.mp = m.invDigit();
473
- this.mpl = this.mp&0x7fff;
474
- this.mph = this.mp>>15;
475
- this.um = (1<<(m.DB-15))-1;
476
- this.mt2 = 2*m.t;
477
- }
478
-
479
- // xR mod m
480
- function montConvert(x) {
481
- var r = nbi();
482
- x.abs().dlShiftTo(this.m.t,r);
483
- r.divRemTo(this.m,null,r);
484
- if(x.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) this.m.subTo(r,r);
485
- return r;
486
- }
487
-
488
- // x/R mod m
489
- function montRevert(x) {
490
- var r = nbi();
491
- x.copyTo(r);
492
- this.reduce(r);
493
- return r;
494
- }
495
-
496
- // x = x/R mod m (HAC 14.32)
497
- function montReduce(x) {
498
- while(x.t <= this.mt2) // pad x so am has enough room later
499
- x[x.t++] = 0;
500
- for(var i = 0; i < this.m.t; ++i) {
501
- // faster way of calculating u0 = x[i]*mp mod DV
502
- var j = x[i]&0x7fff;
503
- var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;
504
- // use am to combine the multiply-shift-add into one call
505
- j = i+this.m.t;
506
- x[j] += this.m.am(0,u0,x,i,0,this.m.t);
507
- // propagate carry
508
- while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }
509
- }
510
- x.clamp();
511
- x.drShiftTo(this.m.t,x);
512
- if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);
513
- }
514
-
515
- // r = "x^2/R mod m"; x != r
516
- function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
517
-
518
- // r = "xy/R mod m"; x,y != r
519
- function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
520
-
521
- Montgomery.prototype.convert = montConvert;
522
- Montgomery.prototype.revert = montRevert;
523
- Montgomery.prototype.reduce = montReduce;
524
- Montgomery.prototype.mulTo = montMulTo;
525
- Montgomery.prototype.sqrTo = montSqrTo;
526
-
527
- // (protected) true iff this is even
528
- function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }
529
-
530
- // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
531
- function bnpExp(e,z) {
532
- if(e > 0xffffffff || e < 1) return encryptionBigInteger.ONE;
533
- var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;
534
- g.copyTo(r);
535
- while(--i >= 0) {
536
- z.sqrTo(r,r2);
537
- if((e&(1<<i)) > 0) z.mulTo(r2,g,r);
538
- else { var t = r; r = r2; r2 = t; }
539
- }
540
- return z.revert(r);
541
- }
542
-
543
- // (public) this^e % m, 0 <= e < 2^32
544
- function bnModPowInt(e,m) {
545
- var z;
546
- if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);
547
- return this.exp(e,z);
548
- }
549
-
550
- // protected
551
- encryptionBigInteger.prototype.copyTo = bnpCopyTo;
552
- encryptionBigInteger.prototype.fromInt = bnpFromInt;
553
- encryptionBigInteger.prototype.fromString = bnpFromString;
554
- encryptionBigInteger.prototype.clamp = bnpClamp;
555
- encryptionBigInteger.prototype.dlShiftTo = bnpDLShiftTo;
556
- encryptionBigInteger.prototype.drShiftTo = bnpDRShiftTo;
557
- encryptionBigInteger.prototype.lShiftTo = bnpLShiftTo;
558
- encryptionBigInteger.prototype.rShiftTo = bnpRShiftTo;
559
- encryptionBigInteger.prototype.subTo = bnpSubTo;
560
- encryptionBigInteger.prototype.multiplyTo = bnpMultiplyTo;
561
- encryptionBigInteger.prototype.squareTo = bnpSquareTo;
562
- encryptionBigInteger.prototype.divRemTo = bnpDivRemTo;
563
- encryptionBigInteger.prototype.invDigit = bnpInvDigit;
564
- encryptionBigInteger.prototype.isEven = bnpIsEven;
565
- encryptionBigInteger.prototype.exp = bnpExp;
566
-
567
- // public
568
- encryptionBigInteger.prototype.toString = bnToString;
569
- encryptionBigInteger.prototype.negate = bnNegate;
570
- encryptionBigInteger.prototype.abs = bnAbs;
571
- encryptionBigInteger.prototype.compareTo = bnCompareTo;
572
- encryptionBigInteger.prototype.bitLength = bnBitLength;
573
- encryptionBigInteger.prototype.mod = bnMod;
574
- encryptionBigInteger.prototype.modPowInt = bnModPowInt;
575
-
576
- // "constants"
577
- encryptionBigInteger.ZERO = nbv(0);
578
- encryptionBigInteger.ONE = nbv(1);
1
+ /*
2
+ Copyright (c) 2016 eyeOS
3
+
4
+ This file is part of Open365.
5
+
6
+ Open365 is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU Affero General Public License as
8
+ published by the Free Software Foundation, either version 3 of the
9
+ License, or (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU Affero General Public License for more details.
15
+
16
+ You should have received a copy of the GNU Affero General Public License
17
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+ // Copyright (c) 2005 Tom Wu
21
+ // All Rights Reserved.
22
+ // See "LICENSE" for details.
23
+
24
+ // Basic JavaScript BN library - subset useful for RSA encryption.
25
+
26
+ // Bits per digit
27
+ var dbits;
28
+
29
+ // JavaScript engine analysis
30
+ var canary = 0xdeadbeefcafe;
31
+ var j_lm = ((canary&0xffffff)==0xefcafe);
32
+
33
+ // (public) Constructor
34
+ function encryptionBigInteger(a,b,c) {
35
+ if(a != null)
36
+ if("number" == typeof a) this.fromNumber(a,b,c);
37
+ else if(b == null && "string" != typeof a) this.fromString(a,256);
38
+ else this.fromString(a,b);
39
+ }
40
+
41
+ // return new, unset encryptionBigInteger
42
+ function nbi() { return new encryptionBigInteger(null); }
43
+
44
+ // am: Compute w_j += (x*this_i), propagate carries,
45
+ // c is initial carry, returns final carry.
46
+ // c < 3*dvalue, x < 2*dvalue, this_i < dvalue
47
+ // We need to select the fastest one that works in this environment.
48
+
49
+ // am1: use a single mult and divide to get the high bits,
50
+ // max digit bits should be 26 because
51
+ // max internal value = 2*dvalue^2-2*dvalue (< 2^53)
52
+ function am1(i,x,w,j,c,n) {
53
+ while(--n >= 0) {
54
+ var v = x*this[i++]+w[j]+c;
55
+ c = Math.floor(v/0x4000000);
56
+ w[j++] = v&0x3ffffff;
57
+ }
58
+ return c;
59
+ }
60
+ // am2 avoids a big mult-and-extract completely.
61
+ // Max digit bits should be <= 30 because we do bitwise ops
62
+ // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
63
+ function am2(i,x,w,j,c,n) {
64
+ var xl = x&0x7fff, xh = x>>15;
65
+ while(--n >= 0) {
66
+ var l = this[i]&0x7fff;
67
+ var h = this[i++]>>15;
68
+ var m = xh*l+h*xl;
69
+ l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);
70
+ c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);
71
+ w[j++] = l&0x3fffffff;
72
+ }
73
+ return c;
74
+ }
75
+ // Alternately, set max digit bits to 28 since some
76
+ // browsers slow down when dealing with 32-bit numbers.
77
+ function am3(i,x,w,j,c,n) {
78
+ var xl = x&0x3fff, xh = x>>14;
79
+ while(--n >= 0) {
80
+ var l = this[i]&0x3fff;
81
+ var h = this[i++]>>14;
82
+ var m = xh*l+h*xl;
83
+ l = xl*l+((m&0x3fff)<<14)+w[j]+c;
84
+ c = (l>>28)+(m>>14)+xh*h;
85
+ w[j++] = l&0xfffffff;
86
+ }
87
+ return c;
88
+ }
89
+ if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
90
+ encryptionBigInteger.prototype.am = am2;
91
+ dbits = 30;
92
+ }
93
+ else if(j_lm && (navigator.appName != "Netscape")) {
94
+ encryptionBigInteger.prototype.am = am1;
95
+ dbits = 26;
96
+ }
97
+ else { // Mozilla/Netscape seems to prefer am3
98
+ encryptionBigInteger.prototype.am = am3;
99
+ dbits = 28;
100
+ }
101
+
102
+ encryptionBigInteger.prototype.DB = dbits;
103
+ encryptionBigInteger.prototype.DM = ((1<<dbits)-1);
104
+ encryptionBigInteger.prototype.DV = (1<<dbits);
105
+
106
+ var BI_FP = 52;
107
+ encryptionBigInteger.prototype.FV = Math.pow(2,BI_FP);
108
+ encryptionBigInteger.prototype.F1 = BI_FP-dbits;
109
+ encryptionBigInteger.prototype.F2 = 2*dbits-BI_FP;
110
+
111
+ // Digit conversions
112
+ var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
113
+ var BI_RC = new Array();
114
+ var rr,vv;
115
+ rr = "0".charCodeAt(0);
116
+ for(vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
117
+ rr = "a".charCodeAt(0);
118
+ for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
119
+ rr = "A".charCodeAt(0);
120
+ for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
121
+
122
+ function int2char(n) { return BI_RM.charAt(n); }
123
+ function intAt(s,i) {
124
+ var c = BI_RC[s.charCodeAt(i)];
125
+ return (c==null)?-1:c;
126
+ }
127
+
128
+ // (protected) copy this to r
129
+ function bnpCopyTo(r) {
130
+ for(var i = this.t-1; i >= 0; --i) r[i] = this[i];
131
+ r.t = this.t;
132
+ r.s = this.s;
133
+ }
134
+
135
+ // (protected) set from integer value x, -DV <= x < DV
136
+ function bnpFromInt(x) {
137
+ this.t = 1;
138
+ this.s = (x<0)?-1:0;
139
+ if(x > 0) this[0] = x;
140
+ else if(x < -1) this[0] = x+DV;
141
+ else this.t = 0;
142
+ }
143
+
144
+ // return bigint initialized to value
145
+ function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
146
+
147
+ // (protected) set from string and radix
148
+ function bnpFromString(s,b) {
149
+ var k;
150
+ if(b == 16) k = 4;
151
+ else if(b == 8) k = 3;
152
+ else if(b == 256) k = 8; // byte array
153
+ else if(b == 2) k = 1;
154
+ else if(b == 32) k = 5;
155
+ else if(b == 4) k = 2;
156
+ else { this.fromRadix(s,b); return; }
157
+ this.t = 0;
158
+ this.s = 0;
159
+ var i = s.length, mi = false, sh = 0;
160
+ while(--i >= 0) {
161
+ var x = (k==8)?s[i]&0xff:intAt(s,i);
162
+ if(x < 0) {
163
+ if(s.charAt(i) == "-") mi = true;
164
+ continue;
165
+ }
166
+ mi = false;
167
+ if(sh == 0)
168
+ this[this.t++] = x;
169
+ else if(sh+k > this.DB) {
170
+ this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<<sh;
171
+ this[this.t++] = (x>>(this.DB-sh));
172
+ }
173
+ else
174
+ this[this.t-1] |= x<<sh;
175
+ sh += k;
176
+ if(sh >= this.DB) sh -= this.DB;
177
+ }
178
+ if(k == 8 && (s[0]&0x80) != 0) {
179
+ this.s = -1;
180
+ if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)<<sh;
181
+ }
182
+ this.clamp();
183
+ if(mi) encryptionBigInteger.ZERO.subTo(this,this);
184
+ }
185
+
186
+ // (protected) clamp off excess high words
187
+ function bnpClamp() {
188
+ var c = this.s&this.DM;
189
+ while(this.t > 0 && this[this.t-1] == c) --this.t;
190
+ }
191
+
192
+ // (public) return string representation in given radix
193
+ function bnToString(b) {
194
+ if(this.s < 0) return "-"+this.negate().toString(b);
195
+ var k;
196
+ if(b == 16) k = 4;
197
+ else if(b == 8) k = 3;
198
+ else if(b == 2) k = 1;
199
+ else if(b == 32) k = 5;
200
+ else if(b == 4) k = 2;
201
+ else return this.toRadix(b);
202
+ var km = (1<<k)-1, d, m = false, r = "", i = this.t;
203
+ var p = this.DB-(i*this.DB)%k;
204
+ if(i-- > 0) {
205
+ if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }
206
+ while(i >= 0) {
207
+ if(p < k) {
208
+ d = (this[i]&((1<<p)-1))<<(k-p);
209
+ d |= this[--i]>>(p+=this.DB-k);
210
+ }
211
+ else {
212
+ d = (this[i]>>(p-=k))&km;
213
+ if(p <= 0) { p += this.DB; --i; }
214
+ }
215
+ if(d > 0) m = true;
216
+ if(m) r += int2char(d);
217
+ }
218
+ }
219
+ return m?r:"0";
220
+ }
221
+
222
+ // (public) -this
223
+ function bnNegate() { var r = nbi(); encryptionBigInteger.ZERO.subTo(this,r); return r; }
224
+
225
+ // (public) |this|
226
+ function bnAbs() { return (this.s<0)?this.negate():this; }
227
+
228
+ // (public) return + if this > a, - if this < a, 0 if equal
229
+ function bnCompareTo(a) {
230
+ var r = this.s-a.s;
231
+ if(r != 0) return r;
232
+ var i = this.t;
233
+ r = i-a.t;
234
+ if(r != 0) return (this.s<0)?-r:r;
235
+ while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;
236
+ return 0;
237
+ }
238
+
239
+ // returns bit length of the integer x
240
+ function nbits(x) {
241
+ var r = 1, t;
242
+ if((t=x>>>16) != 0) { x = t; r += 16; }
243
+ if((t=x>>8) != 0) { x = t; r += 8; }
244
+ if((t=x>>4) != 0) { x = t; r += 4; }
245
+ if((t=x>>2) != 0) { x = t; r += 2; }
246
+ if((t=x>>1) != 0) { x = t; r += 1; }
247
+ return r;
248
+ }
249
+
250
+ // (public) return the number of bits in "this"
251
+ function bnBitLength() {
252
+ if(this.t <= 0) return 0;
253
+ return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));
254
+ }
255
+
256
+ // (protected) r = this << n*DB
257
+ function bnpDLShiftTo(n,r) {
258
+ var i;
259
+ for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];
260
+ for(i = n-1; i >= 0; --i) r[i] = 0;
261
+ r.t = this.t+n;
262
+ r.s = this.s;
263
+ }
264
+
265
+ // (protected) r = this >> n*DB
266
+ function bnpDRShiftTo(n,r) {
267
+ for(var i = n; i < this.t; ++i) r[i-n] = this[i];
268
+ r.t = Math.max(this.t-n,0);
269
+ r.s = this.s;
270
+ }
271
+
272
+ // (protected) r = this << n
273
+ function bnpLShiftTo(n,r) {
274
+ var bs = n%this.DB;
275
+ var cbs = this.DB-bs;
276
+ var bm = (1<<cbs)-1;
277
+ var ds = Math.floor(n/this.DB), c = (this.s<<bs)&this.DM, i;
278
+ for(i = this.t-1; i >= 0; --i) {
279
+ r[i+ds+1] = (this[i]>>cbs)|c;
280
+ c = (this[i]&bm)<<bs;
281
+ }
282
+ for(i = ds-1; i >= 0; --i) r[i] = 0;
283
+ r[ds] = c;
284
+ r.t = this.t+ds+1;
285
+ r.s = this.s;
286
+ r.clamp();
287
+ }
288
+
289
+ // (protected) r = this >> n
290
+ function bnpRShiftTo(n,r) {
291
+ r.s = this.s;
292
+ var ds = Math.floor(n/this.DB);
293
+ if(ds >= this.t) { r.t = 0; return; }
294
+ var bs = n%this.DB;
295
+ var cbs = this.DB-bs;
296
+ var bm = (1<<bs)-1;
297
+ r[0] = this[ds]>>bs;
298
+ for(var i = ds+1; i < this.t; ++i) {
299
+ r[i-ds-1] |= (this[i]&bm)<<cbs;
300
+ r[i-ds] = this[i]>>bs;
301
+ }
302
+ if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<<cbs;
303
+ r.t = this.t-ds;
304
+ r.clamp();
305
+ }
306
+
307
+ // (protected) r = this - a
308
+ function bnpSubTo(a,r) {
309
+ var i = 0, c = 0, m = Math.min(a.t,this.t);
310
+ while(i < m) {
311
+ c += this[i]-a[i];
312
+ r[i++] = c&this.DM;
313
+ c >>= this.DB;
314
+ }
315
+ if(a.t < this.t) {
316
+ c -= a.s;
317
+ while(i < this.t) {
318
+ c += this[i];
319
+ r[i++] = c&this.DM;
320
+ c >>= this.DB;
321
+ }
322
+ c += this.s;
323
+ }
324
+ else {
325
+ c += this.s;
326
+ while(i < a.t) {
327
+ c -= a[i];
328
+ r[i++] = c&this.DM;
329
+ c >>= this.DB;
330
+ }
331
+ c -= a.s;
332
+ }
333
+ r.s = (c<0)?-1:0;
334
+ if(c < -1) r[i++] = this.DV+c;
335
+ else if(c > 0) r[i++] = c;
336
+ r.t = i;
337
+ r.clamp();
338
+ }
339
+
340
+ // (protected) r = this * a, r != this,a (HAC 14.12)
341
+ // "this" should be the larger one if appropriate.
342
+ function bnpMultiplyTo(a,r) {
343
+ var x = this.abs(), y = a.abs();
344
+ var i = x.t;
345
+ r.t = i+y.t;
346
+ while(--i >= 0) r[i] = 0;
347
+ for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);
348
+ r.s = 0;
349
+ r.clamp();
350
+ if(this.s != a.s) encryptionBigInteger.ZERO.subTo(r,r);
351
+ }
352
+
353
+ // (protected) r = this^2, r != this (HAC 14.16)
354
+ function bnpSquareTo(r) {
355
+ var x = this.abs();
356
+ var i = r.t = 2*x.t;
357
+ while(--i >= 0) r[i] = 0;
358
+ for(i = 0; i < x.t-1; ++i) {
359
+ var c = x.am(i,x[i],r,2*i,0,1);
360
+ if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {
361
+ r[i+x.t] -= x.DV;
362
+ r[i+x.t+1] = 1;
363
+ }
364
+ }
365
+ if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);
366
+ r.s = 0;
367
+ r.clamp();
368
+ }
369
+
370
+ // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
371
+ // r != q, this != m. q or r may be null.
372
+ function bnpDivRemTo(m,q,r) {
373
+ var pm = m.abs();
374
+ if(pm.t <= 0) return;
375
+ var pt = this.abs();
376
+ if(pt.t < pm.t) {
377
+ if(q != null) q.fromInt(0);
378
+ if(r != null) this.copyTo(r);
379
+ return;
380
+ }
381
+ if(r == null) r = nbi();
382
+ var y = nbi(), ts = this.s, ms = m.s;
383
+ var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus
384
+ if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }
385
+ else { pm.copyTo(y); pt.copyTo(r); }
386
+ var ys = y.t;
387
+ var y0 = y[ys-1];
388
+ if(y0 == 0) return;
389
+ var yt = y0*(1<<this.F1)+((ys>1)?y[ys-2]>>this.F2:0);
390
+ var d1 = this.FV/yt, d2 = (1<<this.F1)/yt, e = 1<<this.F2;
391
+ var i = r.t, j = i-ys, t = (q==null)?nbi():q;
392
+ y.dlShiftTo(j,t);
393
+ if(r.compareTo(t) >= 0) {
394
+ r[r.t++] = 1;
395
+ r.subTo(t,r);
396
+ }
397
+ encryptionBigInteger.ONE.dlShiftTo(ys,t);
398
+ t.subTo(y,y); // "negative" y so we can replace sub with am later
399
+ while(y.t < ys) y[y.t++] = 0;
400
+ while(--j >= 0) {
401
+ // Estimate quotient digit
402
+ var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);
403
+ if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out
404
+ y.dlShiftTo(j,t);
405
+ r.subTo(t,r);
406
+ while(r[i] < --qd) r.subTo(t,r);
407
+ }
408
+ }
409
+ if(q != null) {
410
+ r.drShiftTo(ys,q);
411
+ if(ts != ms) encryptionBigInteger.ZERO.subTo(q,q);
412
+ }
413
+ r.t = ys;
414
+ r.clamp();
415
+ if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder
416
+ if(ts < 0) encryptionBigInteger.ZERO.subTo(r,r);
417
+ }
418
+
419
+ // (public) this mod a
420
+ function bnMod(a) {
421
+ var r = nbi();
422
+ this.abs().divRemTo(a,null,r);
423
+ if(this.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) a.subTo(r,r);
424
+ return r;
425
+ }
426
+
427
+ // Modular reduction using "classic" algorithm
428
+ function Classic(m) { this.m = m; }
429
+ function cConvert(x) {
430
+ if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
431
+ else return x;
432
+ }
433
+ function cRevert(x) { return x; }
434
+ function cReduce(x) { x.divRemTo(this.m,null,x); }
435
+ function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
436
+ function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
437
+
438
+ Classic.prototype.convert = cConvert;
439
+ Classic.prototype.revert = cRevert;
440
+ Classic.prototype.reduce = cReduce;
441
+ Classic.prototype.mulTo = cMulTo;
442
+ Classic.prototype.sqrTo = cSqrTo;
443
+
444
+ // (protected) return "-1/this % 2^DB"; useful for Mont. reduction
445
+ // justification:
446
+ // xy == 1 (mod m)
447
+ // xy = 1+km
448
+ // xy(2-xy) = (1+km)(1-km)
449
+ // x[y(2-xy)] = 1-k^2m^2
450
+ // x[y(2-xy)] == 1 (mod m^2)
451
+ // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
452
+ // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
453
+ // JS multiply "overflows" differently from C/C++, so care is needed here.
454
+ function bnpInvDigit() {
455
+ if(this.t < 1) return 0;
456
+ var x = this[0];
457
+ if((x&1) == 0) return 0;
458
+ var y = x&3; // y == 1/x mod 2^2
459
+ y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4
460
+ y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8
461
+ y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16
462
+ // last step - calculate inverse mod DV directly;
463
+ // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
464
+ y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits
465
+ // we really want the negative inverse, and -DV < y < DV
466
+ return (y>0)?this.DV-y:-y;
467
+ }
468
+
469
+ // Montgomery reduction
470
+ function Montgomery(m) {
471
+ this.m = m;
472
+ this.mp = m.invDigit();
473
+ this.mpl = this.mp&0x7fff;
474
+ this.mph = this.mp>>15;
475
+ this.um = (1<<(m.DB-15))-1;
476
+ this.mt2 = 2*m.t;
477
+ }
478
+
479
+ // xR mod m
480
+ function montConvert(x) {
481
+ var r = nbi();
482
+ x.abs().dlShiftTo(this.m.t,r);
483
+ r.divRemTo(this.m,null,r);
484
+ if(x.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) this.m.subTo(r,r);
485
+ return r;
486
+ }
487
+
488
+ // x/R mod m
489
+ function montRevert(x) {
490
+ var r = nbi();
491
+ x.copyTo(r);
492
+ this.reduce(r);
493
+ return r;
494
+ }
495
+
496
+ // x = x/R mod m (HAC 14.32)
497
+ function montReduce(x) {
498
+ while(x.t <= this.mt2) // pad x so am has enough room later
499
+ x[x.t++] = 0;
500
+ for(var i = 0; i < this.m.t; ++i) {
501
+ // faster way of calculating u0 = x[i]*mp mod DV
502
+ var j = x[i]&0x7fff;
503
+ var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;
504
+ // use am to combine the multiply-shift-add into one call
505
+ j = i+this.m.t;
506
+ x[j] += this.m.am(0,u0,x,i,0,this.m.t);
507
+ // propagate carry
508
+ while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }
509
+ }
510
+ x.clamp();
511
+ x.drShiftTo(this.m.t,x);
512
+ if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);
513
+ }
514
+
515
+ // r = "x^2/R mod m"; x != r
516
+ function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
517
+
518
+ // r = "xy/R mod m"; x,y != r
519
+ function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
520
+
521
+ Montgomery.prototype.convert = montConvert;
522
+ Montgomery.prototype.revert = montRevert;
523
+ Montgomery.prototype.reduce = montReduce;
524
+ Montgomery.prototype.mulTo = montMulTo;
525
+ Montgomery.prototype.sqrTo = montSqrTo;
526
+
527
+ // (protected) true iff this is even
528
+ function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }
529
+
530
+ // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
531
+ function bnpExp(e,z) {
532
+ if(e > 0xffffffff || e < 1) return encryptionBigInteger.ONE;
533
+ var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;
534
+ g.copyTo(r);
535
+ while(--i >= 0) {
536
+ z.sqrTo(r,r2);
537
+ if((e&(1<<i)) > 0) z.mulTo(r2,g,r);
538
+ else { var t = r; r = r2; r2 = t; }
539
+ }
540
+ return z.revert(r);
541
+ }
542
+
543
+ // (public) this^e % m, 0 <= e < 2^32
544
+ function bnModPowInt(e,m) {
545
+ var z;
546
+ if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);
547
+ return this.exp(e,z);
548
+ }
549
+
550
+ // protected
551
+ encryptionBigInteger.prototype.copyTo = bnpCopyTo;
552
+ encryptionBigInteger.prototype.fromInt = bnpFromInt;
553
+ encryptionBigInteger.prototype.fromString = bnpFromString;
554
+ encryptionBigInteger.prototype.clamp = bnpClamp;
555
+ encryptionBigInteger.prototype.dlShiftTo = bnpDLShiftTo;
556
+ encryptionBigInteger.prototype.drShiftTo = bnpDRShiftTo;
557
+ encryptionBigInteger.prototype.lShiftTo = bnpLShiftTo;
558
+ encryptionBigInteger.prototype.rShiftTo = bnpRShiftTo;
559
+ encryptionBigInteger.prototype.subTo = bnpSubTo;
560
+ encryptionBigInteger.prototype.multiplyTo = bnpMultiplyTo;
561
+ encryptionBigInteger.prototype.squareTo = bnpSquareTo;
562
+ encryptionBigInteger.prototype.divRemTo = bnpDivRemTo;
563
+ encryptionBigInteger.prototype.invDigit = bnpInvDigit;
564
+ encryptionBigInteger.prototype.isEven = bnpIsEven;
565
+ encryptionBigInteger.prototype.exp = bnpExp;
566
+
567
+ // public
568
+ encryptionBigInteger.prototype.toString = bnToString;
569
+ encryptionBigInteger.prototype.negate = bnNegate;
570
+ encryptionBigInteger.prototype.abs = bnAbs;
571
+ encryptionBigInteger.prototype.compareTo = bnCompareTo;
572
+ encryptionBigInteger.prototype.bitLength = bnBitLength;
573
+ encryptionBigInteger.prototype.mod = bnMod;
574
+ encryptionBigInteger.prototype.modPowInt = bnModPowInt;
575
+
576
+ // "constants"
577
+ encryptionBigInteger.ZERO = nbv(0);
578
+ encryptionBigInteger.ONE = nbv(1);