libre-webui 0.38.0 → 0.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/README.md +1 -0
  2. package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
  3. package/backend/dist/persistence/postgresMigrationRegistry.js +2 -0
  4. package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
  5. package/backend/dist/persistence/postgresWorkRunThinkMigration.d.ts +9 -0
  6. package/backend/dist/persistence/postgresWorkRunThinkMigration.d.ts.map +1 -0
  7. package/backend/dist/persistence/postgresWorkRunThinkMigration.js +39 -0
  8. package/backend/dist/persistence/postgresWorkRunThinkMigration.js.map +1 -0
  9. package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
  10. package/backend/dist/persistence/sqliteMigrations.js +20 -0
  11. package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
  12. package/backend/dist/persistence/sqliteToPostgresMigration.d.ts.map +1 -1
  13. package/backend/dist/persistence/sqliteToPostgresMigration.js +1 -0
  14. package/backend/dist/persistence/sqliteToPostgresMigration.js.map +1 -1
  15. package/backend/dist/platform/workPersistence/postgresWorkPersistence.d.ts.map +1 -1
  16. package/backend/dist/platform/workPersistence/postgresWorkPersistence.js +3 -2
  17. package/backend/dist/platform/workPersistence/postgresWorkPersistence.js.map +1 -1
  18. package/backend/dist/platform/workPersistence/sqliteWorkPersistence.d.ts.map +1 -1
  19. package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js +3 -3
  20. package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js.map +1 -1
  21. package/backend/dist/platform/workPersistence/types.d.ts +5 -0
  22. package/backend/dist/platform/workPersistence/types.d.ts.map +1 -1
  23. package/backend/dist/platform/workPersistence/types.js.map +1 -1
  24. package/backend/dist/routes/work.d.ts.map +1 -1
  25. package/backend/dist/routes/work.js +17 -2
  26. package/backend/dist/routes/work.js.map +1 -1
  27. package/backend/dist/services/agentCliService.d.ts.map +1 -1
  28. package/backend/dist/services/agentCliService.js +1 -0
  29. package/backend/dist/services/agentCliService.js.map +1 -1
  30. package/backend/dist/services/followUpService.d.ts +4 -1
  31. package/backend/dist/services/followUpService.d.ts.map +1 -1
  32. package/backend/dist/services/followUpService.js +23 -2
  33. package/backend/dist/services/followUpService.js.map +1 -1
  34. package/backend/dist/services/pluginService.d.ts.map +1 -1
  35. package/backend/dist/services/pluginService.js +10 -6
  36. package/backend/dist/services/pluginService.js.map +1 -1
  37. package/backend/dist/services/workAgentService.d.ts.map +1 -1
  38. package/backend/dist/services/workAgentService.js +3 -0
  39. package/backend/dist/services/workAgentService.js.map +1 -1
  40. package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
  41. package/backend/dist/services/workModelProviderService.js +43 -13
  42. package/backend/dist/services/workModelProviderService.js.map +1 -1
  43. package/backend/dist/services/workTaskService.d.ts +3 -2
  44. package/backend/dist/services/workTaskService.d.ts.map +1 -1
  45. package/backend/dist/services/workTaskService.js +10 -6
  46. package/backend/dist/services/workTaskService.js.map +1 -1
  47. package/backend/dist/types/work.d.ts +3 -0
  48. package/backend/dist/types/work.d.ts.map +1 -1
  49. package/backend/dist/types/work.js.map +1 -1
  50. package/backend/dist/utils/bedrockMantle.d.ts +46 -0
  51. package/backend/dist/utils/bedrockMantle.d.ts.map +1 -0
  52. package/backend/dist/utils/bedrockMantle.js +206 -0
  53. package/backend/dist/utils/bedrockMantle.js.map +1 -0
  54. package/backend/dist/utils/pluginChatAdapter.d.ts +36 -0
  55. package/backend/dist/utils/pluginChatAdapter.d.ts.map +1 -1
  56. package/backend/dist/utils/pluginChatAdapter.js +122 -47
  57. package/backend/dist/utils/pluginChatAdapter.js.map +1 -1
  58. package/backend/dist/utils/pluginDefinitionTrust.d.ts.map +1 -1
  59. package/backend/dist/utils/pluginDefinitionTrust.js +3 -2
  60. package/backend/dist/utils/pluginDefinitionTrust.js.map +1 -1
  61. package/backend/dist/utils/pluginValidation.d.ts +1 -1
  62. package/backend/dist/utils/pluginValidation.d.ts.map +1 -1
  63. package/backend/dist/utils/pluginValidation.js +11 -0
  64. package/backend/dist/utils/pluginValidation.js.map +1 -1
  65. package/backend/package.json +3 -3
  66. package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
  67. package/frontend/dist/artifact-runtime/babel.js +170 -170
  68. package/frontend/dist/artifact-runtime/framer-motion.js +3 -3
  69. package/frontend/dist/artifact-runtime/lucide-react.js +1 -1
  70. package/frontend/dist/artifact-runtime/mathjs.js +1 -1
  71. package/frontend/dist/artifact-runtime/mermaid.js +1 -1
  72. package/frontend/dist/artifact-runtime/plotly.js +1 -1
  73. package/frontend/dist/artifact-runtime/react.js +3 -3
  74. package/frontend/dist/assets/index-D99DS5c6.js +57 -0
  75. package/frontend/dist/assets/index-Dz1JufgZ.css +1 -0
  76. package/frontend/dist/assets/{markdown-math-D1Bj3pDB.css → markdown-math-DzFXvcrH.css} +1 -1
  77. package/frontend/dist/index.html +32 -32
  78. package/frontend/dist/js/{ArtifactContainer-BWTN4QSW.js → ArtifactContainer-Cn7X9HGm.js} +1 -1
  79. package/frontend/dist/js/{ArtifactDemoPage-CCh7lQEw.js → ArtifactDemoPage-Ddpy2O_v.js} +1 -1
  80. package/frontend/dist/js/{ArtifactSandboxFrame-D1ntMsqe.js → ArtifactSandboxFrame-CdsAqv8H.js} +1 -1
  81. package/frontend/dist/js/{ArtifactSlideOutPanel-zPEBPoMh.js → ArtifactSlideOutPanel-cVd9X80o.js} +1 -1
  82. package/frontend/dist/js/{AutomationModal-DN98Eyym.js → AutomationModal-B4UaWjkk.js} +1 -1
  83. package/frontend/dist/js/{AutomationsPage-3DBwRKME.js → AutomationsPage-huCrvLUp.js} +1 -1
  84. package/frontend/dist/js/{AvatarUpload-D5_wGUb5.js → AvatarUpload-CG-w6Mpt.js} +1 -1
  85. package/frontend/dist/js/{Button-CTwi9N3d.js → Button-j68Q8KVh.js} +1 -1
  86. package/frontend/dist/js/{CalendarPage-CUbGH3Tl.js → CalendarPage-CZXT1w99.js} +1 -1
  87. package/frontend/dist/js/ChannelsPage-DbtdHnSL.js +1 -0
  88. package/frontend/dist/js/ChatPage-BZE65kiq.js +14 -0
  89. package/frontend/dist/js/ConnectModels-DD4bLgdq.js +1 -0
  90. package/frontend/dist/js/{EvaluationsPage-BaND2qQM.js → EvaluationsPage-Dq53LaXd.js} +1 -1
  91. package/frontend/dist/js/{FirstTimeSetup-D8ktLJKO.js → FirstTimeSetup-BoJIfuQT.js} +1 -1
  92. package/frontend/dist/js/{GalleryPage-DXQLoU0l.js → GalleryPage-DKwqeB2A.js} +1 -1
  93. package/frontend/dist/js/{HomePage-WVug1vWc.js → HomePage-C8bCJfls.js} +1 -1
  94. package/frontend/dist/js/{LanguageSwitcher-DHHTrDBR.js → LanguageSwitcher-B_YyU5JG.js} +1 -1
  95. package/frontend/dist/js/{Logo-D1o5k_wt.js → Logo-DnfVtjgj.js} +1 -1
  96. package/frontend/dist/js/{LogoMark-lnmc98jv.js → LogoMark-BzObGdA9.js} +1 -1
  97. package/frontend/dist/js/{ModelManagerModals-BPALNMDH.js → ModelManagerModals-BzjZ-QwL.js} +1 -1
  98. package/frontend/dist/js/{NotesPage-CRzX2Wa8.js → NotesPage-CnaAp_w_.js} +1 -1
  99. package/frontend/dist/js/{OptimizedSyntaxHighlighter-CzzV6ONG.js → OptimizedSyntaxHighlighter-B0g8cxZQ.js} +1 -1
  100. package/frontend/dist/js/OptimizedSyntaxHighlighter-B_BbHeO1.js +1 -0
  101. package/frontend/dist/js/{PasswordStrengthMeter-BGrHWG0B.js → PasswordStrengthMeter-DI4RDv67.js} +1 -1
  102. package/frontend/dist/js/{PersonasPage-BRU9151f.js → PersonasPage-CH3GUKph.js} +1 -1
  103. package/frontend/dist/js/{PluginUsagePage-BlhYZq1l.js → PluginUsagePage-d54K2gAj.js} +1 -1
  104. package/frontend/dist/js/{RichMessageContent-OGBLO64L.js → RichMessageContent-BfYbVBFz.js} +2 -2
  105. package/frontend/dist/js/RichMessageContent-CDxxs3Tt.js +1 -0
  106. package/frontend/dist/js/SettingsModal-BvtJcvow.js +19 -0
  107. package/frontend/dist/js/{SettingsToggle-Du2FSUPO.js → SettingsToggle-DrJ0Bapi.js} +1 -1
  108. package/frontend/dist/js/{ShareDialog-DEhxnLfn.js → ShareDialog-DaSxkTKS.js} +1 -1
  109. package/frontend/dist/js/{StrandsPage-DWnUKSb0.js → StrandsPage-BQwz0mWq.js} +1 -1
  110. package/frontend/dist/js/{SystemPage-cqq8lSxB.js → SystemPage-BqNZoFxR.js} +1 -1
  111. package/frontend/dist/js/{TurnstileWidget-CVepEMEQ.js → TurnstileWidget-tI50c7Kc.js} +1 -1
  112. package/frontend/dist/js/{UserManagementPage-2yHv89ZA.js → UserManagementPage-UvPjA9RP.js} +1 -1
  113. package/frontend/dist/js/{UserManagementPanel-NZmoTk6V.js → UserManagementPanel-C3T1ReJJ.js} +1 -1
  114. package/frontend/dist/js/{WhatsNewModal-5SwIdmU1.js → WhatsNewModal-CLcU2Ugk.js} +1 -1
  115. package/frontend/dist/js/WorkPage-BpjGn--1.js +8 -0
  116. package/frontend/dist/js/{api-CnJYEbRz.js → api-BrHW-VGd.js} +1 -1
  117. package/frontend/dist/js/api-K_hhqPdx.js +1 -0
  118. package/frontend/dist/js/{appNavigation-BXNRwrN-.js → appNavigation-B6xYIgLi.js} +1 -1
  119. package/frontend/dist/js/appStore-DkRdQQeY.js +2 -0
  120. package/frontend/dist/js/appVersion-BVtSqLVj.js +1 -0
  121. package/frontend/dist/js/{ar-Bp843BgG.js → ar-XTZGEtBr.js} +1 -1
  122. package/frontend/dist/js/authStore-DBS6Kbvh.js +1 -0
  123. package/frontend/dist/js/{authStore-DwaPsICv.js → authStore-DjAsRpNL.js} +3 -3
  124. package/frontend/dist/js/{bn-DmSGkklY.js → bn-JiK7ZWmy.js} +1 -1
  125. package/frontend/dist/js/{chatStore-j8bGpkeT.js → chatStore-DpVxt9VX.js} +3 -3
  126. package/frontend/dist/js/{client-DQy1iGRM.js → client-DppLngAs.js} +2 -2
  127. package/frontend/dist/js/{config-BbrsmDn2.js → config-4_s8hdqO.js} +1 -1
  128. package/frontend/dist/js/{cs-BcauIRyG.js → cs-D8ju18CO.js} +1 -1
  129. package/frontend/dist/js/{da-CJ14DPJ_.js → da-BJWcAoUc.js} +1 -1
  130. package/frontend/dist/js/{de-ajswyAhq.js → de-CLJLmy69.js} +1 -1
  131. package/frontend/dist/js/{es-rlf8FsMZ.js → es-BvqHEL-3.js} +1 -1
  132. package/frontend/dist/js/{evaluationsApi-KVsH7yXe.js → evaluationsApi-DyuW7IJ_.js} +1 -1
  133. package/frontend/dist/js/{fr-BwkM1wie.js → fr-B8ZoZomI.js} +1 -1
  134. package/frontend/dist/js/{hi-B3eId9-I.js → hi-AzJLALo-.js} +1 -1
  135. package/frontend/dist/js/{id-BcgPFJh2.js → id-DZYGQhvC.js} +1 -1
  136. package/frontend/dist/js/{is-Crvd3K7f.js → is-Da_kvtzW.js} +1 -1
  137. package/frontend/dist/js/{it-DrLx24hb.js → it-B90zSlqn.js} +1 -1
  138. package/frontend/dist/js/{ja-DZMcf-oB.js → ja-DU_K1GOr.js} +1 -1
  139. package/frontend/dist/js/{ko-Cm0NiOE8.js → ko-DicfoO-e.js} +1 -1
  140. package/frontend/dist/js/{markdown-CZ1tYEW8.js → markdown-DU84620G.js} +1 -1
  141. package/frontend/dist/js/{markdown-core-KjS96SYW.js → markdown-core-Cyql92Hg.js} +1 -1
  142. package/frontend/dist/js/{markdown-html-DQEwrWcf.js → markdown-html-CUc2fCgY.js} +1 -1
  143. package/frontend/dist/js/{markdown-math-CKi32S5d.js → markdown-math-DxPfMKvO.js} +1 -1
  144. package/frontend/dist/js/{markdownHtml-lrXhxBhK.js → markdownHtml-KhS0cFNH.js} +1 -1
  145. package/frontend/dist/js/markdownMath-CsfRQAcz.js +1 -0
  146. package/frontend/dist/js/{messageCodeStyles-CDnMKLgo.js → messageCodeStyles-CuQPkfEK.js} +1 -1
  147. package/frontend/dist/js/{ms-ymaG59hx.js → ms-CfH7wjUY.js} +1 -1
  148. package/frontend/dist/js/{nl-CdIdeA9d.js → nl-ELlOz-B3.js} +1 -1
  149. package/frontend/dist/js/{pl-CuO0b605.js → pl-33dayyUk.js} +1 -1
  150. package/frontend/dist/js/{pt-Vy413FG5.js → pt-aIXSQPCT.js} +1 -1
  151. package/frontend/dist/js/react-vendor-CR5VJ85Q.js +9 -0
  152. package/frontend/dist/js/{router-vendor-HZm4FR0A.js → router-vendor-DqMnEJWK.js} +1 -1
  153. package/frontend/dist/js/{ru-D0zOEVrL.js → ru-BSvGtBtW.js} +1 -1
  154. package/frontend/dist/js/{standalone-DbyFjvTU.js → standalone-D_lg5NC9.js} +1 -1
  155. package/frontend/dist/js/{strandsApi-SeoX_IsY.js → strandsApi-BFbeEpAY.js} +1 -1
  156. package/frontend/dist/js/{sv-JoS4krpk.js → sv-B7KOz81W.js} +1 -1
  157. package/frontend/dist/js/{syntax-highlight-DNc3FFCa.js → syntax-highlight-D7dQ5s5-.js} +1 -1
  158. package/frontend/dist/js/{teamEventStream-CZYdpbVw.js → teamEventStream-DsAS6P4m.js} +1 -1
  159. package/frontend/dist/js/{th-afhelaqR.js → th-DgpjGxvA.js} +1 -1
  160. package/frontend/dist/js/{tr-BhSy9UrR.js → tr-BQTbl2h-.js} +1 -1
  161. package/frontend/dist/js/{ui-CW3gJ4Kl.js → ui-Aq8MP7Ph.js} +2 -2
  162. package/frontend/dist/js/{ui-vendor-_fvLnmDx.js → ui-vendor-DVTj_sKN.js} +1 -1
  163. package/frontend/dist/js/{uk-CibXypnZ.js → uk-JLymloot.js} +1 -1
  164. package/frontend/dist/js/{useChat-CBySqLqR.js → useChat-D3ZAGz70.js} +1 -1
  165. package/frontend/dist/js/{useDialogFocus-DbW0oA9H.js → useDialogFocus-zSGHkpE4.js} +1 -1
  166. package/frontend/dist/js/useDictation-B6l8QzeM.js +1 -0
  167. package/frontend/dist/js/{useQuery-hWmQjdLu.js → useQuery-BTKpXudI.js} +1 -1
  168. package/frontend/dist/js/{useTranslation-UHEMTEHd.js → useTranslation-Boi0fB1B.js} +1 -1
  169. package/frontend/dist/js/{utils-DaXuqmQm.js → utils-B-Bhh1pF.js} +1 -1
  170. package/frontend/dist/js/{utils-vendor-CvhktdS_.js → utils-vendor-DPJG-EG_.js} +1 -1
  171. package/frontend/dist/js/{vi-Cg0WKHtb.js → vi-BXdLOJ8q.js} +1 -1
  172. package/frontend/dist/js/workApi-D1xtiG3Q.js +1 -0
  173. package/frontend/dist/js/{workApi-BqkCbCLQ.js → workApi-UPxumrEF.js} +1 -1
  174. package/frontend/dist/js/{zh-DTqys9TE.js → zh-gdUf9sXa.js} +1 -1
  175. package/package.json +3 -3
  176. package/plugins/anthropic.json +3 -1
  177. package/plugins/bedrock.json +86 -0
  178. package/plugins/openrouter.json +2 -0
  179. package/frontend/dist/assets/index-CJHJxwjA.js +0 -68
  180. package/frontend/dist/assets/index-DSHdOZRK.css +0 -1
  181. package/frontend/dist/js/ChannelsPage-B1hC1rRS.js +0 -1
  182. package/frontend/dist/js/ChatPage-B7mEg5z2.js +0 -14
  183. package/frontend/dist/js/ConnectModels-Cby89_Mc.js +0 -1
  184. package/frontend/dist/js/OptimizedSyntaxHighlighter-ajqwyBQm.js +0 -1
  185. package/frontend/dist/js/RichMessageContent-FiuPwDG7.js +0 -1
  186. package/frontend/dist/js/SettingsModal-sLkxG-lW.js +0 -19
  187. package/frontend/dist/js/WorkPage-BIuaVNEC.js +0 -8
  188. package/frontend/dist/js/api-C2k0OqEk.js +0 -1
  189. package/frontend/dist/js/appStore-DULGAJnH.js +0 -2
  190. package/frontend/dist/js/appVersion-DooVk4c_.js +0 -1
  191. package/frontend/dist/js/authStore-CaLdzyAr.js +0 -1
  192. package/frontend/dist/js/markdownMath-B0BpyFBS.js +0 -1
  193. package/frontend/dist/js/react-vendor-wiHys0m2.js +0 -9
  194. package/frontend/dist/js/useDictation-DEAp64eu.js +0 -1
  195. package/frontend/dist/js/workApi-gpxrWwCm.js +0 -1
@@ -6,7 +6,7 @@ Example:
6
6
  const mathjs = create(all);
7
7
  mathjs.config({ number: 'BigNumber' });
8
8
  `);return Object.freeze(d)};u(B,d,{MATRIX_OPTIONS:Ue,NUMBER_OPTIONS:We});var qe=o(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.typed=r())})(e,(function(){"use strict";function e(){return!0}function t(){return!1}function n(){}let r=`Argument is not a typed-function.`;function i(){function a(e){return typeof e==`object`&&!!e&&e.constructor===Object}let o=[{name:`number`,test:function(e){return typeof e==`number`}},{name:`string`,test:function(e){return typeof e==`string`}},{name:`boolean`,test:function(e){return typeof e==`boolean`}},{name:`Function`,test:function(e){return typeof e==`function`}},{name:`Array`,test:Array.isArray},{name:`Date`,test:function(e){return e instanceof Date}},{name:`RegExp`,test:function(e){return e instanceof RegExp}},{name:`Object`,test:a},{name:`null`,test:function(e){return e===null}},{name:`undefined`,test:function(e){return e===void 0}}],s={name:`any`,test:e,isAny:!0},c,l,u=0,d={createCount:0};function f(e){let t=c.get(e);if(t)return t;let n=`Unknown type "`+e+`"`,r=e.toLowerCase(),i;for(i of l)if(i.toLowerCase()===r){n+=`. Did you mean "`+i+`" ?`;break}throw TypeError(n)}function p(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`any`,n=t?f(t).index:l.length,r=[];for(let t=0;t<e.length;++t){if(!e[t]||typeof e[t].name!=`string`||typeof e[t].test!=`function`)throw TypeError(`Object with properties {name: string, test: function} expected`);let i=e[t].name;if(c.has(i))throw TypeError(`Duplicate type name "`+i+`"`);r.push(i),c.set(i,{name:i,test:e[t].test,isAny:e[t].isAny,index:n+t,conversionsTo:[]})}let i=l.slice(n);l=l.slice(0,n).concat(r).concat(i);for(let e=n+r.length;e<l.length;++e)c.get(l[e]).index=e}function m(){c=new Map,l=[],u=0,p([s],!1)}m(),p(o);function h(){let e;for(e of l)c.get(e).conversionsTo=[];u=0}function g(e){let t=l.filter(t=>{let n=c.get(t);return!n.isAny&&n.test(e)});return t.length?t:[`any`]}function _(e){return e&&typeof e==`function`&&`_typedFunctionData`in e}function v(e,t,n){if(!_(e))throw TypeError(r);let i=n&&n.exact,a=T(Array.isArray(t)?t.join(`,`):t),o=x(a);if(!i||o in e.signatures){let t=e._typedFunctionData.signatureMap.get(o);if(t)return t}let s=a.length,c;if(i){c=[];let t;for(t in e.signatures)c.push(e._typedFunctionData.signatureMap.get(t))}else c=e._typedFunctionData.signatures;for(let e=0;e<s;++e){let t=a[e],n=[],r;for(r of c){let i=k(r.params,e);if(!(!i||t.restParam&&!i.restParam)){if(!i.hasAny){let e=w(i);if(t.types.some(t=>!e.has(t.name)))continue}n.push(r)}}if(c=n,c.length===0)break}let l;for(l of c)if(l.params.length<=s)return l;throw TypeError(`Signature not found (signature: `+(e.name||`unnamed`)+`(`+x(a,`, `)+`))`)}function y(e,t,n){return v(e,t,n).implementation}function b(e,t){let n=f(t);if(n.test(e))return e;let r=n.conversionsTo;if(r.length===0)throw Error(`There are no conversions to `+t+` defined.`);for(let t=0;t<r.length;t++)if(f(r[t].from).test(e))return r[t].convert(e);throw Error(`Cannot convert `+e+` to `+t)}function x(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`,`;return e.map(e=>e.name).join(t)}function S(e){let t=e.indexOf(`...`)===0,n=(t?e.length>3?e.slice(3):`any`:e).split(`|`).map(e=>f(e.trim())),r=!1,i=t?`...`:``;return{types:n.map(function(e){return r=e.isAny||r,i+=e.name+`|`,{name:e.name,typeIndex:e.index,test:e.test,isAny:e.isAny,conversion:null,conversionIndex:-1}}),name:i.slice(0,-1),hasAny:r,hasConversion:!1,restParam:t}}function C(e){let t=ne(e.types.map(e=>e.name)),n=e.hasAny,r=e.name,i=t.map(function(e){let t=f(e.from);return n=t.isAny||n,r+=`|`+e.from,{name:e.from,typeIndex:t.index,test:t.test,isAny:t.isAny,conversion:e,conversionIndex:e.index}});return{types:e.types.concat(i),name:r,hasAny:n,hasConversion:i.length>0,restParam:e.restParam}}function w(e){return e.typeSet||(e.typeSet=new Set,e.types.forEach(t=>e.typeSet.add(t.name))),e.typeSet}function T(e){let t=[];if(typeof e!=`string`)throw TypeError(`Signatures must be strings`);let n=e.trim();if(n===``)return t;let r=n.split(`,`);for(let e=0;e<r.length;++e){let n=S(r[e].trim());if(n.restParam&&e!==r.length-1)throw SyntaxError(`Unexpected rest parameter "`+r[e]+`": only allowed for the last parameter`);if(n.types.length===0)return null;t.push(n)}return t}function E(e){let t=de(e);return t?t.restParam:!1}function D(t){if(!t||t.types.length===0)return e;if(t.types.length===1)return f(t.types[0].name).test;if(t.types.length===2){let e=f(t.types[0].name).test,n=f(t.types[1].name).test;return function(t){return e(t)||n(t)}}{let e=t.types.map(function(e){return f(e.name).test});return function(t){for(let n=0;n<e.length;n++)if(e[n](t))return!0;return!1}}}function O(e){let t,n,r;if(E(e)){t=ue(e).map(D);let n=t.length,r=D(de(e)),i=function(e){for(let t=n;t<e.length;t++)if(!r(e[t]))return!1;return!0};return function(e){for(let n=0;n<t.length;n++)if(!t[n](e[n]))return!1;return i(e)&&e.length>=n+1}}return e.length===0?function(e){return e.length===0}:e.length===1?(n=D(e[0]),function(e){return n(e[0])&&e.length===1}):e.length===2?(n=D(e[0]),r=D(e[1]),function(e){return n(e[0])&&r(e[1])&&e.length===2}):(t=e.map(D),function(e){for(let n=0;n<t.length;n++)if(!t[n](e[n]))return!1;return e.length===t.length})}function k(e,t){return t<e.length?e[t]:E(e)?de(e):null}function A(e,t){let n=k(e,t);return n?w(n):new Set}function j(e){return e.conversion===null||e.conversion===void 0}function M(e,t){let n=new Set;return e.forEach(e=>{let r=A(e.params,t),i;for(i of r)n.add(i)}),n.has(`any`)?[`any`]:Array.from(n)}function N(e,t,n){let r,i,a=e||`unnamed`,o=n,s=0;for(;s<t.length;s++){let e=[];if(o.forEach(n=>{let r=D(k(n.params,s));(s<n.params.length||E(n.params))&&r(t[s])&&e.push(n)}),e.length===0){if(i=M(o,s),i.length>0){let e=g(t[s]);return r=TypeError(`Unexpected type of argument in function `+a+` (expected: `+i.join(` or `)+`, actual: `+e.join(` | `)+`, index: `+s+`)`),r.data={category:`wrongType`,fn:a,index:s,actual:e,expected:i},r}}else o=e}let c=o.map(function(e){return E(e.params)?1/0:e.params.length});if(t.length<Math.min.apply(null,c))return i=M(o,s),r=TypeError(`Too few arguments in function `+a+` (expected: `+i.join(` or `)+`, index: `+t.length+`)`),r.data={category:`tooFewArgs`,fn:a,index:t.length,expected:i},r;let l=Math.max.apply(null,c);if(t.length>l)return r=TypeError(`Too many arguments in function `+a+` (expected: `+l+`, actual: `+t.length+`)`),r.data={category:`tooManyArgs`,fn:a,index:t.length,expectedLength:l},r;let u=[];for(let e=0;e<t.length;++e)u.push(g(t[e]).join(`|`));return r=TypeError(`Arguments of type "`+u.join(`, `)+`" do not match any of the defined signatures of function `+a+`.`),r.data={category:`mismatch`,actual:u},r}function P(e){let t=l.length+1;for(let n=0;n<e.types.length;n++)t=Math.min(t,e.types[n].typeIndex);return t}function F(e){let t=u+1;for(let n=0;n<e.types.length;n++)j(e.types[n])||(t=Math.min(t,e.types[n].conversionIndex));return t}function ee(e,t){if(e.hasAny){if(!t.hasAny)return .1}else if(t.hasAny)return-.1;if(e.restParam){if(!t.restParam)return .01}else if(t.restParam)return-.01;let n=P(e)-P(t);if(n<0)return-.001;if(n>0)return .001;let r=F(e),i=F(t);if(e.hasConversion){if(!t.hasConversion)return(1+r)*1e-6}else if(t.hasConversion)return-(1+i)*1e-6;let a=r-i;return a<0?-1e-7:a>0?1e-7:0}function te(e,t){let n=e.params,r=t.params,i=de(n),a=de(r),o=E(n),s=E(r);if(o&&i.hasAny){if(!s||!a.hasAny)return 1e7}else if(s&&a.hasAny)return-1e7;let c=0,l=0,u;for(u of n)u.hasAny&&++c,u.hasConversion&&++l;let d=0,f=0;for(u of r)u.hasAny&&++d,u.hasConversion&&++f;if(c!==d)return(c-d)*1e6;if(o&&i.hasConversion){if(!s||!a.hasConversion)return 1e5}else if(s&&a.hasConversion)return-1e5;if(l!==f)return(l-f)*1e4;if(o){if(!s)return 1e3}else if(s)return-1e3;let p=(n.length-r.length)*(o?-100:100);if(p!==0)return p;let m=[],h=0;for(let e=0;e<n.length;++e){let t=ee(n[e],r[e]);m.push(t),h+=t}if(h!==0)return(h<0?-10:10)+h;let g,_=9,v=_/(m.length+1);for(g of m){if(g!==0)return(g<0?-_:_)+g;_-=v}return 0}function ne(e){if(e.length===0)return[];let t=e.map(f);if(e.length===1)return t[0].conversionsTo;let n=new Set(e),r=new Set;for(let e=0;e<t.length;++e)for(let i of t[e].conversionsTo)n.has(i.from)||r.add(i.from);let i=[];for(let e of r){let n=u+1,r=null;for(let i=0;i<t.length;++i)for(let a of t[i].conversionsTo)a.from===e&&a.index<n&&(n=a.index,r=a);i.push(r)}return i}function re(e,t){let n=t,r=``;if(e.some(e=>e.hasConversion)){let i=E(e),a=e.map(ie);r=a.map(e=>e.name).join(`;`),n=function(){let e=[],n=i?arguments.length-1:arguments.length;for(let t=0;t<n;t++)e[t]=a[t](arguments[t]);return i&&(e[n]=arguments[n].map(a[n])),t.apply(this,e)}}let i=n;if(E(e)){let t=e.length-1;i=function(){return n.apply(this,fe(arguments,0,t).concat([fe(arguments,t)]))}}return r&&Object.defineProperty(i,"name",{value:r}),i}function ie(e){let t,n,r,i,a=[],o=[],s=``;e.types.forEach(function(e){e.conversion&&(s+=e.conversion.from+`~>`+e.conversion.to+`,`,a.push(f(e.conversion.from).test),o.push(e.conversion.convert))}),s=s?s.slice(0,-1):`pass`;let c=e=>e;switch(o.length){case 0:break;case 1:t=a[0],r=o[0],c=function(e){return t(e)?r(e):e};break;case 2:t=a[0],n=a[1],r=o[0],i=o[1],c=function(e){return t(e)?r(e):n(e)?i(e):e};break;default:c=function(e){for(let t=0;t<o.length;t++)if(a[t](e))return o[t](e);return e}}return Object.defineProperty(c,"name",{value:s}),c}function ae(e){function t(e,n,r){if(n<e.length){let i=e[n],a=[];if(i.restParam){let e=i.types.filter(j);e.length<i.types.length&&a.push({types:e,name:`...`+e.map(e=>e.name).join(`|`),hasAny:e.some(e=>e.isAny),hasConversion:!1,restParam:!0}),a.push(i)}else a=i.types.map(function(e){return{types:[e],name:e.name,hasAny:e.isAny,hasConversion:e.conversion,restParam:!1}});return me(a,function(i){return t(e,n+1,r.concat([i]))})}return[r]}return t(e,0,[])}function I(e,t){let n=Math.max(e.length,t.length);for(let r=0;r<n;r++){let n=A(e,r),i=A(t,r),a=!1,o;for(o of i)if(n.has(o)){a=!0;break}if(!a)return!1}let r=e.length,i=t.length,a=E(e),o=E(t);return a?o?r===i:i>=r:o?r>=i:r===i}function oe(e){return e.map(e=>ye(e)?_e(e.referToSelf.callback):ve(e)?ge(e.referTo.references,e.referTo.callback):e)}function L(e,t,n){let r=[],i;for(i of e){let e=n[i];if(typeof e!=`number`)throw TypeError(`No definition for referenced signature "`+i+`"`);if(e=t[e],typeof e!=`function`)return!1;r.push(e)}return r}function se(e,t,n){let r=oe(e),i=Array(r.length).fill(!1),a=!0;for(;a;){a=!1;let e=!0;for(let o=0;o<r.length;++o){if(i[o])continue;let s=r[o];if(ye(s))r[o]=s.referToSelf.callback(n),r[o].referToSelf=s.referToSelf,i[o]=!0,e=!1;else if(ve(s)){let n=L(s.referTo.references,r,t);n?(r[o]=s.referTo.callback.apply(this,n),r[o].referTo=s.referTo,i[o]=!0,e=!1):a=!0}}if(e&&a)throw SyntaxError(`Circular reference detected in resolving typed.referTo`)}return r}function ce(e){let t=/\bthis(\(|\.signatures\b)/;Object.keys(e).forEach(n=>{let r=e[n];if(t.test(r.toString()))throw SyntaxError("Using `this` to self-reference a function is deprecated since typed-function@3. Use typed.referTo and typed.referToSelf instead.")})}function R(e,r){if(d.createCount++,Object.keys(r).length===0)throw SyntaxError(`No signatures provided`);d.warnAgainstDeprecatedThis&&ce(r);let i=[],a=[],o={},s=[],c;for(c in r){if(!Object.prototype.hasOwnProperty.call(r,c))continue;let e=T(c);if(!e)continue;i.forEach(function(t){if(I(t,e))throw TypeError(`Conflicting signatures "`+x(t)+`" and "`+x(e)+`".`)}),i.push(e);let t=a.length;a.push(r[c]);let n=e.map(C),l;for(l of ae(n)){let e=x(l);s.push({params:l,name:e,fn:t}),l.every(e=>!e.hasConversion)&&(o[e]=t)}}s.sort(te);let l=se(a,o,Ce),u;for(u in o)Object.prototype.hasOwnProperty.call(o,u)&&(o[u]=l[o[u]]);let f=[],p=new Map;for(u of s)p.has(u.name)||(u.fn=l[u.fn],f.push(u),p.set(u.name,u));let m=f[0]&&f[0].params.length<=2&&!E(f[0].params),h=f[1]&&f[1].params.length<=2&&!E(f[1].params),g=f[2]&&f[2].params.length<=2&&!E(f[2].params),_=f[3]&&f[3].params.length<=2&&!E(f[3].params),v=f[4]&&f[4].params.length<=2&&!E(f[4].params),y=f[5]&&f[5].params.length<=2&&!E(f[5].params),b=m&&h&&g&&_&&v&&y;for(let e=0;e<f.length;++e)f[e].test=O(f[e].params);let S=m?D(f[0].params[0]):t,w=h?D(f[1].params[0]):t,k=g?D(f[2].params[0]):t,A=_?D(f[3].params[0]):t,j=v?D(f[4].params[0]):t,M=y?D(f[5].params[0]):t,N=m?D(f[0].params[1]):t,P=h?D(f[1].params[1]):t,F=g?D(f[2].params[1]):t,ee=_?D(f[3].params[1]):t,ne=v?D(f[4].params[1]):t,ie=y?D(f[5].params[1]):t;for(let e=0;e<f.length;++e)f[e].implementation=re(f[e].params,f[e].fn);let oe=m?f[0].implementation:n,L=h?f[1].implementation:n,R=g?f[2].implementation:n,le=_?f[3].implementation:n,ue=v?f[4].implementation:n,de=y?f[5].implementation:n,fe=m?f[0].params.length:-1,pe=h?f[1].params.length:-1,me=g?f[2].params.length:-1,he=_?f[3].params.length:-1,ge=v?f[4].params.length:-1,_e=y?f[5].params.length:-1,ve=b?6:0,ye=f.length,be=f.map(e=>e.test),xe=f.map(e=>e.implementation),Se=function(){for(let e=ve;e<ye;e++)if(be[e](arguments))return xe[e].apply(this,arguments);return d.onMismatch(e,arguments,f)};function Ce(e,t){return arguments.length===fe&&S(e)&&N(t)?oe.apply(this,arguments):arguments.length===pe&&w(e)&&P(t)?L.apply(this,arguments):arguments.length===me&&k(e)&&F(t)?R.apply(this,arguments):arguments.length===he&&A(e)&&ee(t)?le.apply(this,arguments):arguments.length===ge&&j(e)&&ne(t)?ue.apply(this,arguments):arguments.length===_e&&M(e)&&ie(t)?de.apply(this,arguments):Se.apply(this,arguments)}try{Object.defineProperty(Ce,"name",{value:e})}catch{}return Ce.signatures=o,Ce._typedFunctionData={signatures:f,signatureMap:p},Ce}function le(e,t,n){throw N(e,t,n)}function ue(e){return fe(e,0,e.length-1)}function de(e){return e[e.length-1]}function fe(e,t,n){return Array.prototype.slice.call(e,t,n)}function pe(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return e[n]}function me(e,t){return Array.prototype.concat.apply([],e.map(t))}function he(){let e=ue(arguments).map(e=>x(T(e))),t=de(arguments);if(typeof t!=`function`)throw TypeError(`Callback function expected as last argument`);return ge(e,t)}function ge(e,t){return{referTo:{references:e,callback:t}}}function _e(e){if(typeof e!=`function`)throw TypeError(`Callback function expected as first argument`);return{referToSelf:{callback:e}}}function ve(e){return e&&typeof e.referTo==`object`&&Array.isArray(e.referTo.references)&&typeof e.referTo.callback==`function`}function ye(e){return e&&typeof e.referToSelf==`object`&&typeof e.referToSelf.callback==`function`}function be(e,t){if(!e)return t;if(t&&t!==e){let n=Error(`Function names do not match (expected: `+e+`, actual: `+t+`)`);throw n.data={actual:t,expected:e},n}return e}function xe(e){let t;for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(_(e[n])||typeof e[n].signature==`string`)&&(t=be(t,e[n].name));return t}function Se(e,t){let n;for(n in t)if(Object.prototype.hasOwnProperty.call(t,n)){if(n in e&&t[n]!==e[n]){let r=Error(`Signature "`+n+`" is defined twice`);throw r.data={signature:n,sourceFunction:t[n],destFunction:e[n]},r}e[n]=t[n]}}let Ce=d;d=function(e){let t=typeof e==`string`,n=+!!t,r=t?e:``,i={};for(let e=n;e<arguments.length;++e){let n=arguments[e],o={},s;if(typeof n==`function`?(s=n.name,typeof n.signature==`string`?o[n.signature]=n:_(n)&&(o=n.signatures)):a(n)&&(o=n,t||(s=xe(n))),Object.keys(o).length===0){let t=TypeError(`Argument to 'typed' at index `+e+` is not a (typed) function, nor an object with signatures as keys and functions as values.`);throw t.data={index:e,argument:n},t}t||(r=be(r,s)),Se(i,o)}return R(r||``,i)},d.create=i,d.createCount=Ce.createCount,d.onMismatch=le,d.throwMismatchError=le,d.createError=N,d.clear=m,d.clearConversions=h,d.addTypes=p,d._findType=f,d.referTo=he,d.referToSelf=_e,d.convert=b,d.findSignature=v,d.find=y,d.isTypedFunction=_,d.warnAgainstDeprecatedThis=!0,d.addType=function(e,t){let n=`any`;t!==!1&&c.has(`Object`)&&(n=`Object`),d.addTypes([e],n)};function we(e){if(!e||typeof e.from!=`string`||typeof e.to!=`string`||typeof e.convert!=`function`)throw TypeError(`Object with properties {from: string, to: string, convert: function} expected`);if(e.to===e.from)throw SyntaxError(`Illegal to define conversion from "`+e.from+`" to itself.`)}return d.addConversion=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{override:!1};we(e);let n=f(e.to),r=n.conversionsTo.find(t=>t.from===e.from);if(r){if(t&&t.override)d.removeConversion({from:r.from,to:e.to,convert:r.convert});else throw Error(`There is already a conversion from "`+e.from+`" to "`+n.name+`"`)}n.conversionsTo.push({from:e.from,to:n.name,convert:e.convert,index:u++})},d.addConversions=function(e,t){e.forEach(e=>d.addConversion(e,t))},d.removeConversion=function(e){we(e);let t=f(e.to),n=pe(t.conversionsTo,t=>t.from===e.from);if(!n)throw Error(`Attempt to remove nonexistent conversion from `+e.from+` to `+e.to);if(n.convert!==e.convert)throw Error(`Conversion to remove does not match existing conversion`);let r=t.conversionsTo.indexOf(n);t.conversionsTo.splice(r,1)},d.resolve=function(e,t){if(!_(e))throw TypeError(r);let n=e._typedFunctionData.signatures;for(let e=0;e<n.length;++e)if(n[e].test(t))return n[e];return null},d}return i()}))}));function V(e,t,n,r){function i(r){var i=He(r,t.map(Ze));return Ye(e,t,r),n(i)}return i.isFactory=!0,i.fn=e,i.dependencies=t.slice().sort(),r&&(i.meta=r),i}function Je(e){return typeof e==`function`&&typeof e.fn==`string`&&Array.isArray(e.dependencies)}function Ye(e,t,n){if(!t.filter(e=>!Xe(e)).every(e=>n[e]!==void 0)){var r=t.filter(e=>n[e]===void 0);throw Error(`Cannot create function "${e}", some dependencies are missing: ${r.map(e=>`"${e}"`).join(`, `)}.`)}}function Xe(e){return e&&e[0]===`?`}function Ze(e){return e&&e[0]===`?`?e.slice(1):e}function H(e){return typeof e==`boolean`?!0:Number.isFinite(e)?e===Math.round(e):!1}function Qe(e,t){if(t.number===`bigint`)try{BigInt(e)}catch{return t.numberFallback}return t.number}var $e=Math.sign||function(e){return e>0?1:e<0?-1:0},et=Math.log2||function(e){return Math.log(e)/Math.LN2},tt=Math.log10||function(e){return Math.log(e)/Math.LN10},nt=Math.log1p||function(e){return Math.log(e+1)},rt=Math.cbrt||function(e){if(e===0)return e;var t=e<0,n;return t&&(e=-e),Number.isFinite(e)?(n=Math.exp(Math.log(e)/3),n=(e/(n*n)+2*n)/3):n=e,t?-n:n},it=Math.expm1||function(e){return e>=2e-4||e<=-2e-4?Math.exp(e)-1:e+e*e/2+e*e*e/6};function at(e,t,n){var r={2:`0b`,8:`0o`,16:`0x`}[t],i=``;if(n){if(n<1)throw Error(`size must be in greater than 0`);if(!H(n))throw Error(`size must be an integer`);if(e>2**(n-1)-1||e<-(2**(n-1)))throw Error(`Value must be in range [-2^${n-1}, 2^${n-1}-1]`);if(!H(e))throw Error(`Value must be an integer`);e<0&&(e+=2**n),i=`i${n}`}var a=``;return e<0&&(e=-e,a=`-`),`${a}${r}${e.toString(t)}${i}`}function ot(e,t){if(typeof t==`function`)return t(e);if(e===1/0)return`Infinity`;if(e===-1/0)return`-Infinity`;if(isNaN(e))return`NaN`;var{notation:n,precision:r,wordSize:i}=st(t);switch(n){case`fixed`:return ut(e,r);case`exponential`:return dt(e,r);case`engineering`:return lt(e,r);case`bin`:return at(e,2,i);case`oct`:return at(e,8,i);case`hex`:return at(e,16,i);case`auto`:return ft(e,r,t).replace(/((\.\d*?)(0+))($|e)/,function(){var e=arguments[2],t=arguments[4];return e===`.`?t:e+t});default:throw Error(`Unknown notation "`+n+`". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.`)}}function st(e){var t=`auto`,n,r;if(e!==void 0){if(D(e))n=e;else if(O(e))n=e.toNumber();else if(R(e))e.precision!==void 0&&(n=wt(e.precision,()=>{throw Error(`Option "precision" must be a number or BigNumber`)})),e.wordSize!==void 0&&(r=wt(e.wordSize,()=>{throw Error(`Option "wordSize" must be a number or BigNumber`)})),e.notation&&(t=e.notation);else throw Error(`Unsupported type of options, number, BigNumber, or object expected`)}return{notation:t,precision:n,wordSize:r}}function ct(e){var t=String(e).toLowerCase().match(/^(-?)(\d+\.?\d*)(e([+-]?\d+))?$/);if(!t)throw SyntaxError(`Invalid number `+e);var n=t[1],r=t[2],i=parseFloat(t[4]||`0`),a=r.indexOf(`.`);i+=a===-1?r.length-1:a-1;var o=r.replace(`.`,``).replace(/^0*/,function(e){return i-=e.length,``}).replace(/0*$/,``).split(``).map(function(e){return parseInt(e)});return o.length===0&&(o.push(0),i++),{sign:n,coefficients:o,exponent:i}}function lt(e,t){if(isNaN(e)||!Number.isFinite(e))return String(e);var n=pt(ct(e),t),r=n.exponent,i=n.coefficients,a=r%3==0?r:r<0?r-3-r%3:r-r%3;if(D(t))for(;t>i.length||r-a+1>i.length;)i.push(0);else for(var o=Math.abs(r-a)-(i.length-1),s=0;s<o;s++)i.push(0);for(var c=Math.abs(r-a),l=1;c>0;)l++,c--;var u=i.slice(l).join(``),d=D(t)&&u.length||u.match(/[1-9]/)?`.`+u:``,f=i.slice(0,l).join(``)+d+`e`+(r>=0?`+`:``)+a.toString();return n.sign+f}function ut(e,t){if(isNaN(e)||!Number.isFinite(e))return String(e);var n=ct(e),r=typeof t==`number`?pt(n,n.exponent+1+t):n,i=r.coefficients,a=r.exponent+1,o=a+(t||0);return i.length<o&&(i=i.concat(mt(o-i.length))),a<0&&(i=mt(-a+1).concat(i),a=1),a<i.length&&i.splice(a,0,a===0?`0.`:`.`),r.sign+i.join(``)}function dt(e,t){if(isNaN(e)||!Number.isFinite(Number(e)))return String(e);var n=ct(e),r=t?pt(n,t):n,i=r.coefficients,a=r.exponent;i.length<t&&(i=i.concat(mt(t-i.length)));var o=i.shift();return r.sign+o+(i.length>0?`.`+i.join(``):``)+`e`+(a>=0?`+`:``)+a}function ft(e,t,n){if(isNaN(e)||!Number.isFinite(e))return String(e);var r=Tt(n?.lowerExp,-3),i=Tt(n?.upperExp,5),a=ct(e),o=t?pt(a,t):a;if(o.exponent<r||o.exponent>=i)return dt(e,t);var s=o.coefficients,c=o.exponent;s.length<t&&(s=s.concat(mt(t-s.length))),s=s.concat(mt(c-s.length+1+(s.length<t?t-s.length:0))),s=mt(-c).concat(s);var l=c>0?c:0;return l<s.length-1&&s.splice(l+1,0,`.`),o.sign+s.join(``)}function pt(e,t){for(var n={sign:e.sign,coefficients:e.coefficients,exponent:e.exponent},r=n.coefficients;t<=0;)r.unshift(0),n.exponent++,t++;if(r.length>t&&r.splice(t,r.length-t)[0]>=5){var i=t-1;for(r[i]++;r[i]===10;)r.pop(),i===0&&(r.unshift(0),n.exponent++,i++),i--,r[i]++}return n}function mt(e){for(var t=[],n=0;n<e;n++)t.push(0);return t}function ht(e){return e.toExponential().replace(/e.*$/,``).replace(/^0\.?0*|\./,``).length}function gt(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-8,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(n<=0)throw Error(`Relative tolerance must be greater than 0`);if(r<0)throw Error(`Absolute tolerance must be at least 0`);return isNaN(e)||isNaN(t)?!1:!Number.isFinite(e)||!Number.isFinite(t)?e===t:e===t||Math.abs(e-t)<=Math.max(n*Math.max(Math.abs(e),Math.abs(t)),r)}var _t=Math.acosh||function(e){return Math.log(Math.sqrt(e*e-1)+e)},vt=Math.asinh||function(e){return Math.log(Math.sqrt(e*e+1)+e)},yt=Math.atanh||function(e){return Math.log((1+e)/(1-e))/2},bt=Math.cosh||function(e){return(Math.exp(e)+Math.exp(-e))/2},xt=Math.sinh||function(e){return(Math.exp(e)-Math.exp(-e))/2},St=Math.tanh||function(e){var t=Math.exp(2*e);return(t-1)/(t+1)};function Ct(e,t){return(e>0?!0:e<0?!1:1/e==1/0)^(t>0?!0:t<0?!1:1/t==1/0)?-e:e}function wt(e,t){if(D(e))return e;if(O(e))return e.toNumber();t()}function Tt(e,t){return D(e)?e:O(e)?e.toNumber():t}var Et=l(qe(),1),Dt=function(){return Dt=Et.default.create,Et.default},Ot=V(`typed`,[`?BigNumber`,`?Complex`,`?DenseMatrix`,`?Fraction`],function(e){var{BigNumber:t,Complex:n,DenseMatrix:r,Fraction:i}=e,a=Dt();return a.clear(),a.addTypes([{name:`number`,test:D},{name:`Complex`,test:A},{name:`BigNumber`,test:O},{name:`bigint`,test:k},{name:`Fraction`,test:j},{name:`Unit`,test:M},{name:`identifier`,test:e=>N&&/^(?:[A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])(?:[0-9A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF40\uDF42-\uDF49\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD40-\uDD59\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC7\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDB0-\uDDDB\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDEA0-\uDEB8\uDEBB-\uDED3\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3\uDFF2\uDFF3]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDEC0-\uDEDE\uDEE0-\uDEE2\uDEE4\uDEE5\uDEE7-\uDEED\uDEF0-\uDEF4\uDEFE\uDEFF\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79])*$/.test(e)},{name:`string`,test:N},{name:`Chain`,test:je},{name:`Array`,test:P},{name:`Matrix`,test:F},{name:`DenseMatrix`,test:te},{name:`SparseMatrix`,test:ne},{name:`Range`,test:re},{name:`Index`,test:ie},{name:`boolean`,test:ae},{name:`ResultSet`,test:I},{name:`Help`,test:oe},{name:`function`,test:L},{name:`Date`,test:se},{name:`RegExp`,test:ce},{name:`null`,test:fe},{name:`undefined`,test:pe},{name:`AccessorNode`,test:me},{name:`ArrayNode`,test:he},{name:`AssignmentNode`,test:ge},{name:`BlockNode`,test:_e},{name:`ConditionalNode`,test:ve},{name:`ConstantNode`,test:ye},{name:`FunctionNode`,test:Se},{name:`FunctionAssignmentNode`,test:xe},{name:`IndexNode`,test:Ce},{name:`Node`,test:we},{name:`ObjectNode`,test:Te},{name:`OperatorNode`,test:Ee},{name:`ParenthesisNode`,test:De},{name:`RangeNode`,test:Oe},{name:`RelationalNode`,test:ke},{name:`SymbolNode`,test:Ae},{name:`Map`,test:le},{name:`Object`,test:R}]),a.addConversions([{from:`number`,to:`BigNumber`,convert:function(e){if(t||kt(e),ht(e)>15)throw TypeError(`Cannot implicitly convert a number with >15 significant digits to BigNumber (value: `+e+`). Use function bignumber(x) to convert to BigNumber.`);return new t(e)}},{from:`number`,to:`Complex`,convert:function(e){return n||At(e),new n(e,0)}},{from:`BigNumber`,to:`Complex`,convert:function(e){return n||At(e),new n(e.toNumber(),0)}},{from:`bigint`,to:`number`,convert:function(e){if(e>2**53-1)throw TypeError(`Cannot implicitly convert bigint to number: value exceeds the max safe integer value (value: `+e+`)`);return Number(e)}},{from:`bigint`,to:`BigNumber`,convert:function(e){return t||kt(e),new t(e.toString())}},{from:`bigint`,to:`Fraction`,convert:function(e){return i||Mt(e),new i(e)}},{from:`Fraction`,to:`BigNumber`,convert:function(e){throw TypeError(`Cannot implicitly convert a Fraction to BigNumber or vice versa. Use function bignumber(x) to convert to BigNumber or fraction(x) to convert to Fraction.`)}},{from:`Fraction`,to:`Complex`,convert:function(e){return n||At(e),new n(e.valueOf(),0)}},{from:`number`,to:`Fraction`,convert:function(e){i||Mt(e);var t=new i(e);if(t.valueOf()!==e)throw TypeError(`Cannot implicitly convert a number to a Fraction when there will be a loss of precision (value: `+e+`). Use function fraction(x) to convert to Fraction.`);return t}},{from:`string`,to:`number`,convert:function(e){var t=Number(e);if(isNaN(t))throw Error(`Cannot convert "`+e+`" to a number`);return t}},{from:`string`,to:`BigNumber`,convert:function(e){t||kt(e);try{return new t(e)}catch{throw Error(`Cannot convert "`+e+`" to BigNumber`)}}},{from:`string`,to:`bigint`,convert:function(e){try{return BigInt(e)}catch{throw Error(`Cannot convert "`+e+`" to BigInt`)}}},{from:`string`,to:`Fraction`,convert:function(e){i||Mt(e);try{return new i(e)}catch{throw Error(`Cannot convert "`+e+`" to Fraction`)}}},{from:`string`,to:`Complex`,convert:function(e){n||At(e);try{return new n(e)}catch{throw Error(`Cannot convert "`+e+`" to Complex`)}}},{from:`boolean`,to:`number`,convert:function(e){return+e}},{from:`boolean`,to:`BigNumber`,convert:function(e){return t||kt(e),new t(+e)}},{from:`boolean`,to:`bigint`,convert:function(e){return BigInt(+e)}},{from:`boolean`,to:`Fraction`,convert:function(e){return i||Mt(e),new i(+e)}},{from:`boolean`,to:`string`,convert:function(e){return String(e)}},{from:`Array`,to:`Matrix`,convert:function(e){return r||jt(),new r(e)}},{from:`Matrix`,to:`Array`,convert:function(e){return e.valueOf()}}]),a.onMismatch=(e,t,n)=>{var r=a.createError(e,t,n);if([`wrongType`,`mismatch`].includes(r.data.category)&&t.length===1&&ee(t[0])&&n.some(e=>!e.params.includes(`,`))){var i=TypeError(`Function '${e}' doesn't apply to matrices. To call it elementwise on a matrix 'M', try 'map(M, ${e})'.`);throw i.data=r.data,i}throw r},a.onMismatch=(e,t,n)=>{var r=a.createError(e,t,n);if([`wrongType`,`mismatch`].includes(r.data.category)&&t.length===1&&ee(t[0])&&n.some(e=>!e.params.includes(`,`))){var i=TypeError(`Function '${e}' doesn't apply to matrices. To call it elementwise on a matrix 'M', try 'map(M, ${e})'.`);throw i.data=r.data,i}throw r},a});function kt(e){throw Error(`Cannot convert value ${e} into a BigNumber: no class 'BigNumber' provided`)}function At(e){throw Error(`Cannot convert value ${e} into a Complex number: no class 'Complex' provided`)}function jt(){throw Error(`Cannot convert array into a Matrix: no class 'DenseMatrix' provided`)}function Mt(e){throw Error(`Cannot convert value ${e} into a Fraction, no class 'Fraction' provided.`)}var Nt=V(`ResultSet`,[],()=>{function e(t){if(!(this instanceof e))throw SyntaxError(`Constructor must be called with the new operator`);this.entries=t||[]}return e.prototype.type=`ResultSet`,e.prototype.isResultSet=!0,e.prototype.valueOf=function(){return this.entries},e.prototype.toString=function(){return`[`+this.entries.map(String).join(`, `)+`]`},e.prototype.toJSON=function(){return{mathjs:`ResultSet`,entries:this.entries}},e.fromJSON=function(t){return new e(t.entries)},e},{isClass:!0}),Pt=9e15,Ft=1e9,It=`0123456789abcdef`,Lt=`2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058`,Rt=`3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789`,zt={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Pt,maxE:Pt,crypto:!1},Bt,Vt,Ht=!0,Ut=`[DecimalError] `,Wt=Ut+`Invalid argument: `,Gt=Ut+`Precision limit exceeded`,Kt=Ut+`crypto unavailable`,qt=`[object Decimal]`,Jt=Math.floor,Yt=Math.pow,Xt=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,Zt=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,Qt=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,$t=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,en=1e7,tn=7,nn=9007199254740991,rn=Lt.length-1,an=Rt.length-1,U={toStringTag:qt};U.absoluteValue=U.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),W(e)},U.ceil=function(){return W(new this.constructor(this),this.e+1,2)},U.clampedTo=U.clamp=function(e,t){var n,r=this,i=r.constructor;if(e=new i(e),t=new i(t),!e.s||!t.s)return new i(NaN);if(e.gt(t))throw Error(Wt+t);return n=r.cmp(e),n<0?e:r.cmp(t)>0?t:new i(r)},U.comparedTo=U.cmp=function(e){var t,n,r,i,a=this,o=a.d,s=(e=new a.constructor(e)).d,c=a.s,l=e.s;if(!o||!s)return!c||!l?NaN:c===l?o===s?0:!o^c<0?1:-1:c;if(!o[0]||!s[0])return o[0]?c:s[0]?-l:0;if(c!==l)return c;if(a.e!==e.e)return a.e>e.e^c<0?1:-1;for(r=o.length,i=s.length,t=0,n=r<i?r:i;t<n;++t)if(o[t]!==s[t])return o[t]>s[t]^c<0?1:-1;return r===i?0:r>i^c<0?1:-1},U.cosine=U.cos=function(){var e,t,n=this,r=n.constructor;return n.d?n.d[0]?(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+tn,r.rounding=1,n=un(r,kn(r,n)),r.precision=e,r.rounding=t,W(Vt==2||Vt==3?n.neg():n,e,t,!0)):new r(1):new r(NaN)},U.cubeRoot=U.cbrt=function(){var e,t,n,r,i,a,o,s,c,l,u=this,d=u.constructor;if(!u.isFinite()||u.isZero())return new d(u);for(Ht=!1,a=u.s*Yt(u.s*u,1/3),!a||Math.abs(a)==1/0?(n=on(u.d),e=u.e,(a=(e-n.length+1)%3)&&(n+=a==1||a==-2?`0`:`00`),a=Yt(n,1/3),e=Jt((e+1)/3)-(e%3==(e<0?-1:2)),a==1/0?n=`5e`+e:(n=a.toExponential(),n=n.slice(0,n.indexOf(`e`)+1)+e),r=new d(n),r.s=u.s):r=new d(a.toString()),o=(e=d.precision)+3;;)if(s=r,c=s.times(s).times(s),l=c.plus(u),r=dn(l.plus(u).times(s),l.plus(c),o+2,1),on(s.d).slice(0,o)===(n=on(r.d)).slice(0,o)){if(n=n.slice(o-3,o+1),n==`9999`||!i&&n==`4999`){if(!i&&(W(s,e+1,0),s.times(s).times(s).eq(u))){r=s;break}o+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)==`5`)&&(W(r,e+1,1),t=!r.times(r).times(r).eq(u));break}}return Ht=!0,W(r,e,d.rounding,t)},U.decimalPlaces=U.dp=function(){var e,t=this.d,n=NaN;if(t){if(e=t.length-1,n=(e-Jt(this.e/tn))*tn,e=t[e],e)for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n},U.dividedBy=U.div=function(e){return dn(this,new this.constructor(e))},U.dividedToIntegerBy=U.divToInt=function(e){var t=this,n=t.constructor;return W(dn(t,new n(e),0,1,1),n.precision,n.rounding)},U.equals=U.eq=function(e){return this.cmp(e)===0},U.floor=function(){return W(new this.constructor(this),this.e+1,3)},U.greaterThan=U.gt=function(e){return this.cmp(e)>0},U.greaterThanOrEqualTo=U.gte=function(e){var t=this.cmp(e);return t==1||t===0},U.hyperbolicCosine=U.cosh=function(){var e,t,n,r,i,a=this,o=a.constructor,s=new o(1);if(!a.isFinite())return new o(a.s?1/0:NaN);if(a.isZero())return s;n=o.precision,r=o.rounding,o.precision=n+Math.max(a.e,a.sd())+4,o.rounding=1,i=a.d.length,i<32?(e=Math.ceil(i/3),t=(1/On(4,e)).toString()):(e=16,t=`2.3283064365386962890625e-10`),a=Dn(o,1,a.times(t),new o(1),!0);for(var c,l=e,u=new o(8);l--;)c=a.times(a),a=s.minus(c.times(u.minus(c.times(u))));return W(a,o.precision=n,o.rounding=r,!0)},U.hyperbolicSine=U.sinh=function(){var e,t,n,r,i=this,a=i.constructor;if(!i.isFinite()||i.isZero())return new a(i);if(t=a.precision,n=a.rounding,a.precision=t+Math.max(i.e,i.sd())+4,a.rounding=1,r=i.d.length,r<3)i=Dn(a,2,i,i,!0);else{e=1.4*Math.sqrt(r),e=e>16?16:e|0,i=i.times(1/On(5,e)),i=Dn(a,2,i,i,!0);for(var o,s=new a(5),c=new a(16),l=new a(20);e--;)o=i.times(i),i=i.times(s.plus(o.times(c.times(o).plus(l))))}return a.precision=t,a.rounding=n,W(i,t,n,!0)},U.hyperbolicTangent=U.tanh=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+7,r.rounding=1,dn(n.sinh(),n.cosh(),r.precision=e,r.rounding=t)):new r(n.s)},U.inverseCosine=U.acos=function(){var e=this,t=e.constructor,n=e.abs().cmp(1),r=t.precision,i=t.rounding;return n===-1?e.isZero()?hn(t,r+4,i).times(.5):(t.precision=r+6,t.rounding=1,e=new t(1).minus(e).div(e.plus(1)).sqrt().atan(),t.precision=r,t.rounding=i,e.times(2)):n===0?e.isNeg()?hn(t,r,i):new t(0):new t(NaN)},U.inverseHyperbolicCosine=U.acosh=function(){var e,t,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(e=r.precision,t=r.rounding,r.precision=e+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,Ht=!1,n=n.times(n).minus(1).sqrt().plus(n),Ht=!0,r.precision=e,r.rounding=t,n.ln()):new r(n)},U.inverseHyperbolicSine=U.asinh=function(){var e,t,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,Ht=!1,n=n.times(n).plus(1).sqrt().plus(n),Ht=!0,r.precision=e,r.rounding=t,n.ln())},U.inverseHyperbolicTangent=U.atanh=function(){var e,t,n,r,i=this,a=i.constructor;return i.isFinite()?i.e>=0?new a(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(e=a.precision,t=a.rounding,r=i.sd(),Math.max(r,e)<2*-i.e-1?W(new a(i),e,t,!0):(a.precision=n=r-i.e,i=dn(i.plus(1),new a(1).minus(i),n+e,1),a.precision=e+4,a.rounding=1,i=i.ln(),a.precision=e,a.rounding=t,i.times(.5))):new a(NaN)},U.inverseSine=U.asin=function(){var e,t,n,r,i=this,a=i.constructor;return i.isZero()?new a(i):(t=i.abs().cmp(1),n=a.precision,r=a.rounding,t===-1?(a.precision=n+6,a.rounding=1,i=i.div(new a(1).minus(i.times(i)).sqrt().plus(1)).atan(),a.precision=n,a.rounding=r,i.times(2)):t===0?(e=hn(a,n+4,r).times(.5),e.s=i.s,e):new a(NaN))},U.inverseTangent=U.atan=function(){var e,t,n,r,i,a,o,s,c,l=this,u=l.constructor,d=u.precision,f=u.rounding;if(!l.isFinite()){if(!l.s)return new u(NaN);if(d+4<=an)return o=hn(u,d+4,f).times(.5),o.s=l.s,o}else if(l.isZero())return new u(l);else if(l.abs().eq(1)&&d+4<=an)return o=hn(u,d+4,f).times(.25),o.s=l.s,o;for(u.precision=s=d+10,u.rounding=1,n=Math.min(28,s/tn+2|0),e=n;e;--e)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(Ht=!1,t=Math.ceil(s/tn),r=1,c=l.times(l),o=new u(l),i=l;e!==-1;)if(i=i.times(c),a=o.minus(i.div(r+=2)),i=i.times(c),o=a.plus(i.div(r+=2)),o.d[t]!==void 0)for(e=t;o.d[e]===a.d[e]&&e--;);return n&&(o=o.times(2<<n-1)),Ht=!0,W(o,u.precision=d,u.rounding=f,!0)},U.isFinite=function(){return!!this.d},U.isInteger=U.isInt=function(){return!!this.d&&Jt(this.e/tn)>this.d.length-2},U.isNaN=function(){return!this.s},U.isNegative=U.isNeg=function(){return this.s<0},U.isPositive=U.isPos=function(){return this.s>0},U.isZero=function(){return!!this.d&&this.d[0]===0},U.lessThan=U.lt=function(e){return this.cmp(e)<0},U.lessThanOrEqualTo=U.lte=function(e){return this.cmp(e)<1},U.logarithm=U.log=function(e){var t,n,r,i,a,o,s,c,l=this,u=l.constructor,d=u.precision,f=u.rounding,p=5;if(e==null)e=new u(10),t=!0;else{if(e=new u(e),n=e.d,e.s<0||!n||!n[0]||e.eq(1))return new u(NaN);t=e.eq(10)}if(n=l.d,l.s<0||!n||!n[0]||l.eq(1))return new u(n&&!n[0]?-1/0:l.s==1?n?0:1/0:NaN);if(t){if(n.length>1)a=!0;else{for(i=n[0];i%10==0;)i/=10;a=i!==1}}if(Ht=!1,s=d+p,o=Sn(l,s),r=t?mn(u,s+10):Sn(e,s),c=dn(o,r,s,1),cn(c.d,i=d,f))do if(s+=10,o=Sn(l,s),r=t?mn(u,s+10):Sn(e,s),c=dn(o,r,s,1),!a){+on(c.d).slice(i+1,i+15)+1==0x5af3107a4000&&(c=W(c,d+1,0));break}while(cn(c.d,i+=10,f));return Ht=!0,W(c,d,f)},U.minus=U.sub=function(e){var t,n,r,i,a,o,s,c,l,u,d,f,p=this,m=p.constructor;if(e=new m(e),!p.d||!e.d)return!p.s||!e.s?e=new m(NaN):p.d?e.s=-e.s:e=new m(e.d||p.s!==e.s?p:NaN),e;if(p.s!=e.s)return e.s=-e.s,p.plus(e);if(l=p.d,f=e.d,s=m.precision,c=m.rounding,!l[0]||!f[0]){if(f[0])e.s=-e.s;else if(l[0])e=new m(p);else return new m(c===3?-0:0);return Ht?W(e,s,c):e}if(n=Jt(e.e/tn),u=Jt(p.e/tn),l=l.slice(),a=u-n,a){for(d=a<0,d?(t=l,a=-a,o=f.length):(t=f,n=u,o=l.length),r=Math.max(Math.ceil(s/tn),o)+2,a>r&&(a=r,t.length=1),t.reverse(),r=a;r--;)t.push(0);t.reverse()}else{for(r=l.length,o=f.length,d=r<o,d&&(o=r),r=0;r<o;r++)if(l[r]!=f[r]){d=l[r]<f[r];break}a=0}for(d&&(t=l,l=f,f=t,e.s=-e.s),o=l.length,r=f.length-o;r>0;--r)l[o++]=0;for(r=f.length;r>a;){if(l[--r]<f[r]){for(i=r;i&&l[--i]===0;)l[i]=en-1;--l[i],l[r]+=en}l[r]-=f[r]}for(;l[--o]===0;)l.pop();for(;l[0]===0;l.shift())--n;return l[0]?(e.d=l,e.e=pn(l,n),Ht?W(e,s,c):e):new m(c===3?-0:0)},U.modulo=U.mod=function(e){var t,n=this,r=n.constructor;return e=new r(e),!n.d||!e.s||e.d&&!e.d[0]?new r(NaN):!e.d||n.d&&!n.d[0]?W(new r(n),r.precision,r.rounding):(Ht=!1,r.modulo==9?(t=dn(n,e.abs(),0,3,1),t.s*=e.s):t=dn(n,e,0,r.modulo,1),t=t.times(e),Ht=!0,n.minus(t))},U.naturalExponential=U.exp=function(){return xn(this)},U.naturalLogarithm=U.ln=function(){return Sn(this)},U.negated=U.neg=function(){var e=new this.constructor(this);return e.s=-e.s,W(e)},U.plus=U.add=function(e){var t,n,r,i,a,o,s,c,l,u,d=this,f=d.constructor;if(e=new f(e),!d.d||!e.d)return!d.s||!e.s?e=new f(NaN):d.d||(e=new f(e.d||d.s===e.s?d:NaN)),e;if(d.s!=e.s)return e.s=-e.s,d.minus(e);if(l=d.d,u=e.d,s=f.precision,c=f.rounding,!l[0]||!u[0])return u[0]||(e=new f(d)),Ht?W(e,s,c):e;if(a=Jt(d.e/tn),r=Jt(e.e/tn),l=l.slice(),i=a-r,i){for(i<0?(n=l,i=-i,o=u.length):(n=u,r=a,o=l.length),a=Math.ceil(s/tn),o=a>o?a+1:o+1,i>o&&(i=o,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(o=l.length,i=u.length,o-i<0&&(i=o,n=u,u=l,l=n),t=0;i;)t=(l[--i]=l[i]+u[i]+t)/en|0,l[i]%=en;for(t&&(l.unshift(t),++r),o=l.length;l[--o]==0;)l.pop();return e.d=l,e.e=pn(l,r),Ht?W(e,s,c):e},U.precision=U.sd=function(e){var t,n=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Wt+e);return n.d?(t=gn(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t},U.round=function(){var e=this,t=e.constructor;return W(new t(e),e.e+1,t.rounding)},U.sine=U.sin=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+Math.max(n.e,n.sd())+tn,r.rounding=1,n=En(r,kn(r,n)),r.precision=e,r.rounding=t,W(Vt>2?n.neg():n,e,t,!0)):new r(NaN)},U.squareRoot=U.sqrt=function(){var e,t,n,r,i,a,o=this,s=o.d,c=o.e,l=o.s,u=o.constructor;if(l!==1||!s||!s[0])return new u(!l||l<0&&(!s||s[0])?NaN:s?o:1/0);for(Ht=!1,l=Math.sqrt(+o),l==0||l==1/0?(t=on(s),(t.length+c)%2==0&&(t+=`0`),l=Math.sqrt(t),c=Jt((c+1)/2)-(c<0||c%2),l==1/0?t=`5e`+c:(t=l.toExponential(),t=t.slice(0,t.indexOf(`e`)+1)+c),r=new u(t)):r=new u(l.toString()),n=(c=u.precision)+3;;)if(a=r,r=a.plus(dn(o,a,n+2,1)).times(.5),on(a.d).slice(0,n)===(t=on(r.d)).slice(0,n)){if(t=t.slice(n-3,n+1),t==`9999`||!i&&t==`4999`){if(!i&&(W(a,c+1,0),a.times(a).eq(o))){r=a;break}n+=4,i=1}else{(!+t||!+t.slice(1)&&t.charAt(0)==`5`)&&(W(r,c+1,1),e=!r.times(r).eq(o));break}}return Ht=!0,W(r,c,u.rounding,e)},U.tangent=U.tan=function(){var e,t,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(e=r.precision,t=r.rounding,r.precision=e+10,r.rounding=1,n=n.sin(),n.s=1,n=dn(n,new r(1).minus(n.times(n)).sqrt(),e+10,0),r.precision=e,r.rounding=t,W(Vt==2||Vt==4?n.neg():n,e,t,!0)):new r(NaN)},U.times=U.mul=function(e){var t,n,r,i,a,o,s,c,l,u=this,d=u.constructor,f=u.d,p=(e=new d(e)).d;if(e.s*=u.s,!f||!f[0]||!p||!p[0])return new d(!e.s||f&&!f[0]&&!p||p&&!p[0]&&!f?NaN:!f||!p?e.s/0:e.s*0);for(n=Jt(u.e/tn)+Jt(e.e/tn),c=f.length,l=p.length,c<l&&(a=f,f=p,p=a,o=c,c=l,l=o),a=[],o=c+l,r=o;r--;)a.push(0);for(r=l;--r>=0;){for(t=0,i=c+r;i>r;)s=a[i]+p[r]*f[i-r-1]+t,a[i--]=s%en|0,t=s/en|0;a[i]=(a[i]+t)%en|0}for(;!a[--o];)a.pop();return t?++n:a.shift(),e.d=a,e.e=pn(a,n),Ht?W(e,d.precision,d.rounding):e},U.toBinary=function(e,t){return An(this,2,e,t)},U.toDecimalPlaces=U.toDP=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(sn(e,0,Ft),t===void 0?t=r.rounding:sn(t,0,8),W(n,e+n.e+1,t))},U.toExponential=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=fn(r,!0):(sn(e,0,Ft),t===void 0?t=i.rounding:sn(t,0,8),r=W(new i(r),e+1,t),n=fn(r,!0,e+1)),r.isNeg()&&!r.isZero()?`-`+n:n},U.toFixed=function(e,t){var n,r,i=this,a=i.constructor;return e===void 0?n=fn(i):(sn(e,0,Ft),t===void 0?t=a.rounding:sn(t,0,8),r=W(new a(i),e+i.e+1,t),n=fn(r,!1,e+r.e+1)),i.isNeg()&&!i.isZero()?`-`+n:n},U.toFraction=function(e){var t,n,r,i,a,o,s,c,l,u,d,f,p=this,m=p.d,h=p.constructor;if(!m)return new h(p);if(l=n=new h(1),r=c=new h(0),t=new h(r),a=t.e=gn(m)-p.e-1,o=a%tn,t.d[0]=Yt(10,o<0?tn+o:o),e==null)e=a>0?t:l;else{if(s=new h(e),!s.isInt()||s.lt(l))throw Error(Wt+s);e=s.gt(t)?a>0?t:l:s}for(Ht=!1,s=new h(on(m)),u=h.precision,h.precision=a=m.length*tn*2;d=dn(s,t,0,1,1),i=n.plus(d.times(r)),i.cmp(e)!=1;)n=r,r=i,i=l,l=c.plus(d.times(i)),c=i,i=t,t=s.minus(d.times(i)),s=i;return i=dn(e.minus(n),r,0,1,1),c=c.plus(i.times(l)),n=n.plus(i.times(r)),c.s=l.s=p.s,f=dn(l,r,a,1).minus(p).abs().cmp(dn(c,n,a,1).minus(p).abs())<1?[l,r]:[c,n],h.precision=u,Ht=!0,f},U.toHexadecimal=U.toHex=function(e,t){return An(this,16,e,t)},U.toNearest=function(e,t){var n=this,r=n.constructor;if(n=new r(n),e==null){if(!n.d)return n;e=new r(1),t=r.rounding}else{if(e=new r(e),t===void 0?t=r.rounding:sn(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(Ht=!1,n=dn(n,e,0,t,1).times(e),Ht=!0,W(n)):(e.s=n.s,n=e),n},U.toNumber=function(){return+this},U.toOctal=function(e,t){return An(this,8,e,t)},U.toPower=U.pow=function(e){var t,n,r,i,a,o,s=this,c=s.constructor,l=+(e=new c(e));if(!s.d||!e.d||!s.d[0]||!e.d[0])return new c(Yt(+s,l));if(s=new c(s),s.eq(1))return s;if(r=c.precision,a=c.rounding,e.eq(1))return W(s,r,a);if(t=Jt(e.e/tn),t>=e.d.length-1&&(n=l<0?-l:l)<=nn)return i=vn(c,s,n,r),e.s<0?new c(1).div(i):W(i,r,a);if(o=s.s,o<0){if(t<e.d.length-1)return new c(NaN);if(e.d[t]&1||(o=1),s.e==0&&s.d[0]==1&&s.d.length==1)return s.s=o,s}return n=Yt(+s,l),t=n==0||!isFinite(n)?Jt(l*(Math.log(`0.`+on(s.d))/Math.LN10+s.e+1)):new c(n+``).e,t>c.maxE+1||t<c.minE-1?new c(t>0?o/0:0):(Ht=!1,c.rounding=s.s=1,n=Math.min(12,(t+``).length),i=xn(e.times(Sn(s,r+n)),r),i.d&&(i=W(i,r+5,1),cn(i.d,r,a)&&(t=r+10,i=W(xn(e.times(Sn(s,t+n)),t),t+5,1),+on(i.d).slice(r+1,r+15)+1==0x5af3107a4000&&(i=W(i,r+1,0)))),i.s=o,Ht=!0,c.rounding=a,W(i,r,a))},U.toPrecision=function(e,t){var n,r=this,i=r.constructor;return e===void 0?n=fn(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(sn(e,1,Ft),t===void 0?t=i.rounding:sn(t,0,8),r=W(new i(r),e,t),n=fn(r,e<=r.e||r.e<=i.toExpNeg,e)),r.isNeg()&&!r.isZero()?`-`+n:n},U.toSignificantDigits=U.toSD=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(sn(e,1,Ft),t===void 0?t=r.rounding:sn(t,0,8)),W(new r(n),e,t)},U.toString=function(){var e=this,t=e.constructor,n=fn(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?`-`+n:n},U.truncated=U.trunc=function(){return W(new this.constructor(this),this.e+1,1)},U.valueOf=U.toJSON=function(){var e=this,t=e.constructor,n=fn(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?`-`+n:n};function on(e){var t,n,r,i=e.length-1,a=``,o=e[0];if(i>0){for(a+=o,t=1;t<i;t++)r=e[t]+``,n=tn-r.length,n&&(a+=_n(n)),a+=r;o=e[t],r=o+``,n=tn-r.length,n&&(a+=_n(n))}else if(o===0)return`0`;for(;o%10==0;)o/=10;return a+o}function sn(e,t,n){if(e!==~~e||e<t||e>n)throw Error(Wt+e)}function cn(e,t,n,r){for(var i,a=e[0],o,s;a>=10;a/=10)--t;return--t<0?(t+=tn,i=0):(i=Math.ceil((t+1)/tn),t%=tn),a=Yt(10,tn-t),s=e[i]%a|0,r==null?t<3?(t==0?s=s/100|0:t==1&&(s=s/10|0),o=n<4&&s==99999||n>3&&s==49999||s==5e4||s==0):o=(n<4&&s+1==a||n>3&&s+1==a/2)&&(e[i+1]/a/100|0)==Yt(10,t-2)-1||(s==a/2||s==0)&&!(e[i+1]/a/100|0):t<4?(t==0?s=s/1e3|0:t==1?s=s/100|0:t==2&&(s=s/10|0),o=(r||n<4)&&s==9999||!r&&n>3&&s==4999):o=((r||n<4)&&s+1==a||!r&&n>3&&s+1==a/2)&&(e[i+1]/a/1e3|0)==Yt(10,t-3)-1,o}function ln(e,t,n){for(var r,i=[0],a,o=0,s=e.length;o<s;){for(a=i.length;a--;)i[a]*=t;for(i[0]+=It.indexOf(e.charAt(o++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function un(e,t){var n,r,i;if(t.isZero())return t;r=t.d.length,r<32?(n=Math.ceil(r/3),i=(1/On(4,n)).toString()):(n=16,i=`2.3283064365386962890625e-10`),e.precision+=n,t=Dn(e,1,t.times(i),new e(1));for(var a=n;a--;){var o=t.times(t);t=o.times(o).minus(o).times(8).plus(1)}return e.precision-=n,t}var dn=(function(){function e(e,t,n){var r,i=0,a=e.length;for(e=e.slice();a--;)r=e[a]*t+i,e[a]=r%n|0,i=r/n|0;return i&&e.unshift(i),e}function t(e,t,n,r){var i,a;if(n!=r)a=n>r?1:-1;else for(i=a=0;i<n;i++)if(e[i]!=t[i]){a=e[i]>t[i]?1:-1;break}return a}function n(e,t,n,r){for(var i=0;n--;)e[n]-=i,i=+(e[n]<t[n]),e[n]=i*r+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(r,i,a,o,s,c){var l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E,D,O,k=r.constructor,A=r.s==i.s?1:-1,j=r.d,M=i.d;if(!j||!j[0]||!M||!M[0])return new k(!r.s||!i.s||(j?M&&j[0]==M[0]:!M)?NaN:j&&j[0]==0||!M?A*0:A/0);for(c?(p=1,u=r.e-i.e):(c=en,p=tn,u=Jt(r.e/p)-Jt(i.e/p)),D=M.length,T=j.length,_=new k(A),v=_.d=[],d=0;M[d]==(j[d]||0);d++);if(M[d]>(j[d]||0)&&u--,a==null?(S=a=k.precision,o=k.rounding):S=s?a+(r.e-i.e)+1:a,S<0)v.push(1),m=!0;else{if(S=S/p+2|0,d=0,D==1){for(f=0,M=M[0],S++;(d<T||f)&&S--;d++)C=f*c+(j[d]||0),v[d]=C/M|0,f=C%M|0;m=f||d<T}else{for(f=c/(M[0]+1)|0,f>1&&(M=e(M,f,c),j=e(j,f,c),D=M.length,T=j.length),w=D,y=j.slice(0,D),b=y.length;b<D;)y[b++]=0;O=M.slice(),O.unshift(0),E=M[0],M[1]>=c/2&&++E;do f=0,l=t(M,y,D,b),l<0?(x=y[0],D!=b&&(x=x*c+(y[1]||0)),f=x/E|0,f>1?(f>=c&&(f=c-1),h=e(M,f,c),g=h.length,b=y.length,l=t(h,y,g,b),l==1&&(f--,n(h,D<g?O:M,g,c))):(f==0&&(l=f=1),h=M.slice()),g=h.length,g<b&&h.unshift(0),n(y,h,b,c),l==-1&&(b=y.length,l=t(M,y,D,b),l<1&&(f++,n(y,D<b?O:M,b,c))),b=y.length):l===0&&(f++,y=[0]),v[d++]=f,l&&y[0]?y[b++]=j[w]||0:(y=[j[w]],b=1);while((w++<T||y[0]!==void 0)&&S--);m=y[0]!==void 0}v[0]||v.shift()}if(p==1)_.e=u,Bt=m;else{for(d=1,f=v[0];f>=10;f/=10)d++;_.e=d+u*p-1,W(_,s?a+_.e+1:a,o,m)}return _}})();function W(e,t,n,r){var i,a,o,s,c,l,u,d,f,p=e.constructor;out:if(t!=null){if(d=e.d,!d)return e;for(i=1,s=d[0];s>=10;s/=10)i++;if(a=t-i,a<0)a+=tn,o=t,u=d[f=0],c=u/Yt(10,i-o-1)%10|0;else if(f=Math.ceil((a+1)/tn),s=d.length,f>=s){if(r){for(;s++<=f;)d.push(0);u=c=0,i=1,a%=tn,o=a-tn+1}else break out}else{for(u=s=d[f],i=1;s>=10;s/=10)i++;a%=tn,o=a-tn+i,c=o<0?0:u/Yt(10,i-o-1)%10|0}if(r=r||t<0||d[f+1]!==void 0||(o<0?u:u%Yt(10,i-o-1)),l=n<4?(c||r)&&(n==0||n==(e.s<0?3:2)):c>5||c==5&&(n==4||r||n==6&&(a>0?o>0?u/Yt(10,i-o):0:d[f-1])%10&1||n==(e.s<0?8:7)),t<1||!d[0])return d.length=0,l?(t-=e.e+1,d[0]=Yt(10,(tn-t%tn)%tn),e.e=-t||0):d[0]=e.e=0,e;if(a==0?(d.length=f,s=1,f--):(d.length=f+1,s=Yt(10,tn-a),d[f]=o>0?(u/Yt(10,i-o)%Yt(10,o)|0)*s:0),l)for(;;)if(f==0){for(a=1,o=d[0];o>=10;o/=10)a++;for(o=d[0]+=s,s=1;o>=10;o/=10)s++;a!=s&&(e.e++,d[0]==en&&(d[0]=1));break}else{if(d[f]+=s,d[f]!=en)break;d[f--]=0,s=1}for(a=d.length;d[--a]===0;)d.pop()}return Ht&&(e.e>p.maxE?(e.d=null,e.e=NaN):e.e<p.minE&&(e.e=0,e.d=[0])),e}function fn(e,t,n){if(!e.isFinite())return Cn(e);var r,i=e.e,a=on(e.d),o=a.length;return t?(n&&(r=n-o)>0?a=a.charAt(0)+`.`+a.slice(1)+_n(r):o>1&&(a=a.charAt(0)+`.`+a.slice(1)),a=a+(e.e<0?`e`:`e+`)+e.e):i<0?(a=`0.`+_n(-i-1)+a,n&&(r=n-o)>0&&(a+=_n(r))):i>=o?(a+=_n(i+1-o),n&&(r=n-i-1)>0&&(a=a+`.`+_n(r))):((r=i+1)<o&&(a=a.slice(0,r)+`.`+a.slice(r)),n&&(r=n-o)>0&&(i+1===o&&(a+=`.`),a+=_n(r))),a}function pn(e,t){var n=e[0];for(t*=tn;n>=10;n/=10)t++;return t}function mn(e,t,n){if(t>rn)throw Ht=!0,n&&(e.precision=n),Error(Gt);return W(new e(Lt),t,1,!0)}function hn(e,t,n){if(t>an)throw Error(Gt);return W(new e(Rt),t,n,!0)}function gn(e){var t=e.length-1,n=t*tn+1;if(t=e[t],t){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function _n(e){for(var t=``;e--;)t+=`0`;return t}function vn(e,t,n,r){var i,a=new e(1),o=Math.ceil(r/tn+4);for(Ht=!1;;){if(n%2&&(a=a.times(t),jn(a.d,o)&&(i=!0)),n=Jt(n/2),n===0){n=a.d.length-1,i&&a.d[n]===0&&++a.d[n];break}t=t.times(t),jn(t.d,o)}return Ht=!0,a}function yn(e){return e.d[e.d.length-1]&1}function bn(e,t,n){for(var r,i,a=new e(t[0]),o=0;++o<t.length;){if(i=new e(t[o]),!i.s){a=i;break}r=a.cmp(i),(r===n||r===0&&a.s===n)&&(a=i)}return a}function xn(e,t){var n,r,i,a,o,s,c,l=0,u=0,d=0,f=e.constructor,p=f.rounding,m=f.precision;if(!e.d||!e.d[0]||e.e>17)return new f(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(t==null?(Ht=!1,c=m):c=t,s=new f(.03125);e.e>-2;)e=e.times(s),d+=5;for(r=Math.log(Yt(2,d))/Math.LN10*2+5|0,c+=r,n=a=o=new f(1),f.precision=c;;){if(a=W(a.times(e),c,1),n=n.times(++u),s=o.plus(dn(a,n,c,1)),on(s.d).slice(0,c)===on(o.d).slice(0,c)){for(i=d;i--;)o=W(o.times(o),c,1);if(t==null){if(l<3&&cn(o.d,c-r,p,l))f.precision=c+=10,n=a=s=new f(1),u=0,l++;else return W(o,f.precision=m,p,Ht=!0)}else return f.precision=m,o}o=s}}function Sn(e,t){var n,r,i,a,o,s,c,l,u,d,f,p=1,m=10,h=e,g=h.d,_=h.constructor,v=_.rounding,y=_.precision;if(h.s<0||!g||!g[0]||!h.e&&g[0]==1&&g.length==1)return new _(g&&!g[0]?-1/0:h.s==1?g?0:h:NaN);if(t==null?(Ht=!1,u=y):u=t,_.precision=u+=m,n=on(g),r=n.charAt(0),Math.abs(a=h.e)<0x5543df729c000){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)h=h.times(e),n=on(h.d),r=n.charAt(0),p++;a=h.e,r>1?(h=new _(`0.`+n),a++):h=new _(r+`.`+n.slice(1))}else return l=mn(_,u+2,y).times(a+``),h=Sn(new _(r+`.`+n.slice(1)),u-m).plus(l),_.precision=y,t==null?W(h,y,v,Ht=!0):h;for(d=h,c=o=h=dn(h.minus(1),h.plus(1),u,1),f=W(h.times(h),u,1),i=3;;){if(o=W(o.times(f),u,1),l=c.plus(dn(o,new _(i),u,1)),on(l.d).slice(0,u)===on(c.d).slice(0,u)){if(c=c.times(2),a!==0&&(c=c.plus(mn(_,u+2,y).times(a+``))),c=dn(c,new _(p),u,1),t==null){if(cn(c.d,u-m,v,s))_.precision=u+=m,l=o=h=dn(d.minus(1),d.plus(1),u,1),f=W(h.times(h),u,1),i=s=1;else return W(c,_.precision=y,v,Ht=!0)}else return _.precision=y,c}c=l,i+=2}}function Cn(e){return String(e.s*e.s/0)}function wn(e,t){var n,r,i;for((n=t.indexOf(`.`))>-1&&(t=t.replace(`.`,``)),(r=t.search(/e/i))>0?(n<0&&(n=r),n+=+t.slice(r+1),t=t.substring(0,r)):n<0&&(n=t.length),r=0;t.charCodeAt(r)===48;r++);for(i=t.length;t.charCodeAt(i-1)===48;--i);if(t=t.slice(r,i),t){if(i-=r,e.e=n=n-r-1,e.d=[],r=(n+1)%tn,n<0&&(r+=tn),r<i){for(r&&e.d.push(+t.slice(0,r)),i-=tn;r<i;)e.d.push(+t.slice(r,r+=tn));t=t.slice(r),r=tn-t.length}else r-=i;for(;r--;)t+=`0`;e.d.push(+t),Ht&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function Tn(e,t){var n,r,i,a,o,s,c,l,u;if(t.indexOf(`_`)>-1){if(t=t.replace(/(\d)_(?=\d)/g,`$1`),$t.test(t))return wn(e,t)}else if(t===`Infinity`||t===`NaN`)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(Zt.test(t))n=16,t=t.toLowerCase();else if(Xt.test(t))n=2;else if(Qt.test(t))n=8;else throw Error(Wt+t);for(a=t.search(/p/i),a>0?(c=+t.slice(a+1),t=t.substring(2,a)):t=t.slice(2),a=t.indexOf(`.`),o=a>=0,r=e.constructor,o&&(t=t.replace(`.`,``),s=t.length,a=s-a,i=vn(r,new r(n),a,a*2)),l=ln(t,n,en),u=l.length-1,a=u;l[a]===0;--a)l.pop();return a<0?new r(e.s*0):(e.e=pn(l,u),e.d=l,Ht=!1,o&&(e=dn(e,i,s*4)),c&&(e=e.times(Math.abs(c)<54?Yt(2,c):yr.pow(2,c))),Ht=!0,e)}function En(e,t){var n,r=t.d.length;if(r<3)return t.isZero()?t:Dn(e,2,t,t);n=1.4*Math.sqrt(r),n=n>16?16:n|0,t=t.times(1/On(5,n)),t=Dn(e,2,t,t);for(var i,a=new e(5),o=new e(16),s=new e(20);n--;)i=t.times(t),t=t.times(a.plus(i.times(o.times(i).minus(s))));return t}function Dn(e,t,n,r,i){var a,o,s,c,l=1,u=e.precision,d=Math.ceil(u/tn);for(Ht=!1,c=n.times(n),s=new e(r);;){if(o=dn(s.times(c),new e(t++*t++),u,1),s=i?r.plus(o):r.minus(o),r=dn(o.times(c),new e(t++*t++),u,1),o=s.plus(r),o.d[d]!==void 0){for(a=d;o.d[a]===s.d[a]&&a--;);if(a==-1)break}a=s,s=r,r=o,o=a,l++}return Ht=!0,o.d.length=d+1,o}function On(e,t){for(var n=e;--t;)n*=e;return n}function kn(e,t){var n,r=t.s<0,i=hn(e,e.precision,1),a=i.times(.5);if(t=t.abs(),t.lte(a))return Vt=r?4:1,t;if(n=t.divToInt(i),n.isZero())Vt=r?3:2;else{if(t=t.minus(n.times(i)),t.lte(a))return Vt=yn(n)?r?2:3:r?4:1,t;Vt=yn(n)?r?1:4:r?3:2}return t.minus(i).abs()}function An(e,t,n,r){var i,a,o,s,c,l,u,d,f,p=e.constructor,m=n!==void 0;if(m?(sn(n,1,Ft),r===void 0?r=p.rounding:sn(r,0,8)):(n=p.precision,r=p.rounding),!e.isFinite())u=Cn(e);else{for(u=fn(e),o=u.indexOf(`.`),m?(i=2,t==16?n=n*4-3:t==8&&(n=n*3-2)):i=t,o>=0&&(u=u.replace(`.`,``),f=new p(1),f.e=u.length-o,f.d=ln(fn(f),10,i),f.e=f.d.length),d=ln(u,10,i),a=c=d.length;d[--c]==0;)d.pop();if(!d[0])u=m?`0p+0`:`0`;else{if(o<0?a--:(e=new p(e),e.d=d,e.e=a,e=dn(e,f,n,r,0,i),d=e.d,a=e.e,l=Bt),o=d[n],s=i/2,l||=d[n+1]!==void 0,l=r<4?(o!==void 0||l)&&(r===0||r===(e.s<0?3:2)):o>s||o===s&&(r===4||l||r===6&&d[n-1]&1||r===(e.s<0?8:7)),d.length=n,l)for(;++d[--n]>i-1;)d[n]=0,n||(++a,d.unshift(1));for(c=d.length;!d[c-1];--c);for(o=0,u=``;o<c;o++)u+=It.charAt(d[o]);if(m){if(c>1){if(t==16||t==8){for(o=t==16?4:3,--c;c%o;c++)u+=`0`;for(d=ln(u,i,t),c=d.length;!d[c-1];--c);for(o=1,u=`1.`;o<c;o++)u+=It.charAt(d[o])}else u=u.charAt(0)+`.`+u.slice(1)}u=u+(a<0?`p`:`p+`)+a}else if(a<0){for(;++a;)u=`0`+u;u=`0.`+u}else if(++a>c)for(a-=c;a--;)u+=`0`;else a<c&&(u=u.slice(0,a)+`.`+u.slice(a))}u=(t==16?`0x`:t==2?`0b`:t==8?`0o`:``)+u}return e.s<0?`-`+u:u}function jn(e,t){if(e.length>t)return e.length=t,!0}function Mn(e){return new this(e).abs()}function Nn(e){return new this(e).acos()}function Pn(e){return new this(e).acosh()}function Fn(e,t){return new this(e).plus(t)}function In(e){return new this(e).asin()}function Ln(e){return new this(e).asinh()}function Rn(e){return new this(e).atan()}function zn(e){return new this(e).atanh()}function Bn(e,t){e=new this(e),t=new this(t);var n,r=this.precision,i=this.rounding,a=r+4;return!e.s||!t.s?n=new this(NaN):!e.d&&!t.d?(n=hn(this,a,1).times(t.s>0?.25:.75),n.s=e.s):!t.d||e.isZero()?(n=t.s<0?hn(this,r,i):new this(0),n.s=e.s):!e.d||t.isZero()?(n=hn(this,a,1).times(.5),n.s=e.s):t.s<0?(this.precision=a,this.rounding=1,n=this.atan(dn(e,t,a,1)),t=hn(this,a,1),this.precision=r,this.rounding=i,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan(dn(e,t,a,1)),n}function Vn(e){return new this(e).cbrt()}function Hn(e){return W(e=new this(e),e.e+1,2)}function Un(e,t,n){return new this(e).clamp(t,n)}function Wn(e){if(!e||typeof e!=`object`)throw Error(Ut+`Object expected`);var t,n,r,i=e.defaults===!0,a=[`precision`,1,Ft,`rounding`,0,8,`toExpNeg`,-Pt,0,`toExpPos`,0,Pt,`maxE`,0,Pt,`minE`,-Pt,0,`modulo`,0,9];for(t=0;t<a.length;t+=3)if(n=a[t],i&&(this[n]=zt[n]),(r=e[n])!==void 0){if(Jt(r)===r&&r>=a[t+1]&&r<=a[t+2])this[n]=r;else throw Error(Wt+n+`: `+r)}if(n=`crypto`,i&&(this[n]=zt[n]),(r=e[n])!==void 0){if(r===!0||r===!1||r===0||r===1){if(r){if(typeof crypto<`u`&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(Kt)}else this[n]=!1}else throw Error(Wt+n+`: `+r)}return this}function Gn(e){return new this(e).cos()}function Kn(e){return new this(e).cosh()}function qn(e){var t,n,r;function i(e){var t,n,r,a=this;if(!(a instanceof i))return new i(e);if(a.constructor=i,Qn(e)){a.s=e.s,Ht?!e.d||e.e>i.maxE?(a.e=NaN,a.d=null):e.e<i.minE?(a.e=0,a.d=[0]):(a.e=e.e,a.d=e.d.slice()):(a.e=e.e,a.d=e.d?e.d.slice():e.d);return}if(r=typeof e,r===`number`){if(e===0){a.s=1/e<0?-1:1,a.e=0,a.d=[0];return}if(e<0?(e=-e,a.s=-1):a.s=1,e===~~e&&e<1e7){for(t=0,n=e;n>=10;n/=10)t++;Ht?t>i.maxE?(a.e=NaN,a.d=null):t<i.minE?(a.e=0,a.d=[0]):(a.e=t,a.d=[e]):(a.e=t,a.d=[e]);return}if(e*0!=0){e||(a.s=NaN),a.e=NaN,a.d=null;return}return wn(a,e.toString())}if(r===`string`)return(n=e.charCodeAt(0))===45?(e=e.slice(1),a.s=-1):(n===43&&(e=e.slice(1)),a.s=1),$t.test(e)?wn(a,e):Tn(a,e);if(r===`bigint`)return e<0?(e=-e,a.s=-1):a.s=1,wn(a,e.toString());throw Error(Wt+e)}if(i.prototype=U,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=Wn,i.clone=qn,i.isDecimal=Qn,i.abs=Mn,i.acos=Nn,i.acosh=Pn,i.add=Fn,i.asin=In,i.asinh=Ln,i.atan=Rn,i.atanh=zn,i.atan2=Bn,i.cbrt=Vn,i.ceil=Hn,i.clamp=Un,i.cos=Gn,i.cosh=Kn,i.div=Jn,i.exp=Yn,i.floor=Xn,i.hypot=Zn,i.ln=$n,i.log=er,i.log10=nr,i.log2=tr,i.max=rr,i.min=ir,i.mod=ar,i.mul=or,i.pow=sr,i.random=cr,i.round=lr,i.sign=ur,i.sin=dr,i.sinh=fr,i.sqrt=pr,i.sub=mr,i.sum=hr,i.tan=gr,i.tanh=_r,i.trunc=vr,e===void 0&&(e={}),e&&e.defaults!==!0)for(r=[`precision`,`rounding`,`toExpNeg`,`toExpPos`,`maxE`,`minE`,`modulo`,`crypto`],t=0;t<r.length;)e.hasOwnProperty(n=r[t++])||(e[n]=this[n]);return i.config(e),i}function Jn(e,t){return new this(e).div(t)}function Yn(e){return new this(e).exp()}function Xn(e){return W(e=new this(e),e.e+1,3)}function Zn(){var e,t,n=new this(0);for(Ht=!1,e=0;e<arguments.length;)if(t=new this(arguments[e++]),t.d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return Ht=!0,new this(1/0);n=t}return Ht=!0,n.sqrt()}function Qn(e){return e instanceof yr||e&&e.toStringTag===qt||!1}function $n(e){return new this(e).ln()}function er(e,t){return new this(e).log(t)}function tr(e){return new this(e).log(2)}function nr(e){return new this(e).log(10)}function rr(){return bn(this,arguments,-1)}function ir(){return bn(this,arguments,1)}function ar(e,t){return new this(e).mod(t)}function or(e,t){return new this(e).mul(t)}function sr(e,t){return new this(e).pow(t)}function cr(e){var t,n,r,i,a=0,o=new this(1),s=[];if(e===void 0?e=this.precision:sn(e,1,Ft),r=Math.ceil(e/tn),!this.crypto)for(;a<r;)s[a++]=Math.random()*1e7|0;else if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(r));a<r;)i=t[a],i>=429e7?t[a]=crypto.getRandomValues(new Uint32Array(1))[0]:s[a++]=i%1e7;else if(crypto.randomBytes){for(t=crypto.randomBytes(r*=4);a<r;)i=t[a]+(t[a+1]<<8)+(t[a+2]<<16)+((t[a+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(t,a):(s.push(i%1e7),a+=4);a=r/4}else throw Error(Kt);for(r=s[--a],e%=tn,r&&e&&(i=Yt(10,tn-e),s[a]=(r/i|0)*i);s[a]===0;a--)s.pop();if(a<0)n=0,s=[0];else{for(n=-1;s[0]===0;n-=tn)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<tn&&(n-=tn-r)}return o.e=n,o.d=s,o}function lr(e){return W(e=new this(e),e.e+1,this.rounding)}function ur(e){return e=new this(e),e.d?e.d[0]?e.s:0*e.s:e.s||NaN}function dr(e){return new this(e).sin()}function fr(e){return new this(e).sinh()}function pr(e){return new this(e).sqrt()}function mr(e,t){return new this(e).sub(t)}function hr(){var e=0,t=arguments,n=new this(t[e]);for(Ht=!1;n.s&&++e<t.length;)n=n.plus(t[e]);return Ht=!0,W(n,this.precision,this.rounding)}function gr(e){return new this(e).tan()}function _r(e){return new this(e).tanh()}function vr(e){return W(e=new this(e),e.e+1,1)}U[Symbol.for(`nodejs.util.inspect.custom`)]=U.toString,U[Symbol.toStringTag]=`Decimal`;var yr=U.constructor=qn(zt);Lt=new yr(Lt),Rt=new yr(Rt);var br=V(`BigNumber`,[`?on`,`config`],e=>{var{on:t,config:n}=e,r=yr.clone({precision:n.precision,modulo:yr.EUCLID});return r.prototype=Object.create(r.prototype),r.prototype.type=`BigNumber`,r.prototype.isBigNumber=!0,r.prototype.toJSON=function(){return{mathjs:`BigNumber`,value:this.toString()}},r.fromJSON=function(e){return new r(e.value)},t&&t(`config`,function(e,t){e.precision!==t.precision&&r.config({precision:e.precision})}),r},{isClass:!0}),xr=Math.cosh||function(e){return Math.abs(e)<1e-9?1-e:(Math.exp(e)+Math.exp(-e))*.5},Sr=Math.sinh||function(e){return Math.abs(e)<1e-9?e:(Math.exp(e)-Math.exp(-e))*.5},Cr=e=>{let t=Math.sin(.5*e);return-2*t*t},wr=function(e,t){return e=Math.abs(e),t=Math.abs(t),e<t&&([e,t]=[t,e]),e<1e8?Math.sqrt(e*e+t*t):(t/=e,e*Math.sqrt(1+t*t))},Tr=function(){throw SyntaxError(`Invalid Param`)};function Er(e,t){let n=Math.abs(e),r=Math.abs(t);return e===0?Math.log(r):t===0?Math.log(n):n<3e3&&r<3e3?Math.log(e*e+t*t)*.5:(e*=.5,t*=.5,.5*Math.log(e*e+t*t)+Math.LN2)}var Dr={re:0,im:0},Or=function(e,t){let n=Dr;if(e==null)n.re=n.im=0;else if(t!==void 0)n.re=e,n.im=t;else switch(typeof e){case`object`:if(`im`in e&&`re`in e)n.re=e.re,n.im=e.im;else if(`abs`in e&&`arg`in e){if(!isFinite(e.abs)&&isFinite(e.arg))return G.INFINITY;n.re=e.abs*Math.cos(e.arg),n.im=e.abs*Math.sin(e.arg)}else if(`r`in e&&`phi`in e){if(!isFinite(e.r)&&isFinite(e.phi))return G.INFINITY;n.re=e.r*Math.cos(e.phi),n.im=e.r*Math.sin(e.phi)}else e.length===2?(n.re=e[0],n.im=e[1]):Tr();break;case`string`:n.im=n.re=0;let t=e.replace(/_/g,``).match(/\d+\.?\d*e[+-]?\d+|\d+\.?\d*|\.\d+|./g),r=1,i=0;t===null&&Tr();for(let e=0;e<t.length;e++){let a=t[e];a===` `||a===` `||a===`
9
- `||(a===`+`?r++:a===`-`?i++:a===`i`||a===`I`?(r+i===0&&Tr(),t[e+1]!==` `&&!isNaN(t[e+1])?(n.im+=parseFloat((i%2?`-`:``)+t[e+1]),e++):n.im+=parseFloat((i%2?`-`:``)+`1`),r=i=0):((r+i===0||isNaN(a))&&Tr(),t[e+1]===`i`||t[e+1]===`I`?(n.im+=parseFloat((i%2?`-`:``)+a),e++):n.re+=parseFloat((i%2?`-`:``)+a),r=i=0))}r+i>0&&Tr();break;case`number`:n.im=0,n.re=e;break;default:Tr()}return isNaN(n.re)||isNaN(n.im),n};function G(e,t){if(!(this instanceof G))return new G(e,t);let n=Or(e,t);this.re=n.re,this.im=n.im}G.prototype={re:0,im:0,sign:function(){let e=wr(this.re,this.im);return new G(this.re/e,this.im/e)},add:function(e,t){let n=Or(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im));return r||i?r&&i?G.NAN:G.INFINITY:new G(this.re+n.re,this.im+n.im)},sub:function(e,t){let n=Or(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im));return r||i?r&&i?G.NAN:G.INFINITY:new G(this.re-n.re,this.im-n.im)},mul:function(e,t){let n=Or(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im)),a=this.re===0&&this.im===0,o=n.re===0&&n.im===0;return r&&o||i&&a?G.NAN:r||i?G.INFINITY:n.im===0&&this.im===0?new G(this.re*n.re,0):new G(this.re*n.re-this.im*n.im,this.re*n.im+this.im*n.re)},div:function(e,t){let n=Or(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im)),a=this.re===0&&this.im===0,o=n.re===0&&n.im===0;if(a&&o||r&&i)return G.NAN;if(o||r)return G.INFINITY;if(a||i)return G.ZERO;if(n.im===0)return new G(this.re/n.re,this.im/n.re);if(Math.abs(n.re)<Math.abs(n.im)){let e=n.re/n.im,t=n.re*e+n.im;return new G((this.re*e+this.im)/t,(this.im*e-this.re)/t)}{let e=n.im/n.re,t=n.im*e+n.re;return new G((this.re+this.im*e)/t,(this.im-this.re*e)/t)}},pow:function(e,t){let n=Or(e,t),r=this.re===0&&this.im===0;if(n.re===0&&n.im===0)return G.ONE;if(n.im===0){if(this.im===0&&this.re>0)return new G(this.re**+n.re,0);if(this.re===0)switch((n.re%4+4)%4){case 0:return new G(this.im**+n.re,0);case 1:return new G(0,this.im**+n.re);case 2:return new G(-(this.im**+n.re),0);case 3:return new G(0,-(this.im**+n.re))}}if(r&&n.re>0)return G.ZERO;let i=Math.atan2(this.im,this.re),a=Er(this.re,this.im),o=Math.exp(n.re*a-n.im*i),s=n.im*a+n.re*i;return new G(o*Math.cos(s),o*Math.sin(s))},sqrt:function(){let e=this.re,t=this.im;if(t===0)return e>=0?new G(Math.sqrt(e),0):new G(0,Math.sqrt(-e));let n=wr(e,t),r=Math.sqrt(.5*(n+Math.abs(e))),i=Math.abs(t)/(2*r);return e>=0?new G(r,t<0?-i:i):new G(i,t<0?-r:r)},exp:function(){let e=Math.exp(this.re);return this.im===0?new G(e,0):new G(e*Math.cos(this.im),e*Math.sin(this.im))},expm1:function(){let e=this.re,t=this.im;return new G(Math.expm1(e)*Math.cos(t)+Cr(t),Math.exp(e)*Math.sin(t))},log:function(){let e=this.re,t=this.im;return t===0&&e>0?new G(Math.log(e),0):new G(Er(e,t),Math.atan2(t,e))},abs:function(){return wr(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){let e=this.re,t=this.im;return new G(Math.sin(e)*xr(t),Math.cos(e)*Sr(t))},cos:function(){let e=this.re,t=this.im;return new G(Math.cos(e)*xr(t),-Math.sin(e)*Sr(t))},tan:function(){let e=2*this.re,t=2*this.im,n=Math.cos(e)+xr(t);return new G(Math.sin(e)/n,Sr(t)/n)},cot:function(){let e=2*this.re,t=2*this.im,n=Math.cos(e)-xr(t);return new G(-Math.sin(e)/n,Sr(t)/n)},sec:function(){let e=this.re,t=this.im,n=.5*xr(2*t)+.5*Math.cos(2*e);return new G(Math.cos(e)*xr(t)/n,Math.sin(e)*Sr(t)/n)},csc:function(){let e=this.re,t=this.im,n=.5*xr(2*t)-.5*Math.cos(2*e);return new G(Math.sin(e)*xr(t)/n,-Math.cos(e)*Sr(t)/n)},asin:function(){let e=this.re,t=this.im,n=new G(t*t-e*e+1,-2*e*t).sqrt(),r=new G(n.re-t,n.im+e).log();return new G(r.im,-r.re)},acos:function(){let e=this.re,t=this.im,n=new G(t*t-e*e+1,-2*e*t).sqrt(),r=new G(n.re-t,n.im+e).log();return new G(Math.PI/2-r.im,r.re)},atan:function(){let e=this.re,t=this.im;if(e===0){if(t===1)return new G(0,1/0);if(t===-1)return new G(0,-1/0)}let n=e*e+(1-t)*(1-t),r=new G((1-t*t-e*e)/n,-2*e/n).log();return new G(-.5*r.im,.5*r.re)},acot:function(){let e=this.re,t=this.im;if(t===0)return new G(Math.atan2(1,e),0);let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).atan():new G(e/n,-t/n).atan()},asec:function(){let e=this.re,t=this.im;if(e===0&&t===0)return new G(0,1/0);let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).acos():new G(e/n,-t/n).acos()},acsc:function(){let e=this.re,t=this.im;if(e===0&&t===0)return new G(Math.PI/2,1/0);let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).asin():new G(e/n,-t/n).asin()},sinh:function(){let e=this.re,t=this.im;return new G(Sr(e)*Math.cos(t),xr(e)*Math.sin(t))},cosh:function(){let e=this.re,t=this.im;return new G(xr(e)*Math.cos(t),Sr(e)*Math.sin(t))},tanh:function(){let e=2*this.re,t=2*this.im,n=xr(e)+Math.cos(t);return new G(Sr(e)/n,Math.sin(t)/n)},coth:function(){let e=2*this.re,t=2*this.im,n=xr(e)-Math.cos(t);return new G(Sr(e)/n,-Math.sin(t)/n)},csch:function(){let e=this.re,t=this.im,n=Math.cos(2*t)-xr(2*e);return new G(-2*Sr(e)*Math.cos(t)/n,2*xr(e)*Math.sin(t)/n)},sech:function(){let e=this.re,t=this.im,n=Math.cos(2*t)+xr(2*e);return new G(2*xr(e)*Math.cos(t)/n,-2*Sr(e)*Math.sin(t)/n)},asinh:function(){let e=this.re,t=this.im;if(t===0){if(e===0)return new G(0,0);let t=Math.abs(e),n=Math.log(t+Math.sqrt(t*t+1));return new G(e<0?-n:n,0)}let n=new G(e*e-t*t+1,2*e*t).sqrt();return new G(e+n.re,t+n.im).log()},acosh:function(){let e=this.re,t=this.im;if(t===0){if(e>1)return new G(Math.log(e+Math.sqrt(e-1)*Math.sqrt(e+1)),0);if(e<-1){let t=Math.sqrt(e*e-1);return new G(Math.log(-e+t),Math.PI)}return new G(0,Math.acos(e))}let n=new G(e-1,t).sqrt(),r=new G(e+1,t).sqrt();return new G(e+n.re*r.re-n.im*r.im,t+n.re*r.im+n.im*r.re).log()},atanh:function(){let e=this.re,t=this.im;if(t===0){if(e===0)return new G(0,0);if(e===1)return new G(1/0,0);if(e===-1)return new G(-1/0,0);if(-1<e&&e<1)return new G(.5*Math.log((1+e)/(1-e)),0);if(e>1){let t=(e+1)/(e-1);return new G(.5*Math.log(t),-Math.PI/2)}let t=(1+e)/(1-e);return new G(.5*Math.log(-t),Math.PI/2)}let n=1-e,r=1+e,i=n*n+t*t;if(i===0)return new G(e===-1?0:e/0,t===0?0:t/0);let a=(r*n-t*t)/i,o=(t*n+r*t)/i;return new G(Er(a,o)/2,Math.atan2(o,a)/2)},acoth:function(){let e=this.re,t=this.im;if(e===0&&t===0)return new G(0,Math.PI/2);let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).atanh():new G(e/n,-t/n).atanh()},acsch:function(){let e=this.re,t=this.im;if(t===0){if(e===0)return new G(1/0,0);let t=1/e;return new G(Math.log(t+Math.sqrt(t*t+1)),0)}let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).asinh():new G(e/n,-t/n).asinh()},asech:function(){let e=this.re,t=this.im;if(this.isZero())return G.INFINITY;let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).acosh():new G(e/n,-t/n).acosh()},inverse:function(){if(this.isZero())return G.INFINITY;if(this.isInfinite())return G.ZERO;let e=this.re,t=this.im,n=e*e+t*t;return new G(e/n,-t/n)},conjugate:function(){return new G(this.re,-this.im)},neg:function(){return new G(-this.re,-this.im)},ceil:function(e){return e=10**(e||0),new G(Math.ceil(this.re*e)/e,Math.ceil(this.im*e)/e)},floor:function(e){return e=10**(e||0),new G(Math.floor(this.re*e)/e,Math.floor(this.im*e)/e)},round:function(e){return e=10**(e||0),new G(Math.round(this.re*e)/e,Math.round(this.im*e)/e)},equals:function(e,t){let n=Or(e,t);return Math.abs(n.re-this.re)<=G.EPSILON&&Math.abs(n.im-this.im)<=G.EPSILON},clone:function(){return new G(this.re,this.im)},toString:function(){let e=this.re,t=this.im,n=``;return this.isNaN()?`NaN`:this.isInfinite()?`Infinity`:(Math.abs(e)<G.EPSILON&&(e=0),Math.abs(t)<G.EPSILON&&(t=0),t===0?n+e:(e===0?t<0&&(t=-t,n+=`-`):(n+=e,n+=` `,t<0?(t=-t,n+=`-`):n+=`+`,n+=` `),t!==1&&(n+=t),n+`i`))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!this.isFinite()}},G.ZERO=new G(0,0),G.ONE=new G(1,0),G.I=new G(0,1),G.PI=new G(Math.PI,0),G.E=new G(Math.E,0),G.INFINITY=new G(1/0,1/0),G.NAN=new G(NaN,NaN),G.EPSILON=1e-15;var kr=V(`Complex`,[],()=>(Object.defineProperty(G,"name",{value:`Complex`}),G.prototype.constructor=G,G.prototype.type=`Complex`,G.prototype.isComplex=!0,G.prototype.toJSON=function(){return{mathjs:`Complex`,re:this.re,im:this.im}},G.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},G.prototype.format=function(e){var t=``,n=this.im,r=this.re,i=ot(this.re,e),a=ot(this.im,e),o=D(e)?e:e?e.precision:null;if(o!==null){var s=10**-o;Math.abs(r/n)<s&&(r=0),Math.abs(n/r)<s&&(n=0)}return t=n===0?i:r===0?n===1?`i`:n===-1?`-i`:a+`i`:n<0?n===-1?i+` - i`:i+` - `+a.substring(1)+`i`:n===1?i+` + i`:i+` + `+a+`i`,t},G.fromPolar=function(e){switch(arguments.length){case 1:var t=arguments[0];if(typeof t==`object`)return G(t);throw TypeError(`Input has to be an object with r and phi keys.`);case 2:var n=arguments[0],r=arguments[1];if(D(n)){if(M(r)&&r.hasBase(`ANGLE`)&&(r=r.toNumber(`rad`)),D(r))return new G({r:n,phi:r});throw TypeError(`Phi is not a number nor an angle unit.`)}throw TypeError(`Radius r is not a number.`);default:throw SyntaxError(`Wrong number of arguments in function fromPolar`)}},G.prototype.valueOf=G.prototype.toString,G.fromJSON=function(e){return new G(e)},G.compare=function(e,t){return e.re>t.re?1:e.re<t.re?-1:e.im>t.im?1:e.im<t.im?-1:0},G),{isClass:!0});typeof BigInt>`u`&&(BigInt=function(e){if(isNaN(e))throw Error(``);return e});var K=BigInt(0),Ar=BigInt(1),jr=BigInt(2),Mr=BigInt(3),Nr=BigInt(5),Pr=BigInt(10);BigInt(2**53-1);var Fr=2e3,q={s:Ar,n:K,d:Ar};function Ir(e,t){try{e=BigInt(e)}catch{throw Jr()}return e*t}function Lr(e){return typeof e==`bigint`?e:Math.floor(e)}function Rr(e,t){if(t===K)throw qr();let n=Object.create(Kr.prototype);n.s=e<K?-Ar:Ar,e=e<K?-e:e;let r=Gr(e,t);return n.n=e/r,n.d=t/r,n}var zr=[jr*jr,jr,jr*jr,jr,jr*jr,jr*Mr,jr,jr*Mr];function Br(e){let t=Object.create(null);if(e<=Ar)return t[e]=Ar,t;let n=e=>{t[e]=(t[e]||K)+Ar};for(;e%jr===K;)n(jr),e/=jr;for(;e%Mr===K;)n(Mr),e/=Mr;for(;e%Nr===K;)n(Nr),e/=Nr;for(let t=0,r=jr+Nr;r*r<=e;){for(;e%r===K;)n(r),e/=r;r+=zr[t],t=t+1&7}return e>Ar&&n(e),t}var Vr=function(e,t){let n=K,r=Ar,i=Ar;if(e!=null){if(t!==void 0){if(typeof e==`bigint`)n=e;else if(isNaN(e))throw Jr();else if(e%1!=0)throw Yr();else n=BigInt(e);if(typeof t==`bigint`)r=t;else if(isNaN(t))throw Jr();else if(t%1!=0)throw Yr();else r=BigInt(t);i=n*r}else if(typeof e==`object`){if(`d`in e&&`n`in e)n=BigInt(e.n),r=BigInt(e.d),`s`in e&&(n*=BigInt(e.s));else if(0 in e)n=BigInt(e[0]),1 in e&&(r=BigInt(e[1]));else if(typeof e==`bigint`)n=e;else throw Jr();i=n*r}else if(typeof e==`number`){if(isNaN(e))throw Jr();if(e<0&&(i=-Ar,e=-e),e%1==0)n=BigInt(e);else{let t=1,i=0,a=1,o=1,s=1,c=1e7;for(e>=1&&(t=10**Math.floor(1+Math.log10(e)),e/=t);a<=c&&s<=c;){let t=(i+o)/(a+s);if(e===t){a+s<=c?(n=i+o,r=a+s):s>a?(n=o,r=s):(n=i,r=a);break}e>t?(i+=o,a+=s):(o+=i,s+=a),a>c?(n=o,r=s):(n=i,r=a)}n=BigInt(n)*BigInt(t),r=BigInt(r)}}else if(typeof e==`string`){let t=0,a=K,o=K,s=K,c=Ar,l=Ar,u=e.replace(/_/g,``).match(/\d+|./g);if(u===null)throw Jr();if(u[t]===`-`?(i=-Ar,t++):u[t]===`+`&&t++,u.length===t+1?o=Ir(u[t++],i):u[t+1]===`.`||u[t]===`.`?(u[t]!==`.`&&(a=Ir(u[t++],i)),t++,(t+1===u.length||u[t+1]===`(`&&u[t+3]===`)`||u[t+1]===`'`&&u[t+3]===`'`)&&(o=Ir(u[t],i),c=Pr**BigInt(u[t].length),t++),(u[t]===`(`&&u[t+2]===`)`||u[t]===`'`&&u[t+2]===`'`)&&(s=Ir(u[t+1],i),l=Pr**BigInt(u[t+1].length)-Ar,t+=3)):u[t+1]===`/`||u[t+1]===`:`?(o=Ir(u[t],i),c=Ir(u[t+2],Ar),t+=3):u[t+3]===`/`&&u[t+1]===` `&&(a=Ir(u[t],i),o=Ir(u[t+2],i),c=Ir(u[t+4],Ar),t+=5),u.length<=t)r=c*l,i=n=s+r*a+l*o;else throw Jr()}else if(typeof e==`bigint`)n=e,i=e,r=Ar;else throw Jr()}if(r===K)throw qr();q.s=i<K?-Ar:Ar,q.n=n<K?-n:n,q.d=r<K?-r:r};function Hr(e,t,n){let r=Ar;for(;t>K;e=e*e%n,t>>=Ar)t&Ar&&(r=r*e%n);return r}function Ur(e,t){for(;t%jr===K;t/=jr);for(;t%Nr===K;t/=Nr);if(t===Ar)return K;let n=Pr%t,r=1;for(;n!==Ar;r++)if(n=n*Pr%t,r>Fr)return K;return BigInt(r)}function Wr(e,t,n){let r=Ar,i=Hr(Pr,n,t);for(let e=0;e<300;e++){if(r===i)return BigInt(e);r=r*Pr%t,i=i*Pr%t}return 0}function Gr(e,t){if(!e)return t;if(!t)return e;for(;;){if(e%=t,!e)return t;if(t%=e,!t)return e}}function Kr(e,t){if(Vr(e,t),this instanceof Kr)e=Gr(q.d,q.n),this.s=q.s,this.n=q.n/e,this.d=q.d/e;else return Rr(q.s*q.n,q.d)}var qr=function(){return Error(`Division by Zero`)},Jr=function(){return Error(`Invalid argument`)},Yr=function(){return Error(`Parameters must be integer`)};Kr.prototype={s:Ar,n:K,d:Ar,abs:function(){return Rr(this.n,this.d)},neg:function(){return Rr(-this.s*this.n,this.d)},add:function(e,t){return Vr(e,t),Rr(this.s*this.n*q.d+q.s*this.d*q.n,this.d*q.d)},sub:function(e,t){return Vr(e,t),Rr(this.s*this.n*q.d-q.s*this.d*q.n,this.d*q.d)},mul:function(e,t){return Vr(e,t),Rr(this.s*q.s*this.n*q.n,this.d*q.d)},div:function(e,t){return Vr(e,t),Rr(this.s*q.s*this.n*q.d,this.d*q.n)},clone:function(){return Rr(this.s*this.n,this.d)},mod:function(e,t){if(e===void 0)return Rr(this.s*this.n%this.d,Ar);if(Vr(e,t),K===q.n*this.d)throw qr();return Rr(this.s*(q.d*this.n)%(q.n*this.d),q.d*this.d)},gcd:function(e,t){return Vr(e,t),Rr(Gr(q.n,this.n)*Gr(q.d,this.d),q.d*this.d)},lcm:function(e,t){return Vr(e,t),q.n===K&&this.n===K?Rr(K,Ar):Rr(q.n*this.n,Gr(q.n,this.n)*Gr(q.d,this.d))},inverse:function(){return Rr(this.s*this.d,this.n)},pow:function(e,t){if(Vr(e,t),q.d===Ar)return q.s<K?Rr((this.s*this.d)**q.n,this.n**q.n):Rr((this.s*this.n)**q.n,this.d**q.n);if(this.s<K)return null;let n=Br(this.n),r=Br(this.d),i=Ar,a=Ar;for(let e in n)if(e!==`1`){if(e===`0`){i=K;break}if(n[e]*=q.n,n[e]%q.d===K)n[e]/=q.d;else return null;i*=BigInt(e)**n[e]}for(let e in r)if(e!==`1`){if(r[e]*=q.n,r[e]%q.d===K)r[e]/=q.d;else return null;a*=BigInt(e)**r[e]}return q.s<K?Rr(a,i):Rr(i,a)},log:function(e,t){if(Vr(e,t),this.s<=K||q.s<=K)return null;let n=Object.create(null),r=Br(q.n),i=Br(q.d),a=Br(this.n),o=Br(this.d);for(let e in i)r[e]=(r[e]||K)-i[e];for(let e in o)a[e]=(a[e]||K)-o[e];for(let e in r)e!==`1`&&(n[e]=!0);for(let e in a)e!==`1`&&(n[e]=!0);let s=null,c=null;for(let e in n){let t=r[e]||K,n=a[e]||K;if(t===K){if(n!==K)return null;continue}let i=n,o=t,l=Gr(i,o);if(i/=l,o/=l,s===null&&c===null)s=i,c=o;else if(i*c!==s*o)return null}return s!==null&&c!==null?Rr(s,c):null},equals:function(e,t){return Vr(e,t),this.s*this.n*q.d===q.s*q.n*this.d},lt:function(e,t){return Vr(e,t),this.s*this.n*q.d<q.s*q.n*this.d},lte:function(e,t){return Vr(e,t),this.s*this.n*q.d<=q.s*q.n*this.d},gt:function(e,t){return Vr(e,t),this.s*this.n*q.d>q.s*q.n*this.d},gte:function(e,t){return Vr(e,t),this.s*this.n*q.d>=q.s*q.n*this.d},compare:function(e,t){Vr(e,t);let n=this.s*this.n*q.d-q.s*q.n*this.d;return(K<n)-(n<K)},ceil:function(e){return e=Pr**BigInt(e||0),Rr(Lr(this.s*e*this.n/this.d)+(e*this.n%this.d>K&&this.s>=K?Ar:K),e)},floor:function(e){return e=Pr**BigInt(e||0),Rr(Lr(this.s*e*this.n/this.d)-(e*this.n%this.d>K&&this.s<K?Ar:K),e)},round:function(e){return e=Pr**BigInt(e||0),Rr(Lr(this.s*e*this.n/this.d)+this.s*((this.s>=K?Ar:K)+jr*(e*this.n%this.d)>this.d?Ar:K),e)},roundTo:function(e,t){Vr(e,t);let n=this.n*q.d,r=this.d*q.n,i=n%r,a=Lr(n/r);return i+i>=r&&a++,Rr(this.s*a*q.n,q.d)},divisible:function(e,t){return Vr(e,t),q.n!==K&&this.n*q.d%(q.n*this.d)===K},valueOf:function(){return Number(this.s*this.n)/Number(this.d)},toString:function(e=15){let t=this.n,n=this.d,r=Ur(t,n),i=Wr(t,n,r),a=this.s<K?`-`:``;if(a+=Lr(t/n),t%=n,t*=Pr,t&&(a+=`.`),r){for(let e=i;e--;)a+=Lr(t/n),t%=n,t*=Pr;a+=`(`;for(let e=r;e--;)a+=Lr(t/n),t%=n,t*=Pr;a+=`)`}else for(let r=e;t&&r--;)a+=Lr(t/n),t%=n,t*=Pr;return a},toFraction:function(e=!1){let t=this.n,n=this.d,r=this.s<K?`-`:``;if(n===Ar)r+=t;else{let i=Lr(t/n);e&&i>K&&(r+=i,r+=` `,t%=n),r+=t,r+=`/`,r+=n}return r},toLatex:function(e=!1){let t=this.n,n=this.d,r=this.s<K?`-`:``;if(n===Ar)r+=t;else{let i=Lr(t/n);e&&i>K&&(r+=i,t%=n),r+=`\\frac{`,r+=t,r+=`}{`,r+=n,r+=`}`}return r},toContinued:function(){let e=this.n,t=this.d,n=[];for(;t;){n.push(Lr(e/t));let r=e%t;e=t,t=r}return n},simplify:function(e=.001){let t=BigInt(Math.ceil(1/e)),n=this.abs(),r=n.toContinued();for(let e=1;e<r.length;e++){let i=Rr(r[e-1],Ar);for(let t=e-2;t>=0;t--)i=i.inverse().add(r[t]);let a=i.sub(n);if(a.n*t<a.d)return i.mul(this.s)}return this}};var Xr=V(`Fraction`,[],()=>(Object.defineProperty(Kr,"name",{value:`Fraction`}),Kr.prototype.constructor=Kr,Kr.prototype.type=`Fraction`,Kr.prototype.isFraction=!0,Kr.prototype.toJSON=function(){return{mathjs:`Fraction`,n:String(this.s*this.n),d:String(this.d)}},Kr.fromJSON=function(e){return new Kr(e)},Kr),{isClass:!0}),Zr=V(`Range`,[],()=>{function e(t,n,r){if(!(this instanceof e))throw SyntaxError(`Constructor must be called with the new operator`);var i=t!=null,a=n!=null,o=r!=null;if(i){if(O(t))t=t.toNumber();else if(typeof t!=`number`&&!k(t))throw TypeError(`Parameter start must be a number or bigint`)}if(a){if(O(n))n=n.toNumber();else if(typeof n!=`number`&&!k(n))throw TypeError(`Parameter end must be a number or bigint`)}if(o){if(O(r))r=r.toNumber();else if(typeof r!=`number`&&!k(r))throw TypeError(`Parameter step must be a number or bigint`)}if(this.start=i?parseFloat(t):0,this.end=a?parseFloat(n):0,this.step=o?parseFloat(r):1,o&&gt(this.step,0))throw Error(`Step must not be zero`)}return e.prototype.type=`Range`,e.prototype.isRange=!0,e.parse=function(t){if(typeof t!=`string`)return null;var n=t.split(`:`).map(function(e){return parseFloat(e)});if(n.some(function(e){return isNaN(e)}))return null;switch(n.length){case 2:return new e(n[0],n[1]);case 3:return new e(n[0],n[2],n[1]);default:return null}},e.prototype.clone=function(){return new e(this.start,this.end,this.step)},e.prototype.size=function(){var e=0,t=this.start,n=this.step,r=this.end-t;return $e(n)===$e(r)?e=Math.ceil(r/n):r===0&&(e=0),isNaN(e)&&(e=0),[e]},e.prototype.min=function(){var e=this.size()[0];if(e>0)return this.step>0?this.start:this.start+(e-1)*this.step},e.prototype.max=function(){var e=this.size()[0];if(e>0)return this.step>0?this.start+(e-1)*this.step:this.start},e.prototype.forEach=function(e){var t=this.start,n=this.step,r=this.end,i=0;if(n>0)for(;t<r;)e(t,[i],this),t+=n,i++;else if(n<0)for(;t>r;)e(t,[i],this),t+=n,i++},e.prototype.map=function(e){var t=[];return this.forEach(function(n,r,i){t[r[0]]=e(n,r,i)}),t},e.prototype.toArray=function(){var e=[];return this.forEach(function(t,n){e[n[0]]=t}),e},e.prototype.valueOf=function(){return this.toArray()},e.prototype.format=function(e){var t=ot(this.start,e);return this.step!==1&&(t+=`:`+ot(this.step,e)),t+=`:`+ot(this.end,e),t},e.prototype.toString=function(){return this.format()},e.prototype.toJSON=function(){return{mathjs:`Range`,start:this.start,end:this.end,step:this.step}},e.fromJSON=function(t){return new e(t.start,t.end,t.step)},e},{isClass:!0}),Qr=V(`Matrix`,[],()=>{function e(){if(!(this instanceof e))throw SyntaxError(`Constructor must be called with the new operator`)}return e.prototype.type=`Matrix`,e.prototype.isMatrix=!0,e.prototype.storage=function(){throw Error(`Cannot invoke storage on a Matrix interface`)},e.prototype.datatype=function(){throw Error(`Cannot invoke datatype on a Matrix interface`)},e.prototype.create=function(e,t){throw Error(`Cannot invoke create on a Matrix interface`)},e.prototype.subset=function(e,t,n){throw Error(`Cannot invoke subset on a Matrix interface`)},e.prototype.get=function(e){throw Error(`Cannot invoke get on a Matrix interface`)},e.prototype.set=function(e,t,n){throw Error(`Cannot invoke set on a Matrix interface`)},e.prototype.resize=function(e,t){throw Error(`Cannot invoke resize on a Matrix interface`)},e.prototype.reshape=function(e,t){throw Error(`Cannot invoke reshape on a Matrix interface`)},e.prototype.clone=function(){throw Error(`Cannot invoke clone on a Matrix interface`)},e.prototype.size=function(){throw Error(`Cannot invoke size on a Matrix interface`)},e.prototype.map=function(e,t){throw Error(`Cannot invoke map on a Matrix interface`)},e.prototype.forEach=function(e){throw Error(`Cannot invoke forEach on a Matrix interface`)},e.prototype[Symbol.iterator]=function(){throw Error(`Cannot iterate a Matrix interface`)},e.prototype.toArray=function(){throw Error(`Cannot invoke toArray on a Matrix interface`)},e.prototype.valueOf=function(){throw Error(`Cannot invoke valueOf on a Matrix interface`)},e.prototype.format=function(e){throw Error(`Cannot invoke format on a Matrix interface`)},e.prototype.toString=function(){throw Error(`Cannot invoke toString on a Matrix interface`)},e},{isClass:!0});function $r(e,t,n){var r=e.constructor,i=new r(2),a=``;if(n){if(n<1)throw Error(`size must be in greater than 0`);if(!H(n))throw Error(`size must be an integer`);if(e.greaterThan(i.pow(n-1).sub(1))||e.lessThan(i.pow(n-1).mul(-1)))throw Error(`Value must be in range [-2^${n-1}, 2^${n-1}-1]`);if(!e.isInteger())throw Error(`Value must be an integer`);e.lessThan(0)&&(e=e.add(i.pow(n))),a=`i${n}`}switch(t){case 2:return`${e.toBinary()}${a}`;case 8:return`${e.toOctal()}${a}`;case 16:return`${e.toHexadecimal()}${a}`;default:throw Error(`Base ${t} not supported `)}}function ei(e,t){if(typeof t==`function`)return t(e);if(!e.isFinite())return e.isNaN()?`NaN`:e.gt(0)?`Infinity`:`-Infinity`;var{notation:n,precision:r,wordSize:i}=st(t);switch(n){case`fixed`:return ri(e,r);case`exponential`:return ni(e,r);case`engineering`:return ti(e,r);case`bin`:return $r(e,2,i);case`oct`:return $r(e,8,i);case`hex`:return $r(e,16,i);case`auto`:var a=ii(t?.lowerExp,-3),o=ii(t?.upperExp,5);if(e.isZero())return`0`;var s,c=e.toSignificantDigits(r),l=c.e;return s=l>=a&&l<o?c.toFixed():ni(e,r),s.replace(/((\.\d*?)(0+))($|e)/,function(){var e=arguments[2],t=arguments[4];return e===`.`?t:e+t});default:throw Error(`Unknown notation "`+n+`". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.`)}}function ti(e,t){var n=e.e,r=n%3==0?n:n<0?n-3-n%3:n-n%3,i=e.mul(10**-r).toPrecision(t);if(i.includes(`e`)){var a=e.constructor;i=new a(i).toFixed()}return i+`e`+(n>=0?`+`:``)+r.toString()}function ni(e,t){return t===void 0?e.toExponential():e.toExponential(t-1)}function ri(e,t){return e.toFixed(t)}function ii(e,t){return D(e)?e:O(e)?e.toNumber():t}function ai(e,t){var n=e.length-t.length,r=e.length;return e.substring(n,r)===t}function oi(e,t){var n=si(e,t);return t&&typeof t==`object`&&`truncate`in t&&n.length>t.truncate?n.substring(0,t.truncate-3)+`...`:n}function si(e,t){return typeof e==`number`?ot(e,t):O(e)?ei(e,t):fi(e)?!t||t.fraction!==`decimal`?`${e.s*e.n}/${e.d}`:e.toString():Array.isArray(e)?di(e,t):N(e)?ci(e):typeof e==`function`?e.syntax?String(e.syntax):`function`:e&&typeof e==`object`?typeof e.format==`function`?e.format(t):e&&e.toString(t)!=={}.toString()?e.toString(t):`{`+Object.keys(e).map(n=>ci(n)+`: `+oi(e[n],t)).join(`, `)+`}`:String(e)}function ci(e){for(var t=String(e),n=``,r=0;r<t.length;){var i=t.charAt(r);n+=i in li?li[i]:i,r++}return`"`+n+`"`}var li={'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`};function ui(e){var t=String(e);return t=t.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),t}function di(e,t){if(Array.isArray(e)){for(var n=`[`,r=e.length,i=0;i<r;i++)i!==0&&(n+=`, `),n+=di(e[i],t);return n+=`]`,n}return oi(e,t)}function fi(e){return e&&typeof e==`object`&&typeof e.s==`bigint`&&typeof e.n==`bigint`&&typeof e.d==`bigint`||!1}function pi(e,t){if(!N(e))throw TypeError(`Unexpected type of argument in function compareText (expected: string or Array or Matrix, actual: `+Me(e)+`, index: 0)`);if(!N(t))throw TypeError(`Unexpected type of argument in function compareText (expected: string or Array or Matrix, actual: `+Me(t)+`, index: 1)`);return e===t?0:e>t?1:-1}function mi(e,t,n){if(!(this instanceof mi))throw SyntaxError(`Constructor must be called with the new operator`);this.actual=e,this.expected=t,this.relation=n,this.message=`Dimension mismatch (`+(Array.isArray(e)?`[`+e.join(`, `)+`]`:e)+` `+(this.relation||`!=`)+` `+(Array.isArray(t)?`[`+t.join(`, `)+`]`:t)+`)`,this.stack=Error().stack}mi.prototype=RangeError(),mi.prototype.constructor=RangeError,mi.prototype.name=`DimensionError`,mi.prototype.isDimensionError=!0;function hi(e,t,n){if(!(this instanceof hi))throw SyntaxError(`Constructor must be called with the new operator`);this.index=e,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=n),this.message=this.min!==void 0&&this.index<this.min?`Index out of range (`+this.index+` < `+this.min+`)`:this.max!==void 0&&this.index>=this.max?`Index out of range (`+this.index+` > `+(this.max-1)+`)`:`Index out of range (`+this.index+`)`,this.stack=Error().stack}hi.prototype=RangeError(),hi.prototype.constructor=RangeError,hi.prototype.name=`IndexError`,hi.prototype.isIndexError=!0;function gi(e){for(var t=[];Array.isArray(e);)t.push(e.length),e=e[0];return t}function _i(e,t,n){var r,i=e.length;if(i!==t[n])throw new mi(i,t[n]);if(n<t.length-1){var a=n+1;for(r=0;r<i;r++){var o=e[r];if(!Array.isArray(o))throw new mi(t.length-1,t.length,`<`);_i(e[r],t,a)}}else for(r=0;r<i;r++)if(Array.isArray(e[r]))throw new mi(t.length+1,t.length,`>`)}function vi(e,t){if(t.length===0){if(Array.isArray(e))throw new mi(e.length,0)}else _i(e,t,0)}function yi(e,t){var n=e.isMatrix?e._size:gi(e);t._sourceSize.forEach((e,t)=>{if(e!==null&&e!==n[t])throw new mi(e,n[t])})}function bi(e,t){if(e!==void 0){if(!D(e)||!H(e))throw TypeError(`Index must be an integer (value: `+e+`)`);if(e<0||typeof t==`number`&&e>=t)throw new hi(e,t)}}function xi(e){for(var t=0;t<e._dimensions.length;++t){var n=e._dimensions[t];if(n._data&&P(n._data)){if(n._size[0]===0)return!0}else if(n.isRange){if(n.start===n.end)return!0}else if(N(n)&&n.length===0)return!0}return!1}function Si(e,t,n){if(!Array.isArray(t))throw TypeError(`Array expected`);if(t.length===0)throw Error(`Resizing to scalar is not supported`);return t.forEach(function(e){if(!D(e)||!H(e)||e<0)throw TypeError(`Invalid size, must contain positive integers (size: `+oi(t)+`)`)}),(D(e)||O(e))&&(e=[e]),Ci(e,t,0,n===void 0?0:n),e}function Ci(e,t,n,r){var i,a,o=e.length,s=t[n],c=Math.min(o,s);if(e.length=s,n<t.length-1){var l=n+1;for(i=0;i<c;i++)a=e[i],Array.isArray(a)||(a=[a],e[i]=a),Ci(a,t,l,r);for(i=c;i<s;i++)a=[],e[i]=a,Ci(a,t,l,r)}else{for(i=0;i<c;i++)for(;Array.isArray(e[i]);)e[i]=e[i][0];for(i=c;i<s;i++)e[i]=r}}function wi(e,t){var n=Mi(e,!0),r=n.length;if(!Array.isArray(e)||!Array.isArray(t))throw TypeError(`Array expected`);if(t.length===0)throw new mi(0,r,`!=`);t=Ti(t,r);var i=Ei(t);if(r!==i)throw new mi(i,r,`!=`);try{return Di(n,t)}catch(e){throw e instanceof mi?new mi(i,r,`!=`):e}}function Ti(e,t){var n=Ei(e),r=e.slice(),i=-1,a=e.indexOf(i);if(e.indexOf(i,a+1)>=0)throw Error(`More than one wildcard in sizes`);var o=a>=0,s=t%n===0;if(o){if(s)r[a]=-t/n;else throw Error(`Could not replace wildcard, since `+t+` is no multiple of `+-n)}return r}function Ei(e){return e.reduce((e,t)=>e*t,1)}function Di(e,t){for(var n=e,r,i=t.length-1;i>0;i--){var a=t[i];r=[];for(var o=n.length/a,s=0;s<o;s++)r.push(n.slice(s*a,(s+1)*a));n=r}return n}function Oi(e,t){for(var n=t||gi(e);Array.isArray(e)&&e.length===1;)e=e[0],n.shift();for(var r=n.length;n[r-1]===1;)r--;return r<n.length&&(e=ki(e,r,0),n.length=r),e}function ki(e,t,n){var r,i;if(n<t){var a=n+1;for(r=0,i=e.length;r<i;r++)e[r]=ki(e[r],t,a)}else for(;Array.isArray(e);)e=e[0];return e}function Ai(e,t,n,r){var i=r||gi(e);if(n)for(var a=0;a<n;a++)e=[e],i.unshift(1);for(e=ji(e,t,0);i.length<t;)i.push(1);return e}function ji(e,t,n){var r,i;if(Array.isArray(e)){var a=n+1;for(r=0,i=e.length;r<i;r++)e[r]=ji(e[r],t,a)}else for(var o=n;o<t;o++)e=[e];return e}function Mi(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!Array.isArray(e))return e;if(typeof t!=`boolean`)throw TypeError(`Boolean expected for second argument of flatten`);var n=[];return t?i(e):r(e),n;function r(e){for(var t=0;t<e.length;t++){var i=e[t];Array.isArray(i)?r(i):n.push(i)}}function i(e){if(Array.isArray(e[0]))for(var t=0;t<e.length;t++)i(e[t]);else for(var r=0;r<e.length;r++)n.push(e[r])}}function Ni(e,t){return Array.prototype.map.call(e,t)}function Pi(e,t){Array.prototype.forEach.call(e,t)}function Fi(e,t){if(gi(e).length!==1)throw Error(`Only one dimensional matrices supported`);return Array.prototype.filter.call(e,t)}function Ii(e,t){if(gi(e).length!==1)throw Error(`Only one dimensional matrices supported`);return Array.prototype.filter.call(e,e=>t.test(e))}function Li(e,t){return Array.prototype.join.call(e,t)}function Ri(e){if(!Array.isArray(e))throw TypeError(`Array input expected`);if(e.length===0)return e;var t=[],n=0;t[0]={value:e[0],identifier:0};for(var r=1;r<e.length;r++)e[r]===e[r-1]?n++:n=0,t.push({value:e[r],identifier:n});return t}function zi(e){if(!Array.isArray(e))throw TypeError(`Array input expected`);if(e.length===0)return e;for(var t=[],n=0;n<e.length;n++)t.push(e[n].value);return t}function Bi(e,t){for(var n,r=0,i=0;i<e.length;i++){var a=e[i],o=Array.isArray(a);if(i===0&&o&&(r=a.length),o&&a.length!==r)return;var s=o?Bi(a,t):t(a);if(n===void 0)n=s;else if(n!==s)return`mixed`}return n}function Vi(e,t,n,r){if(r<n){if(e.length!==t.length)throw new mi(e.length,t.length);for(var i=[],a=0;a<e.length;a++)i[a]=Vi(e[a],t[a],n,r+1);return i}return e.concat(t)}function Hi(){var e=Array.prototype.slice.call(arguments,0,-1),t=Array.prototype.slice.call(arguments,-1);if(e.length===1)return e[0];if(e.length>1)return e.slice(1).reduce(function(e,n){return Vi(e,n,t,0)},e[0]);throw Error(`Wrong number of arguments in function concat`)}function Ui(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r=t.map(e=>e.length),i=Math.max(...r),a=Array(i).fill(null),o=0;o<t.length;o++)for(var s=t[o],c=r[o],l=0;l<c;l++){var u=i-c+l;s[l]>a[u]&&(a[u]=s[l])}for(var d=0;d<t.length;d++)Wi(t[d],a);return a}function Wi(e,t){for(var n=t.length,r=e.length,i=0;i<r;i++){var a=n-r+i;if(e[i]<t[a]&&e[i]>1||e[i]>t[a])throw Error(`shape mismatch: mismatch is found in arg with shape (${e}) not possible to broadcast dimension ${r} with size ${e[i]} to size ${t[a]}`)}}function Gi(e,t){var n=gi(e);if(Le(n,t))return e;Wi(n,t);var r=Ui(n,t),i=r.length,a=[...Array(i-n.length).fill(1),...n],o=Xi(e);n.length<i&&(o=wi(o,a),n=gi(o));for(var s=0;s<i;s++)n[s]<r[s]&&(o=Ki(o,r[s],s),n=gi(o));return o}function Ki(e,t,n){return Hi(...Array(t).fill(e),n)}function qi(e,t){if(!Array.isArray(e))throw Error(`Array expected`);if(!Array.isArray(t))throw Error(`Array expected for index`);var n=gi(e);if(t.length!==n.length)throw new mi(t.length,n.length);for(var r=0;r<t.length;r++)bi(t[r],n[r]);return t.reduce((e,t)=>e[t],e)}function Ji(e,t){var n=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(e.length===0)return[];if(n)return a(e);var r=[];return i(e,0);function i(n,a){if(Array.isArray(n)){for(var o=n.length,s=Array(o),c=0;c<o;c++)r[a]=c,s[c]=i(n[c],a+1);return s}return t(n,r.slice(0,a),e)}function a(e){if(Array.isArray(e)){for(var n=e.length,r=Array(n),i=0;i<n;i++)r[i]=a(e[i]);return r}return t(e)}}function Yi(e,t){var n=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(e.length===0)return;if(n){a(e);return}var r=[];i(e,0);function i(n,a){if(Array.isArray(n))for(var o=n.length,s=0;s<o;s++)r[a]=s,i(n[s],a+1);else t(n,r.slice(0,a),e)}function a(e){if(Array.isArray(e))for(var n=e.length,r=0;r<n;r++)a(e[r]);else t(e)}}function Xi(e){return u([],e)}function Zi(e,t,n,r){if(Et.default.isTypedFunction(e)){var i;if(r)i=1;else{var a=t.isMatrix?t.size():gi(t);if(!a.length||a[a.length-1]===0)return{isUnary:r,fn:e};var o=a.map(()=>0);i=ea(e,t.isMatrix?t.get(o):qi(t,o),o,t)}var s;if(t.isMatrix&&t.dataType!==`mixed`&&t.dataType!==void 0){var c=Qi(e,i);s=c===void 0?e:c}else s=e;return i>=1&&i<=3?{isUnary:i===1,fn:function(){for(var t=arguments.length,r=Array(t),a=0;a<t;a++)r[a]=arguments[a];return ta(s,r.slice(0,i),n,e.name)}}:{isUnary:!1,fn:function(){for(var t=arguments.length,r=Array(t),i=0;i<t;i++)r[i]=arguments[i];return ta(s,r,n,e.name)}}}return r===void 0?{isUnary:$i(e),fn:e}:{isUnary:r,fn:e}}function Qi(e,t){var n=[];if(Object.entries(e.signatures).forEach(e=>{var[r,i]=e;r.split(`,`).length===t&&n.push(i)}),n.length===1)return n[0]}function $i(e){if(e.length!==1)return!1;var t=e.toString();if(/arguments/.test(t))return!1;var n=t.match(/\(.*?\)/);return!/\.\.\./.test(n)}function ea(e,t,n,r){for(var i=[t,n,r],a=3;a>0;a--){var o=i.slice(0,a);if(Et.default.resolve(e,o)!==null)return a}}function ta(e,t,n,r){try{return e(...t)}catch(e){na(e,t,n,r)}}function na(e,t,n,r){if(e instanceof TypeError&&e.data?.category===`wrongType`){var i=[];throw i.push(`value: ${Me(t[0])}`),t.length>=2&&i.push(`index: ${Me(t[1])}`),t.length>=3&&i.push(`array: ${Me(t[2])}`),TypeError(`Function ${n} cannot apply callback arguments ${r}(${i.join(`, `)}) at index ${JSON.stringify(t[1])}`)}throw TypeError(`Function ${n} cannot apply callback arguments to function ${r}: ${e.message}`)}var ra=V(`DenseMatrix`,[`Matrix`,`config`],e=>{var{Matrix:t,config:n}=e;function r(e,t){if(!(this instanceof r))throw SyntaxError(`Constructor must be called with the new operator`);if(t&&!N(t))throw Error(`Invalid datatype: `+t);if(F(e))e.type===`DenseMatrix`?(this._data=Ne(e._data),this._size=Ne(e._size),this._datatype=t||e._datatype):(this._data=e.toArray(),this._size=e.size(),this._datatype=t||e._datatype);else if(e&&P(e.data)&&P(e.size))this._data=e.data,this._size=e.size,vi(this._data,this._size),this._datatype=t||e.datatype;else if(P(e))this._data=u(e),this._size=gi(this._data),vi(this._data,this._size),this._datatype=t;else if(e)throw TypeError(`Unsupported type of data (`+Me(e)+`)`);else this._data=[],this._size=[0],this._datatype=t}r.prototype=new t,r.prototype.createDenseMatrix=function(e,t){return new r(e,t)},Object.defineProperty(r,"name",{value:`DenseMatrix`}),r.prototype.constructor=r,r.prototype.type=`DenseMatrix`,r.prototype.isDenseMatrix=!0,r.prototype.getDataType=function(){return Bi(this._data,Me)},r.prototype.storage=function(){return`dense`},r.prototype.datatype=function(){return this._datatype},r.prototype.create=function(e,t){return new r(e,t)},r.prototype.subset=function(e,t,n){switch(arguments.length){case 1:return i(this,e);case 2:case 3:return o(this,e,t,n);default:throw SyntaxError(`Wrong number of arguments`)}},r.prototype.get=function(e){return qi(this._data,e)},r.prototype.set=function(e,t,n){if(!P(e))throw TypeError(`Array expected`);if(e.length<this._size.length)throw new mi(e.length,this._size.length,`<`);var r,i,a,o=e.map(function(e){return e+1});l(this,o,n);var s=this._data;for(r=0,i=e.length-1;r<i;r++)a=e[r],bi(a,s.length),s=s[a];return a=e[e.length-1],bi(a,s.length),s[a]=t,this};function i(e,t){if(!ie(t))throw TypeError(`Invalid index`);if(n.legacySubset?t.size().every(e=>e===1):t.isScalar())return e.get(t.min());var i=t.size();if(i.length!==e._size.length)throw new mi(i.length,e._size.length);for(var o=t.min(),s=t.max(),c=0,l=e._size.length;c<l;c++)bi(o[c],e._size[c]),bi(s[c],e._size[c]);var u=new r,d=a(e._data,t);return u._size=d.size,u._datatype=e._datatype,u._data=d.data,n.legacySubset?u.reshape(t.size()):u}function a(e,t){var n=t.size().length-1,r=Array(n);return{data:i(e),size:r.filter(e=>e!==null)};function i(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=t.dimension(a);function s(e,t){return D(e)?t(e):e.map(t).valueOf()}return r[a]=D(o)?null:o.size()[0],a<n?s(o,t=>(bi(t,e.length),i(e[t],a+1))):s(o,t=>(bi(t,e.length),e[t]))}}function o(e,t,n,r){if(!t||t.isIndex!==!0)throw TypeError(`Invalid index`);var i=t.size(),a=t.isScalar(),o;if(F(n)?(o=n.size(),n=n.valueOf()):o=gi(n),a){if(o.length!==0)throw TypeError(`Scalar expected`);e.set(t.min(),n,r)}else{if(!Le(o,i)){if(o.length===0)n=Gi([n],i);else try{n=Gi(n,i)}catch{}o=gi(n)}if(i.length<e._size.length)throw new mi(i.length,e._size.length,`<`);if(o.length<i.length){for(var c=0,u=0;i[c]===1&&o[c]===1;)c++;for(;i[c]===1;)u++,c++;n=Ai(n,i.length,u,o)}if(!Le(i,o))throw new mi(i,o,`>`);l(e,t.max().map(function(e){return e+1}),r),s(e._data,t,n)}return e}function s(e,t,n){var r=t.size().length-1;i(e,n);function i(e,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=t.dimension(a),s=(t,r)=>{bi(t,e.length),i(e[t],n[r[0]],a+1)},c=(t,r)=>{bi(t,e.length),e[t]=n[r[0]]};a<r?D(o)?s(o,[0]):o.forEach(s):D(o)?c(o,[0]):o.forEach(c)}}r.prototype.resize=function(e,t,n){if(!ee(e))throw TypeError(`Array or Matrix expected`);var r=e.valueOf().map(e=>Array.isArray(e)&&e.length===1?e[0]:e);return c(n?this.clone():this,r,t)};function c(e,t,n){if(t.length===0){for(var r=e._data;P(r);)r=r[0];return r}return e._size=t.slice(0),e._data=Si(e._data,e._size,n),e}r.prototype.reshape=function(e,t){var n=t?this.clone():this;return n._data=wi(n._data,e),n._size=Ti(e,n._size.reduce((e,t)=>e*t)),n};function l(e,t,n){for(var r=e._size.slice(0),i=!1;r.length<t.length;)r.push(0),i=!0;for(var a=0,o=t.length;a<o;a++)t[a]>r[a]&&(r[a]=t[a],i=!0);i&&c(e,r,n)}r.prototype.clone=function(){return new r({data:Ne(this._data),size:Ne(this._size),datatype:this._datatype})},r.prototype.size=function(){return this._size.slice(0)},r.prototype.map=function(e){arguments.length>1&&arguments[1]!==void 0&&arguments[1];var t=arguments.length>2&&arguments[2]!==void 0&&arguments[2],n=this,r=n._size.length-1;if(r<0)return n.clone();var i=Zi(e,n,`map`,t),a=i.fn,o=n.create(void 0,n._datatype);if(o._size=n._size,t||i.isUnary)return o._data=f(n._data),o;if(r===0){for(var s=n.valueOf(),c=Array(s.length),l=0;l<s.length;l++)c[l]=a(s[l],[l],n);return o._data=c,o}var u=[];return o._data=d(n._data),o;function d(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=Array(e.length);if(t<r)for(var o=0;o<e.length;o++)u[t]=o,i[o]=d(e[o],t+1);else for(var s=0;s<e.length;s++)u[t]=s,i[s]=a(e[s],u.slice(),n);return i}function f(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=Array(e.length);if(t<r)for(var i=0;i<e.length;i++)n[i]=f(e[i],t+1);else for(var o=0;o<e.length;o++)n[o]=a(e[o]);return n}},r.prototype.forEach=function(e){arguments.length>1&&arguments[1]!==void 0&&arguments[1];var t=arguments.length>2&&arguments[2]!==void 0&&arguments[2],n=this,r=n._size.length-1;if(r<0)return;var i=Zi(e,n,`map`,t),a=i.fn;if(t||i.isUnary){l(n._data);return}if(r===0){for(var o=0;o<n._data.length;o++)a(n._data[o],[o],n);return}var s=[];c(n._data);function c(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(t<r)for(var i=0;i<e.length;i++)s[t]=i,c(e[i],t+1);else for(var o=0;o<e.length;o++)s[t]=o,a(e[o],s.slice(),n)}function l(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(t<r)for(var n=0;n<e.length;n++)l(e[n],t+1);else for(var i=0;i<e.length;i++)a(e[i])}},r.prototype[Symbol.iterator]=function*(){var e=this._size.length-1;if(!(e<0)){if(e===0){for(var t=0;t<this._data.length;t++)yield{value:this._data[t],index:[t]};return}for(var n=Array(e+1).fill(0),r=this._size.reduce((e,t)=>e*t,1),i=0;i<r;i++){for(var a=this._data,o=0;o<e;o++)a=a[n[o]];yield{value:a[n[e]],index:n.slice()};for(var s=e;s>=0&&(n[s]++,!(n[s]<this._size[s]));s--)n[s]=0}}},r.prototype.rows=function(){var e=[];if(this.size().length!==2)throw TypeError(`Rows can only be returned for a 2D matrix.`);for(var t of this._data)e.push(new r([t],this._datatype));return e},r.prototype.columns=function(){var e=this,t=[],n=this.size();if(n.length!==2)throw TypeError(`Rows can only be returned for a 2D matrix.`);for(var i=this._data,a=function(n){var a=i.map(e=>[e[n]]);t.push(new r(a,e._datatype))},o=0;o<n[1];o++)a(o);return t},r.prototype.toArray=function(){return Ne(this._data)},r.prototype.valueOf=function(){return this._data},r.prototype.format=function(e){return oi(this._data,e)},r.prototype.toString=function(){return oi(this._data)},r.prototype.toJSON=function(){return{mathjs:`DenseMatrix`,data:this._data,size:this._size,datatype:this._datatype}},r.prototype.diagonal=function(e){if(e){if(O(e)&&(e=e.toNumber()),!D(e)||!H(e))throw TypeError(`The parameter k must be an integer number`)}else e=0;for(var t=e>0?e:0,n=e<0?-e:0,i=this._size[0],a=this._size[1],o=Math.min(i-n,a-t),s=[],c=0;c<o;c++)s[c]=this._data[c+n][c+t];return new r({data:s,size:[o],datatype:this._datatype})},r.diagonal=function(e,t,n,i){if(!P(e))throw TypeError(`Array expected, size parameter`);if(e.length!==2)throw Error(`Only two dimensions matrix are supported`);if(e=e.map(function(e){if(O(e)&&(e=e.toNumber()),!D(e)||!H(e)||e<1)throw Error(`Size values must be positive integers`);return e}),n){if(O(n)&&(n=n.toNumber()),!D(n)||!H(n))throw TypeError(`The parameter k must be an integer number`)}else n=0;var a=n>0?n:0,o=n<0?-n:0,s=e[0],c=e[1],l=Math.min(s-o,c-a),u;if(P(t)){if(t.length!==l)throw Error(`Invalid value array length`);u=function(e){return t[e]}}else if(F(t)){var d=t.size();if(d.length!==1||d[0]!==l)throw Error(`Invalid matrix length`);u=function(e){return t.get([e])}}else u=function(){return t};i||=O(u(0))?u(0).mul(0):0;var f=[];if(e.length>0){f=Si(f,e,i);for(var p=0;p<l;p++)f[p+o][p+a]=u(p)}return new r({data:f,size:[s,c]})},r.fromJSON=function(e){return new r(e)},r.prototype.swapRows=function(e,t){if(!D(e)||!H(e)||!D(t)||!H(t))throw Error(`Row index must be positive integers`);if(this._size.length!==2)throw Error(`Only two dimensional matrix is supported`);return bi(e,this._size[0]),bi(t,this._size[0]),r._swapRows(e,t,this._data),this},r._swapRows=function(e,t,n){var r=n[e];n[e]=n[t],n[t]=r};function u(e){return F(e)?u(e.valueOf()):P(e)?e.map(u):e}return r},{isClass:!0}),ia=`clone`,aa=V(ia,[`typed`],e=>{var{typed:t}=e;return t(ia,{any:Ne})});function oa(e){var t=e.length,n=e[0].length,r,i,a=[];for(i=0;i<n;i++){var o=[];for(r=0;r<t;r++)o.push(e[r][i]);a.push(o)}return a}function sa(e){for(var t=0;t<e.length;t++)if(ee(e[t]))return!0;return!1}function ca(e,t){F(e)?e.forEach(e=>t(e),!1,!0):Yi(e,t,!0)}function la(e,t,n){if(!n)return F(e)?e.map(e=>t(e),!1,!0):Ji(e,t,!0);var r=e=>e===0?e:t(e);return F(e)?e.map(e=>r(e),!1,!0):Ji(e,r,!0)}function ua(e,t,n){var r=Array.isArray(e)?gi(e):e.size();if(t<0||t>=r.length)throw new hi(t,r.length);return F(e)?e.create(da(e.valueOf(),t,n),e.datatype()):da(e,t,n)}function da(e,t,n){var r,i,a,o;if(t<=0){if(Array.isArray(e[0])){for(o=oa(e),i=[],r=0;r<o.length;r++)i[r]=da(o[r],t-1,n);return i}for(a=e[0],r=1;r<e.length;r++)a=n(a,e[r]);return a}for(i=[],r=0;r<e.length;r++)i[r]=da(e[r],t-1,n);return i}function fa(e,t,n,r,i,a,o,s,c,l,u){var d=e._values,f=e._index,p=e._ptr,m,h,g,_;if(r)for(h=p[t],g=p[t+1],m=h;m<g;m++)_=f[m],n[_]===a?(r[_]=c?s(d[m],r[_]):s(r[_],d[m]),i[_]=a):(n[_]=a,o.push(_),l?(r[_]=c?s(d[m],u):s(u,d[m]),i[_]=a):r[_]=d[m]);else for(h=p[t],g=p[t+1],m=h;m<g;m++)_=f[m],n[_]===a?i[_]=a:(n[_]=a,o.push(_))}var pa=`isInteger`,ma=V(pa,[`typed`,`equal`],e=>{var{typed:t,equal:n}=e;return t(pa,{number:e=>Number.isFinite(e)?n(e,Math.round(e)):!1,BigNumber:e=>e.isFinite()?n(e.round(),e):!1,bigint:e=>!0,Fraction:e=>e.d===1n,"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),ha=`number`,ga=`number, number`;function _a(e){return Math.abs(e)}_a.signature=ha;function va(e,t){return e+t}va.signature=ga;function ya(e,t){return e-t}ya.signature=ga;function ba(e,t){return e*t}ba.signature=ga;function xa(e){return-e}xa.signature=ha;function Sa(e){return e}Sa.signature=ha;function Ca(e){return rt(e)}Ca.signature=ha;function wa(e){return e*e*e}wa.signature=ha;function Ta(e){return Math.exp(e)}Ta.signature=ha;function Ea(e){return it(e)}Ea.signature=ha;function Da(e,t){if(!H(e)||!H(t))throw Error(`Parameters in function lcm must be integer numbers`);if(e===0||t===0)return 0;for(var n,r=e*t;t!==0;)n=t,t=e%n,e=n;return Math.abs(r/e)}Da.signature=ga;function Oa(e,t){return t?Math.log(e)/Math.log(t):Math.log(e)}function ka(e){return tt(e)}ka.signature=ha;function Aa(e){return et(e)}Aa.signature=ha;function ja(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2,n=t<0;if(n&&(t=-t),t===0)throw Error(`Root must be non-zero`);if(e<0&&Math.abs(t)%2!=1)throw Error(`Root must be odd when a is negative.`);if(e===0)return n?1/0:0;if(!isFinite(e))return n?0:e;var r=Math.abs(e)**(1/t);return r=e<0?-r:r,n?1/r:r}function Ma(e){return $e(e)}Ma.signature=ha;function Na(e){return e*e}Na.signature=ha;function Pa(e,t){var n,r,i,a=0,o=1,s=1,c=0;if(!H(e)||!H(t))throw Error(`Parameters in function xgcd must be integer numbers`);for(;t;)r=Math.floor(e/t),i=e-r*t,n=a,a=o-r*a,o=n,n=s,s=c-r*s,c=n,e=t,t=i;return e<0?[-e,-o,-c]:[e,e?o:0,c]}Pa.signature=ga;function Fa(e,t){return e*e<1&&t===1/0||e*e>1&&t===-1/0?0:e**+t}Fa.signature=ga;function Ia(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!H(t)||t<0||t>15)throw Error(`Number of decimals in function round must be an integer from 0 to 15 inclusive`);return parseFloat(ut(e,t))}var La=`number`,Ra=`number, number`;function za(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function bitAnd`);return e&t}za.signature=Ra;function Ba(e){if(!H(e))throw Error(`Integer expected in function bitNot`);return~e}Ba.signature=La;function Va(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function bitOr`);return e|t}Va.signature=Ra;function Ha(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function bitXor`);return e^t}Ha.signature=Ra;function Ua(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function leftShift`);return e<<t}Ua.signature=Ra;function Wa(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function rightArithShift`);return e>>t}Wa.signature=Ra;function Ga(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function rightLogShift`);return e>>>t}Ga.signature=Ra;function Ka(e,t){if(t<e)return 1;if(t===e)return t;var n=t+e>>1;return Ka(e,n)*Ka(n+1,t)}function qa(e,t){if(!H(e)||e<0||!H(t)||t<0)throw TypeError(`Positive integer value expected in function combinations`);if(t>e)throw TypeError(`k must be less than or equal to n`);for(var n=e-t,r=1,i=t<n?n+1:t+1,a=2,o=t<n?t:n,s=i;s<=e;++s)for(r*=s;a<=o&&r%a===0;)r/=a,++a;return a<=o&&(r/=Ka(a,o)),r}qa.signature=`number, number`;var Ja=Math.PI,Ya=2*Math.PI,Xa=Math.E,Za=1.618033988749895,Qa=`number`,$a=`number, number`;function eo(e){return!e}eo.signature=Qa;function to(e,t){return!!(e||t)}to.signature=$a;function no(e,t){return!!e!=!!t}no.signature=$a;function ro(e,t){return!!(e&&t)}ro.signature=$a;function io(e){var t;if(H(e))return e<=0?Number.isFinite(e)?1/0:NaN:e>171?1/0:Ka(1,e-1);if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*io(1-e));if(e>=171.35)return 1/0;if(e>85){var n=e*e,r=n*e,i=r*e,a=i*e;return Math.sqrt(2*Math.PI/e)*(e/Math.E)**+e*(1+1/(12*e)+1/(288*n)-139/(51840*r)-571/(2488320*i)+163879/(209018880*a)+5246819/(75246796800*a*e))}--e,t=oo[0];for(var o=1;o<oo.length;++o)t+=oo[o]/(e+o);var s=e+ao+.5;return Math.sqrt(2*Math.PI)*s**+(e+.5)*Math.exp(-s)*t}io.signature=`number`;var ao=4.7421875,oo=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22],so=.9189385332046728,co=[1.000000000190015,76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18];function lo(e){if(e<0)return NaN;if(e===0)return 1/0;if(!Number.isFinite(e))return e;if(e<.5)return Math.log(Math.PI/Math.sin(Math.PI*e))-lo(1-e);--e;for(var t=e+5+.5,n=co[0],r=6;r>=1;r--)n+=co[r]/(e+r);return so+(e+.5)*Math.log(t)-t+Math.log(n)}lo.signature=`number`;var uo=`number`;function fo(e){return _t(e)}fo.signature=uo;function po(e){return Math.atan(1/e)}po.signature=uo;function mo(e){return Number.isFinite(e)?(Math.log((e+1)/e)+Math.log(e/(e-1)))/2:0}mo.signature=uo;function ho(e){return Math.asin(1/e)}ho.signature=uo;function go(e){var t=1/e;return Math.log(t+Math.sqrt(t*t+1))}go.signature=uo;function _o(e){return Math.acos(1/e)}_o.signature=uo;function vo(e){var t=1/e,n=Math.sqrt(t*t-1);return Math.log(n+t)}vo.signature=uo;function yo(e){return vt(e)}yo.signature=uo;function bo(e){return yt(e)}bo.signature=uo;function xo(e){return 1/Math.tan(e)}xo.signature=uo;function So(e){var t=Math.exp(2*e);return(t+1)/(t-1)}So.signature=uo;function Co(e){return 1/Math.sin(e)}Co.signature=uo;function wo(e){return e===0?1/0:Math.abs(2/(Math.exp(e)-Math.exp(-e)))*$e(e)}wo.signature=uo;function To(e){return 1/Math.cos(e)}To.signature=uo;function Eo(e){return 2/(Math.exp(e)+Math.exp(-e))}Eo.signature=uo;function Do(e){return xt(e)}Do.signature=uo;var Oo=`number`;function ko(e){return e<0}ko.signature=Oo;function Ao(e){return e>0}Ao.signature=Oo;function jo(e){return Number.isNaN(e)}jo.signature=Oo;function Mo(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-9,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(n<=0)throw Error(`Relative tolerance must be greater than 0`);if(r<0)throw Error(`Absolute tolerance must be at least 0`);return e.isNaN()||t.isNaN()?!1:!e.isFinite()||!t.isFinite()?e.eq(t):e.eq(t)?!0:e.minus(t).abs().lte(e.constructor.max(e.constructor.max(e.abs(),t.abs()).mul(n),r))}var No=`isNegative`,Po=V(No,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t(No,{number:e=>!gt(e,0,n.relTol,n.absTol)&&ko(e),BigNumber:e=>!Mo(e,new e.constructor(0),n.relTol,n.absTol)&&e.isNeg()&&!e.isZero()&&!e.isNaN(),bigint:e=>e<0n,Fraction:e=>e.s<0n,Unit:t.referToSelf(e=>n=>t.find(e,n.valueType())(n.value)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Fo=`isNumeric`,Io=V(Fo,[`typed`],e=>{var{typed:t}=e;return t(Fo,{"number | BigNumber | bigint | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Lo=`hasNumericValue`,Ro=V(Lo,[`typed`,`isNumeric`],e=>{var{typed:t,isNumeric:n}=e;return t(Lo,{boolean:()=>!0,string:function(e){return e.trim().length>0&&!isNaN(Number(e))},any:function(e){return n(e)}})}),zo=`isPositive`,Bo=V(zo,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t(zo,{number:e=>!gt(e,0,n.relTol,n.absTol)&&Ao(e),BigNumber:e=>!Mo(e,new e.constructor(0),n.relTol,n.absTol)&&!e.isNeg()&&!e.isZero()&&!e.isNaN(),bigint:e=>e>0n,Fraction:e=>e.s>0n&&e.n>0n,Unit:t.referToSelf(e=>n=>t.find(e,n.valueType())(n.value)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Vo=`isZero`,Ho=V(Vo,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return t(Vo,{"number | BigNumber | Complex | Fraction":e=>n(e,0),bigint:e=>e===0n,Unit:t.referToSelf(e=>n=>t.find(e,n.valueType())(n.value)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Uo=`isNaN`,Wo=V(Uo,[`typed`],e=>{var{typed:t}=e;return t(Uo,{number:jo,BigNumber:function(e){return e.isNaN()},bigint:function(e){return!1},Fraction:function(e){return!1},Complex:function(e){return e.isNaN()},Unit:function(e){return Number.isNaN(e.value)},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Go=`isBounded`,Ko=V(Go,[`typed`],e=>{var{typed:t}=e;return t(Go,{number:e=>Number.isFinite(e),"BigNumber | Complex":e=>e.isFinite(),"bigint | Fraction":()=>!0,"null | undefined":()=>!1,Unit:t.referToSelf(e=>t=>e(t.value)),"Array | Matrix":t.referToSelf(e=>t=>(Array.isArray(t)||(t=t.valueOf()),t.every(t=>e(t))))})}),qo=`isFinite`,Jo=V(qo,[`typed`,`isBounded`,`map`],e=>{var{typed:t,isBounded:n,map:r}=e;return t(qo,{"Array | Matrix":e=>r(e,n),any:e=>n(e)})}),Yo=`typeOf`,Xo=V(Yo,[`typed`],e=>{var{typed:t}=e;return t(Yo,{any:Me})});function Zo(e,t,n,r){return gt(e.re,t.re,n,r)&&gt(e.im,t.im,n,r)}var Qo=V(`compareUnits`,[`typed`],e=>{var{typed:t}=e;return{"Unit, Unit":t.referToSelf(e=>(n,r)=>{if(!n.equalBase(r))throw Error(`Cannot compare units with different base`);return t.find(e,[n.valueType(),r.valueType()])(n.value,r.value)})}}),$o=`equalScalar`,es=V($o,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t($o,{"boolean, boolean":function(e,t){return e===t},"number, number":function(e,t){return gt(e,t,n.relTol,n.absTol)},"BigNumber, BigNumber":function(e,t){return e.eq(t)||Mo(e,t,n.relTol,n.absTol)},"bigint, bigint":function(e,t){return e===t},"Fraction, Fraction":function(e,t){return e.equals(t)},"Complex, Complex":function(e,t){return Zo(e,t,n.relTol,n.absTol)}},Qo({typed:t}))});V($o,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t($o,{"number, number":function(e,t){return gt(e,t,n.relTol,n.absTol)}})});var ts=V(`SparseMatrix`,[`typed`,`equalScalar`,`Matrix`],e=>{var{typed:t,equalScalar:n,Matrix:r}=e;function i(e,t){if(!(this instanceof i))throw SyntaxError(`Constructor must be called with the new operator`);if(t&&!N(t))throw Error(`Invalid datatype: `+t);if(F(e))a(this,e,t);else if(e&&P(e.index)&&P(e.ptr)&&P(e.size))this._values=e.values,this._index=e.index,this._ptr=e.ptr,this._size=e.size,this._datatype=t||e.datatype;else if(P(e))o(this,e,t);else if(e)throw TypeError(`Unsupported type of data (`+Me(e)+`)`);else this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=t}function a(e,t,n){t.type===`SparseMatrix`?(e._values=t._values?Ne(t._values):void 0,e._index=Ne(t._index),e._ptr=Ne(t._ptr),e._size=Ne(t._size),e._datatype=n||t._datatype):o(e,t.valueOf(),n||t._datatype)}function o(e,r,i){e._values=[],e._index=[],e._ptr=[],e._datatype=i;var a=r.length,o=0,s=n,c=0;if(N(i)&&(s=t.find(n,[i,i])||n,c=t.convert(0,i)),a>0){var l=0;do{e._ptr.push(e._index.length);for(var u=0;u<a;u++){var d=r[u];if(P(d)){if(l===0&&o<d.length&&(o=d.length),l<d.length){var f=d[l];s(f,c)||(e._values.push(f),e._index.push(u))}}else l===0&&o<1&&(o=1),s(d,c)||(e._values.push(d),e._index.push(u))}l++}while(l<o)}for(;e._ptr.length<=o;)e._ptr.push(e._index.length);e._size=[a,o]}i.prototype=new r,i.prototype.createSparseMatrix=function(e,t){return new i(e,t)},Object.defineProperty(i,"name",{value:`SparseMatrix`}),i.prototype.constructor=i,i.prototype.type=`SparseMatrix`,i.prototype.isSparseMatrix=!0,i.prototype.getDataType=function(){return Bi(this._values,Me)},i.prototype.storage=function(){return`sparse`},i.prototype.datatype=function(){return this._datatype},i.prototype.create=function(e,t){return new i(e,t)},i.prototype.density=function(){var e=this._size[0],t=this._size[1];return e!==0&&t!==0?this._index.length/(e*t):0},i.prototype.subset=function(e,t,n){if(!this._values)throw Error(`Cannot invoke subset on a Pattern only matrix`);switch(arguments.length){case 1:return s(this,e);case 2:case 3:return c(this,e,t,n);default:throw SyntaxError(`Wrong number of arguments`)}};function s(e,t){if(!ie(t))throw TypeError(`Invalid index`);if(t.isScalar())return e.get(t.min());var n=t.size();if(n.length!==e._size.length)throw new mi(n.length,e._size.length);var r,a,o,s,c=t.min(),l=t.max();for(r=0,a=e._size.length;r<a;r++)bi(c[r],e._size[r]),bi(l[r],e._size[r]);var u=e._values,d=e._index,f=e._ptr,p=t.dimension(0),m=t.dimension(1),h=[],g=[];function _(e,t){g[e]=t[0],h[e]=!0}Number.isInteger(p)?_(p,[0]):p.forEach(_);var v=u?[]:void 0,y=[],b=[];function x(e){for(b.push(y.length),o=f[e],s=f[e+1];o<s;o++)r=d[o],h[r]===!0&&(y.push(g[r]),v&&v.push(u[o]))}return Number.isInteger(m)?x(m):m.forEach(x),b.push(y.length),new i({values:v,index:y,ptr:b,size:n,datatype:e._datatype})}function c(e,t,n,r){if(!t||t.isIndex!==!0)throw TypeError(`Invalid index`);var i=t.size(),a=t.isScalar(),o;if(F(n)?(o=n.size(),n=n.toArray()):o=gi(n),a){if(o.length!==0)throw TypeError(`Scalar expected`);e.set(t.min(),n,r)}else{if(i.length!==1&&i.length!==2)throw new mi(i.length,e._size.length,`<`);if(o.length<i.length){for(var s=0,c=0;i[s]===1&&o[s]===1;)s++;for(;i[s]===1;)c++,s++;n=Ai(n,i.length,c,o)}if(!Le(i,o))throw new mi(i,o,`>`);if(i.length===1)d(t.dimension(0),(t,i)=>{bi(t),e.set([t,0],n[i[0]],r)});else{var l=t.dimension(0),u=t.dimension(1);d(l,(t,i)=>{bi(t),d(u,(a,o)=>{bi(a),e.set([t,a],n[i[0]][o[0]],r)})})}}return e;function d(e,t){D(e)?t(e,[0]):e.forEach(t)}}i.prototype.get=function(e){if(!P(e))throw TypeError(`Array expected`);if(e.length!==this._size.length)throw new mi(e.length,this._size.length);if(!this._values)throw Error(`Cannot invoke get on a Pattern only matrix`);var t=e[0],n=e[1];bi(t,this._size[0]),bi(n,this._size[1]);var r=l(t,this._ptr[n],this._ptr[n+1],this._index);return r<this._ptr[n+1]&&this._index[r]===t?this._values[r]:0},i.prototype.set=function(e,r,i){if(!P(e))throw TypeError(`Array expected`);if(e.length!==this._size.length)throw new mi(e.length,this._size.length);if(!this._values)throw Error(`Cannot invoke set on a Pattern only matrix`);var a=e[0],o=e[1],s=this._size[0],c=this._size[1],p=n,m=0;N(this._datatype)&&(p=t.find(n,[this._datatype,this._datatype])||n,m=t.convert(0,this._datatype)),(a>s-1||o>c-1)&&(f(this,Math.max(a+1,s),Math.max(o+1,c),i),s=this._size[0],c=this._size[1]),bi(a,s),bi(o,c);var h=l(a,this._ptr[o],this._ptr[o+1],this._index);return h<this._ptr[o+1]&&this._index[h]===a?p(r,m)?u(h,o,this._values,this._index,this._ptr):this._values[h]=r:p(r,m)||d(h,a,o,r,this._values,this._index,this._ptr),this};function l(e,t,n,r){if(n-t===0)return n;for(var i=t;i<n;i++)if(r[i]===e)return i;return t}function u(e,t,n,r,i){n.splice(e,1),r.splice(e,1);for(var a=t+1;a<i.length;a++)i[a]--}function d(e,t,n,r,i,a,o){i.splice(e,0,r),a.splice(e,0,t);for(var s=n+1;s<o.length;s++)o[s]++}i.prototype.resize=function(e,t,n){if(!ee(e))throw TypeError(`Array or Matrix expected`);var r=e.valueOf().map(e=>Array.isArray(e)&&e.length===1?e[0]:e);if(r.length!==2)throw Error(`Only two dimensions matrix are supported`);return r.forEach(function(e){if(!D(e)||!H(e)||e<0)throw TypeError(`Invalid size, must contain positive integers (size: `+oi(r)+`)`)}),f(n?this.clone():this,r[0],r[1],t)};function f(e,r,i,a){var o=a||0,s=n,c=0;N(e._datatype)&&(s=t.find(n,[e._datatype,e._datatype])||n,c=t.convert(0,e._datatype),o=t.convert(o,e._datatype));var l=!s(o,c),u=e._size[0],d=e._size[1],f,p,m;if(i>d){for(p=d;p<i;p++)if(e._ptr[p]=e._values.length,l)for(f=0;f<u;f++)e._values.push(o),e._index.push(f);e._ptr[i]=e._values.length}else i<d&&(e._ptr.splice(i+1,d-i),e._values.splice(e._ptr[i],e._values.length),e._index.splice(e._ptr[i],e._index.length));if(d=i,r>u){if(l){var h=0;for(p=0;p<d;p++){e._ptr[p]=e._ptr[p]+h,m=e._ptr[p+1]+h;var g=0;for(f=u;f<r;f++,g++)e._values.splice(m+g,0,o),e._index.splice(m+g,0,f),h++}e._ptr[d]=e._values.length}}else if(r<u){var _=0;for(p=0;p<d;p++){e._ptr[p]=e._ptr[p]-_;var v=e._ptr[p],y=e._ptr[p+1]-_;for(m=v;m<y;m++)f=e._index[m],f>r-1&&(e._values.splice(m,1),e._index.splice(m,1),_++)}e._ptr[p]=e._values.length}return e._size[0]=r,e._size[1]=i,e}i.prototype.reshape=function(e,t){if(!P(e))throw TypeError(`Array expected`);if(e.length!==2)throw Error(`Sparse matrices can only be reshaped in two dimensions`);e.forEach(function(t){if(!D(t)||!H(t)||t<=-2||t===0)throw TypeError(`Invalid size, must contain positive integers or -1 (size: `+oi(e)+`)`)});var n=this._size[0]*this._size[1];if(e=Ti(e,n),n!==e[0]*e[1])throw Error(`Reshaping sparse matrix will result in the wrong number of elements`);var r=t?this.clone():this;if(this._size[0]===e[0]&&this._size[1]===e[1])return r;for(var i=[],a=0;a<r._ptr.length;a++)for(var o=0;o<r._ptr[a+1]-r._ptr[a];o++)i.push(a);for(var s=r._values.slice(),c=r._index.slice(),u=0;u<r._index.length;u++){var f=c[u],p=i[u],m=f*r._size[1]+p;i[u]=m%e[1],c[u]=Math.floor(m/e[1])}r._values.length=0,r._index.length=0,r._ptr.length=e[1]+1,r._size=e.slice();for(var h=0;h<r._ptr.length;h++)r._ptr[h]=0;for(var g=0;g<s.length;g++){var _=c[g],v=i[g],y=s[g];d(l(_,r._ptr[v],r._ptr[v+1],r._index),_,v,y,r._values,r._index,r._ptr)}return r},i.prototype.clone=function(){return new i({values:this._values?Ne(this._values):void 0,index:Ne(this._index),ptr:Ne(this._ptr),size:Ne(this._size),datatype:this._datatype})},i.prototype.size=function(){return this._size.slice(0)},i.prototype.map=function(e,t){if(!this._values)throw Error(`Cannot invoke map on a Pattern only matrix`);var n=this,r=this._size[0],i=this._size[1],a=Zi(e,n,`map`);return p(this,0,r-1,0,i-1,function(e,t,r){return a.fn(e,[t,r],n)},t)};function p(e,r,a,o,s,c,l){var u=[],d=[],f=[],p=n,m=0;N(e._datatype)&&(p=t.find(n,[e._datatype,e._datatype])||n,m=t.convert(0,e._datatype));for(var h=function(e,t,n){var r=c(e,t,n);p(r,m)||(u.push(r),d.push(t))},g=o;g<=s;g++){f.push(u.length);var _=e._ptr[g],v=e._ptr[g+1];if(l)for(var y=_;y<v;y++){var b=e._index[y];b>=r&&b<=a&&h(e._values[y],b-r,g-o)}else{for(var x={},S=_;S<v;S++){var C=e._index[S];x[C]=e._values[S]}for(var w=r;w<=a;w++)h(w in x?x[w]:0,w-r,g-o)}}return f.push(u.length),new i({values:u,index:d,ptr:f,size:[a-r+1,s-o+1]})}i.prototype.forEach=function(e,t){if(!this._values)throw Error(`Cannot invoke forEach on a Pattern only matrix`);for(var n=this,r=this._size[0],i=this._size[1],a=Zi(e,n,`forEach`),o=0;o<i;o++){var s=this._ptr[o],c=this._ptr[o+1];if(t)for(var l=s;l<c;l++){var u=this._index[l];a.fn(this._values[l],[u,o],n)}else{for(var d={},f=s;f<c;f++){var p=this._index[f];d[p]=this._values[f]}for(var m=0;m<r;m++){var h=m in d?d[m]:0;a.fn(h,[m,o],n)}}}},i.prototype[Symbol.iterator]=function*(){if(!this._values)throw Error(`Cannot iterate a Pattern only matrix`);for(var e=this._size[1],t=0;t<e;t++)for(var n=this._ptr[t],r=this._ptr[t+1],i=n;i<r;i++){var a=this._index[i];yield{value:this._values[i],index:[a,t]}}},i.prototype.toArray=function(){return m(this._values,this._index,this._ptr,this._size,!0)},i.prototype.valueOf=function(){return m(this._values,this._index,this._ptr,this._size,!1)};function m(e,t,n,r,i){for(var a=r[0],o=r[1],s=[],c=0,l;c<a;c++)for(s[c]=[],l=0;l<o;l++)s[c][l]=0;for(l=0;l<o;l++)for(var u=n[l],d=n[l+1],f=u;f<d;f++)c=t[f],s[c][l]=e?i?Ne(e[f]):e[f]:1;return s}return i.prototype.format=function(e){for(var t=this._size[0],n=this._size[1],r=this.density(),i=`Sparse Matrix [`+oi(t,e)+` x `+oi(n,e)+`] density: `+oi(r,e)+`
9
+ `||(a===`+`?r++:a===`-`?i++:a===`i`||a===`I`?(r+i===0&&Tr(),t[e+1]!==` `&&!isNaN(t[e+1])?(n.im+=parseFloat((i%2?`-`:``)+t[e+1]),e++):n.im+=parseFloat((i%2?`-`:``)+`1`),r=i=0):((r+i===0||isNaN(a))&&Tr(),t[e+1]===`i`||t[e+1]===`I`?(n.im+=parseFloat((i%2?`-`:``)+a),e++):n.re+=parseFloat((i%2?`-`:``)+a),r=i=0))}r+i>0&&Tr();break;case`number`:n.im=0,n.re=e;break;default:Tr()}return isNaN(n.re)||isNaN(n.im),n};function G(e,t){if(!(this instanceof G))return new G(e,t);let n=Or(e,t);this.re=n.re,this.im=n.im}G.prototype={re:0,im:0,sign:function(){let e=wr(this.re,this.im);return new G(this.re/e,this.im/e)},add:function(e,t){let n=Or(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im));return r||i?r&&i?G.NAN:G.INFINITY:new G(this.re+n.re,this.im+n.im)},sub:function(e,t){let n=Or(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im));return r||i?r&&i?G.NAN:G.INFINITY:new G(this.re-n.re,this.im-n.im)},mul:function(e,t){let n=Or(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im)),a=this.re===0&&this.im===0,o=n.re===0&&n.im===0;return r&&o||i&&a?G.NAN:r||i?G.INFINITY:n.im===0&&this.im===0?new G(this.re*n.re,0):new G(this.re*n.re-this.im*n.im,this.re*n.im+this.im*n.re)},div:function(e,t){let n=Or(e,t),r=this.isInfinite(),i=!(isFinite(n.re)&&isFinite(n.im)),a=this.re===0&&this.im===0,o=n.re===0&&n.im===0;if(a&&o||r&&i)return G.NAN;if(o||r)return G.INFINITY;if(a||i)return G.ZERO;if(n.im===0)return new G(this.re/n.re,this.im/n.re);if(Math.abs(n.re)<Math.abs(n.im)){let e=n.re/n.im,t=n.re*e+n.im;return new G((this.re*e+this.im)/t,(this.im*e-this.re)/t)}{let e=n.im/n.re,t=n.im*e+n.re;return new G((this.re+this.im*e)/t,(this.im-this.re*e)/t)}},pow:function(e,t){let n=Or(e,t),r=this.re===0&&this.im===0;if(n.re===0&&n.im===0)return G.ONE;if(n.im===0){if(this.im===0&&this.re>0)return new G(this.re**+n.re,0);if(this.re===0)switch((n.re%4+4)%4){case 0:return new G(this.im**+n.re,0);case 1:return new G(0,this.im**+n.re);case 2:return new G(-(this.im**+n.re),0);case 3:return new G(0,-(this.im**+n.re))}}if(r&&n.re>0)return G.ZERO;let i=Math.atan2(this.im,this.re),a=Er(this.re,this.im),o=Math.exp(n.re*a-n.im*i),s=n.im*a+n.re*i;return new G(o*Math.cos(s),o*Math.sin(s))},sqrt:function(){let e=this.re,t=this.im;if(t===0)return e>=0?new G(Math.sqrt(e),0):new G(0,Math.sqrt(-e));let n=wr(e,t),r=Math.sqrt(.5*(n+Math.abs(e))),i=Math.abs(t)/(2*r);return e>=0?new G(r,t<0?-i:i):new G(i,t<0?-r:r)},exp:function(){let e=Math.exp(this.re);return this.im===0?new G(e,0):new G(e*Math.cos(this.im),e*Math.sin(this.im))},expm1:function(){let e=this.re,t=this.im;return new G(Math.expm1(e)*Math.cos(t)+Cr(t),Math.exp(e)*Math.sin(t))},log:function(){let e=this.re,t=this.im;return t===0&&e>0?new G(Math.log(e),0):new G(Er(e,t),Math.atan2(t,e))},abs:function(){return wr(this.re,this.im)},arg:function(){return Math.atan2(this.im,this.re)},sin:function(){let e=this.re,t=this.im;return new G(Math.sin(e)*xr(t),Math.cos(e)*Sr(t))},cos:function(){let e=this.re,t=this.im;return new G(Math.cos(e)*xr(t),-Math.sin(e)*Sr(t))},tan:function(){let e=2*this.re,t=2*this.im,n=Math.cos(e)+xr(t);return new G(Math.sin(e)/n,Sr(t)/n)},cot:function(){let e=2*this.re,t=2*this.im,n=Math.cos(e)-xr(t);return new G(-Math.sin(e)/n,Sr(t)/n)},sec:function(){let e=this.re,t=this.im,n=.5*xr(2*t)+.5*Math.cos(2*e);return new G(Math.cos(e)*xr(t)/n,Math.sin(e)*Sr(t)/n)},csc:function(){let e=this.re,t=this.im,n=.5*xr(2*t)-.5*Math.cos(2*e);return new G(Math.sin(e)*xr(t)/n,-Math.cos(e)*Sr(t)/n)},asin:function(){let e=this.re,t=this.im,n=new G(t*t-e*e+1,-2*e*t).sqrt(),r=new G(n.re-t,n.im+e).log();return new G(r.im,-r.re)},acos:function(){let e=this.re,t=this.im,n=new G(t*t-e*e+1,-2*e*t).sqrt(),r=new G(n.re-t,n.im+e).log();return new G(Math.PI/2-r.im,r.re)},atan:function(){let e=this.re,t=this.im;if(e===0){if(t===1)return new G(0,1/0);if(t===-1)return new G(0,-1/0)}let n=e*e+(1-t)*(1-t),r=new G((1-t*t-e*e)/n,-2*e/n).log();return new G(-.5*r.im,.5*r.re)},acot:function(){let e=this.re,t=this.im;if(t===0)return new G(Math.atan2(1,e),0);let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).atan():new G(e/n,-t/n).atan()},asec:function(){let e=this.re,t=this.im;if(e===0&&t===0)return new G(0,1/0);let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).acos():new G(e/n,-t/n).acos()},acsc:function(){let e=this.re,t=this.im;if(e===0&&t===0)return new G(Math.PI/2,1/0);let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).asin():new G(e/n,-t/n).asin()},sinh:function(){let e=this.re,t=this.im;return new G(Sr(e)*Math.cos(t),xr(e)*Math.sin(t))},cosh:function(){let e=this.re,t=this.im;return new G(xr(e)*Math.cos(t),Sr(e)*Math.sin(t))},tanh:function(){let e=2*this.re,t=2*this.im,n=xr(e)+Math.cos(t);return new G(Sr(e)/n,Math.sin(t)/n)},coth:function(){let e=2*this.re,t=2*this.im,n=xr(e)-Math.cos(t);return new G(Sr(e)/n,-Math.sin(t)/n)},csch:function(){let e=this.re,t=this.im,n=Math.cos(2*t)-xr(2*e);return new G(-2*Sr(e)*Math.cos(t)/n,2*xr(e)*Math.sin(t)/n)},sech:function(){let e=this.re,t=this.im,n=Math.cos(2*t)+xr(2*e);return new G(2*xr(e)*Math.cos(t)/n,-2*Sr(e)*Math.sin(t)/n)},asinh:function(){let e=this.re,t=this.im;if(t===0){if(e===0)return new G(0,0);let t=Math.abs(e),n=Math.log(t+Math.sqrt(t*t+1));return new G(e<0?-n:n,0)}let n=new G(e*e-t*t+1,2*e*t).sqrt();return new G(e+n.re,t+n.im).log()},acosh:function(){let e=this.re,t=this.im;if(t===0){if(e>1)return new G(Math.log(e+Math.sqrt(e-1)*Math.sqrt(e+1)),0);if(e<-1){let t=Math.sqrt(e*e-1);return new G(Math.log(-e+t),Math.PI)}return new G(0,Math.acos(e))}let n=new G(e-1,t).sqrt(),r=new G(e+1,t).sqrt();return new G(e+n.re*r.re-n.im*r.im,t+n.re*r.im+n.im*r.re).log()},atanh:function(){let e=this.re,t=this.im;if(t===0){if(e===0)return new G(0,0);if(e===1)return new G(1/0,0);if(e===-1)return new G(-1/0,0);if(-1<e&&e<1)return new G(.5*Math.log((1+e)/(1-e)),0);if(e>1){let t=(e+1)/(e-1);return new G(.5*Math.log(t),-Math.PI/2)}let t=(1+e)/(1-e);return new G(.5*Math.log(-t),Math.PI/2)}let n=1-e,r=1+e,i=n*n+t*t;if(i===0)return new G(e===-1?0:e/0,t===0?0:t/0);let a=(r*n-t*t)/i,o=(t*n+r*t)/i;return new G(Er(a,o)/2,Math.atan2(o,a)/2)},acoth:function(){let e=this.re,t=this.im;if(e===0&&t===0)return new G(0,Math.PI/2);let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).atanh():new G(e/n,-t/n).atanh()},acsch:function(){let e=this.re,t=this.im;if(t===0){if(e===0)return new G(1/0,0);let t=1/e;return new G(Math.log(t+Math.sqrt(t*t+1)),0)}let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).asinh():new G(e/n,-t/n).asinh()},asech:function(){let e=this.re,t=this.im;if(this.isZero())return G.INFINITY;let n=e*e+t*t;return n===0?new G(e===0?0:e/0,t===0?0:-t/0).acosh():new G(e/n,-t/n).acosh()},inverse:function(){if(this.isZero())return G.INFINITY;if(this.isInfinite())return G.ZERO;let e=this.re,t=this.im,n=e*e+t*t;return new G(e/n,-t/n)},conjugate:function(){return new G(this.re,-this.im)},neg:function(){return new G(-this.re,-this.im)},ceil:function(e){return e=10**(e||0),new G(Math.ceil(this.re*e)/e,Math.ceil(this.im*e)/e)},floor:function(e){return e=10**(e||0),new G(Math.floor(this.re*e)/e,Math.floor(this.im*e)/e)},round:function(e){return e=10**(e||0),new G(Math.round(this.re*e)/e,Math.round(this.im*e)/e)},equals:function(e,t){let n=Or(e,t);return Math.abs(n.re-this.re)<=G.EPSILON&&Math.abs(n.im-this.im)<=G.EPSILON},clone:function(){return new G(this.re,this.im)},toString:function(){let e=this.re,t=this.im,n=``;return this.isNaN()?`NaN`:this.isInfinite()?`Infinity`:(Math.abs(e)<G.EPSILON&&(e=0),Math.abs(t)<G.EPSILON&&(t=0),t===0?n+e:(e===0?t<0&&(t=-t,n+=`-`):(n+=e,n+=` `,t<0?(t=-t,n+=`-`):n+=`+`,n+=` `),t!==1&&(n+=t),n+`i`))},toVector:function(){return[this.re,this.im]},valueOf:function(){return this.im===0?this.re:null},isNaN:function(){return isNaN(this.re)||isNaN(this.im)},isZero:function(){return this.im===0&&this.re===0},isFinite:function(){return isFinite(this.re)&&isFinite(this.im)},isInfinite:function(){return!this.isFinite()}},G.ZERO=new G(0,0),G.ONE=new G(1,0),G.I=new G(0,1),G.PI=new G(Math.PI,0),G.E=new G(Math.E,0),G.INFINITY=new G(1/0,1/0),G.NAN=new G(NaN,NaN),G.EPSILON=1e-15;var kr=V(`Complex`,[],()=>(Object.defineProperty(G,"name",{value:`Complex`}),G.prototype.constructor=G,G.prototype.type=`Complex`,G.prototype.isComplex=!0,G.prototype.toJSON=function(){return{mathjs:`Complex`,re:this.re,im:this.im}},G.prototype.toPolar=function(){return{r:this.abs(),phi:this.arg()}},G.prototype.format=function(e){var t=``,n=this.im,r=this.re,i=ot(this.re,e),a=ot(this.im,e),o=D(e)?e:e?e.precision:null;if(o!==null){var s=10**-o;Math.abs(r/n)<s&&(r=0),Math.abs(n/r)<s&&(n=0)}return t=n===0?i:r===0?n===1?`i`:n===-1?`-i`:a+`i`:n<0?n===-1?i+` - i`:i+` - `+a.substring(1)+`i`:n===1?i+` + i`:i+` + `+a+`i`,t},G.fromPolar=function(e){switch(arguments.length){case 1:var t=arguments[0];if(typeof t==`object`)return G(t);throw TypeError(`Input has to be an object with r and phi keys.`);case 2:var n=arguments[0],r=arguments[1];if(D(n)){if(M(r)&&r.hasBase(`ANGLE`)&&(r=r.toNumber(`rad`)),D(r))return new G({r:n,phi:r});throw TypeError(`Phi is not a number nor an angle unit.`)}throw TypeError(`Radius r is not a number.`);default:throw SyntaxError(`Wrong number of arguments in function fromPolar`)}},G.prototype.valueOf=G.prototype.toString,G.fromJSON=function(e){return new G(e)},G.compare=function(e,t){return e.re>t.re?1:e.re<t.re?-1:e.im>t.im?1:e.im<t.im?-1:0},G),{isClass:!0});typeof BigInt>`u`&&(BigInt=function(e){if(isNaN(e))throw Error(``);return e});var K=BigInt(0),Ar=BigInt(1),jr=BigInt(2),Mr=BigInt(3),Nr=BigInt(5),Pr=BigInt(10);BigInt(2**53-1);var Fr=2e3,q={s:Ar,n:K,d:Ar};function Ir(e,t){try{e=BigInt(e)}catch{throw Jr()}return e*t}function Lr(e){return typeof e==`bigint`?e:Math.floor(e)}function Rr(e,t){if(t===K)throw qr();let n=Object.create(Kr.prototype);n.s=e<K?-Ar:Ar,e=e<K?-e:e;let r=Gr(e,t);return n.n=e/r,n.d=t/r,n}var zr=[jr*jr,jr,jr*jr,jr,jr*jr,jr*Mr,jr,jr*Mr];function Br(e){let t=Object.create(null);if(e<=Ar)return t[e]=Ar,t;let n=e=>{t[e]=(t[e]||K)+Ar};for(;e%jr===K;)n(jr),e/=jr;for(;e%Mr===K;)n(Mr),e/=Mr;for(;e%Nr===K;)n(Nr),e/=Nr;for(let t=0,r=jr+Nr;r*r<=e;){for(;e%r===K;)n(r),e/=r;r+=zr[t],t=t+1&7}return e>Ar&&n(e),t}var Vr=function(e,t){let n=K,r=Ar,i=Ar;if(e!=null){if(t!==void 0){if(typeof e==`bigint`)n=e;else if(isNaN(e))throw Jr();else if(e%1!=0)throw Yr();else n=BigInt(e);if(typeof t==`bigint`)r=t;else if(isNaN(t))throw Jr();else if(t%1!=0)throw Yr();else r=BigInt(t);i=n*r}else if(typeof e==`object`){if(`d`in e&&`n`in e)n=BigInt(e.n),r=BigInt(e.d),`s`in e&&(n*=BigInt(e.s));else if(0 in e)n=BigInt(e[0]),1 in e&&(r=BigInt(e[1]));else if(typeof e==`bigint`)n=e;else throw Jr();i=n*r}else if(typeof e==`number`){if(isNaN(e))throw Jr();if(e<0&&(i=-Ar,e=-e),e%1==0)n=BigInt(e);else{let t=1,i=0,a=1,o=1,s=1,c=1e7;for(e>=1&&(t=10**Math.floor(1+Math.log10(e)),e/=t);a<=c&&s<=c;){let t=(i+o)/(a+s);if(e===t){a+s<=c?(n=i+o,r=a+s):s>a?(n=o,r=s):(n=i,r=a);break}e>t?(i+=o,a+=s):(o+=i,s+=a),a>c?(n=o,r=s):(n=i,r=a)}n=BigInt(n)*BigInt(t),r=BigInt(r)}}else if(typeof e==`string`){let t=0,a=K,o=K,s=K,c=Ar,l=Ar,u=e.replace(/_/g,``).match(/\d+|./g);if(u===null)throw Jr();if(u[t]===`-`?(i=-Ar,t++):u[t]===`+`&&t++,u.length===t+1?o=Ir(u[t++],i):u[t+1]===`.`||u[t]===`.`?(u[t]!==`.`&&(a=Ir(u[t++],i)),t++,(t+1===u.length||u[t+1]===`(`&&u[t+3]===`)`||u[t+1]===`'`&&u[t+3]===`'`)&&(o=Ir(u[t],i),c=Pr**BigInt(u[t].length),t++),(u[t]===`(`&&u[t+2]===`)`||u[t]===`'`&&u[t+2]===`'`)&&(s=Ir(u[t+1],i),l=Pr**BigInt(u[t+1].length)-Ar,t+=3)):u[t+1]===`/`||u[t+1]===`:`?(o=Ir(u[t],i),c=Ir(u[t+2],Ar),t+=3):u[t+3]===`/`&&u[t+1]===` `&&(a=Ir(u[t],i),o=Ir(u[t+2],i),c=Ir(u[t+4],Ar),t+=5),u.length<=t)r=c*l,i=n=s+r*a+l*o;else throw Jr()}else if(typeof e==`bigint`)n=e,i=e,r=Ar;else throw Jr()}if(r===K)throw qr();q.s=i<K?-Ar:Ar,q.n=n<K?-n:n,q.d=r<K?-r:r};function Hr(e,t,n){let r=Ar;for(;t>K;e=e*e%n,t>>=Ar)t&Ar&&(r=r*e%n);return r}function Ur(e,t){for(;t%jr===K;t/=jr);for(;t%Nr===K;t/=Nr);if(t===Ar)return K;let n=Pr%t,r=1;for(;n!==Ar;r++)if(n=n*Pr%t,r>Fr)return K;return BigInt(r)}function Wr(e,t,n){let r=Ar,i=Hr(Pr,n,t);for(let e=0;e<300;e++){if(r===i)return BigInt(e);r=r*Pr%t,i=i*Pr%t}return 0}function Gr(e,t){if(!e)return t;if(!t)return e;for(;;){if(e%=t,!e)return t;if(t%=e,!t)return e}}function Kr(e,t){if(Vr(e,t),this instanceof Kr)e=Gr(q.d,q.n),this.s=q.s,this.n=q.n/e,this.d=q.d/e;else return Rr(q.s*q.n,q.d)}var qr=function(){return Error(`Division by Zero`)},Jr=function(){return Error(`Invalid argument`)},Yr=function(){return Error(`Parameters must be integer`)};Kr.prototype={s:Ar,n:K,d:Ar,abs:function(){return Rr(this.n,this.d)},neg:function(){return Rr(-this.s*this.n,this.d)},add:function(e,t){return Vr(e,t),Rr(this.s*this.n*q.d+q.s*this.d*q.n,this.d*q.d)},sub:function(e,t){return Vr(e,t),Rr(this.s*this.n*q.d-q.s*this.d*q.n,this.d*q.d)},mul:function(e,t){return Vr(e,t),Rr(this.s*q.s*this.n*q.n,this.d*q.d)},div:function(e,t){return Vr(e,t),Rr(this.s*q.s*this.n*q.d,this.d*q.n)},clone:function(){return Rr(this.s*this.n,this.d)},mod:function(e,t){if(e===void 0)return Rr(this.s*this.n%this.d,Ar);if(Vr(e,t),K===q.n*this.d)throw qr();return Rr(this.s*(q.d*this.n)%(q.n*this.d),q.d*this.d)},gcd:function(e,t){return Vr(e,t),Rr(Gr(q.n,this.n)*Gr(q.d,this.d),q.d*this.d)},lcm:function(e,t){return Vr(e,t),q.n===K&&this.n===K?Rr(K,Ar):Rr(q.n*this.n,Gr(q.n,this.n)*Gr(q.d,this.d))},inverse:function(){return Rr(this.s*this.d,this.n)},pow:function(e,t){if(Vr(e,t),q.d===Ar)return q.s<K?Rr((this.s*this.d)**q.n,this.n**q.n):Rr((this.s*this.n)**q.n,this.d**q.n);if(this.s<K)return null;let n=Br(this.n),r=Br(this.d),i=Ar,a=Ar;for(let e in n)if(e!==`1`){if(e===`0`){i=K;break}if(n[e]*=q.n,n[e]%q.d===K)n[e]/=q.d;else return null;i*=BigInt(e)**n[e]}for(let e in r)if(e!==`1`){if(r[e]*=q.n,r[e]%q.d===K)r[e]/=q.d;else return null;a*=BigInt(e)**r[e]}return q.s<K?Rr(a,i):Rr(i,a)},log:function(e,t){if(Vr(e,t),this.s<=K||q.s<=K)return null;let n=Object.create(null),r=Br(q.n),i=Br(q.d),a=Br(this.n),o=Br(this.d);for(let e in i)r[e]=(r[e]||K)-i[e];for(let e in o)a[e]=(a[e]||K)-o[e];for(let e in r)e!==`1`&&(n[e]=!0);for(let e in a)e!==`1`&&(n[e]=!0);let s=null,c=null;for(let e in n){let t=r[e]||K,n=a[e]||K;if(t===K){if(n!==K)return null;continue}let i=n,o=t,l=Gr(i,o);if(i/=l,o/=l,s===null&&c===null)s=i,c=o;else if(i*c!==s*o)return null}return s!==null&&c!==null?Rr(s,c):null},equals:function(e,t){return Vr(e,t),this.s*this.n*q.d===q.s*q.n*this.d},lt:function(e,t){return Vr(e,t),this.s*this.n*q.d<q.s*q.n*this.d},lte:function(e,t){return Vr(e,t),this.s*this.n*q.d<=q.s*q.n*this.d},gt:function(e,t){return Vr(e,t),this.s*this.n*q.d>q.s*q.n*this.d},gte:function(e,t){return Vr(e,t),this.s*this.n*q.d>=q.s*q.n*this.d},compare:function(e,t){Vr(e,t);let n=this.s*this.n*q.d-q.s*q.n*this.d;return(K<n)-(n<K)},ceil:function(e){return e=Pr**BigInt(e||0),Rr(Lr(this.s*e*this.n/this.d)+(e*this.n%this.d>K&&this.s>=K?Ar:K),e)},floor:function(e){return e=Pr**BigInt(e||0),Rr(Lr(this.s*e*this.n/this.d)-(e*this.n%this.d>K&&this.s<K?Ar:K),e)},round:function(e){return e=Pr**BigInt(e||0),Rr(Lr(this.s*e*this.n/this.d)+this.s*((this.s>=K?Ar:K)+jr*(e*this.n%this.d)>this.d?Ar:K),e)},roundTo:function(e,t){Vr(e,t);let n=this.n*q.d,r=this.d*q.n,i=n%r,a=Lr(n/r);return i+i>=r&&a++,Rr(this.s*a*q.n,q.d)},divisible:function(e,t){return Vr(e,t),q.n!==K&&this.n*q.d%(q.n*this.d)===K},valueOf:function(){return Number(this.s*this.n)/Number(this.d)},toString:function(e=15){let t=this.n,n=this.d,r=Ur(t,n),i=Wr(t,n,r),a=this.s<K?`-`:``;if(a+=Lr(t/n),t%=n,t*=Pr,t&&(a+=`.`),r){for(let e=i;e--;)a+=Lr(t/n),t%=n,t*=Pr;a+=`(`;for(let e=r;e--;)a+=Lr(t/n),t%=n,t*=Pr;a+=`)`}else for(let r=e;t&&r--;)a+=Lr(t/n),t%=n,t*=Pr;return a},toFraction:function(e=!1){let t=this.n,n=this.d,r=this.s<K?`-`:``;if(n===Ar)r+=t;else{let i=Lr(t/n);e&&i>K&&(r+=i,r+=` `,t%=n),r+=t,r+=`/`,r+=n}return r},toLatex:function(e=!1){let t=this.n,n=this.d,r=this.s<K?`-`:``;if(n===Ar)r+=t;else{let i=Lr(t/n);e&&i>K&&(r+=i,t%=n),r+=`\\frac{`,r+=t,r+=`}{`,r+=n,r+=`}`}return r},toContinued:function(){let e=this.n,t=this.d,n=[];for(;t;){n.push(Lr(e/t));let r=e%t;e=t,t=r}return n},simplify:function(e=.001){let t=BigInt(Math.ceil(1/e)),n=this.abs(),r=n.toContinued();for(let e=1;e<r.length;e++){let i=Rr(r[e-1],Ar);for(let t=e-2;t>=0;t--)i=i.inverse().add(r[t]);let a=i.sub(n);if(a.n*t<a.d)return i.mul(this.s)}return this}};var Xr=V(`Fraction`,[],()=>(Object.defineProperty(Kr,"name",{value:`Fraction`}),Kr.prototype.constructor=Kr,Kr.prototype.type=`Fraction`,Kr.prototype.isFraction=!0,Kr.prototype.toJSON=function(){return{mathjs:`Fraction`,n:String(this.s*this.n),d:String(this.d)}},Kr.fromJSON=function(e){return new Kr(e)},Kr),{isClass:!0}),Zr=V(`Range`,[],()=>{function e(t,n,r){if(!(this instanceof e))throw SyntaxError(`Constructor must be called with the new operator`);var i=t!=null,a=n!=null,o=r!=null;if(i){if(O(t))t=t.toNumber();else if(typeof t!=`number`&&!k(t))throw TypeError(`Parameter start must be a number or bigint`)}if(a){if(O(n))n=n.toNumber();else if(typeof n!=`number`&&!k(n))throw TypeError(`Parameter end must be a number or bigint`)}if(o){if(O(r))r=r.toNumber();else if(typeof r!=`number`&&!k(r))throw TypeError(`Parameter step must be a number or bigint`)}if(this.start=i?parseFloat(t):0,this.end=a?parseFloat(n):0,this.step=o?parseFloat(r):1,o&&gt(this.step,0))throw Error(`Step must not be zero`)}return e.prototype.type=`Range`,e.prototype.isRange=!0,e.parse=function(t){if(typeof t!=`string`)return null;var n=t.split(`:`).map(function(e){return parseFloat(e)});if(n.some(function(e){return isNaN(e)}))return null;switch(n.length){case 2:return new e(n[0],n[1]);case 3:return new e(n[0],n[2],n[1]);default:return null}},e.prototype.clone=function(){return new e(this.start,this.end,this.step)},e.prototype.size=function(){var e=0,t=this.start,n=this.step,r=this.end-t;return $e(n)===$e(r)?e=Math.ceil(r/n):r===0&&(e=0),isNaN(e)&&(e=0),[e]},e.prototype.min=function(){var e=this.size()[0];if(e>0)return this.step>0?this.start:this.start+(e-1)*this.step},e.prototype.max=function(){var e=this.size()[0];if(e>0)return this.step>0?this.start+(e-1)*this.step:this.start},e.prototype.forEach=function(e){var t=this.start,n=this.step,r=this.end,i=0;if(n>0)for(;t<r;)e(t,[i],this),t+=n,i++;else if(n<0)for(;t>r;)e(t,[i],this),t+=n,i++},e.prototype.map=function(e){var t=[];return this.forEach(function(n,r,i){t[r[0]]=e(n,r,i)}),t},e.prototype.toArray=function(){var e=[];return this.forEach(function(t,n){e[n[0]]=t}),e},e.prototype.valueOf=function(){return this.toArray()},e.prototype.format=function(e){var t=ot(this.start,e);return this.step!==1&&(t+=`:`+ot(this.step,e)),t+=`:`+ot(this.end,e),t},e.prototype.toString=function(){return this.format()},e.prototype.toJSON=function(){return{mathjs:`Range`,start:this.start,end:this.end,step:this.step}},e.fromJSON=function(t){return new e(t.start,t.end,t.step)},e},{isClass:!0}),Qr=V(`Matrix`,[],()=>{function e(){if(!(this instanceof e))throw SyntaxError(`Constructor must be called with the new operator`)}return e.prototype.type=`Matrix`,e.prototype.isMatrix=!0,e.prototype.storage=function(){throw Error(`Cannot invoke storage on a Matrix interface`)},e.prototype.datatype=function(){throw Error(`Cannot invoke datatype on a Matrix interface`)},e.prototype.create=function(e,t){throw Error(`Cannot invoke create on a Matrix interface`)},e.prototype.subset=function(e,t,n){throw Error(`Cannot invoke subset on a Matrix interface`)},e.prototype.get=function(e){throw Error(`Cannot invoke get on a Matrix interface`)},e.prototype.set=function(e,t,n){throw Error(`Cannot invoke set on a Matrix interface`)},e.prototype.resize=function(e,t){throw Error(`Cannot invoke resize on a Matrix interface`)},e.prototype.reshape=function(e,t){throw Error(`Cannot invoke reshape on a Matrix interface`)},e.prototype.clone=function(){throw Error(`Cannot invoke clone on a Matrix interface`)},e.prototype.size=function(){throw Error(`Cannot invoke size on a Matrix interface`)},e.prototype.map=function(e,t){throw Error(`Cannot invoke map on a Matrix interface`)},e.prototype.forEach=function(e){throw Error(`Cannot invoke forEach on a Matrix interface`)},e.prototype[Symbol.iterator]=function(){throw Error(`Cannot iterate a Matrix interface`)},e.prototype.toArray=function(){throw Error(`Cannot invoke toArray on a Matrix interface`)},e.prototype.valueOf=function(){throw Error(`Cannot invoke valueOf on a Matrix interface`)},e.prototype.format=function(e){throw Error(`Cannot invoke format on a Matrix interface`)},e.prototype.toString=function(){throw Error(`Cannot invoke toString on a Matrix interface`)},e},{isClass:!0});function $r(e,t,n){var r=e.constructor,i=new r(2),a=``;if(n){if(n<1)throw Error(`size must be in greater than 0`);if(!H(n))throw Error(`size must be an integer`);if(e.greaterThan(i.pow(n-1).sub(1))||e.lessThan(i.pow(n-1).mul(-1)))throw Error(`Value must be in range [-2^${n-1}, 2^${n-1}-1]`);if(!e.isInteger())throw Error(`Value must be an integer`);e.lessThan(0)&&(e=e.add(i.pow(n))),a=`i${n}`}switch(t){case 2:return`${e.toBinary()}${a}`;case 8:return`${e.toOctal()}${a}`;case 16:return`${e.toHexadecimal()}${a}`;default:throw Error(`Base ${t} not supported `)}}function ei(e,t){if(typeof t==`function`)return t(e);if(!e.isFinite())return e.isNaN()?`NaN`:e.gt(0)?`Infinity`:`-Infinity`;var{notation:n,precision:r,wordSize:i}=st(t);switch(n){case`fixed`:return ri(e,r);case`exponential`:return ni(e,r);case`engineering`:return ti(e,r);case`bin`:return $r(e,2,i);case`oct`:return $r(e,8,i);case`hex`:return $r(e,16,i);case`auto`:var a=ii(t?.lowerExp,-3),o=ii(t?.upperExp,5);if(e.isZero())return`0`;var s,c=e.toSignificantDigits(r),l=c.e;return s=l>=a&&l<o?c.toFixed():ni(e,r),s.replace(/((\.\d*?)(0+))($|e)/,function(){var e=arguments[2],t=arguments[4];return e===`.`?t:e+t});default:throw Error(`Unknown notation "`+n+`". Choose "auto", "exponential", "fixed", "bin", "oct", or "hex.`)}}function ti(e,t){var n=e.e,r=n%3==0?n:n<0?n-3-n%3:n-n%3,i=e.mul(10**-r).toPrecision(t);if(i.includes(`e`)){var a=e.constructor;i=new a(i).toFixed()}return i+`e`+(n>=0?`+`:``)+r.toString()}function ni(e,t){return t===void 0?e.toExponential():e.toExponential(t-1)}function ri(e,t){return e.toFixed(t)}function ii(e,t){return D(e)?e:O(e)?e.toNumber():t}function ai(e,t){var n=e.length-t.length,r=e.length;return e.substring(n,r)===t}function oi(e,t){var n=si(e,t);return t&&typeof t==`object`&&`truncate`in t&&n.length>t.truncate?n.substring(0,t.truncate-3)+`...`:n}function si(e,t){return typeof e==`number`?ot(e,t):O(e)?ei(e,t):fi(e)?!t||t.fraction!==`decimal`?`${e.s*e.n}/${e.d}`:e.toString():Array.isArray(e)?di(e,t):N(e)?ci(e):typeof e==`function`?e.syntax?String(e.syntax):`function`:e&&typeof e==`object`?typeof e.format==`function`?e.format(t):e&&e.toString(t)!=={}.toString()?e.toString(t):`{`+Object.keys(e).map(n=>ci(n)+`: `+oi(e[n],t)).join(`, `)+`}`:String(e)}function ci(e){for(var t=String(e),n=``,r=0;r<t.length;){var i=t.charAt(r);n+=i in li?li[i]:i,r++}return`"`+n+`"`}var li={'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`};function ui(e){var t=String(e);return t=t.replace(/&/g,`&amp;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),t}function di(e,t){if(Array.isArray(e)){for(var n=`[`,r=e.length,i=0;i<r;i++)i!==0&&(n+=`, `),n+=di(e[i],t);return n+=`]`,n}return oi(e,t)}function fi(e){return e&&typeof e==`object`&&typeof e.s==`bigint`&&typeof e.n==`bigint`&&typeof e.d==`bigint`||!1}function pi(e,t){if(!N(e))throw TypeError(`Unexpected type of argument in function compareText (expected: string or Array or Matrix, actual: `+Me(e)+`, index: 0)`);if(!N(t))throw TypeError(`Unexpected type of argument in function compareText (expected: string or Array or Matrix, actual: `+Me(t)+`, index: 1)`);return e===t?0:e>t?1:-1}function mi(e,t,n){if(!(this instanceof mi))throw SyntaxError(`Constructor must be called with the new operator`);this.actual=e,this.expected=t,this.relation=n,this.message=`Dimension mismatch (`+(Array.isArray(e)?`[`+e.join(`, `)+`]`:e)+` `+(this.relation||`!=`)+` `+(Array.isArray(t)?`[`+t.join(`, `)+`]`:t)+`)`,this.stack=Error().stack}mi.prototype=RangeError(),mi.prototype.constructor=RangeError,mi.prototype.name=`DimensionError`,mi.prototype.isDimensionError=!0;function hi(e,t,n){if(!(this instanceof hi))throw SyntaxError(`Constructor must be called with the new operator`);this.index=e,arguments.length<3?(this.min=0,this.max=t):(this.min=t,this.max=n),this.message=this.min!==void 0&&this.index<this.min?`Index out of range (`+this.index+` < `+this.min+`)`:this.max!==void 0&&this.index>=this.max?`Index out of range (`+this.index+` > `+(this.max-1)+`)`:`Index out of range (`+this.index+`)`,this.stack=Error().stack}hi.prototype=RangeError(),hi.prototype.constructor=RangeError,hi.prototype.name=`IndexError`,hi.prototype.isIndexError=!0;function gi(e){for(var t=[];Array.isArray(e);)t.push(e.length),e=e[0];return t}function _i(e,t,n){var r,i=e.length;if(i!==t[n])throw new mi(i,t[n]);if(n<t.length-1){var a=n+1;for(r=0;r<i;r++){var o=e[r];if(!Array.isArray(o))throw new mi(t.length-1,t.length,`<`);_i(e[r],t,a)}}else for(r=0;r<i;r++)if(Array.isArray(e[r]))throw new mi(t.length+1,t.length,`>`)}function vi(e,t){if(t.length===0){if(Array.isArray(e))throw new mi(e.length,0)}else _i(e,t,0)}function yi(e,t){var n=e.isMatrix?e._size:gi(e);t._sourceSize.forEach((e,t)=>{if(e!==null&&e!==n[t])throw new mi(e,n[t])})}function bi(e,t){if(e!==void 0){if(!D(e)||!H(e))throw TypeError(`Index must be an integer (value: `+e+`)`);if(e<0||typeof t==`number`&&e>=t)throw new hi(e,t)}}function xi(e){for(var t=0;t<e._dimensions.length;++t){var n=e._dimensions[t];if(n._data&&P(n._data)){if(n._size[0]===0)return!0}else if(n.isRange){if(n.start===n.end)return!0}else if(N(n)&&n.length===0)return!0}return!1}function Si(e,t,n){if(!Array.isArray(t))throw TypeError(`Array expected`);if(t.length===0)throw Error(`Resizing to scalar is not supported`);return t.forEach(function(e){if(!D(e)||!H(e)||e<0)throw TypeError(`Invalid size, must contain positive integers (size: `+oi(t)+`)`)}),(D(e)||O(e))&&(e=[e]),Ci(e,t,0,n===void 0?0:n),e}function Ci(e,t,n,r){var i,a,o=e.length,s=t[n],c=Math.min(o,s);if(e.length=s,n<t.length-1){var l=n+1;for(i=0;i<c;i++)a=e[i],Array.isArray(a)||(a=[a],e[i]=a),Ci(a,t,l,r);for(i=c;i<s;i++)a=[],e[i]=a,Ci(a,t,l,r)}else{for(i=0;i<c;i++)for(;Array.isArray(e[i]);)e[i]=e[i][0];for(i=c;i<s;i++)e[i]=r}}function wi(e,t){var n=Mi(e,!0),r=n.length;if(!Array.isArray(e)||!Array.isArray(t))throw TypeError(`Array expected`);if(t.length===0)throw new mi(0,r,`!=`);t=Ti(t,r);var i=Ei(t);if(r!==i)throw new mi(i,r,`!=`);try{return Di(n,t)}catch(e){throw e instanceof mi?new mi(i,r,`!=`):e}}function Ti(e,t){var n=Ei(e),r=e.slice(),i=-1,a=e.indexOf(i);if(e.indexOf(i,a+1)>=0)throw Error(`More than one wildcard in sizes`);var o=a>=0,s=t%n===0;if(o){if(s)r[a]=-t/n;else throw Error(`Could not replace wildcard, since `+t+` is no multiple of `+-n)}return r}function Ei(e){return e.reduce((e,t)=>e*t,1)}function Di(e,t){for(var n=e,r,i=t.length-1;i>0;i--){var a=t[i];r=[];for(var o=n.length/a,s=0;s<o;s++)r.push(n.slice(s*a,(s+1)*a));n=r}return n}function Oi(e,t){for(var n=t||gi(e);Array.isArray(e)&&e.length===1;)e=e[0],n.shift();for(var r=n.length;n[r-1]===1;)r--;return r<n.length&&(e=ki(e,r,0),n.length=r),e}function ki(e,t,n){var r,i;if(n<t){var a=n+1;for(r=0,i=e.length;r<i;r++)e[r]=ki(e[r],t,a)}else for(;Array.isArray(e);)e=e[0];return e}function Ai(e,t,n,r){var i=r||gi(e);if(n)for(var a=0;a<n;a++)e=[e],i.unshift(1);for(e=ji(e,t,0);i.length<t;)i.push(1);return e}function ji(e,t,n){var r,i;if(Array.isArray(e)){var a=n+1;for(r=0,i=e.length;r<i;r++)e[r]=ji(e[r],t,a)}else for(var o=n;o<t;o++)e=[e];return e}function Mi(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1];if(!Array.isArray(e))return e;if(typeof t!=`boolean`)throw TypeError(`Boolean expected for second argument of flatten`);var n=[];return t?i(e):r(e),n;function r(e){for(var t=0;t<e.length;t++){var i=e[t];Array.isArray(i)?r(i):n.push(i)}}function i(e){if(Array.isArray(e[0]))for(var t=0;t<e.length;t++)i(e[t]);else for(var r=0;r<e.length;r++)n.push(e[r])}}function Ni(e,t){return Array.prototype.map.call(e,t)}function Pi(e,t){Array.prototype.forEach.call(e,t)}function Fi(e,t){if(gi(e).length!==1)throw Error(`Only one dimensional matrices supported`);return Array.prototype.filter.call(e,t)}function Ii(e,t){if(gi(e).length!==1)throw Error(`Only one dimensional matrices supported`);return Array.prototype.filter.call(e,e=>t.test(e))}function Li(e,t){return Array.prototype.join.call(e,t)}function Ri(e){if(!Array.isArray(e))throw TypeError(`Array input expected`);if(e.length===0)return e;var t=[],n=0;t[0]={value:e[0],identifier:0};for(var r=1;r<e.length;r++)e[r]===e[r-1]?n++:n=0,t.push({value:e[r],identifier:n});return t}function zi(e){if(!Array.isArray(e))throw TypeError(`Array input expected`);if(e.length===0)return e;for(var t=[],n=0;n<e.length;n++)t.push(e[n].value);return t}function Bi(e,t){for(var n,r=0,i=0;i<e.length;i++){var a=e[i],o=Array.isArray(a);if(i===0&&o&&(r=a.length),o&&a.length!==r)return;var s=o?Bi(a,t):t(a);if(n===void 0)n=s;else if(n!==s)return`mixed`}return n}function Vi(e,t,n,r){if(r<n){if(e.length!==t.length)throw new mi(e.length,t.length);for(var i=[],a=0;a<e.length;a++)i[a]=Vi(e[a],t[a],n,r+1);return i}return e.concat(t)}function Hi(){var e=Array.prototype.slice.call(arguments,0,-1),t=Array.prototype.slice.call(arguments,-1);if(e.length===1)return e[0];if(e.length>1)return e.slice(1).reduce(function(e,n){return Vi(e,n,t,0)},e[0]);throw Error(`Wrong number of arguments in function concat`)}function Ui(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];for(var r=t.map(e=>e.length),i=Math.max(...r),a=Array(i).fill(null),o=0;o<t.length;o++)for(var s=t[o],c=r[o],l=0;l<c;l++){var u=i-c+l;s[l]>a[u]&&(a[u]=s[l])}for(var d=0;d<t.length;d++)Wi(t[d],a);return a}function Wi(e,t){for(var n=t.length,r=e.length,i=0;i<r;i++){var a=n-r+i;if(e[i]<t[a]&&e[i]>1||e[i]>t[a])throw Error(`shape mismatch: mismatch is found in arg with shape (${e}) not possible to broadcast dimension ${r} with size ${e[i]} to size ${t[a]}`)}}function Gi(e,t){var n=gi(e);if(Le(n,t))return e;Wi(n,t);var r=Ui(n,t),i=r.length,a=[...Array(i-n.length).fill(1),...n],o=Xi(e);n.length<i&&(o=wi(o,a),n=gi(o));for(var s=0;s<i;s++)n[s]<r[s]&&(o=Ki(o,r[s],s),n=gi(o));return o}function Ki(e,t,n){return Hi(...Array(t).fill(e),n)}function qi(e,t){if(!Array.isArray(e))throw Error(`Array expected`);if(!Array.isArray(t))throw Error(`Array expected for index`);var n=gi(e);if(t.length!==n.length)throw new mi(t.length,n.length);for(var r=0;r<t.length;r++)bi(t[r],n[r]);return t.reduce((e,t)=>e[t],e)}function Ji(e,t){var n=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(e.length===0)return[];if(n)return a(e);var r=[];return i(e,0);function i(n,a){if(Array.isArray(n)){for(var o=n.length,s=Array(o),c=0;c<o;c++)r[a]=c,s[c]=i(n[c],a+1);return s}return t(n,r.slice(0,a),e)}function a(e){if(Array.isArray(e)){for(var n=e.length,r=Array(n),i=0;i<n;i++)r[i]=a(e[i]);return r}return t(e)}}function Yi(e,t){var n=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(e.length===0)return;if(n){a(e);return}var r=[];i(e,0);function i(n,a){if(Array.isArray(n))for(var o=n.length,s=0;s<o;s++)r[a]=s,i(n[s],a+1);else t(n,r.slice(0,a),e)}function a(e){if(Array.isArray(e))for(var n=e.length,r=0;r<n;r++)a(e[r]);else t(e)}}function Xi(e){return u([],e)}function Zi(e,t,n,r){if(Et.default.isTypedFunction(e)){var i;if(r)i=1;else{var a=t.isMatrix?t.size():gi(t);if(!a.length||a[a.length-1]===0)return{isUnary:r,fn:e};var o=a.map(()=>0);i=ea(e,t.isMatrix?t.get(o):qi(t,o),o,t)}var s;if(t.isMatrix&&t.dataType!==`mixed`&&t.dataType!==void 0){var c=Qi(e,i);s=c===void 0?e:c}else s=e;return i>=1&&i<=3?{isUnary:i===1,fn:function(){for(var t=arguments.length,r=Array(t),a=0;a<t;a++)r[a]=arguments[a];return ta(s,r.slice(0,i),n,e.name)}}:{isUnary:!1,fn:function(){for(var t=arguments.length,r=Array(t),i=0;i<t;i++)r[i]=arguments[i];return ta(s,r,n,e.name)}}}return r===void 0?{isUnary:$i(e),fn:e}:{isUnary:r,fn:e}}function Qi(e,t){var n=[];if(Object.entries(e.signatures).forEach(e=>{var[r,i]=e;r.split(`,`).length===t&&n.push(i)}),n.length===1)return n[0]}function $i(e){if(e.length!==1)return!1;var t=e.toString();if(/arguments/.test(t))return!1;var n=t.match(/\(.*?\)/);return!/\.\.\./.test(n)}function ea(e,t,n,r){for(var i=[t,n,r],a=3;a>0;a--){var o=i.slice(0,a);if(Et.default.resolve(e,o)!==null)return a}}function ta(e,t,n,r){try{return e(...t)}catch(e){na(e,t,n,r)}}function na(e,t,n,r){if(e instanceof TypeError&&e.data?.category===`wrongType`){var i=[];throw i.push(`value: ${Me(t[0])}`),t.length>=2&&i.push(`index: ${Me(t[1])}`),t.length>=3&&i.push(`array: ${Me(t[2])}`),TypeError(`Function ${n} cannot apply callback arguments ${r}(${i.join(`, `)}) at index ${JSON.stringify(t[1])}`)}throw TypeError(`Function ${n} cannot apply callback arguments to function ${r}: ${e.message}`)}var ra=V(`DenseMatrix`,[`Matrix`,`config`],e=>{var{Matrix:t,config:n}=e;function r(e,t){if(!(this instanceof r))throw SyntaxError(`Constructor must be called with the new operator`);if(t&&!N(t))throw Error(`Invalid datatype: `+t);if(F(e))e.type===`DenseMatrix`?(this._data=Ne(e._data),this._size=Ne(e._size),this._datatype=t||e._datatype):(this._data=e.toArray(),this._size=e.size(),this._datatype=t||e._datatype);else if(e&&P(e.data)&&P(e.size))this._data=e.data,this._size=e.size,vi(this._data,this._size),this._datatype=t||e.datatype;else if(P(e))this._data=u(e),this._size=gi(this._data),vi(this._data,this._size),this._datatype=t;else if(e)throw TypeError(`Unsupported type of data (`+Me(e)+`)`);else this._data=[],this._size=[0],this._datatype=t}r.prototype=new t,r.prototype.createDenseMatrix=function(e,t){return new r(e,t)},Object.defineProperty(r,"name",{value:`DenseMatrix`}),r.prototype.constructor=r,r.prototype.type=`DenseMatrix`,r.prototype.isDenseMatrix=!0,r.prototype.getDataType=function(){return Bi(this._data,Me)},r.prototype.storage=function(){return`dense`},r.prototype.datatype=function(){return this._datatype},r.prototype.create=function(e,t){return new r(e,t)},r.prototype.subset=function(e,t,n){switch(arguments.length){case 1:return i(this,e);case 2:case 3:return o(this,e,t,n);default:throw SyntaxError(`Wrong number of arguments`)}},r.prototype.get=function(e){return qi(this._data,e)},r.prototype.set=function(e,t,n){if(!P(e))throw TypeError(`Array expected`);if(e.length<this._size.length)throw new mi(e.length,this._size.length,`<`);var r,i,a,o=e.map(function(e){return e+1});l(this,o,n);var s=this._data;for(r=0,i=e.length-1;r<i;r++)a=e[r],bi(a,s.length),s=s[a];return a=e[e.length-1],bi(a,s.length),s[a]=t,this};function i(e,t){if(!ie(t))throw TypeError(`Invalid index`);if(n.legacySubset?t.size().every(e=>e===1):t.isScalar())return e.get(t.min());var i=t.size();if(i.length!==e._size.length)throw new mi(i.length,e._size.length);for(var o=t.min(),s=t.max(),c=0,l=e._size.length;c<l;c++)bi(o[c],e._size[c]),bi(s[c],e._size[c]);var u=new r,d=a(e._data,t);return u._size=d.size,u._datatype=e._datatype,u._data=d.data,n.legacySubset?u.reshape(t.size()):u}function a(e,t){var n=t.size().length-1,r=Array(n);return{data:i(e),size:r.filter(e=>e!==null)};function i(e){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=t.dimension(a);function s(e,t){return D(e)?t(e):e.map(t).valueOf()}return r[a]=D(o)?null:o.size()[0],a<n?s(o,t=>(bi(t,e.length),i(e[t],a+1))):s(o,t=>(bi(t,e.length),e[t]))}}function o(e,t,n,r){if(!t||t.isIndex!==!0)throw TypeError(`Invalid index`);var i=t.size(),a=t.isScalar(),o;if(F(n)?(o=n.size(),n=n.valueOf()):o=gi(n),a){if(o.length!==0)throw TypeError(`Scalar expected`);e.set(t.min(),n,r)}else{if(!Le(o,i)){if(o.length===0)n=Gi([n],i);else try{n=Gi(n,i)}catch{}o=gi(n)}if(i.length<e._size.length)throw new mi(i.length,e._size.length,`<`);if(o.length<i.length){for(var c=0,u=0;i[c]===1&&o[c]===1;)c++;for(;i[c]===1;)u++,c++;n=Ai(n,i.length,u,o)}if(!Le(i,o))throw new mi(i,o,`>`);l(e,t.max().map(function(e){return e+1}),r),s(e._data,t,n)}return e}function s(e,t,n){var r=t.size().length-1;i(e,n);function i(e,n){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=t.dimension(a),s=(t,r)=>{bi(t,e.length),i(e[t],n[r[0]],a+1)},c=(t,r)=>{bi(t,e.length),e[t]=n[r[0]]};a<r?D(o)?s(o,[0]):o.forEach(s):D(o)?c(o,[0]):o.forEach(c)}}r.prototype.resize=function(e,t,n){if(!ee(e))throw TypeError(`Array or Matrix expected`);var r=e.valueOf().map(e=>Array.isArray(e)&&e.length===1?e[0]:e);return c(n?this.clone():this,r,t)};function c(e,t,n){if(t.length===0){for(var r=e._data;P(r);)r=r[0];return r}return e._size=t.slice(0),e._data=Si(e._data,e._size,n),e}r.prototype.reshape=function(e,t){var n=t?this.clone():this;return n._data=wi(n._data,e),n._size=Ti(e,n._size.reduce((e,t)=>e*t)),n};function l(e,t,n){for(var r=e._size.slice(0),i=!1;r.length<t.length;)r.push(0),i=!0;for(var a=0,o=t.length;a<o;a++)t[a]>r[a]&&(r[a]=t[a],i=!0);i&&c(e,r,n)}r.prototype.clone=function(){return new r({data:Ne(this._data),size:Ne(this._size),datatype:this._datatype})},r.prototype.size=function(){return this._size.slice(0)},r.prototype.map=function(e){arguments.length>1&&arguments[1]!==void 0&&arguments[1];var t=arguments.length>2&&arguments[2]!==void 0&&arguments[2],n=this,r=n._size.length-1;if(r<0)return n.clone();var i=Zi(e,n,`map`,t),a=i.fn,o=n.create(void 0,n._datatype);if(o._size=n._size,t||i.isUnary)return o._data=f(n._data),o;if(r===0){for(var s=n.valueOf(),c=Array(s.length),l=0;l<s.length;l++)c[l]=a(s[l],[l],n);return o._data=c,o}var u=[];return o._data=d(n._data),o;function d(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=Array(e.length);if(t<r)for(var o=0;o<e.length;o++)u[t]=o,i[o]=d(e[o],t+1);else for(var s=0;s<e.length;s++)u[t]=s,i[s]=a(e[s],u.slice(),n);return i}function f(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=Array(e.length);if(t<r)for(var i=0;i<e.length;i++)n[i]=f(e[i],t+1);else for(var o=0;o<e.length;o++)n[o]=a(e[o]);return n}},r.prototype.forEach=function(e){arguments.length>1&&arguments[1]!==void 0&&arguments[1];var t=arguments.length>2&&arguments[2]!==void 0&&arguments[2],n=this,r=n._size.length-1;if(r<0)return;var i=Zi(e,n,`map`,t),a=i.fn;if(t||i.isUnary){l(n._data);return}if(r===0){for(var o=0;o<n._data.length;o++)a(n._data[o],[o],n);return}var s=[];c(n._data);function c(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(t<r)for(var i=0;i<e.length;i++)s[t]=i,c(e[i],t+1);else for(var o=0;o<e.length;o++)s[t]=o,a(e[o],s.slice(),n)}function l(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(t<r)for(var n=0;n<e.length;n++)l(e[n],t+1);else for(var i=0;i<e.length;i++)a(e[i])}},r.prototype[Symbol.iterator]=function*(){var e=this._size.length-1;if(!(e<0)){if(e===0){for(var t=0;t<this._data.length;t++)yield{value:this._data[t],index:[t]};return}for(var n=Array(e+1).fill(0),r=this._size.reduce((e,t)=>e*t,1),i=0;i<r;i++){for(var a=this._data,o=0;o<e;o++)a=a[n[o]];yield{value:a[n[e]],index:n.slice()};for(var s=e;s>=0&&(n[s]++,!(n[s]<this._size[s]));s--)n[s]=0}}},r.prototype.rows=function(){var e=[];if(this.size().length!==2)throw TypeError(`Rows can only be returned for a 2D matrix.`);for(var t of this._data)e.push(new r([t],this._datatype));return e},r.prototype.columns=function(){var e=this,t=[],n=this.size();if(n.length!==2)throw TypeError(`Rows can only be returned for a 2D matrix.`);for(var i=this._data,a=function(n){var a=i.map(e=>[e[n]]);t.push(new r(a,e._datatype))},o=0;o<n[1];o++)a(o);return t},r.prototype.toArray=function(){return Ne(this._data)},r.prototype.valueOf=function(){return this._data},r.prototype.format=function(e){return oi(this._data,e)},r.prototype.toString=function(){return oi(this._data)},r.prototype.toJSON=function(){return{mathjs:`DenseMatrix`,data:this._data,size:this._size,datatype:this._datatype}},r.prototype.diagonal=function(e){if(e){if(O(e)&&(e=e.toNumber()),!D(e)||!H(e))throw TypeError(`The parameter k must be an integer number`)}else e=0;for(var t=e>0?e:0,n=e<0?-e:0,i=this._size[0],a=this._size[1],o=Math.min(i-n,a-t),s=[],c=0;c<o;c++)s[c]=this._data[c+n][c+t];return new r({data:s,size:[o],datatype:this._datatype})},r.diagonal=function(e,t,n,i){if(!P(e))throw TypeError(`Array expected, size parameter`);if(e.length!==2)throw Error(`Only two dimensions matrix are supported`);if(e=e.map(function(e){if(O(e)&&(e=e.toNumber()),!D(e)||!H(e)||e<1)throw Error(`Size values must be positive integers`);return e}),n){if(O(n)&&(n=n.toNumber()),!D(n)||!H(n))throw TypeError(`The parameter k must be an integer number`)}else n=0;var a=n>0?n:0,o=n<0?-n:0,s=e[0],c=e[1],l=Math.min(s-o,c-a),u;if(P(t)){if(t.length!==l)throw Error(`Invalid value array length`);u=function(e){return t[e]}}else if(F(t)){var d=t.size();if(d.length!==1||d[0]!==l)throw Error(`Invalid matrix length`);u=function(e){return t.get([e])}}else u=function(){return t};i||=O(u(0))?u(0).mul(0):0;var f=[];if(e.length>0){f=Si(f,e,i);for(var p=0;p<l;p++)f[p+o][p+a]=u(p)}return new r({data:f,size:[s,c]})},r.fromJSON=function(e){return new r(e)},r.prototype.swapRows=function(e,t){if(!D(e)||!H(e)||!D(t)||!H(t))throw Error(`Row index must be positive integers`);if(this._size.length!==2)throw Error(`Only two dimensional matrix is supported`);return bi(e,this._size[0]),bi(t,this._size[0]),r._swapRows(e,t,this._data),this},r._swapRows=function(e,t,n){var r=n[e];n[e]=n[t],n[t]=r};function u(e){return F(e)?u(e.valueOf()):P(e)?e.map(u):e}return r},{isClass:!0}),ia=`clone`,aa=V(ia,[`typed`],e=>{var{typed:t}=e;return t(ia,{any:Ne})});function oa(e){var t=e.length,n=e[0].length,r,i,a=[];for(i=0;i<n;i++){var o=[];for(r=0;r<t;r++)o.push(e[r][i]);a.push(o)}return a}function sa(e){for(var t=0;t<e.length;t++)if(ee(e[t]))return!0;return!1}function ca(e,t){F(e)?e.forEach(e=>t(e),!1,!0):Yi(e,t,!0)}function la(e,t,n){if(!n)return F(e)?e.map(e=>t(e),!1,!0):Ji(e,t,!0);var r=e=>e===0?e:t(e);return F(e)?e.map(e=>r(e),!1,!0):Ji(e,r,!0)}function ua(e,t,n){var r=Array.isArray(e)?gi(e):e.size();if(t<0||t>=r.length)throw new hi(t,r.length);return F(e)?e.create(da(e.valueOf(),t,n),e.datatype()):da(e,t,n)}function da(e,t,n){var r,i,a,o;if(t<=0){if(Array.isArray(e[0])){for(o=oa(e),i=[],r=0;r<o.length;r++)i[r]=da(o[r],t-1,n);return i}for(a=e[0],r=1;r<e.length;r++)a=n(a,e[r]);return a}for(i=[],r=0;r<e.length;r++)i[r]=da(e[r],t-1,n);return i}function fa(e,t,n,r,i,a,o,s,c,l,u){var d=e._values,f=e._index,p=e._ptr,m,h,g,_;if(r)for(h=p[t],g=p[t+1],m=h;m<g;m++)_=f[m],n[_]===a?(r[_]=c?s(d[m],r[_]):s(r[_],d[m]),i[_]=a):(n[_]=a,o.push(_),l?(r[_]=c?s(d[m],u):s(u,d[m]),i[_]=a):r[_]=d[m]);else for(h=p[t],g=p[t+1],m=h;m<g;m++)_=f[m],n[_]===a?i[_]=a:(n[_]=a,o.push(_))}var pa=`isInteger`,ma=V(pa,[`typed`,`equal`],e=>{var{typed:t,equal:n}=e;return t(pa,{number:e=>Number.isFinite(e)?n(e,Math.round(e)):!1,BigNumber:e=>e.isFinite()?n(e.round(),e):!1,bigint:e=>!0,Fraction:e=>e.d===1n,"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),ha=`number`,ga=`number, number`;function _a(e){return Math.abs(e)}_a.signature=ha;function va(e,t){return e+t}va.signature=ga;function ya(e,t){return e-t}ya.signature=ga;function ba(e,t){return e*t}ba.signature=ga;function xa(e){return-e}xa.signature=ha;function Sa(e){return e}Sa.signature=ha;function Ca(e){return rt(e)}Ca.signature=ha;function wa(e){return e*e*e}wa.signature=ha;function Ta(e){return Math.exp(e)}Ta.signature=ha;function Ea(e){return it(e)}Ea.signature=ha;function Da(e,t){if(!H(e)||!H(t))throw Error(`Parameters in function lcm must be integer numbers`);if(e===0||t===0)return 0;for(var n,r=e*t;t!==0;)n=t,t=e%n,e=n;return Math.abs(r/e)}Da.signature=ga;function Oa(e,t){return t?Math.log(e)/Math.log(t):Math.log(e)}function ka(e){return tt(e)}ka.signature=ha;function Aa(e){return et(e)}Aa.signature=ha;function ja(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2,n=t<0;if(n&&(t=-t),t===0)throw Error(`Root must be non-zero`);if(e<0&&Math.abs(t)%2!=1)throw Error(`Root must be odd when a is negative.`);if(e===0)return n?1/0:0;if(!isFinite(e))return n?0:e;var r=Math.abs(e)**(1/t);return r=e<0?-r:r,n?1/r:r}function Ma(e){return $e(e)}Ma.signature=ha;function Na(e){return e*e}Na.signature=ha;function Pa(e,t){var n,r,i,a=0,o=1,s=1,c=0;if(!H(e)||!H(t))throw Error(`Parameters in function xgcd must be integer numbers`);for(;t;)r=Math.floor(e/t),i=e-r*t,n=a,a=o-r*a,o=n,n=s,s=c-r*s,c=n,e=t,t=i;return e<0?[-e,-o,-c]:[e,e?o:0,c]}Pa.signature=ga;function Fa(e,t){return e*e<1&&t===1/0||e*e>1&&t===-1/0?0:e**+t}Fa.signature=ga;function Ia(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!H(t)||t<0||t>15)throw Error(`Number of decimals in function round must be an integer from 0 to 15 inclusive`);return parseFloat(ut(e,t))}var La=`number`,Ra=`number, number`;function za(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function bitAnd`);return e&t}za.signature=Ra;function Ba(e){if(!H(e))throw Error(`Integer expected in function bitNot`);return~e}Ba.signature=La;function Va(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function bitOr`);return e|t}Va.signature=Ra;function Ha(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function bitXor`);return e^t}Ha.signature=Ra;function Ua(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function leftShift`);return e<<t}Ua.signature=Ra;function Wa(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function rightArithShift`);return e>>t}Wa.signature=Ra;function Ga(e,t){if(!H(e)||!H(t))throw Error(`Integers expected in function rightLogShift`);return e>>>t}Ga.signature=Ra;function Ka(e,t){if(t<e)return 1;if(t===e)return t;var n=t+e>>1;return Ka(e,n)*Ka(n+1,t)}function qa(e,t){if(!H(e)||e<0||!H(t)||t<0)throw TypeError(`Positive integer value expected in function combinations`);if(t>e)throw TypeError(`k must be less than or equal to n`);for(var n=e-t,r=1,i=t<n?n+1:t+1,a=2,o=t<n?t:n,s=i;s<=e;++s)for(r*=s;a<=o&&r%a===0;)r/=a,++a;return a<=o&&(r/=Ka(a,o)),r}qa.signature=`number, number`;var Ja=Math.PI,Ya=2*Math.PI,Xa=Math.E,Za=1.618033988749895,Qa=`number`,$a=`number, number`;function eo(e){return!e}eo.signature=Qa;function to(e,t){return!!(e||t)}to.signature=$a;function no(e,t){return!!e!=!!t}no.signature=$a;function ro(e,t){return!!(e&&t)}ro.signature=$a;function io(e){var t;if(H(e))return e<=0?Number.isFinite(e)?1/0:NaN:e>171?1/0:Ka(1,e-1);if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*io(1-e));if(e>=171.35)return 1/0;if(e>85){var n=e*e,r=n*e,i=r*e,a=i*e;return Math.sqrt(2*Math.PI/e)*(e/Math.E)**e*(1+1/(12*e)+1/(288*n)-139/(51840*r)-571/(2488320*i)+163879/(209018880*a)+5246819/(75246796800*a*e))}--e,t=oo[0];for(var o=1;o<oo.length;++o)t+=oo[o]/(e+o);var s=e+ao+.5;return Math.sqrt(2*Math.PI)*s**+(e+.5)*Math.exp(-s)*t}io.signature=`number`;var ao=4.7421875,oo=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22],so=.9189385332046728,co=[1.000000000190015,76.18009172947146,-86.50532032941678,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18];function lo(e){if(e<0)return NaN;if(e===0)return 1/0;if(!Number.isFinite(e))return e;if(e<.5)return Math.log(Math.PI/Math.sin(Math.PI*e))-lo(1-e);--e;for(var t=e+5+.5,n=co[0],r=6;r>=1;r--)n+=co[r]/(e+r);return so+(e+.5)*Math.log(t)-t+Math.log(n)}lo.signature=`number`;var uo=`number`;function fo(e){return _t(e)}fo.signature=uo;function po(e){return Math.atan(1/e)}po.signature=uo;function mo(e){return Number.isFinite(e)?(Math.log((e+1)/e)+Math.log(e/(e-1)))/2:0}mo.signature=uo;function ho(e){return Math.asin(1/e)}ho.signature=uo;function go(e){var t=1/e;return Math.log(t+Math.sqrt(t*t+1))}go.signature=uo;function _o(e){return Math.acos(1/e)}_o.signature=uo;function vo(e){var t=1/e,n=Math.sqrt(t*t-1);return Math.log(n+t)}vo.signature=uo;function yo(e){return vt(e)}yo.signature=uo;function bo(e){return yt(e)}bo.signature=uo;function xo(e){return 1/Math.tan(e)}xo.signature=uo;function So(e){var t=Math.exp(2*e);return(t+1)/(t-1)}So.signature=uo;function Co(e){return 1/Math.sin(e)}Co.signature=uo;function wo(e){return e===0?1/0:Math.abs(2/(Math.exp(e)-Math.exp(-e)))*$e(e)}wo.signature=uo;function To(e){return 1/Math.cos(e)}To.signature=uo;function Eo(e){return 2/(Math.exp(e)+Math.exp(-e))}Eo.signature=uo;function Do(e){return xt(e)}Do.signature=uo;var Oo=`number`;function ko(e){return e<0}ko.signature=Oo;function Ao(e){return e>0}Ao.signature=Oo;function jo(e){return Number.isNaN(e)}jo.signature=Oo;function Mo(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1e-9,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(n<=0)throw Error(`Relative tolerance must be greater than 0`);if(r<0)throw Error(`Absolute tolerance must be at least 0`);return e.isNaN()||t.isNaN()?!1:!e.isFinite()||!t.isFinite()?e.eq(t):e.eq(t)?!0:e.minus(t).abs().lte(e.constructor.max(e.constructor.max(e.abs(),t.abs()).mul(n),r))}var No=`isNegative`,Po=V(No,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t(No,{number:e=>!gt(e,0,n.relTol,n.absTol)&&ko(e),BigNumber:e=>!Mo(e,new e.constructor(0),n.relTol,n.absTol)&&e.isNeg()&&!e.isZero()&&!e.isNaN(),bigint:e=>e<0n,Fraction:e=>e.s<0n,Unit:t.referToSelf(e=>n=>t.find(e,n.valueType())(n.value)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Fo=`isNumeric`,Io=V(Fo,[`typed`],e=>{var{typed:t}=e;return t(Fo,{"number | BigNumber | bigint | Fraction | boolean":()=>!0,"Complex | Unit | string | null | undefined | Node":()=>!1,"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Lo=`hasNumericValue`,Ro=V(Lo,[`typed`,`isNumeric`],e=>{var{typed:t,isNumeric:n}=e;return t(Lo,{boolean:()=>!0,string:function(e){return e.trim().length>0&&!isNaN(Number(e))},any:function(e){return n(e)}})}),zo=`isPositive`,Bo=V(zo,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t(zo,{number:e=>!gt(e,0,n.relTol,n.absTol)&&Ao(e),BigNumber:e=>!Mo(e,new e.constructor(0),n.relTol,n.absTol)&&!e.isNeg()&&!e.isZero()&&!e.isNaN(),bigint:e=>e>0n,Fraction:e=>e.s>0n&&e.n>0n,Unit:t.referToSelf(e=>n=>t.find(e,n.valueType())(n.value)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Vo=`isZero`,Ho=V(Vo,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return t(Vo,{"number | BigNumber | Complex | Fraction":e=>n(e,0),bigint:e=>e===0n,Unit:t.referToSelf(e=>n=>t.find(e,n.valueType())(n.value)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Uo=`isNaN`,Wo=V(Uo,[`typed`],e=>{var{typed:t}=e;return t(Uo,{number:jo,BigNumber:function(e){return e.isNaN()},bigint:function(e){return!1},Fraction:function(e){return!1},Complex:function(e){return e.isNaN()},Unit:function(e){return Number.isNaN(e.value)},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Go=`isBounded`,Ko=V(Go,[`typed`],e=>{var{typed:t}=e;return t(Go,{number:e=>Number.isFinite(e),"BigNumber | Complex":e=>e.isFinite(),"bigint | Fraction":()=>!0,"null | undefined":()=>!1,Unit:t.referToSelf(e=>t=>e(t.value)),"Array | Matrix":t.referToSelf(e=>t=>(Array.isArray(t)||(t=t.valueOf()),t.every(t=>e(t))))})}),qo=`isFinite`,Jo=V(qo,[`typed`,`isBounded`,`map`],e=>{var{typed:t,isBounded:n,map:r}=e;return t(qo,{"Array | Matrix":e=>r(e,n),any:e=>n(e)})}),Yo=`typeOf`,Xo=V(Yo,[`typed`],e=>{var{typed:t}=e;return t(Yo,{any:Me})});function Zo(e,t,n,r){return gt(e.re,t.re,n,r)&&gt(e.im,t.im,n,r)}var Qo=V(`compareUnits`,[`typed`],e=>{var{typed:t}=e;return{"Unit, Unit":t.referToSelf(e=>(n,r)=>{if(!n.equalBase(r))throw Error(`Cannot compare units with different base`);return t.find(e,[n.valueType(),r.valueType()])(n.value,r.value)})}}),$o=`equalScalar`,es=V($o,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t($o,{"boolean, boolean":function(e,t){return e===t},"number, number":function(e,t){return gt(e,t,n.relTol,n.absTol)},"BigNumber, BigNumber":function(e,t){return e.eq(t)||Mo(e,t,n.relTol,n.absTol)},"bigint, bigint":function(e,t){return e===t},"Fraction, Fraction":function(e,t){return e.equals(t)},"Complex, Complex":function(e,t){return Zo(e,t,n.relTol,n.absTol)}},Qo({typed:t}))});V($o,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t($o,{"number, number":function(e,t){return gt(e,t,n.relTol,n.absTol)}})});var ts=V(`SparseMatrix`,[`typed`,`equalScalar`,`Matrix`],e=>{var{typed:t,equalScalar:n,Matrix:r}=e;function i(e,t){if(!(this instanceof i))throw SyntaxError(`Constructor must be called with the new operator`);if(t&&!N(t))throw Error(`Invalid datatype: `+t);if(F(e))a(this,e,t);else if(e&&P(e.index)&&P(e.ptr)&&P(e.size))this._values=e.values,this._index=e.index,this._ptr=e.ptr,this._size=e.size,this._datatype=t||e.datatype;else if(P(e))o(this,e,t);else if(e)throw TypeError(`Unsupported type of data (`+Me(e)+`)`);else this._values=[],this._index=[],this._ptr=[0],this._size=[0,0],this._datatype=t}function a(e,t,n){t.type===`SparseMatrix`?(e._values=t._values?Ne(t._values):void 0,e._index=Ne(t._index),e._ptr=Ne(t._ptr),e._size=Ne(t._size),e._datatype=n||t._datatype):o(e,t.valueOf(),n||t._datatype)}function o(e,r,i){e._values=[],e._index=[],e._ptr=[],e._datatype=i;var a=r.length,o=0,s=n,c=0;if(N(i)&&(s=t.find(n,[i,i])||n,c=t.convert(0,i)),a>0){var l=0;do{e._ptr.push(e._index.length);for(var u=0;u<a;u++){var d=r[u];if(P(d)){if(l===0&&o<d.length&&(o=d.length),l<d.length){var f=d[l];s(f,c)||(e._values.push(f),e._index.push(u))}}else l===0&&o<1&&(o=1),s(d,c)||(e._values.push(d),e._index.push(u))}l++}while(l<o)}for(;e._ptr.length<=o;)e._ptr.push(e._index.length);e._size=[a,o]}i.prototype=new r,i.prototype.createSparseMatrix=function(e,t){return new i(e,t)},Object.defineProperty(i,"name",{value:`SparseMatrix`}),i.prototype.constructor=i,i.prototype.type=`SparseMatrix`,i.prototype.isSparseMatrix=!0,i.prototype.getDataType=function(){return Bi(this._values,Me)},i.prototype.storage=function(){return`sparse`},i.prototype.datatype=function(){return this._datatype},i.prototype.create=function(e,t){return new i(e,t)},i.prototype.density=function(){var e=this._size[0],t=this._size[1];return e!==0&&t!==0?this._index.length/(e*t):0},i.prototype.subset=function(e,t,n){if(!this._values)throw Error(`Cannot invoke subset on a Pattern only matrix`);switch(arguments.length){case 1:return s(this,e);case 2:case 3:return c(this,e,t,n);default:throw SyntaxError(`Wrong number of arguments`)}};function s(e,t){if(!ie(t))throw TypeError(`Invalid index`);if(t.isScalar())return e.get(t.min());var n=t.size();if(n.length!==e._size.length)throw new mi(n.length,e._size.length);var r,a,o,s,c=t.min(),l=t.max();for(r=0,a=e._size.length;r<a;r++)bi(c[r],e._size[r]),bi(l[r],e._size[r]);var u=e._values,d=e._index,f=e._ptr,p=t.dimension(0),m=t.dimension(1),h=[],g=[];function _(e,t){g[e]=t[0],h[e]=!0}Number.isInteger(p)?_(p,[0]):p.forEach(_);var v=u?[]:void 0,y=[],b=[];function x(e){for(b.push(y.length),o=f[e],s=f[e+1];o<s;o++)r=d[o],h[r]===!0&&(y.push(g[r]),v&&v.push(u[o]))}return Number.isInteger(m)?x(m):m.forEach(x),b.push(y.length),new i({values:v,index:y,ptr:b,size:n,datatype:e._datatype})}function c(e,t,n,r){if(!t||t.isIndex!==!0)throw TypeError(`Invalid index`);var i=t.size(),a=t.isScalar(),o;if(F(n)?(o=n.size(),n=n.toArray()):o=gi(n),a){if(o.length!==0)throw TypeError(`Scalar expected`);e.set(t.min(),n,r)}else{if(i.length!==1&&i.length!==2)throw new mi(i.length,e._size.length,`<`);if(o.length<i.length){for(var s=0,c=0;i[s]===1&&o[s]===1;)s++;for(;i[s]===1;)c++,s++;n=Ai(n,i.length,c,o)}if(!Le(i,o))throw new mi(i,o,`>`);if(i.length===1)d(t.dimension(0),(t,i)=>{bi(t),e.set([t,0],n[i[0]],r)});else{var l=t.dimension(0),u=t.dimension(1);d(l,(t,i)=>{bi(t),d(u,(a,o)=>{bi(a),e.set([t,a],n[i[0]][o[0]],r)})})}}return e;function d(e,t){D(e)?t(e,[0]):e.forEach(t)}}i.prototype.get=function(e){if(!P(e))throw TypeError(`Array expected`);if(e.length!==this._size.length)throw new mi(e.length,this._size.length);if(!this._values)throw Error(`Cannot invoke get on a Pattern only matrix`);var t=e[0],n=e[1];bi(t,this._size[0]),bi(n,this._size[1]);var r=l(t,this._ptr[n],this._ptr[n+1],this._index);return r<this._ptr[n+1]&&this._index[r]===t?this._values[r]:0},i.prototype.set=function(e,r,i){if(!P(e))throw TypeError(`Array expected`);if(e.length!==this._size.length)throw new mi(e.length,this._size.length);if(!this._values)throw Error(`Cannot invoke set on a Pattern only matrix`);var a=e[0],o=e[1],s=this._size[0],c=this._size[1],p=n,m=0;N(this._datatype)&&(p=t.find(n,[this._datatype,this._datatype])||n,m=t.convert(0,this._datatype)),(a>s-1||o>c-1)&&(f(this,Math.max(a+1,s),Math.max(o+1,c),i),s=this._size[0],c=this._size[1]),bi(a,s),bi(o,c);var h=l(a,this._ptr[o],this._ptr[o+1],this._index);return h<this._ptr[o+1]&&this._index[h]===a?p(r,m)?u(h,o,this._values,this._index,this._ptr):this._values[h]=r:p(r,m)||d(h,a,o,r,this._values,this._index,this._ptr),this};function l(e,t,n,r){if(n-t===0)return n;for(var i=t;i<n;i++)if(r[i]===e)return i;return t}function u(e,t,n,r,i){n.splice(e,1),r.splice(e,1);for(var a=t+1;a<i.length;a++)i[a]--}function d(e,t,n,r,i,a,o){i.splice(e,0,r),a.splice(e,0,t);for(var s=n+1;s<o.length;s++)o[s]++}i.prototype.resize=function(e,t,n){if(!ee(e))throw TypeError(`Array or Matrix expected`);var r=e.valueOf().map(e=>Array.isArray(e)&&e.length===1?e[0]:e);if(r.length!==2)throw Error(`Only two dimensions matrix are supported`);return r.forEach(function(e){if(!D(e)||!H(e)||e<0)throw TypeError(`Invalid size, must contain positive integers (size: `+oi(r)+`)`)}),f(n?this.clone():this,r[0],r[1],t)};function f(e,r,i,a){var o=a||0,s=n,c=0;N(e._datatype)&&(s=t.find(n,[e._datatype,e._datatype])||n,c=t.convert(0,e._datatype),o=t.convert(o,e._datatype));var l=!s(o,c),u=e._size[0],d=e._size[1],f,p,m;if(i>d){for(p=d;p<i;p++)if(e._ptr[p]=e._values.length,l)for(f=0;f<u;f++)e._values.push(o),e._index.push(f);e._ptr[i]=e._values.length}else i<d&&(e._ptr.splice(i+1,d-i),e._values.splice(e._ptr[i],e._values.length),e._index.splice(e._ptr[i],e._index.length));if(d=i,r>u){if(l){var h=0;for(p=0;p<d;p++){e._ptr[p]=e._ptr[p]+h,m=e._ptr[p+1]+h;var g=0;for(f=u;f<r;f++,g++)e._values.splice(m+g,0,o),e._index.splice(m+g,0,f),h++}e._ptr[d]=e._values.length}}else if(r<u){var _=0;for(p=0;p<d;p++){e._ptr[p]=e._ptr[p]-_;var v=e._ptr[p],y=e._ptr[p+1]-_;for(m=v;m<y;m++)f=e._index[m],f>r-1&&(e._values.splice(m,1),e._index.splice(m,1),_++)}e._ptr[p]=e._values.length}return e._size[0]=r,e._size[1]=i,e}i.prototype.reshape=function(e,t){if(!P(e))throw TypeError(`Array expected`);if(e.length!==2)throw Error(`Sparse matrices can only be reshaped in two dimensions`);e.forEach(function(t){if(!D(t)||!H(t)||t<=-2||t===0)throw TypeError(`Invalid size, must contain positive integers or -1 (size: `+oi(e)+`)`)});var n=this._size[0]*this._size[1];if(e=Ti(e,n),n!==e[0]*e[1])throw Error(`Reshaping sparse matrix will result in the wrong number of elements`);var r=t?this.clone():this;if(this._size[0]===e[0]&&this._size[1]===e[1])return r;for(var i=[],a=0;a<r._ptr.length;a++)for(var o=0;o<r._ptr[a+1]-r._ptr[a];o++)i.push(a);for(var s=r._values.slice(),c=r._index.slice(),u=0;u<r._index.length;u++){var f=c[u],p=i[u],m=f*r._size[1]+p;i[u]=m%e[1],c[u]=Math.floor(m/e[1])}r._values.length=0,r._index.length=0,r._ptr.length=e[1]+1,r._size=e.slice();for(var h=0;h<r._ptr.length;h++)r._ptr[h]=0;for(var g=0;g<s.length;g++){var _=c[g],v=i[g],y=s[g];d(l(_,r._ptr[v],r._ptr[v+1],r._index),_,v,y,r._values,r._index,r._ptr)}return r},i.prototype.clone=function(){return new i({values:this._values?Ne(this._values):void 0,index:Ne(this._index),ptr:Ne(this._ptr),size:Ne(this._size),datatype:this._datatype})},i.prototype.size=function(){return this._size.slice(0)},i.prototype.map=function(e,t){if(!this._values)throw Error(`Cannot invoke map on a Pattern only matrix`);var n=this,r=this._size[0],i=this._size[1],a=Zi(e,n,`map`);return p(this,0,r-1,0,i-1,function(e,t,r){return a.fn(e,[t,r],n)},t)};function p(e,r,a,o,s,c,l){var u=[],d=[],f=[],p=n,m=0;N(e._datatype)&&(p=t.find(n,[e._datatype,e._datatype])||n,m=t.convert(0,e._datatype));for(var h=function(e,t,n){var r=c(e,t,n);p(r,m)||(u.push(r),d.push(t))},g=o;g<=s;g++){f.push(u.length);var _=e._ptr[g],v=e._ptr[g+1];if(l)for(var y=_;y<v;y++){var b=e._index[y];b>=r&&b<=a&&h(e._values[y],b-r,g-o)}else{for(var x={},S=_;S<v;S++){var C=e._index[S];x[C]=e._values[S]}for(var w=r;w<=a;w++)h(w in x?x[w]:0,w-r,g-o)}}return f.push(u.length),new i({values:u,index:d,ptr:f,size:[a-r+1,s-o+1]})}i.prototype.forEach=function(e,t){if(!this._values)throw Error(`Cannot invoke forEach on a Pattern only matrix`);for(var n=this,r=this._size[0],i=this._size[1],a=Zi(e,n,`forEach`),o=0;o<i;o++){var s=this._ptr[o],c=this._ptr[o+1];if(t)for(var l=s;l<c;l++){var u=this._index[l];a.fn(this._values[l],[u,o],n)}else{for(var d={},f=s;f<c;f++){var p=this._index[f];d[p]=this._values[f]}for(var m=0;m<r;m++){var h=m in d?d[m]:0;a.fn(h,[m,o],n)}}}},i.prototype[Symbol.iterator]=function*(){if(!this._values)throw Error(`Cannot iterate a Pattern only matrix`);for(var e=this._size[1],t=0;t<e;t++)for(var n=this._ptr[t],r=this._ptr[t+1],i=n;i<r;i++){var a=this._index[i];yield{value:this._values[i],index:[a,t]}}},i.prototype.toArray=function(){return m(this._values,this._index,this._ptr,this._size,!0)},i.prototype.valueOf=function(){return m(this._values,this._index,this._ptr,this._size,!1)};function m(e,t,n,r,i){for(var a=r[0],o=r[1],s=[],c=0,l;c<a;c++)for(s[c]=[],l=0;l<o;l++)s[c][l]=0;for(l=0;l<o;l++)for(var u=n[l],d=n[l+1],f=u;f<d;f++)c=t[f],s[c][l]=e?i?Ne(e[f]):e[f]:1;return s}return i.prototype.format=function(e){for(var t=this._size[0],n=this._size[1],r=this.density(),i=`Sparse Matrix [`+oi(t,e)+` x `+oi(n,e)+`] density: `+oi(r,e)+`
10
10
  `,a=0;a<n;a++)for(var o=this._ptr[a],s=this._ptr[a+1],c=o;c<s;c++){var l=this._index[c];i+=`
11
11
  (`+oi(l,e)+`, `+oi(a,e)+`) ==> `+(this._values?oi(this._values[c],e):`X`)}return i},i.prototype.toString=function(){return oi(this.toArray())},i.prototype.toJSON=function(){return{mathjs:`SparseMatrix`,values:this._values,index:this._index,ptr:this._ptr,size:this._size,datatype:this._datatype}},i.prototype.diagonal=function(e){if(e){if(O(e)&&(e=e.toNumber()),!D(e)||!H(e))throw TypeError(`The parameter k must be an integer number`)}else e=0;var t=e>0?e:0,n=e<0?-e:0,r=this._size[0],a=this._size[1],o=Math.min(r-n,a-t),s=[],c=[],l=[];l[0]=0;for(var u=t;u<a&&s.length<o;u++)for(var d=this._ptr[u],f=this._ptr[u+1],p=d;p<f;p++){var m=this._index[p];if(m===u-t+n){s.push(this._values[p]),c[s.length-1]=m-n;break}}return l.push(s.length),new i({values:s,index:c,ptr:l,size:[o,1]})},i.fromJSON=function(e){return new i(e)},i.diagonal=function(e,r,a,o,s){if(!P(e))throw TypeError(`Array expected, size parameter`);if(e.length!==2)throw Error(`Only two dimensions matrix are supported`);if(e=e.map(function(e){if(O(e)&&(e=e.toNumber()),!D(e)||!H(e)||e<1)throw Error(`Size values must be positive integers`);return e}),a){if(O(a)&&(a=a.toNumber()),!D(a)||!H(a))throw TypeError(`The parameter k must be an integer number`)}else a=0;var c=n,l=0;N(s)&&(c=t.find(n,[s,s])||n,l=t.convert(0,s));var u=a>0?a:0,d=a<0?-a:0,f=e[0],p=e[1],m=Math.min(f-d,p-u),h;if(P(r)){if(r.length!==m)throw Error(`Invalid value array length`);h=function(e){return r[e]}}else if(F(r)){var g=r.size();if(g.length!==1||g[0]!==m)throw Error(`Invalid matrix length`);h=function(e){return r.get([e])}}else h=function(){return r};for(var _=[],v=[],y=[],b=0;b<p;b++){y.push(_.length);var x=b-u;if(x>=0&&x<m){var S=h(x);c(S,l)||(v.push(x+d),_.push(S))}}return y.push(_.length),new i({values:_,index:v,ptr:y,size:[f,p]})},i.prototype.swapRows=function(e,t){if(!D(e)||!H(e)||!D(t)||!H(t))throw Error(`Row index must be positive integers`);if(this._size.length!==2)throw Error(`Only two dimensional matrix is supported`);return bi(e,this._size[0]),bi(t,this._size[0]),i._swapRows(e,t,this._size[1],this._values,this._index,this._ptr),this},i._forEachRow=function(e,t,n,r,i){for(var a=r[e],o=r[e+1],s=a;s<o;s++)i(n[s],t[s])},i._swapRows=function(e,t,n,r,i,a){for(var o=0;o<n;o++){var s=a[o],c=a[o+1],u=l(e,s,c,i),d=l(t,s,c,i);if(u<c&&d<c&&i[u]===e&&i[d]===t){if(r){var f=r[u];r[u]=r[d],r[d]=f}continue}if(u<c&&i[u]===e&&(d>=c||i[d]!==t)){var p=r?r[u]:void 0;i.splice(d,0,t),r&&r.splice(d,0,p),i.splice(d<=u?u+1:u,1),r&&r.splice(d<=u?u+1:u,1);continue}if(d<c&&i[d]===t&&(u>=c||i[u]!==e)){var m=r?r[d]:void 0;i.splice(u,0,e),r&&r.splice(u,0,m),i.splice(u<=d?d+1:d,1),r&&r.splice(u<=d?d+1:d,1)}}},i},{isClass:!0}),ns=`number`,rs=[`typed`];function is(e){var t=e.match(/(0[box])([0-9a-fA-F]*)\.([0-9a-fA-F]*)/);return t?{input:e,radix:{"0b":2,"0o":8,"0x":16}[t[1]],integerPart:t[2],fractionalPart:t[3]}:null}function as(e){for(var t=parseInt(e.integerPart,e.radix),n=0,r=0;r<e.fractionalPart.length;r++){var i=parseInt(e.fractionalPart[r],e.radix);n+=i/e.radix**+(r+1)}var a=t+n;if(isNaN(a))throw SyntaxError(`String "`+e.input+`" is not a valid number`);return a}var os=V(ns,rs,e=>{var{typed:t}=e,n=t(`number`,{"":function(){return 0},number:function(e){return e},string:function(e){if(e===`NaN`)return NaN;var t=is(e);if(t)return as(t);var n=0,r=e.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);r&&(n=Number(r[2]),e=r[1]);var i=Number(e);if(isNaN(i))throw SyntaxError(`String "`+e+`" is not a valid number`);if(r){if(i>2**n-1)throw SyntaxError(`String "${e}" is out of range`);i>=2**(n-1)&&(i-=2**n)}return i},BigNumber:function(e){return e.toNumber()},bigint:function(e){return Number(e)},Fraction:function(e){return e.valueOf()},Unit:t.referToSelf(e=>t=>{var n=t.clone();return n.value=e(t.value),n}),null:function(e){return 0},"Unit, string | Unit":function(e,t){return e.toNumber(t)},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))});return n.fromJSON=function(e){return parseFloat(e.value)},n}),ss=V(`bigint`,[`typed`],e=>{var{typed:t}=e,n=t(`bigint`,{"":function(){return 0n},bigint:function(e){return e},number:function(e){return BigInt(e.toFixed())},BigNumber:function(e){return BigInt(e.round().toString())},Fraction:function(e){return BigInt(e.valueOf().toFixed())},"string | boolean":function(e){return BigInt(e)},null:function(e){return 0n},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))});return n.fromJSON=function(e){return BigInt(e.value)},n}),cs=`string`,ls=V(cs,[`typed`],e=>{var{typed:t}=e;return t(cs,{"":function(){return``},number:ot,null:function(e){return`null`},boolean:function(e){return e+``},string:function(e){return e},"Array | Matrix":t.referToSelf(e=>t=>la(t,e)),any:function(e){return String(e)}})}),us=`boolean`,ds=V(us,[`typed`],e=>{var{typed:t}=e;return t(us,{"":function(){return!1},boolean:function(e){return e},number:function(e){return!!e},null:function(e){return!1},BigNumber:function(e){return!e.isZero()},string:function(e){var t=e.toLowerCase();if(t===`true`)return!0;if(t===`false`)return!1;var n=Number(e);if(e!==``&&!isNaN(n))return!!n;throw Error(`Cannot convert "`+e+`" to a boolean`)},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),fs=V(`bignumber`,[`typed`,`BigNumber`],e=>{var{typed:t,BigNumber:n}=e;return t(`bignumber`,{"":function(){return new n(0)},number:function(e){return new n(e+``)},string:function(e){var t=e.match(/(0[box][0-9a-fA-F]*)i([0-9]*)/);if(t){var r=t[2],i=n(t[1]),a=new n(2).pow(Number(r));if(i.gt(a.sub(1)))throw SyntaxError(`String "${e}" is out of range`);var o=new n(2).pow(Number(r)-1);return i.gte(o)?i.sub(a):i}return new n(e)},BigNumber:function(e){return e},bigint:function(e){return new n(e.toString())},Unit:t.referToSelf(e=>t=>{var n=t.clone();return n.value=e(t.value),n}),Fraction:function(e){return new n(String(e.n)).div(String(e.d)).times(String(e.s))},null:function(e){return new n(0)},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),ps=V(`complex`,[`typed`,`Complex`],e=>{var{typed:t,Complex:n}=e;return t(`complex`,{"":function(){return n.ZERO},number:function(e){return new n(e,0)},"number, number":function(e,t){return new n(e,t)},"BigNumber, BigNumber":function(e,t){return new n(e.toNumber(),t.toNumber())},Fraction:function(e){return new n(e.valueOf(),0)},Complex:function(e){return e.clone()},string:function(e){return n(e)},null:function(e){return n(0)},Object:function(e){if(`re`in e&&`im`in e)return new n(e.re,e.im);if(`r`in e&&`phi`in e||`abs`in e&&`arg`in e)return new n(e);throw Error(`Expected object with properties (re and im) or (r and phi) or (abs and arg)`)},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),ms=V(`fraction`,[`typed`,`Fraction`],e=>{var{typed:t,Fraction:n}=e;return t(`fraction`,{number:function(e){if(!Number.isFinite(e)||isNaN(e))throw Error(e+` cannot be represented as a fraction`);return new n(e)},string:function(e){return new n(e)},"number, number":function(e,t){return new n(e,t)},"bigint, bigint":function(e,t){return new n(e,t)},null:function(e){return new n(0)},BigNumber:function(e){return new n(e.toString())},bigint:function(e){return new n(e.toString())},Fraction:function(e){return e},Unit:t.referToSelf(e=>t=>{var n=t.clone();return n.value=e(t.value),n}),Object:function(e){return new n(e)},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),hs=`matrix`,gs=V(hs,[`typed`,`Matrix`,`DenseMatrix`,`SparseMatrix`],e=>{var{typed:t,Matrix:n,DenseMatrix:r,SparseMatrix:i}=e;return t(hs,{"":function(){return a([])},string:function(e){return a([],e)},"string, string":function(e,t){return a([],e,t)},Array:function(e){return a(e)},Matrix:function(e){return a(e,e.storage())},"Array | Matrix, string":a,"Array | Matrix, string, string":a});function a(e,t,n){if(t===`dense`||t==="default"||t===void 0)return new r(e,n);if(t===`sparse`)return new i(e,n);throw TypeError(`Unknown matrix type `+JSON.stringify(t)+`.`)}}),_s=`matrixFromFunction`,vs=V(_s,[`typed`,`matrix`,`isZero`],e=>{var{typed:t,matrix:n,isZero:r}=e;return t(_s,{"Array | Matrix, function, string, string":function(e,t,n,r){return i(e,t,n,r)},"Array | Matrix, function, string":function(e,t,n){return i(e,t,n)},"Matrix, function":function(e,t){return i(e,t,`dense`)},"Array, function":function(e,t){return i(e,t,`dense`).toArray()},"Array | Matrix, string, function":function(e,t,n){return i(e,n,t)},"Array | Matrix, string, string, function":function(e,t,n,r){return i(e,r,t,n)}});function i(e,t,i,a){var o=a===void 0?n(i):n(i,a);return o.resize(e),o.forEach(function(e,n){var i=t(n);r(i)||o.set(n,i)}),o}}),ys=`matrixFromRows`,bs=V(ys,[`typed`,`matrix`,`flatten`,`size`],e=>{var{typed:t,matrix:n,flatten:r,size:i}=e;return t(ys,{"...Array":function(e){return a(e)},"...Matrix":function(e){return n(a(e.map(e=>e.toArray())))}});function a(e){if(e.length===0)throw TypeError(`At least one row is needed to construct a matrix.`);var t=o(e[0]),n=[];for(var i of e){var a=o(i);if(a!==t)throw TypeError(`The vectors had different length: `+(t|0)+` ≠ `+(a|0));n.push(r(i))}return n}function o(e){var t=i(e);if(t.length===1)return t[0];if(t.length===2){if(t[0]===1)return t[1];if(t[1]===1)return t[0];throw TypeError(`At least one of the arguments is not a vector.`)}throw TypeError(`Only one- or two-dimensional vectors are supported.`)}}),xs=`matrixFromColumns`,Ss=V(xs,[`typed`,`matrix`,`flatten`,`size`],e=>{var{typed:t,matrix:n,flatten:r,size:i}=e;return t(xs,{"...Array":function(e){return a(e)},"...Matrix":function(e){return n(a(e.map(e=>e.toArray())))}});function a(e){if(e.length===0)throw TypeError(`At least one column is needed to construct a matrix.`);for(var t=o(e[0]),n=[],i=0;i<t;i++)n[i]=[];for(var a of e){var s=o(a);if(s!==t)throw TypeError(`The vectors had different length: `+(t|0)+` ≠ `+(s|0));for(var c=r(a),l=0;l<t;l++)n[l].push(c[l])}return n}function o(e){var t=i(e);if(t.length===1)return t[0];if(t.length===2){if(t[0]===1)return t[1];if(t[1]===1)return t[0];throw TypeError(`At least one of the arguments is not a vector.`)}throw TypeError(`Only one- or two-dimensional vectors are supported.`)}}),Cs=`splitUnit`,ws=V(Cs,[`typed`],e=>{var{typed:t}=e;return t(Cs,{"Unit, Array":function(e,t){return e.splitUnit(t)}})}),Ts=`unaryMinus`,Es=V(Ts,[`typed`],e=>{var{typed:t}=e;return t(Ts,{number:xa,"Complex | BigNumber | Fraction":e=>e.neg(),bigint:e=>-e,Unit:t.referToSelf(e=>n=>{var r=n.clone();return r.value=t.find(e,r.valueType())(n.value),r}),"Array | Matrix":t.referToSelf(e=>t=>la(t,e,!0))})}),Ds=`unaryPlus`,Os=V(Ds,[`typed`,`config`,`numeric`],e=>{var{typed:t,config:n,numeric:r}=e;return t(Ds,{number:Sa,Complex:function(e){return e},BigNumber:function(e){return e},bigint:function(e){return e},Fraction:function(e){return e},Unit:function(e){return e.clone()},"Array | Matrix":t.referToSelf(e=>t=>la(t,e,!0)),boolean:function(e){return r(+!!e,n.number)},string:function(e){return r(e,Qe(e,n))}})}),ks=`abs`,As=V(ks,[`typed`],e=>{var{typed:t}=e;return t(ks,{number:_a,"Complex | BigNumber | Fraction | Unit":e=>e.abs(),bigint:e=>e<0n?-e:e,"Array | Matrix":t.referToSelf(e=>t=>la(t,e,!0))})}),js=`mapSlices`,Ms=V(js,[`typed`,`isInteger`],e=>{var{typed:t,isInteger:n}=e;return t(js,{"Array | Matrix, number | BigNumber, function":function(e,t,r){if(!n(t))throw TypeError(`Integer number expected for dimension`);var i=Array.isArray(e)?gi(e):e.size();if(t<0||t>=i.length)throw new hi(t,i.length);return F(e)?e.create(Ns(e.valueOf(),t,r),e.datatype()):Ns(e,t,r)}})},{formerly:`apply`});function Ns(e,t,n){var r,i,a;if(t<=0){if(Array.isArray(e[0])){for(a=Ps(e),i=[],r=0;r<a.length;r++)i[r]=Ns(a[r],t-1,n);return i}return n(e)}for(i=[],r=0;r<e.length;r++)i[r]=Ns(e[r],t-1,n);return i}function Ps(e){var t=e.length,n=e[0].length,r,i,a=[];for(i=0;i<n;i++){var o=[];for(r=0;r<t;r++)o.push(e[r][i]);a.push(o)}return a}var Fs=`addScalar`,Is=V(Fs,[`typed`],e=>{var{typed:t}=e;return t(Fs,{"number, number":va,"Complex, Complex":function(e,t){return e.add(t)},"BigNumber, BigNumber":function(e,t){return e.plus(t)},"bigint, bigint":function(e,t){return e+t},"Fraction, Fraction":function(e,t){return e.add(t)},"Unit, Unit":t.referToSelf(e=>(n,r)=>{if(n.value===null||n.value===void 0)throw Error(`Parameter x contains a unit with undefined value`);if(r.value===null||r.value===void 0)throw Error(`Parameter y contains a unit with undefined value`);if(!n.equalBase(r))throw Error(`Units do not match`);var i=n.clone();return i.value=t.find(e,[i.valueType(),r.valueType()])(i.value,r.value),i.fixPrefix=!1,i})})}),Ls=`subtractScalar`,Rs=V(Ls,[`typed`],e=>{var{typed:t}=e;return t(Ls,{"number, number":ya,"Complex, Complex":function(e,t){return e.sub(t)},"BigNumber, BigNumber":function(e,t){return e.minus(t)},"bigint, bigint":function(e,t){return e-t},"Fraction, Fraction":function(e,t){return e.sub(t)},"Unit, Unit":t.referToSelf(e=>(n,r)=>{if(n.value===null||n.value===void 0)throw Error(`Parameter x contains a unit with undefined value`);if(r.value===null||r.value===void 0)throw Error(`Parameter y contains a unit with undefined value`);if(!n.equalBase(r))throw Error(`Units do not match`);var i=n.clone();return i.value=t.find(e,[i.valueType(),r.valueType()])(i.value,r.value),i.fixPrefix=!1,i})})}),zs=`cbrt`,Bs=V(zs,[`config`,`typed`,`isNegative`,`unaryMinus`,`matrix`,`Complex`,`BigNumber`,`Fraction`],e=>{var{config:t,typed:n,isNegative:r,unaryMinus:i,matrix:a,Complex:o,BigNumber:s,Fraction:c}=e;return n(zs,{number:Ca,Complex:l,"Complex, boolean":l,BigNumber:function(e){return e.cbrt()},Unit:u});function l(e,n){var r=e.arg()/3,i=e.abs(),s=new o(Ca(i),0).mul(new o(0,r).exp());if(n){var c=[s,new o(Ca(i),0).mul(new o(0,r+Math.PI*2/3).exp()),new o(Ca(i),0).mul(new o(0,r-Math.PI*2/3).exp())];return t.matrix===`Array`?c:a(c)}return s}function u(e){if(e.value&&A(e.value)){var t=e.clone();return t.value=1,t=t.pow(1/3),t.value=l(e.value),t}var n=r(e.value);n&&(e.value=i(e.value));var a=O(e.value)?new s(1).div(3):j(e.value)?new c(1,3):1/3,o=e.pow(a);return n&&(o.value=i(o.value)),o}}),Vs=V(`matAlgo11xS0s`,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return function(e,r,i,a){var o=e._values,s=e._index,c=e._ptr,l=e._size,u=e._datatype;if(!o)throw Error(`Cannot perform operation on Pattern Sparse Matrix and Scalar value`);var d=l[0],f=l[1],p,m=n,h=0,g=i;typeof u==`string`&&(p=u,m=t.find(n,[p,p]),h=t.convert(0,p),r=t.convert(r,p),g=t.find(i,[p,p]));for(var _=[],v=[],y=[],b=0;b<f;b++){y[b]=v.length;for(var x=c[b],S=c[b+1],C=x;C<S;C++){var w=s[C],T=a?g(r,o[C]):g(o[C],r);m(T,h)||(v.push(w),_.push(T))}}return y[f]=v.length,e.createSparseMatrix({values:_,index:v,ptr:y,size:[d,f],datatype:p})}}),Hs=V(`matAlgo12xSfs`,[`typed`,`DenseMatrix`],e=>{var{typed:t,DenseMatrix:n}=e;return function(e,r,i,a){var o=e._values,s=e._index,c=e._ptr,l=e._size,u=e._datatype;if(!o)throw Error(`Cannot perform operation on Pattern Sparse Matrix and Scalar value`);var d=l[0],f=l[1],p,m=i;typeof u==`string`&&(p=u,r=t.convert(r,p),m=t.find(i,[p,p]));for(var h=[],g=[],_=[],v=0;v<f;v++){for(var y=v+1,b=c[v],x=c[v+1],S=b;S<x;S++){var C=s[S];g[C]=o[S],_[C]=y}for(var w=0;w<d;w++)v===0&&(h[w]=[]),_[w]===y?h[w][v]=a?m(r,g[w]):m(g[w],r):h[w][v]=a?m(r,0):m(0,r)}return new n({data:h,size:[d,f],datatype:p})}}),Us=V(`matAlgo14xDs`,[`typed`],e=>{var{typed:t}=e;return function(e,r,i,a){var o=e._data,s=e._size,c=e._datatype,l,u=i;typeof c==`string`&&(l=c,r=t.convert(r,l),u=t.find(i,[l,l]));var d=s.length>0?n(u,0,s,s[0],o,r,a):[];return e.createDenseMatrix({data:d,size:Ne(s),datatype:l})};function n(e,t,r,i,a,o,s){var c=[];if(t===r.length-1)for(var l=0;l<i;l++)c[l]=s?e(o,a[l]):e(a[l],o);else for(var u=0;u<i;u++)c[u]=n(e,t+1,r,r[t+1],a[u],o,s);return c}}),Ws=`ceil`,Gs=[`typed`,`config`,`round`,`matrix`,`equalScalar`,`zeros`,`DenseMatrix`],Ks=new yr(10),qs=V(Ws,[`typed`,`config`,`round`],e=>{var{typed:t,config:n,round:r}=e;function i(e){var t=Math.ceil(e),i=r(e);return t===i?t:gt(e,i,n.relTol,n.absTol)&&!gt(e,t,n.relTol,n.absTol)?i:t}return t(Ws,{number:i,"number, number":function(e,t){if(!H(t))throw RangeError(`number of decimals in function ceil must be an integer`);if(t<0||t>15)throw RangeError(`number of decimals in ceil number must be in range 0-15`);var n=10**t;return i(e*n)/n}})}),Js=V(Ws,Gs,e=>{var{typed:t,config:n,round:r,matrix:i,equalScalar:a,zeros:o,DenseMatrix:s}=e,c=Vs({typed:t,equalScalar:a}),l=Hs({typed:t,DenseMatrix:s}),u=Us({typed:t}),d=qs({typed:t,config:n,round:r});function f(e){var t=(e,t)=>Mo(e,t,n.relTol,n.absTol),i=e.ceil(),a=r(e);return i.eq(a)?i:t(e,a)&&!t(e,i)?a:i}return t(`ceil`,{number:d.signatures.number,"number,number":d.signatures[`number,number`],Complex:function(e){return e.ceil()},"Complex, number":function(e,t){return e.ceil(t)},"Complex, BigNumber":function(e,t){return e.ceil(t.toNumber())},BigNumber:f,"BigNumber, BigNumber":function(e,t){var n=Ks.pow(t);return f(e.mul(n)).div(n)},bigint:e=>e,"bigint, number":(e,t)=>e,"bigint, BigNumber":(e,t)=>e,Fraction:function(e){return e.ceil()},"Fraction, number":function(e,t){return e.ceil(t)},"Fraction, BigNumber":function(e,t){return e.ceil(t.toNumber())},"Unit, number, Unit":t.referToSelf(e=>function(t,n,r){var i=t.toNumeric(r);return r.multiply(e(i,n))}),"Unit, BigNumber, Unit":t.referToSelf(e=>(t,n,r)=>e(t,n.toNumber(),r)),"Array | Matrix, number | BigNumber, Unit":t.referToSelf(e=>(t,n,r)=>la(t,t=>e(t,n,r),!0)),"Array | Matrix | Unit, Unit":t.referToSelf(e=>(t,n)=>e(t,0,n)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e,!0)),"Array, number | BigNumber":t.referToSelf(e=>(t,n)=>la(t,t=>e(t,n),!0)),"SparseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>c(t,n,e,!1)),"DenseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>u(t,n,e,!1)),"number | Complex | Fraction | BigNumber, Array":t.referToSelf(e=>(t,n)=>u(i(n),t,e,!0).valueOf()),"number | Complex | Fraction | BigNumber, Matrix":t.referToSelf(e=>(t,n)=>a(t,0)?o(n.size(),n.storage()):n.storage()===`dense`?u(n,t,e,!0):l(n,t,e,!0))})}),Ys=`cube`,Xs=V(Ys,[`typed`],e=>{var{typed:t}=e;return t(Ys,{number:wa,Complex:function(e){return e.mul(e).mul(e)},BigNumber:function(e){return e.times(e).times(e)},bigint:function(e){return e*e*e},Fraction:function(e){return e.pow(3)},Unit:function(e){return e.pow(3)}})}),Zs=`exp`,Qs=V(Zs,[`typed`],e=>{var{typed:t}=e;return t(Zs,{number:Ta,Complex:function(e){return e.exp()},BigNumber:function(e){return e.exp()}})}),$s=`expm1`,ec=V($s,[`typed`,`Complex`],e=>{var{typed:t,Complex:n}=e;return t($s,{number:Ea,Complex:function(e){var t=Math.exp(e.re);return new n(t*Math.cos(e.im)-1,t*Math.sin(e.im))},BigNumber:function(e){return e.exp().minus(1)}})}),tc=`fix`,nc=[`typed`,`Complex`,`matrix`,`ceil`,`floor`,`equalScalar`,`zeros`,`DenseMatrix`],rc=V(tc,[`typed`,`ceil`,`floor`],e=>{var{typed:t,ceil:n,floor:r}=e;return t(tc,{number:function(e){return e>0?r(e):n(e)},"number, number":function(e,t){return e>0?r(e,t):n(e,t)}})}),ic=V(tc,nc,e=>{var{typed:t,Complex:n,matrix:r,ceil:i,floor:a,equalScalar:o,zeros:s,DenseMatrix:c}=e,l=Hs({typed:t,DenseMatrix:c}),u=Us({typed:t}),d=rc({typed:t,ceil:i,floor:a});return t(`fix`,{number:d.signatures.number,"number, number | BigNumber":d.signatures[`number,number`],Complex:function(e){return new n(e.re>0?Math.floor(e.re):Math.ceil(e.re),e.im>0?Math.floor(e.im):Math.ceil(e.im))},"Complex, number":function(e,t){return new n(e.re>0?a(e.re,t):i(e.re,t),e.im>0?a(e.im,t):i(e.im,t))},"Complex, BigNumber":function(e,t){var r=t.toNumber();return new n(e.re>0?a(e.re,r):i(e.re,r),e.im>0?a(e.im,r):i(e.im,r))},BigNumber:function(e){return e.isNegative()?i(e):a(e)},"BigNumber, number | BigNumber":function(e,t){return e.isNegative()?i(e,t):a(e,t)},bigint:e=>e,"bigint, number":(e,t)=>e,"bigint, BigNumber":(e,t)=>e,Fraction:function(e){return e.s<0n?e.ceil():e.floor()},"Fraction, number | BigNumber":function(e,t){return e.s<0n?i(e,t):a(e,t)},"Unit, number, Unit":t.referToSelf(e=>function(t,n,r){var i=t.toNumeric(r);return r.multiply(e(i,n))}),"Unit, BigNumber, Unit":t.referToSelf(e=>(t,n,r)=>e(t,n.toNumber(),r)),"Array | Matrix, number | BigNumber, Unit":t.referToSelf(e=>(t,n,r)=>la(t,t=>e(t,n,r),!0)),"Array | Matrix | Unit, Unit":t.referToSelf(e=>(t,n)=>e(t,0,n)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e,!0)),"Array | Matrix, number | BigNumber":t.referToSelf(e=>(t,n)=>la(t,t=>e(t,n),!0)),"number | Complex | Fraction | BigNumber, Array":t.referToSelf(e=>(t,n)=>u(r(n),t,e,!0).valueOf()),"number | Complex | Fraction | BigNumber, Matrix":t.referToSelf(e=>(t,n)=>o(t,0)?s(n.size(),n.storage()):n.storage()===`dense`?u(n,t,e,!0):l(n,t,e,!0))})}),ac=`floor`,oc=[`typed`,`config`,`round`,`matrix`,`equalScalar`,`zeros`,`DenseMatrix`],sc=new yr(10),cc=V(ac,[`typed`,`config`,`round`],e=>{var{typed:t,config:n,round:r}=e;function i(e){var t=Math.floor(e),i=r(e);return t===i?t:gt(e,i,n.relTol,n.absTol)&&!gt(e,t,n.relTol,n.absTol)?i:t}return t(ac,{number:i,"number, number":function(e,t){if(!H(t))throw RangeError(`number of decimals in function floor must be an integer`);if(t<0||t>15)throw RangeError(`number of decimals in floor number must be in range 0 - 15`);var n=10**t;return i(e*n)/n}})}),lc=V(ac,oc,e=>{var{typed:t,config:n,round:r,matrix:i,equalScalar:a,zeros:o,DenseMatrix:s}=e,c=Vs({typed:t,equalScalar:a}),l=Hs({typed:t,DenseMatrix:s}),u=Us({typed:t}),d=cc({typed:t,config:n,round:r});function f(e){var t=(e,t)=>Mo(e,t,n.relTol,n.absTol),i=e.floor(),a=r(e);return i.eq(a)?i:t(e,a)&&!t(e,i)?a:i}return t(`floor`,{number:d.signatures.number,"number,number":d.signatures[`number,number`],Complex:function(e){return e.floor()},"Complex, number":function(e,t){return e.floor(t)},"Complex, BigNumber":function(e,t){return e.floor(t.toNumber())},BigNumber:f,"BigNumber, BigNumber":function(e,t){var n=sc.pow(t);return f(e.mul(n)).div(n)},bigint:e=>e,"bigint, number":(e,t)=>e,"bigint, BigNumber":(e,t)=>e,Fraction:function(e){return e.floor()},"Fraction, number":function(e,t){return e.floor(t)},"Fraction, BigNumber":function(e,t){return e.floor(t.toNumber())},"Unit, number, Unit":t.referToSelf(e=>function(t,n,r){var i=t.toNumeric(r);return r.multiply(e(i,n))}),"Unit, BigNumber, Unit":t.referToSelf(e=>(t,n,r)=>e(t,n.toNumber(),r)),"Array | Matrix, number | BigNumber, Unit":t.referToSelf(e=>(t,n,r)=>la(t,t=>e(t,n,r),!0)),"Array | Matrix | Unit, Unit":t.referToSelf(e=>(t,n)=>e(t,0,n)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e,!0)),"Array, number | BigNumber":t.referToSelf(e=>(t,n)=>la(t,t=>e(t,n),!0)),"SparseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>c(t,n,e,!1)),"DenseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>u(t,n,e,!1)),"number | Complex | Fraction | BigNumber, Array":t.referToSelf(e=>(t,n)=>u(i(n),t,e,!0).valueOf()),"number | Complex | Fraction | BigNumber, Matrix":t.referToSelf(e=>(t,n)=>a(t,0)?o(n.size(),n.storage()):n.storage()===`dense`?u(n,t,e,!0):l(n,t,e,!0))})}),uc=V(`matAlgo02xDS0`,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return function(e,r,i,a){var o=e._data,s=e._size,c=e._datatype||e.getDataType(),l=r._values,u=r._index,d=r._ptr,f=r._size,p=r._datatype||r._data===void 0?r._datatype:r.getDataType();if(s.length!==f.length)throw new mi(s.length,f.length);if(s[0]!==f[0]||s[1]!==f[1])throw RangeError(`Dimension mismatch. Matrix A (`+s+`) must match Matrix B (`+f+`)`);if(!l)throw Error(`Cannot perform operation on Dense Matrix and Pattern Sparse Matrix`);var m=s[0],h=s[1],g,_=n,v=0,y=i;typeof c==`string`&&c===p&&c!==`mixed`&&(g=c,_=t.find(n,[g,g]),v=t.convert(0,g),y=t.find(i,[g,g]));for(var b=[],x=[],S=[],C=0;C<h;C++){S[C]=x.length;for(var w=d[C],T=d[C+1],E=w;E<T;E++){var D=u[E],O=a?y(l[E],o[D][C]):y(o[D][C],l[E]);_(O,v)||(x.push(D),b.push(O))}}return S[h]=x.length,r.createSparseMatrix({values:b,index:x,ptr:S,size:[m,h],datatype:c===e._datatype&&p===r._datatype?g:void 0})}}),dc=V(`matAlgo03xDSf`,[`typed`],e=>{var{typed:t}=e;return function(e,n,r,i){var a=e._data,o=e._size,s=e._datatype||e.getDataType(),c=n._values,l=n._index,u=n._ptr,d=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(o.length!==d.length)throw new mi(o.length,d.length);if(o[0]!==d[0]||o[1]!==d[1])throw RangeError(`Dimension mismatch. Matrix A (`+o+`) must match Matrix B (`+d+`)`);if(!c)throw Error(`Cannot perform operation on Dense Matrix and Pattern Sparse Matrix`);var p=o[0],m=o[1],h,g=0,_=r;typeof s==`string`&&s===f&&s!==`mixed`&&(h=s,g=t.convert(0,h),_=t.find(r,[h,h]));for(var v=[],y=0;y<p;y++)v[y]=[];for(var b=[],x=[],S=0;S<m;S++){for(var C=S+1,w=u[S],T=u[S+1],E=w;E<T;E++){var D=l[E];b[D]=i?_(c[E],a[D][S]):_(a[D][S],c[E]),x[D]=C}for(var O=0;O<p;O++)x[O]===C?v[O][S]=b[O]:v[O][S]=i?_(g,a[O][S]):_(a[O][S],g)}return e.createDenseMatrix({data:v,size:[p,m],datatype:s===e._datatype&&f===n._datatype?h:void 0})}}),fc=V(`matAlgo05xSfSf`,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return function(e,r,i){var a=e._values,o=e._index,s=e._ptr,c=e._size,l=e._datatype||e._data===void 0?e._datatype:e.getDataType(),u=r._values,d=r._index,f=r._ptr,p=r._size,m=r._datatype||r._data===void 0?r._datatype:r.getDataType();if(c.length!==p.length)throw new mi(c.length,p.length);if(c[0]!==p[0]||c[1]!==p[1])throw RangeError(`Dimension mismatch. Matrix A (`+c+`) must match Matrix B (`+p+`)`);var h=c[0],g=c[1],_,v=n,y=0,b=i;typeof l==`string`&&l===m&&l!==`mixed`&&(_=l,v=t.find(n,[_,_]),y=t.convert(0,_),b=t.find(i,[_,_]));for(var x=a&&u?[]:void 0,S=[],C=[],w=x?[]:void 0,T=x?[]:void 0,E=[],D=[],O,k=0,A,j;k<g;k++){C[k]=S.length;var M=k+1;for(A=s[k],j=s[k+1];A<j;A++)O=o[A],S.push(O),E[O]=M,w&&(w[O]=a[A]);for(A=f[k],j=f[k+1];A<j;A++)O=d[A],E[O]!==M&&S.push(O),D[O]=M,T&&(T[O]=u[A]);if(x)for(A=C[k];A<S.length;){O=S[A];var N=E[O],P=D[O];if(N===M||P===M){var F=N===M?w[O]:y,ee=P===M?T[O]:y,te=b(F,ee);v(te,y)?S.splice(A,1):(x.push(te),A++)}}}return C[g]=S.length,e.createSparseMatrix({values:x,index:S,ptr:C,size:[h,g],datatype:l===e._datatype&&m===r._datatype?_:void 0})}}),pc=V(`matAlgo13xDD`,[`typed`],e=>{var{typed:t}=e;return function(e,r,i){var a=e._data,o=e._size,s=e._datatype,c=r._data,l=r._size,u=r._datatype,d=[];if(o.length!==l.length)throw new mi(o.length,l.length);for(var f=0;f<o.length;f++){if(o[f]!==l[f])throw RangeError(`Dimension mismatch. Matrix A (`+o+`) must match Matrix B (`+l+`)`);d[f]=o[f]}var p,m=i;typeof s==`string`&&s===u&&(p=s,m=t.find(i,[p,p]));var h=d.length>0?n(m,0,d,d[0],a,c):[];return e.createDenseMatrix({data:h,size:d,datatype:p})};function n(e,t,r,i,a,o){var s=[];if(t===r.length-1)for(var c=0;c<i;c++)s[c]=e(a[c],o[c]);else for(var l=0;l<i;l++)s[l]=n(e,t+1,r,r[t+1],a[l],o[l]);return s}});function mc(e,t){if(Le(e.size(),t.size()))return[e,t];var n=Ui(e.size(),t.size());return[e,t].map(e=>hc(e,n))}function hc(e,t){return Le(e.size(),t)?e:e.create(Gi(e.valueOf(),t),e.datatype())}var gc=V(`matrixAlgorithmSuite`,[`typed`,`matrix`],e=>{var{typed:t,matrix:n}=e,r=pc({typed:t}),i=Us({typed:t});return function(e){var a=e.elop,o=e.SD||e.DS,s;a?(s={"DenseMatrix, DenseMatrix":(e,t)=>r(...mc(e,t),a),"Array, Array":(e,t)=>r(...mc(n(e),n(t)),a).valueOf(),"Array, DenseMatrix":(e,t)=>r(...mc(n(e),t),a),"DenseMatrix, Array":(e,t)=>r(...mc(e,n(t)),a)},e.SS&&(s[`SparseMatrix, SparseMatrix`]=(t,n)=>e.SS(...mc(t,n),a,!1)),e.DS&&(s[`DenseMatrix, SparseMatrix`]=(t,n)=>e.DS(...mc(t,n),a,!1),s[`Array, SparseMatrix`]=(t,r)=>e.DS(...mc(n(t),r),a,!1)),o&&(s[`SparseMatrix, DenseMatrix`]=(e,t)=>o(...mc(t,e),a,!0),s[`SparseMatrix, Array`]=(e,t)=>o(...mc(n(t),e),a,!0))):(s={"DenseMatrix, DenseMatrix":t.referToSelf(e=>(t,n)=>r(...mc(t,n),e)),"Array, Array":t.referToSelf(e=>(t,i)=>r(...mc(n(t),n(i)),e).valueOf()),"Array, DenseMatrix":t.referToSelf(e=>(t,i)=>r(...mc(n(t),i),e)),"DenseMatrix, Array":t.referToSelf(e=>(t,i)=>r(...mc(t,n(i)),e))},e.SS&&(s[`SparseMatrix, SparseMatrix`]=t.referToSelf(t=>(n,r)=>e.SS(...mc(n,r),t,!1))),e.DS&&(s[`DenseMatrix, SparseMatrix`]=t.referToSelf(t=>(n,r)=>e.DS(...mc(n,r),t,!1)),s[`Array, SparseMatrix`]=t.referToSelf(t=>(r,i)=>e.DS(...mc(n(r),i),t,!1))),o&&(s[`SparseMatrix, DenseMatrix`]=t.referToSelf(e=>(t,n)=>o(...mc(n,t),e,!0)),s[`SparseMatrix, Array`]=t.referToSelf(e=>(t,r)=>o(...mc(n(r),t),e,!0))));var c=e.scalar||`any`;(e.Ds||e.Ss)&&(a?(s[`DenseMatrix,`+c]=(e,t)=>i(e,t,a,!1),s[c+`, DenseMatrix`]=(e,t)=>i(t,e,a,!0),s[`Array,`+c]=(e,t)=>i(n(e),t,a,!1).valueOf(),s[c+`, Array`]=(e,t)=>i(n(t),e,a,!0).valueOf()):(s[`DenseMatrix,`+c]=t.referToSelf(e=>(t,n)=>i(t,n,e,!1)),s[c+`, DenseMatrix`]=t.referToSelf(e=>(t,n)=>i(n,t,e,!0)),s[`Array,`+c]=t.referToSelf(e=>(t,r)=>i(n(t),r,e,!1).valueOf()),s[c+`, Array`]=t.referToSelf(e=>(t,r)=>i(n(r),t,e,!0).valueOf())));var l=e.sS===void 0?e.Ss:e.sS;return a?(e.Ss&&(s[`SparseMatrix,`+c]=(t,n)=>e.Ss(t,n,a,!1)),l&&(s[c+`, SparseMatrix`]=(e,t)=>l(t,e,a,!0))):(e.Ss&&(s[`SparseMatrix,`+c]=t.referToSelf(t=>(n,r)=>e.Ss(n,r,t,!1))),l&&(s[c+`, SparseMatrix`]=t.referToSelf(e=>(t,n)=>l(n,t,e,!0)))),a&&a.signatures&&Fe(s,a.signatures),s}}),_c=`mod`,vc=V(_c,[`typed`,`config`,`round`,`matrix`,`equalScalar`,`zeros`,`DenseMatrix`,`concat`],e=>{var{typed:t,config:n,round:r,matrix:i,equalScalar:a,zeros:o,DenseMatrix:s,concat:c}=e,l=lc({typed:t,config:n,round:r,matrix:i,equalScalar:a,zeros:o,DenseMatrix:s}),u=uc({typed:t,equalScalar:a}),d=dc({typed:t}),f=fc({typed:t,equalScalar:a}),p=Vs({typed:t,equalScalar:a}),m=Hs({typed:t,DenseMatrix:s}),h=gc({typed:t,matrix:i,concat:c});return t(_c,{"number, number":g,"BigNumber, BigNumber":function(e,t){return t.isZero()?e:e.sub(t.mul(l(e.div(t))))},"bigint, bigint":function(e,t){if(t===0n)return e;if(e<0){var n=e%t;return n===0n?n:n+t}return e%t},"Fraction, Fraction":function(e,t){return t.equals(0)?e:e.sub(t.mul(l(e.div(t))))}},h({SS:f,DS:d,SD:u,Ss:p,sS:m}));function g(e,t){return t===0?e:e-t*l(e/t)}}),yc=V(`matAlgo01xDSid`,[`typed`],e=>{var{typed:t}=e;return function(e,n,r,i){var a=e._data,o=e._size,s=e._datatype||e.getDataType(),c=n._values,l=n._index,u=n._ptr,d=n._size,f=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(o.length!==d.length)throw new mi(o.length,d.length);if(o[0]!==d[0]||o[1]!==d[1])throw RangeError(`Dimension mismatch. Matrix A (`+o+`) must match Matrix B (`+d+`)`);if(!c)throw Error(`Cannot perform operation on Dense Matrix and Pattern Sparse Matrix`);var p=o[0],m=o[1],h=typeof s==`string`&&s!==`mixed`&&s===f?s:void 0,g=h?t.find(r,[h,h]):r,_,v,y=[];for(_=0;_<p;_++)y[_]=[];var b=[],x=[];for(v=0;v<m;v++){for(var S=v+1,C=u[v],w=u[v+1],T=C;T<w;T++)_=l[T],b[_]=i?g(c[T],a[_][v]):g(a[_][v],c[T]),x[_]=S;for(_=0;_<p;_++)x[_]===S?y[_][v]=b[_]:y[_][v]=a[_][v]}return e.createDenseMatrix({data:y,size:[p,m],datatype:s===e._datatype&&f===n._datatype?h:void 0})}}),bc=V(`matAlgo04xSidSid`,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return function(e,r,i){var a=e._values,o=e._index,s=e._ptr,c=e._size,l=e._datatype||e._data===void 0?e._datatype:e.getDataType(),u=r._values,d=r._index,f=r._ptr,p=r._size,m=r._datatype||r._data===void 0?r._datatype:r.getDataType();if(c.length!==p.length)throw new mi(c.length,p.length);if(c[0]!==p[0]||c[1]!==p[1])throw RangeError(`Dimension mismatch. Matrix A (`+c+`) must match Matrix B (`+p+`)`);var h=c[0],g=c[1],_,v=n,y=0,b=i;typeof l==`string`&&l===m&&l!==`mixed`&&(_=l,v=t.find(n,[_,_]),y=t.convert(0,_),b=t.find(i,[_,_]));for(var x=a&&u?[]:void 0,S=[],C=[],w=a&&u?[]:void 0,T=a&&u?[]:void 0,E=[],D=[],O,k=0,A,j,M;k<g;k++){C[k]=S.length;var N=k+1;for(j=s[k],M=s[k+1],A=j;A<M;A++)O=o[A],S.push(O),E[O]=N,w&&(w[O]=a[A]);for(j=f[k],M=f[k+1],A=j;A<M;A++)if(O=d[A],E[O]===N){if(w){var P=b(w[O],u[A]);v(P,y)?E[O]=null:w[O]=P}}else S.push(O),D[O]=N,T&&(T[O]=u[A]);if(w&&T)for(A=C[k];A<S.length;)O=S[A],E[O]===N?(x[A]=w[O],A++):D[O]===N?(x[A]=T[O],A++):S.splice(A,1)}return C[g]=S.length,e.createSparseMatrix({values:x,index:S,ptr:C,size:[h,g],datatype:l===e._datatype&&m===r._datatype?_:void 0})}}),xc=V(`matAlgo10xSids`,[`typed`,`DenseMatrix`],e=>{var{typed:t,DenseMatrix:n}=e;return function(e,r,i,a){var o=e._values,s=e._index,c=e._ptr,l=e._size,u=e._datatype;if(!o)throw Error(`Cannot perform operation on Pattern Sparse Matrix and Scalar value`);var d=l[0],f=l[1],p,m=i;typeof u==`string`&&(p=u,r=t.convert(r,p),m=t.find(i,[p,p]));for(var h=[],g=[],_=[],v=0;v<f;v++){for(var y=v+1,b=c[v],x=c[v+1],S=b;S<x;S++){var C=s[S];g[C]=o[S],_[C]=y}for(var w=0;w<d;w++)v===0&&(h[w]=[]),_[w]===y?h[w][v]=a?m(r,g[w]):m(g[w],r):h[w][v]=r}return new n({data:h,size:[d,f],datatype:p})}});function Sc(e,t,n,r){if(!(this instanceof Sc))throw SyntaxError(`Constructor must be called with the new operator`);this.fn=e,this.count=t,this.min=n,this.max=r,this.message=`Wrong number of arguments in function `+e+` (`+t+` provided, `+n+(r==null?``:`-`+r)+` expected)`,this.stack=Error().stack}Sc.prototype=Error(),Sc.prototype.constructor=Error,Sc.prototype.name=`ArgumentsError`,Sc.prototype.isArgumentsError=!0;var Cc=`gcd`,wc=[`typed`,`config`,`round`,`matrix`,`equalScalar`,`zeros`,`BigNumber`,`DenseMatrix`,`concat`],Tc=`number | BigNumber | Fraction | Matrix | Array`,Ec=`${Tc}, ${Tc}, ...${Tc}`;function Dc(e){return!e.some(e=>Array.isArray(e))}var Oc=V(Cc,wc,e=>{var{typed:t,matrix:n,config:r,round:i,equalScalar:a,zeros:o,BigNumber:s,DenseMatrix:c,concat:l}=e,u=vc({typed:t,config:r,round:i,matrix:n,equalScalar:a,zeros:o,DenseMatrix:c,concat:l}),d=yc({typed:t}),f=bc({typed:t,equalScalar:a}),p=xc({typed:t,DenseMatrix:c}),m=gc({typed:t,matrix:n,concat:l});return t(Cc,{"number, number":h,"BigNumber, BigNumber":g,"Fraction, Fraction":(e,t)=>e.gcd(t)},m({SS:f,DS:d,Ss:p}),{[Ec]:t.referToSelf(e=>(t,n,r)=>{for(var i=e(t,n),a=0;a<r.length;a++)i=e(i,r[a]);return i}),Array:t.referToSelf(e=>t=>{if(t.length===1&&Array.isArray(t[0])&&Dc(t[0]))return e(...t[0]);if(Dc(t))return e(...t);throw new Sc(`gcd() supports only 1d matrices!`)}),Matrix:t.referToSelf(e=>t=>e(t.toArray()))});function h(e,t){if(!H(e)||!H(t))throw Error(`Parameters in function gcd must be integer numbers`);for(var n;t!==0;)n=u(e,t),e=t,t=n;return e<0?-e:e}function g(e,t){if(!e.isInt()||!t.isInt())throw Error(`Parameters in function gcd must be integer numbers`);for(var n=new s(0);!t.isZero();){var r=u(e,t);e=t,t=r}return e.lt(n)?e.neg():e}}),kc=V(`matAlgo06xS0S0`,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return function(e,r,i){var a=e._values,o=e._size,s=e._datatype||e._data===void 0?e._datatype:e.getDataType(),c=r._values,l=r._size,u=r._datatype||r._data===void 0?r._datatype:r.getDataType();if(o.length!==l.length)throw new mi(o.length,l.length);if(o[0]!==l[0]||o[1]!==l[1])throw RangeError(`Dimension mismatch. Matrix A (`+o+`) must match Matrix B (`+l+`)`);var d=o[0],f=o[1],p,m=n,h=0,g=i;typeof s==`string`&&s===u&&s!==`mixed`&&(p=s,m=t.find(n,[p,p]),h=t.convert(0,p),g=t.find(i,[p,p]));for(var _=a&&c?[]:void 0,v=[],y=[],b=_?[]:void 0,x=[],S=[],C=0;C<f;C++){y[C]=v.length;var w=C+1;if(fa(e,C,x,b,S,w,v,g),fa(r,C,x,b,S,w,v,g),b)for(var T=y[C];T<v.length;){var E=v[T];if(S[E]===w){var D=b[E];m(D,h)?v.splice(T,1):(_.push(D),T++)}else v.splice(T,1)}else for(var O=y[C];O<v.length;)S[v[O]]===w?O++:v.splice(O,1)}return y[f]=v.length,e.createSparseMatrix({values:_,index:v,ptr:y,size:[d,f],datatype:s===e._datatype&&u===r._datatype?p:void 0})}}),Ac=`lcm`,jc=V(Ac,[`typed`,`matrix`,`equalScalar`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,concat:i}=e,a=uc({typed:t,equalScalar:r}),o=kc({typed:t,equalScalar:r}),s=Vs({typed:t,equalScalar:r}),c=gc({typed:t,matrix:n,concat:i}),l=`number | BigNumber | Fraction | Matrix | Array`,u={};return u[`${l}, ${l}, ...${l}`]=t.referToSelf(e=>(t,n,r)=>{for(var i=e(t,n),a=0;a<r.length;a++)i=e(i,r[a]);return i}),t(Ac,{"number, number":Da,"BigNumber, BigNumber":d,"Fraction, Fraction":(e,t)=>e.lcm(t)},c({SS:o,DS:a,Ss:s}),u);function d(e,t){if(!e.isInt()||!t.isInt())throw Error(`Parameters in function lcm must be integer numbers`);if(e.isZero())return e;if(t.isZero())return t;for(var n=e.times(t);!t.isZero();){var r=t;t=e.mod(r),e=r}return n.div(e).abs()}});function Mc(e,t,n,r){return function(i){if(i>0||n.predictable){if(i<=0)return NaN;var a=i.toString(16),o=a.substring(0,15);return e*(a.length-o.length)+t(Number(`0x`+o))}return r(i.toNumber())}}var Nc=`log10`,Pc=[`typed`,`config`,`Complex`],Fc=ka(16),Ic=V(Nc,Pc,e=>{var{typed:t,config:n,Complex:r}=e;function i(e){return e.log().div(Math.LN10)}function a(e){return i(new r(e,0))}return t(Nc,{number:function(e){return e>=0||n.predictable?ka(e):a(e)},bigint:Mc(Fc,ka,n,a),Complex:i,BigNumber:function(e){return!e.isNegative()||n.predictable?e.log():a(e.toNumber())},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Lc=`log2`,Rc=V(Lc,[`typed`,`config`,`Complex`],e=>{var{typed:t,config:n,Complex:r}=e;function i(e){return a(new r(e,0))}return t(Lc,{number:function(e){return e>=0||n.predictable?Aa(e):i(e)},bigint:Mc(4,Aa,n,i),Complex:a,BigNumber:function(e){return!e.isNegative()||n.predictable?e.log(2):i(e.toNumber())},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))});function a(e){var t=Math.sqrt(e.re*e.re+e.im*e.im);return new r(Math.log2?Math.log2(t):Math.log(t)/Math.LN2,Math.atan2(e.im,e.re)/Math.LN2)}}),zc=V(`multiplyScalar`,[`typed`],e=>{var{typed:t}=e;return t(`multiplyScalar`,{"number, number":ba,"Complex, Complex":function(e,t){return e.mul(t)},"BigNumber, BigNumber":function(e,t){return e.times(t)},"bigint, bigint":function(e,t){return e*t},"Fraction, Fraction":function(e,t){return e.mul(t)},"number | Fraction | BigNumber | Complex, Unit":(e,t)=>t.multiply(e),"Unit, number | Fraction | BigNumber | Complex | Unit":(e,t)=>e.multiply(t)})}),Bc=`multiply`,Vc=V(Bc,[`typed`,`matrix`,`addScalar`,`multiplyScalar`,`equalScalar`,`dot`],e=>{var{typed:t,matrix:n,addScalar:r,multiplyScalar:i,equalScalar:a,dot:o}=e,s=Vs({typed:t,equalScalar:a}),c=Us({typed:t});function l(e,t){switch(e.length){case 1:switch(t.length){case 1:if(e[0]!==t[0])throw RangeError(`Dimension mismatch in multiplication. Vectors must have the same length`);break;case 2:if(e[0]!==t[0])throw RangeError(`Dimension mismatch in multiplication. Vector length (`+e[0]+`) must match Matrix rows (`+t[0]+`)`);break;default:throw Error(`Can only multiply a 1 or 2 dimensional matrix (Matrix B has `+t.length+` dimensions)`)}break;case 2:switch(t.length){case 1:if(e[1]!==t[0])throw RangeError(`Dimension mismatch in multiplication. Matrix columns (`+e[1]+`) must match Vector length (`+t[0]+`)`);break;case 2:if(e[1]!==t[0])throw RangeError(`Dimension mismatch in multiplication. Matrix A columns (`+e[1]+`) must match Matrix B rows (`+t[0]+`)`);break;default:throw Error(`Can only multiply a 1 or 2 dimensional matrix (Matrix B has `+t.length+` dimensions)`)}break;default:throw Error(`Can only multiply a 1 or 2 dimensional matrix (Matrix A has `+e.length+` dimensions)`)}}function u(e,t,n){if(n===0)throw Error(`Cannot multiply two empty vectors`);return o(e,t)}function d(e,t){if(t.storage()!==`dense`)throw Error(`Support for SparseMatrix not implemented`);return f(e,t)}function f(e,n){var a=e._data,o=e._size,s=e._datatype||e.getDataType(),c=n._data,l=n._size,u=n._datatype||n.getDataType(),d=o[0],f=l[1],p,m=r,h=i;s&&u&&s===u&&typeof s==`string`&&s!==`mixed`&&(p=s,m=t.find(r,[p,p]),h=t.find(i,[p,p]));for(var g=[],_=0;_<f;_++){for(var v=h(a[0],c[0][_]),y=1;y<d;y++)v=m(v,h(a[y],c[y][_]));g[_]=v}return e.createDenseMatrix({data:g,size:[f],datatype:s===e._datatype&&u===n._datatype?p:void 0})}var p=t(`_multiplyMatrixVector`,{"DenseMatrix, any":h,"SparseMatrix, any":v}),m=t(`_multiplyMatrixMatrix`,{"DenseMatrix, DenseMatrix":g,"DenseMatrix, SparseMatrix":_,"SparseMatrix, DenseMatrix":y,"SparseMatrix, SparseMatrix":b});function h(e,n){var a=e._data,o=e._size,s=e._datatype||e.getDataType(),c=n._data,l=n._datatype||n.getDataType(),u=o[0],d=o[1],f,p=r,m=i;s&&l&&s===l&&typeof s==`string`&&s!==`mixed`&&(f=s,p=t.find(r,[f,f]),m=t.find(i,[f,f]));for(var h=[],g=0;g<u;g++){for(var _=a[g],v=m(_[0],c[0]),y=1;y<d;y++)v=p(v,m(_[y],c[y]));h[g]=v}return e.createDenseMatrix({data:h,size:[u],datatype:s===e._datatype&&l===n._datatype?f:void 0})}function g(e,n){var a=e._data,o=e._size,s=e._datatype||e.getDataType(),c=n._data,l=n._size,u=n._datatype||n.getDataType(),d=o[0],f=o[1],p=l[1],m,h=r,g=i;s&&u&&s===u&&typeof s==`string`&&s!==`mixed`&&s!==`mixed`&&(m=s,h=t.find(r,[m,m]),g=t.find(i,[m,m]));for(var _=[],v=0;v<d;v++){var y=a[v];_[v]=[];for(var b=0;b<p;b++){for(var x=g(y[0],c[0][b]),S=1;S<f;S++)x=h(x,g(y[S],c[S][b]));_[v][b]=x}}return e.createDenseMatrix({data:_,size:[d,p],datatype:s===e._datatype&&u===n._datatype?m:void 0})}function _(e,n){var o=e._data,s=e._size,c=e._datatype||e.getDataType(),l=n._values,u=n._index,d=n._ptr,f=n._size,p=n._datatype||n._data===void 0?n._datatype:n.getDataType();if(!l)throw Error(`Cannot multiply Dense Matrix times Pattern only Matrix`);var m=s[0],h=f[1],g,_=r,v=i,y=a,b=0;c&&p&&c===p&&typeof c==`string`&&c!==`mixed`&&(g=c,_=t.find(r,[g,g]),v=t.find(i,[g,g]),y=t.find(a,[g,g]),b=t.convert(0,g));for(var x=[],S=[],C=[],w=n.createSparseMatrix({values:x,index:S,ptr:C,size:[m,h],datatype:c===e._datatype&&p===n._datatype?g:void 0}),T=0;T<h;T++){C[T]=S.length;var E=d[T],D=d[T+1];if(D>E)for(var O=0,k=0;k<m;k++){for(var A=k+1,j=void 0,M=E;M<D;M++){var N=u[M];O===A?j=_(j,v(o[k][N],l[M])):(j=v(o[k][N],l[M]),O=A)}O===A&&!y(j,b)&&(S.push(k),x.push(j))}}return C[h]=S.length,w}function v(e,n){var o=e._values,s=e._index,c=e._ptr,l=e._datatype||e._data===void 0?e._datatype:e.getDataType();if(!o)throw Error(`Cannot multiply Pattern only Matrix times Dense Matrix`);var u=n._data,d=n._datatype||n.getDataType(),f=e._size[0],p=n._size[0],m=[],h=[],g=[],_,v=r,y=i,b=a,x=0;l&&d&&l===d&&typeof l==`string`&&l!==`mixed`&&(_=l,v=t.find(r,[_,_]),y=t.find(i,[_,_]),b=t.find(a,[_,_]),x=t.convert(0,_));var S=[],C=[];g[0]=0;for(var w=0;w<p;w++){var T=u[w];if(!b(T,x))for(var E=c[w],D=c[w+1],O=E;O<D;O++){var k=s[O];C[k]?S[k]=v(S[k],y(T,o[O])):(C[k]=!0,h.push(k),S[k]=y(T,o[O]))}}for(var A=h.length,j=0;j<A;j++){var M=h[j];m[j]=S[M]}return g[1]=h.length,e.createSparseMatrix({values:m,index:h,ptr:g,size:[f,1],datatype:l===e._datatype&&d===n._datatype?_:void 0})}function y(e,n){var o=e._values,s=e._index,c=e._ptr,l=e._datatype||e._data===void 0?e._datatype:e.getDataType();if(!o)throw Error(`Cannot multiply Pattern only Matrix times Dense Matrix`);var u=n._data,d=n._datatype||n.getDataType(),f=e._size[0],p=n._size[0],m=n._size[1],h,g=r,_=i,v=a,y=0;l&&d&&l===d&&typeof l==`string`&&l!==`mixed`&&(h=l,g=t.find(r,[h,h]),_=t.find(i,[h,h]),v=t.find(a,[h,h]),y=t.convert(0,h));for(var b=[],x=[],S=[],C=e.createSparseMatrix({values:b,index:x,ptr:S,size:[f,m],datatype:l===e._datatype&&d===n._datatype?h:void 0}),w=[],T=[],E=0;E<m;E++){S[E]=x.length;for(var D=E+1,O=0;O<p;O++){var k=u[O][E];if(!v(k,y))for(var A=c[O],j=c[O+1],M=A;M<j;M++){var N=s[M];T[N]===D?w[N]=g(w[N],_(k,o[M])):(T[N]=D,x.push(N),w[N]=_(k,o[M]))}}for(var P=S[E],F=x.length,ee=P;ee<F;ee++){var te=x[ee];b[ee]=w[te]}}return S[m]=x.length,C}function b(e,n){var a=e._values,o=e._index,s=e._ptr,c=e._datatype||e._data===void 0?e._datatype:e.getDataType(),l=n._values,u=n._index,d=n._ptr,f=n._datatype||n._data===void 0?n._datatype:n.getDataType(),p=e._size[0],m=n._size[1],h=a&&l,g,_=r,v=i;c&&f&&c===f&&typeof c==`string`&&c!==`mixed`&&(g=c,_=t.find(r,[g,g]),v=t.find(i,[g,g]));for(var y=h?[]:void 0,b=[],x=[],S=e.createSparseMatrix({values:y,index:b,ptr:x,size:[p,m],datatype:c===e._datatype&&f===n._datatype?g:void 0}),C=h?[]:void 0,w=[],T,E,D,O,k,A,j,M,N=0;N<m;N++){x[N]=b.length;var P=N+1;for(k=d[N],A=d[N+1],O=k;O<A;O++)if(M=u[O],h)for(E=s[M],D=s[M+1],T=E;T<D;T++)j=o[T],w[j]===P?C[j]=_(C[j],v(l[O],a[T])):(w[j]=P,b.push(j),C[j]=v(l[O],a[T]));else for(E=s[M],D=s[M+1],T=E;T<D;T++)j=o[T],w[j]!==P&&(w[j]=P,b.push(j));if(h)for(var F=x[N],ee=b.length,te=F;te<ee;te++){var ne=b[te];y[te]=C[ne]}}return x[m]=b.length,S}return t(Bc,i,{"Array, Array":t.referTo(`Matrix, Matrix`,e=>(t,r)=>{l(gi(t),gi(r));var i=e(n(t),n(r));return F(i)?i.valueOf():i}),"Matrix, Matrix":function(e,t){var n=e.size(),r=t.size();return l(n,r),n.length===1?r.length===1?u(e,t,n[0]):d(e,t):r.length===1?p(e,t):m(e,t)},"Matrix, Array":t.referTo(`Matrix,Matrix`,e=>(t,r)=>e(t,n(r))),"Array, Matrix":t.referToSelf(e=>(t,r)=>e(n(t,r.storage()),r)),"SparseMatrix, any":function(e,t){return s(e,t,i,!1)},"DenseMatrix, any":function(e,t){return c(e,t,i,!1)},"any, SparseMatrix":function(e,t){return s(t,e,i,!0)},"any, DenseMatrix":function(e,t){return c(t,e,i,!0)},"Array, any":function(e,t){return c(n(e),t,i,!1).valueOf()},"any, Array":function(e,t){return c(n(t),e,i,!0).valueOf()},"any, any":i,"any, any, ...any":t.referToSelf(e=>(t,n,r)=>{for(var i=e(t,n),a=0;a<r.length;a++)i=e(i,r[a]);return i})})}),Hc=`nthRoot`,Uc=V(Hc,[`typed`,`matrix`,`equalScalar`,`BigNumber`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,BigNumber:i,concat:a}=e,o=yc({typed:t}),s=uc({typed:t,equalScalar:r}),c=kc({typed:t,equalScalar:r}),l=Vs({typed:t,equalScalar:r}),u=gc({typed:t,matrix:n,concat:a});function d(){throw Error(`Complex number not supported in function nthRoot. Use nthRoots instead.`)}return t(Hc,{number:ja,"number, number":ja,BigNumber:e=>f(e,new i(2)),"BigNumber, BigNumber":f,Complex:d,"Complex, number":d,Array:t.referTo(`DenseMatrix,number`,e=>t=>e(n(t),2).valueOf()),DenseMatrix:t.referTo(`DenseMatrix,number`,e=>t=>e(t,2)),SparseMatrix:t.referTo(`SparseMatrix,number`,e=>t=>e(t,2)),"SparseMatrix, SparseMatrix":t.referToSelf(e=>(t,n)=>{if(n.density()===1)return c(t,n,e);throw Error(`Root must be non-zero`)}),"DenseMatrix, SparseMatrix":t.referToSelf(e=>(t,n)=>{if(n.density()===1)return o(t,n,e,!1);throw Error(`Root must be non-zero`)}),"Array, SparseMatrix":t.referTo(`DenseMatrix,SparseMatrix`,e=>(t,r)=>e(n(t),r)),"number | BigNumber, SparseMatrix":t.referToSelf(e=>(t,n)=>{if(n.density()===1)return l(n,t,e,!0);throw Error(`Root must be non-zero`)})},u({scalar:`number | BigNumber`,SD:s,Ss:l,sS:!1}));function f(e,t){var n=i.precision,r=i.clone({precision:n+2}),a=new i(0),o=new r(1),s=t.isNegative();if(s&&(t=t.neg()),t.isZero())throw Error(`Root must be non-zero`);if(e.isNegative()&&!t.abs().mod(2).equals(1))throw Error(`Root must be odd when a is negative.`);if(e.isZero())return s?new r(1/0):0;if(!e.isFinite())return s?a:e;var c=e.abs().pow(o.div(t));return c=e.isNeg()?c.neg():c,new i((s?o.div(c):c).toPrecision(n))}}),Wc=`sign`,Gc=V(Wc,[`typed`,`BigNumber`,`Fraction`,`complex`],e=>{var{typed:t,BigNumber:n,complex:r,Fraction:i}=e;return t(Wc,{number:Ma,Complex:function(e){return e.im===0?r(Ma(e.re)):e.sign()},BigNumber:function(e){return new n(e.cmp(0))},bigint:function(e){return e>0n?1n:e<0n?-1n:0n},Fraction:function(e){return e.n===0n?new i(0):new i(e.s)},"Array | Matrix":t.referToSelf(e=>t=>la(t,e,!0)),Unit:t.referToSelf(e=>n=>{if(!n._isDerived()&&n.units[0].unit.offset!==0)throw TypeError(`sign is ambiguous for units with offset`);return t.find(e,n.valueType())(n.value)})})}),Kc=V(`sqrt`,[`config`,`typed`,`Complex`],e=>{var{config:t,typed:n,Complex:r}=e;return n(`sqrt`,{number:i,Complex:function(e){return e.sqrt()},BigNumber:function(e){return!e.isNegative()||t.predictable?e.sqrt():i(e.toNumber())},Unit:function(e){return e.pow(.5)}});function i(e){return isNaN(e)?NaN:e>=0||t.predictable?Math.sqrt(e):new r(e,0).sqrt()}}),qc=`square`,Jc=V(qc,[`typed`],e=>{var{typed:t}=e;return t(qc,{number:Na,Complex:function(e){return e.mul(e)},BigNumber:function(e){return e.times(e)},bigint:function(e){return e*e},Fraction:function(e){return e.mul(e)},Unit:function(e){return e.pow(2)}})}),Yc=`subtract`,Xc=V(Yc,[`typed`,`matrix`,`equalScalar`,`subtractScalar`,`unaryMinus`,`DenseMatrix`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,subtractScalar:i,unaryMinus:a,DenseMatrix:o,concat:s}=e,c=yc({typed:t}),l=dc({typed:t}),u=fc({typed:t,equalScalar:r}),d=xc({typed:t,DenseMatrix:o}),f=Hs({typed:t,DenseMatrix:o}),p=gc({typed:t,matrix:n,concat:s});return t(Yc,{"any, any":i},p({elop:i,SS:u,DS:c,SD:l,Ss:f,sS:d}))}),Zc=`xgcd`,Qc=V(Zc,[`typed`,`config`,`matrix`,`BigNumber`],e=>{var{typed:t,config:n,matrix:r,BigNumber:i}=e;return t(Zc,{"number, number":function(e,t){var i=Pa(e,t);return n.matrix===`Array`?i:r(i)},"BigNumber, BigNumber":a});function a(e,t){var a,o,s,c=new i(0),l=new i(1),u=c,d=l,f=l,p=c;if(!e.isInt()||!t.isInt())throw Error(`Parameters in function xgcd must be integer numbers`);for(;!t.isZero();)o=e.div(t).floor(),s=e.mod(t),a=u,u=d.minus(o.times(u)),d=a,a=f,f=p.minus(o.times(f)),p=a,e=t,t=s;var m=e.lt(c)?[e.neg(),d.neg(),p.neg()]:[e,e.isZero()?0:d,p];return n.matrix===`Array`?m:r(m)}}),$c=`invmod`,el=V($c,[`typed`,`config`,`BigNumber`,`xgcd`,`equal`,`smaller`,`mod`,`add`,`isInteger`],e=>{var{typed:t,config:n,BigNumber:r,xgcd:i,equal:a,smaller:o,mod:s,add:c,isInteger:l}=e;return t($c,{"number, number":u,"BigNumber, BigNumber":u});function u(e,t){if(!l(e)||!l(t))throw Error(`Parameters in function invmod must be integer numbers`);if(e=s(e,t),a(t,0))throw Error(`Divisor must be non zero`);var n=i(e,t);n=n.valueOf();var[u,d]=n;return a(u,r(1))?(d=s(d,t),o(d,r(0))&&(d=c(d,t)),d):NaN}}),tl=V(`matAlgo09xS0Sf`,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return function(e,r,i){var a=e._values,o=e._index,s=e._ptr,c=e._size,l=e._datatype||e._data===void 0?e._datatype:e.getDataType(),u=r._values,d=r._index,f=r._ptr,p=r._size,m=r._datatype||r._data===void 0?r._datatype:r.getDataType();if(c.length!==p.length)throw new mi(c.length,p.length);if(c[0]!==p[0]||c[1]!==p[1])throw RangeError(`Dimension mismatch. Matrix A (`+c+`) must match Matrix B (`+p+`)`);var h=c[0],g=c[1],_,v=n,y=0,b=i;typeof l==`string`&&l===m&&l!==`mixed`&&(_=l,v=t.find(n,[_,_]),y=t.convert(0,_),b=t.find(i,[_,_]));for(var x=a&&u?[]:void 0,S=[],C=[],w=x?[]:void 0,T=[],E,D=0,O,k,A;D<g;D++){C[D]=S.length;var j=D+1;if(w)for(k=f[D],A=f[D+1],O=k;O<A;O++)E=d[O],T[E]=j,w[E]=u[O];for(k=s[D],A=s[D+1],O=k;O<A;O++)if(E=o[O],w){var M=T[E]===j?w[E]:y,N=b(a[O],M);v(N,y)||(S.push(E),x.push(N))}else S.push(E)}return C[g]=S.length,e.createSparseMatrix({values:x,index:S,ptr:C,size:[h,g],datatype:l===e._datatype&&m===r._datatype?_:void 0})}}),nl=`dotMultiply`,rl=V(nl,[`typed`,`matrix`,`equalScalar`,`multiplyScalar`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,multiplyScalar:i,concat:a}=e,o=uc({typed:t,equalScalar:r}),s=tl({typed:t,equalScalar:r}),c=Vs({typed:t,equalScalar:r});return t(nl,gc({typed:t,matrix:n,concat:a})({elop:i,SS:s,DS:o,Ss:c}))});function il(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw Error(`Integers expected in function bitAnd`);var n=e.constructor;if(e.isNaN()||t.isNaN())return new n(NaN);if(e.isZero()||t.eq(-1)||e.eq(t))return e;if(t.isZero()||e.eq(-1))return t;if(!e.isFinite()||!t.isFinite()){if(!e.isFinite()&&!t.isFinite())return e.isNegative()===t.isNegative()?e:new n(0);if(!e.isFinite())return t.isNegative()?e:e.isNegative()?new n(0):t;if(!t.isFinite())return e.isNegative()?t:t.isNegative()?new n(0):e}return sl(e,t,function(e,t){return e&t})}function al(e){if(e.isFinite()&&!e.isInteger())throw Error(`Integer expected in function bitNot`);var t=e.constructor,n=t.precision;t.config({precision:1e9});var r=e.plus(new t(1));return r.s=-r.s||null,t.config({precision:n}),r}function ol(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw Error(`Integers expected in function bitOr`);var n=e.constructor;if(e.isNaN()||t.isNaN())return new n(NaN);var r=new n(-1);return e.isZero()||t.eq(r)||e.eq(t)?t:t.isZero()||e.eq(r)?e:!e.isFinite()||!t.isFinite()?!e.isFinite()&&!e.isNegative()&&t.isNegative()||e.isNegative()&&!t.isNegative()&&!t.isFinite()?r:e.isNegative()&&t.isNegative()?e.isFinite()?e:t:e.isFinite()?t:e:sl(e,t,function(e,t){return e|t})}function sl(e,t,n){var r=e.constructor,i,a,o=+(e.s<0),s=+(t.s<0);if(o){i=cl(al(e));for(var c=0;c<i.length;++c)i[c]^=1}else i=cl(e);if(s){a=cl(al(t));for(var l=0;l<a.length;++l)a[l]^=1}else a=cl(t);var u,d,f;i.length<=a.length?(u=i,d=a,f=o):(u=a,d=i,f=s);var p=u.length,m=d.length,h=n(o,s)^1,g=new r(h^1),_=new r(1),v=new r(2),y=r.precision;for(r.config({precision:1e9});p>0;)n(u[--p],d[--m])===h&&(g=g.plus(_)),_=_.times(v);for(;m>0;)n(f,d[--m])===h&&(g=g.plus(_)),_=_.times(v);return r.config({precision:y}),h===0&&(g.s=-g.s),g}function cl(e){for(var t=e.d,n=t[0]+``,r=1;r<t.length;++r){for(var i=t[r]+``,a=7-i.length;a--;)i=`0`+i;n+=i}for(var o=n.length;n.charAt(o)===`0`;)o--;var s=e.e,c=n.slice(0,o+1||1),l=c.length;if(s>0){if(++s>l)for(s-=l;s--;)c+=`0`;else s<l&&(c=c.slice(0,s)+`.`+c.slice(s))}for(var u=[0],d=0;d<c.length;){for(var f=u.length;f--;)u[f]*=10;u[0]+=parseInt(c.charAt(d++));for(var p=0;p<u.length;++p)u[p]>1&&((u[p+1]===null||u[p+1]===void 0)&&(u[p+1]=0),u[p+1]+=u[p]>>1,u[p]&=1)}return u.reverse()}function ll(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw Error(`Integers expected in function bitXor`);var n=e.constructor;if(e.isNaN()||t.isNaN())return new n(NaN);if(e.isZero())return t;if(t.isZero())return e;if(e.eq(t))return new n(0);var r=new n(-1);return e.eq(r)?al(t):t.eq(r)?al(e):!e.isFinite()||!t.isFinite()?!e.isFinite()&&!t.isFinite()?r:new n(e.isNegative()===t.isNegative()?1/0:-1/0):sl(e,t,function(e,t){return e^t})}function ul(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw Error(`Integers expected in function leftShift`);var n=e.constructor;return e.isNaN()||t.isNaN()||t.isNegative()&&!t.isZero()?new n(NaN):e.isZero()||t.isZero()?e:!e.isFinite()&&!t.isFinite()?new n(NaN):t.lt(55)?e.times(2**t.toNumber()+``):e.times(new n(2).pow(t))}function dl(e,t){if(e.isFinite()&&!e.isInteger()||t.isFinite()&&!t.isInteger())throw Error(`Integers expected in function rightArithShift`);var n=e.constructor;return e.isNaN()||t.isNaN()||t.isNegative()&&!t.isZero()?new n(NaN):e.isZero()||t.isZero()?e:t.isFinite()?t.lt(55)?e.div(2**t.toNumber()+``).floor():e.div(new n(2).pow(t)).floor():e.isNegative()?new n(-1):e.isFinite()?new n(0):new n(NaN)}var fl=`bitAnd`,pl=V(fl,[`typed`,`matrix`,`equalScalar`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,concat:i}=e,a=uc({typed:t,equalScalar:r}),o=kc({typed:t,equalScalar:r}),s=Vs({typed:t,equalScalar:r}),c=gc({typed:t,matrix:n,concat:i});return t(fl,{"number, number":za,"BigNumber, BigNumber":il,"bigint, bigint":(e,t)=>e&t},c({SS:o,DS:a,Ss:s}))}),ml=`bitNot`,hl=V(ml,[`typed`],e=>{var{typed:t}=e;return t(ml,{number:Ba,BigNumber:al,bigint:e=>~e,"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),gl=`bitOr`,_l=V(gl,[`typed`,`matrix`,`equalScalar`,`DenseMatrix`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,DenseMatrix:i,concat:a}=e,o=yc({typed:t}),s=bc({typed:t,equalScalar:r}),c=xc({typed:t,DenseMatrix:i}),l=gc({typed:t,matrix:n,concat:a});return t(gl,{"number, number":Va,"BigNumber, BigNumber":ol,"bigint, bigint":(e,t)=>e|t},l({SS:s,DS:o,Ss:c}))}),vl=V(`matAlgo07xSSf`,[`typed`,`SparseMatrix`],e=>{var{typed:t,SparseMatrix:n}=e;return function(e,i,a){var o=e._size,s=e._datatype||e._data===void 0?e._datatype:e.getDataType(),c=i._size,l=i._datatype||i._data===void 0?i._datatype:i.getDataType();if(o.length!==c.length)throw new mi(o.length,c.length);if(o[0]!==c[0]||o[1]!==c[1])throw RangeError(`Dimension mismatch. Matrix A (`+o+`) must match Matrix B (`+c+`)`);var u=o[0],d=o[1],f,p=0,m=a;typeof s==`string`&&s===l&&s!==`mixed`&&(f=s,p=t.convert(0,f),m=t.find(a,[f,f]));for(var h=[],g=[],_=Array(d+1).fill(0),v=[],y=[],b=[],x=[],S=0;S<d;S++){var C=S+1,w=0;r(e,S,b,v,C),r(i,S,x,y,C);for(var T=0;T<u;T++){var E=b[T]===C?v[T]:p,D=x[T]===C?y[T]:p,O=m(E,D);O!==0&&O!==!1&&(g.push(T),h.push(O),w++)}_[S+1]=_[S]+w}return new n({values:h,index:g,ptr:_,size:[u,d],datatype:s===e._datatype&&l===i._datatype?f:void 0})};function r(e,t,n,r,i){for(var a=e._values,o=e._index,s=e._ptr,c=s[t],l=s[t+1];c<l;c++){var u=o[c];n[u]=i,r[u]=a[c]}}}),yl=`bitXor`,bl=V(yl,[`typed`,`matrix`,`DenseMatrix`,`concat`,`SparseMatrix`],e=>{var{typed:t,matrix:n,DenseMatrix:r,concat:i,SparseMatrix:a}=e,o=dc({typed:t}),s=vl({typed:t,SparseMatrix:a}),c=Hs({typed:t,DenseMatrix:r}),l=gc({typed:t,matrix:n,concat:i});return t(yl,{"number, number":Ha,"BigNumber, BigNumber":ll,"bigint, bigint":(e,t)=>e^t},l({SS:s,DS:o,Ss:c}))}),xl=`arg`,Sl=V(xl,[`typed`],e=>{var{typed:t}=e;return t(xl,{number:function(e){return Math.atan2(0,e)},BigNumber:function(e){return e.constructor.atan2(0,e)},Complex:function(e){return e.arg()},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Cl=`conj`,wl=V(Cl,[`typed`],e=>{var{typed:t}=e;return t(Cl,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.conjugate(),Unit:t.referToSelf(e=>t=>new t.constructor(e(t.toNumeric()),t.formatUnits())),"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Tl=`im`,El=V(Tl,[`typed`],e=>{var{typed:t}=e;return t(Tl,{number:()=>0,"BigNumber | Fraction":e=>e.mul(0),Complex:e=>e.im,"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),Dl=`re`,Ol=V(Dl,[`typed`],e=>{var{typed:t}=e;return t(Dl,{"number | BigNumber | Fraction":e=>e,Complex:e=>e.re,"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),kl=`not`,Al=V(kl,[`typed`],e=>{var{typed:t}=e;return t(kl,{"null | undefined":()=>!0,number:eo,Complex:function(e){return e.re===0&&e.im===0},BigNumber:function(e){return e.isZero()||e.isNaN()},bigint:e=>!e,Unit:t.referToSelf(e=>n=>t.find(e,n.valueType())(n.value)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),jl=`nullish`,Ml=V(jl,[`typed`,`matrix`,`size`,`flatten`,`deepEqual`],e=>{var{typed:t,matrix:n,size:r,flatten:i,deepEqual:a}=e,o=dc({typed:t}),s=Us({typed:t}),c=pc({typed:t});return t(jl,{"number|bigint|Complex|BigNumber|Fraction|Unit|string|boolean|SparseMatrix, any":(e,t)=>e,"null, any":(e,t)=>t,"undefined, any":(e,t)=>t,"SparseMatrix, Array | Matrix":(e,t)=>{var n=r(e),i=r(t);if(a(n,i))return e;throw new mi(n,i)},"DenseMatrix, DenseMatrix":t.referToSelf(e=>(t,n)=>c(t,n,e)),"DenseMatrix, SparseMatrix":t.referToSelf(e=>(t,n)=>o(t,n,e,!1)),"DenseMatrix, Array":t.referToSelf(e=>(t,r)=>c(t,n(r),e)),"DenseMatrix, any":t.referToSelf(e=>(t,n)=>s(t,n,e,!1)),"Array, Array":t.referToSelf(e=>(t,r)=>c(n(t),n(r),e).valueOf()),"Array, DenseMatrix":t.referToSelf(e=>(t,r)=>c(n(t),r,e)),"Array, SparseMatrix":t.referToSelf(e=>(t,r)=>o(n(t),r,e,!1)),"Array, any":t.referToSelf(e=>(t,r)=>s(n(t),r,e,!1).valueOf())})}),Nl=`or`,Pl=V(Nl,[`typed`,`matrix`,`equalScalar`,`DenseMatrix`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,DenseMatrix:i,concat:a}=e,o=dc({typed:t}),s=fc({typed:t,equalScalar:r}),c=Hs({typed:t,DenseMatrix:i}),l=gc({typed:t,matrix:n,concat:a});return t(Nl,{"number, number":to,"Complex, Complex":function(e,t){return e.re!==0||e.im!==0||t.re!==0||t.im!==0},"BigNumber, BigNumber":function(e,t){return!e.isZero()&&!e.isNaN()||!t.isZero()&&!t.isNaN()},"bigint, bigint":to,"Unit, Unit":t.referToSelf(e=>(t,n)=>e(t.value||0,n.value||0))},l({SS:s,DS:o,Ss:c}))}),Fl=`xor`,Il=V(Fl,[`typed`,`matrix`,`DenseMatrix`,`concat`,`SparseMatrix`],e=>{var{typed:t,matrix:n,DenseMatrix:r,concat:i,SparseMatrix:a}=e,o=dc({typed:t}),s=vl({typed:t,SparseMatrix:a}),c=Hs({typed:t,DenseMatrix:r}),l=gc({typed:t,matrix:n,concat:i});return t(Fl,{"number, number":no,"Complex, Complex":function(e,t){return(e.re!==0||e.im!==0)!=(t.re!==0||t.im!==0)},"bigint, bigint":no,"BigNumber, BigNumber":function(e,t){return(!e.isZero()&&!e.isNaN())!=(!t.isZero()&&!t.isNaN())},"Unit, Unit":t.referToSelf(e=>(t,n)=>e(t.value||0,n.value||0))},l({SS:s,DS:o,Ss:c}))}),Ll=`concat`,Rl=V(Ll,[`typed`,`matrix`,`isInteger`],e=>{var{typed:t,matrix:n,isInteger:r}=e;return t(Ll,{"...Array | Matrix | number | BigNumber":function(e){var t,i=e.length,a=-1,o,s=!1,c=[];for(t=0;t<i;t++){var l=e[t];if(F(l)&&(s=!0),D(l)||O(l)){if(t!==i-1)throw Error(`Dimension must be specified as last argument`);if(o=a,a=l.valueOf(),!r(a))throw TypeError(`Integer number expected for dimension`);if(a<0||t>0&&a>o)throw new hi(a,o+1)}else{var u=Ne(l).valueOf(),d=gi(u);if(c[t]=u,o=a,a=d.length-1,t>0&&a!==o)throw new mi(o+1,a+1)}}if(c.length===0)throw SyntaxError(`At least one matrix expected`);for(var f=c.shift();c.length;)f=Hi(f,c.shift(),a);return s?n(f):f},"...string":function(e){return e.join(``)}})}),zl=`column`,Bl=V(zl,[`typed`,`Index`,`matrix`,`range`],e=>{var{typed:t,Index:n,matrix:r,range:i}=e;return t(zl,{"Matrix, number":a,"Array, number":function(e,t){return a(r(Ne(e)),t).valueOf()}});function a(e,t){if(e.size().length!==2)throw Error(`Only two dimensional matrix is supported`);bi(t,e.size()[1]);var a=new n(i(0,e.size()[0]),[t]),o=e.subset(a);return F(o)?o:r([[o]])}}),Vl=`count`,Hl=V(Vl,[`typed`,`size`,`prod`],e=>{var{typed:t,size:n,prod:r}=e;return t(Vl,{string:function(e){return e.length},"Matrix | Array":function(e){return r(n(e))}})}),Ul=`cross`,Wl=V(Ul,[`typed`,`matrix`,`subtract`,`multiply`],e=>{var{typed:t,matrix:n,subtract:r,multiply:i}=e;return t(Ul,{"Matrix, Matrix":function(e,t){return n(a(e.toArray(),t.toArray()))},"Matrix, Array":function(e,t){return n(a(e.toArray(),t))},"Array, Matrix":function(e,t){return n(a(e,t.toArray()))},"Array, Array":a});function a(e,t){var n=Math.max(gi(e).length,gi(t).length);e=Oi(e),t=Oi(t);var a=gi(e),o=gi(t);if(a.length!==1||o.length!==1||a[0]!==3||o[0]!==3)throw RangeError(`Vectors with length 3 expected (Size A = [`+a.join(`, `)+`], B = [`+o.join(`, `)+`])`);var s=[r(i(e[1],t[2]),i(e[2],t[1])),r(i(e[2],t[0]),i(e[0],t[2])),r(i(e[0],t[1]),i(e[1],t[0]))];return n>1?[s]:s}}),Gl=`diag`,Kl=V(Gl,[`typed`,`matrix`,`DenseMatrix`,`SparseMatrix`],e=>{var{typed:t,matrix:n,DenseMatrix:r,SparseMatrix:i}=e;return t(Gl,{Array:function(e){return a(e,0,gi(e),null)},"Array, number":function(e,t){return a(e,t,gi(e),null)},"Array, BigNumber":function(e,t){return a(e,t.toNumber(),gi(e),null)},"Array, string":function(e,t){return a(e,0,gi(e),t)},"Array, number, string":function(e,t,n){return a(e,t,gi(e),n)},"Array, BigNumber, string":function(e,t,n){return a(e,t.toNumber(),gi(e),n)},Matrix:function(e){return a(e,0,e.size(),e.storage())},"Matrix, number":function(e,t){return a(e,t,e.size(),e.storage())},"Matrix, BigNumber":function(e,t){return a(e,t.toNumber(),e.size(),e.storage())},"Matrix, string":function(e,t){return a(e,0,e.size(),t)},"Matrix, number, string":function(e,t,n){return a(e,t,e.size(),n)},"Matrix, BigNumber, string":function(e,t,n){return a(e,t.toNumber(),e.size(),n)}});function a(e,t,n,r){if(!H(t))throw TypeError(`Second parameter in function diag must be an integer`);var i=t>0?t:0,a=t<0?-t:0;switch(n.length){case 1:return o(e,t,r,n[0],a,i);case 2:return s(e,t,r,n,a,i)}throw RangeError(`Matrix for function diag must be 2 dimensional`)}function o(e,t,n,a,o,s){var c=[a+o,a+s];if(n&&n!==`sparse`&&n!==`dense`)throw TypeError(`Unknown matrix type ${n}"`);var l=n===`sparse`?i.diagonal(c,e,t):r.diagonal(c,e,t);return n===null?l.valueOf():l}function s(e,t,r,i,a,o){if(F(e)){var s=e.diagonal(t);return r===null?s.valueOf():r===s.storage()?s:n(s,r)}for(var c=Math.min(i[0]-a,i[1]-o),l=[],u=0;u<c;u++)l[u]=e[u+a][u+o];return r===null?l:n(l)}}),ql=V(`filter`,[`typed`],e=>{var{typed:t}=e;return t(`filter`,{"Array, function":Jl,"Matrix, function":function(e,t){return e.create(Jl(e.valueOf(),t),e.datatype())},"Array, RegExp":Ii,"Matrix, RegExp":function(e,t){return e.create(Ii(e.valueOf(),t),e.datatype())}})});function Jl(e,t){var n=Zi(t,e,`filter`);return n.isUnary?Fi(e,n.fn):Fi(e,function(e,t,r){return n.fn(e,[t],r)})}var Yl=`flatten`,Xl=V(Yl,[`typed`],e=>{var{typed:t}=e;return t(Yl,{Array:function(e){return Mi(e)},DenseMatrix:function(e){return e.create(Mi(e.valueOf(),!0),e.datatype())},SparseMatrix:function(e){throw TypeError(`SparseMatrix is not supported by function flatten because it does not support 1D vectors. Convert to a DenseMatrix or Array first. Example: flatten(x.toArray())`)}})}),Zl=`forEach`,Ql=V(Zl,[`typed`],e=>{var{typed:t}=e;return t(Zl,{"Array, function":$l,"Matrix, function":function(e,t){e.forEach(t)}})});function $l(e,t){var n=Zi(t,e,Zl);Yi(e,n.fn,n.isUnary)}var eu=`getMatrixDataType`,tu=V(eu,[`typed`],e=>{var{typed:t}=e;return t(eu,{Array:function(e){return Bi(e,Me)},Matrix:function(e){return e.getDataType()}})}),nu=`identity`,ru=V(nu,[`typed`,`config`,`matrix`,`BigNumber`,`DenseMatrix`,`SparseMatrix`],e=>{var{typed:t,config:n,matrix:r,BigNumber:i,DenseMatrix:a,SparseMatrix:o}=e;return t(nu,{"":function(){return n.matrix===`Matrix`?r([]):[]},string:function(e){return r(e)},"number | BigNumber":function(e){return c(e,e,n.matrix===`Matrix`?`dense`:void 0)},"number | BigNumber, string":function(e,t){return c(e,e,t)},"number | BigNumber, number | BigNumber":function(e,t){return c(e,t,n.matrix===`Matrix`?`dense`:void 0)},"number | BigNumber, number | BigNumber, string":function(e,t,n){return c(e,t,n)},Array:function(e){return s(e)},"Array, string":function(e,t){return s(e,t)},Matrix:function(e){return s(e.valueOf(),e.storage())},"Matrix, string":function(e,t){return s(e.valueOf(),t)}});function s(e,t){switch(e.length){case 0:return t?r(t):[];case 1:return c(e[0],e[0],t);case 2:return c(e[0],e[1],t);default:throw Error(`Vector containing two values expected`)}}function c(e,t,n){var r=O(e)||O(t)?i:null;if(O(e)&&(e=e.toNumber()),O(t)&&(t=t.toNumber()),!H(e)||e<1||!H(t)||t<1)throw Error(`Parameters in function identity must be positive integers`);var s=r?new i(1):1,c=r?new r(0):0,l=[e,t];if(n){if(n===`sparse`)return o.diagonal(l,s,0,c);if(n===`dense`)return a.diagonal(l,s,0,c);throw TypeError(`Unknown matrix type "${n}"`)}for(var u=Si([],l,c),d=e<t?e:t,f=0;f<d;f++)u[f][f]=s;return u}}),iu=`kron`,au=V(iu,[`typed`,`matrix`,`multiplyScalar`],e=>{var{typed:t,matrix:n,multiplyScalar:r}=e;return t(iu,{"Matrix, Matrix":function(e,t){return n(a(e.toArray(),t.toArray()))},"Matrix, Array":function(e,t){return n(a(e.toArray(),t))},"Array, Matrix":function(e,t){return n(a(e,t.toArray()))},"Array, Array":a});function i(e,t){return e.flatMap(e=>t.map(t=>r(e,t)))}function a(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:-1;if(n<0){var r=gi(e).length,o=gi(t).length;for(n=Math.max(r,o);r++<n;)e=[e];for(;o++<n;)t=[t]}return n===1?i(e,t):e.flatMap(e=>t.map(t=>a(e,t,n-1)))}}),ou=`map`,su=V(ou,[`typed`],e=>{var{typed:t}=e;return t(ou,{"Array, function":s,"Matrix, function":function(e,t){return e.map(t)},"Array|Matrix, Array|Matrix, ...Array|Matrix|function":(e,t,r)=>n([e,t,...r.slice(0,r.length-1)],r[r.length-1])});function n(e,n){if(typeof n!=`function`)throw Error(`Last argument must be a callback function`);var c=e[0].isMatrix,l=e.map(e=>e.isMatrix?e.size():gi(e)),u=Ui(...l),d=e.length,f=c?(e,t)=>e.get(t):qi,p=e.map((e,t)=>{var n=l[t].map(()=>0);return e.isMatrix?e.get(n):qi(e,n)}),m=t.isTypedFunction(n)?o(n,p,u.map(()=>0),e):a(n,d);if(m<2)return r(e,i(m,n,null));var h=c?e.map(t=>t.isMatrix?t.create(Gi(t.toArray(),u),t.datatype()):e[0].create(Gi(t.valueOf(),u))):e.map(e=>e.isMatrix?Gi(e.toArray(),u):Gi(e,u)),g=i(m,n,h),_=(e,t)=>g([e,...h.slice(1).map(e=>f(e,t))],t);return c?h[0].map(_):s(h[0],_)}function r(e,t){var n=e[0],r=e.map(e=>e.isMatrix?e.valueOf():e),i=e.map(e=>e.isMatrix?e.size():gi(e)),a=Ui(...i),o=i.map(e=>a.length-e.length),s=a.length-1,c=t.length>1?[]:null,l=d(r,0);if(n.isMatrix){var u=n.create();return u._data=l,u._size=a,u}return l;function d(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,r=a[n],i=Array(r);if(n<s)for(var l=function(t){c&&(c[n]=t),i[t]=d(e.map((e,r)=>o[r]>n?e:e.length===1?e[0]:e[t]),n+1)},u=0;u<r;u++)l(u);else for(var f=function(r){c&&(c[n]=r),i[r]=t(e.map(e=>e.length===1?e[0]:e[r]),c?c.slice():void 0)},p=0;p<r;p++)f(p);return i}}function i(e,t,n){switch(e){case 0:return e=>t(...e);case 1:return(e,n)=>t(...e,n);case 2:return(e,r)=>t(...e,r,...n)}}function a(e,t){var n=e.toString();if(/arguments/.test(n))return 2;var r=n.match(/\(.*?\)/);return/\.\.\./.test(r)||e.length>t+1?2:+(e.length===t+1)}function o(e,n,r,i){return t.resolve(e,[...n,r,...i])===null?t.resolve(e,[...n,r])===null?(t.resolve(e,n),0):1:2}function s(e,t){var n=Zi(t,e,ou);return Ji(e,n.fn,n.isUnary)}}),cu=`diff`,lu=V(cu,[`typed`,`matrix`,`subtract`,`number`],e=>{var{typed:t,matrix:n,subtract:r,number:i}=e;return t(cu,{"Array | Matrix":function(e){return F(e)?n(o(e.toArray())):o(e)},"Array | Matrix, number":function(e,t){if(!H(t))throw RangeError(`Dimension must be a whole number`);return F(e)?n(a(e.toArray(),t)):a(e,t)},"Array, BigNumber":t.referTo(`Array,number`,e=>(t,n)=>e(t,i(n))),"Matrix, BigNumber":t.referTo(`Matrix,number`,e=>(t,n)=>e(t,i(n)))});function a(e,t){if(F(e)&&(e=e.toArray()),!Array.isArray(e))throw RangeError(`Array/Matrix does not have that many dimensions`);if(t>0){var n=[];return e.forEach(e=>{n.push(a(e,t-1))}),n}if(t===0)return o(e);throw RangeError(`Cannot have negative dimension`)}function o(e){for(var t=[],n=e.length,r=1;r<n;r++)t.push(s(e[r-1],e[r]));return t}function s(e,t){F(e)&&(e=e.toArray()),F(t)&&(t=t.toArray());var n=Array.isArray(e),i=Array.isArray(t);if(n&&i)return c(e,t);if(!n&&!i)return r(t,e);throw TypeError(`Cannot calculate difference between 1 array and 1 non-array`)}function c(e,t){if(e.length!==t.length)throw RangeError(`Not all sub-arrays have the same length`);for(var n=[],r=e.length,i=0;i<r;i++)n.push(s(e[i],t[i]));return n}}),uu=V(`ones`,[`typed`,`config`,`matrix`,`BigNumber`],e=>{var{typed:t,config:n,matrix:r,BigNumber:i}=e;return t(`ones`,{"":function(){return n.matrix===`Array`?a([]):a([],`default`)},"...number | BigNumber | string":function(e){return typeof e[e.length-1]==`string`?a(e,e.pop()):n.matrix===`Array`?a(e):a(e,`default`)},Array:a,Matrix:function(e){var t=e.storage();return a(e.valueOf(),t)},"Array | Matrix, string":function(e,t){return a(e.valueOf(),t)}});function a(e,t){var n=o(e)?new i(1):1;if(s(e),t){var a=r(t);return e.length>0?a.resize(e,n):a}var c=[];return e.length>0?Si(c,e,n):c}function o(e){var t=!1;return e.forEach(function(e,n,r){O(e)&&(t=!0,r[n]=e.toNumber())}),t}function s(e){e.forEach(function(e){if(typeof e!=`number`||!H(e)||e<0)throw Error(`Parameters in function ones must be positive integers`)})}});function du(){throw Error(`No "bignumber" implementation available`)}function fu(){throw Error(`No "fraction" implementation available`)}function pu(){throw Error(`No "matrix" implementation available`)}var mu=`range`,hu=V(mu,[`typed`,`config`,`?matrix`,`?bignumber`,`equal`,`smaller`,`smallerEq`,`larger`,`largerEq`,`add`,`isZero`,`isPositive`],e=>{var{typed:t,config:n,matrix:r,bignumber:i,smaller:a,smallerEq:o,larger:s,largerEq:c,add:l,isZero:u,isPositive:d}=e;return t(mu,{string:p,"string, boolean":p,number:function(e){throw TypeError(`Too few arguments to function range(): ${e}`)},boolean:function(e){throw TypeError(`Unexpected type of argument 1 to function range(): ${e}, number|bigint|BigNumber|Fraction`)},"number, number":function(e,t){return f(m(e,t,1,!1))},"number, number, number":function(e,t,n){return f(m(e,t,n,!1))},"number, number, boolean":function(e,t,n){return f(m(e,t,1,n))},"number, number, number, boolean":function(e,t,n,r){return f(m(e,t,n,r))},"bigint, bigint|number":function(e,t){return f(m(e,t,1n,!1))},"number, bigint":function(e,t){return f(m(BigInt(e),t,1n,!1))},"bigint, bigint|number, bigint|number":function(e,t,n){return f(m(e,t,BigInt(n),!1))},"number, bigint, bigint|number":function(e,t,n){return f(m(BigInt(e),t,BigInt(n),!1))},"bigint, bigint|number, boolean":function(e,t,n){return f(m(e,t,1n,n))},"number, bigint, boolean":function(e,t,n){return f(m(BigInt(e),t,1n,n))},"bigint, bigint|number, bigint|number, boolean":function(e,t,n,r){return f(m(e,t,BigInt(n),r))},"number, bigint, bigint|number, boolean":function(e,t,n,r){return f(m(BigInt(e),t,BigInt(n),r))},"BigNumber, BigNumber":function(e,t){var n=e.constructor;return f(m(e,t,new n(1),!1))},"BigNumber, BigNumber, BigNumber":function(e,t,n){return f(m(e,t,n,!1))},"BigNumber, BigNumber, boolean":function(e,t,n){var r=e.constructor;return f(m(e,t,new r(1),n))},"BigNumber, BigNumber, BigNumber, boolean":function(e,t,n,r){return f(m(e,t,n,r))},"Fraction, Fraction":function(e,t){return f(m(e,t,1,!1))},"Fraction, Fraction, Fraction":function(e,t,n){return f(m(e,t,n,!1))},"Fraction, Fraction, boolean":function(e,t,n){return f(m(e,t,1,n))},"Fraction, Fraction, Fraction, boolean":function(e,t,n,r){return f(m(e,t,n,r))},"Unit, Unit, Unit":function(e,t,n){return f(m(e,t,n,!1))},"Unit, Unit, Unit, boolean":function(e,t,n,r){return f(m(e,t,n,r))}});function f(e){return n.matrix===`Matrix`?r?r(e):pu():e}function p(e,t){var r=h(e);if(!r)throw SyntaxError(`String "`+e+`" is no valid range`);return n.number===`BigNumber`?(i===void 0&&du(),f(m(i(r.start),i(r.end),i(r.step)),t)):f(m(r.start,r.end,r.step,t))}function m(e,t,n,r){var i=[];if(u(n))throw Error(`Step must be non-zero`);for(var f=d(n)?r?o:a:r?c:s,p=e;f(p,t);)i.push(p),p=l(p,n);return i}function h(e){var t=e.split(`:`).map(function(e){return Number(e)});if(t.some(function(e){return isNaN(e)}))return null;switch(t.length){case 2:return{start:t[0],end:t[1],step:1};case 3:return{start:t[0],end:t[2],step:t[1]};default:return null}}}),gu=`reshape`,_u=V(gu,[`typed`,`isInteger`,`matrix`],e=>{var{typed:t,isInteger:n}=e;return t(gu,{"Matrix, Array":function(e,t){return e.reshape(t,!0)},"Array, Array":function(e,t){return t.forEach(function(e){if(!n(e))throw TypeError(`Invalid size for dimension: `+e)}),wi(e,t)}})}),vu=V(`resize`,[`config`,`matrix`],e=>{var{config:t,matrix:n}=e;return function(e,i,a){if(arguments.length!==2&&arguments.length!==3)throw new Sc(`resize`,arguments.length,2,3);if(F(i)&&(i=i.valueOf()),O(i[0])&&(i=i.map(function(e){return O(e)?e.toNumber():e})),F(e))return e.resize(i,a,!0);if(typeof e==`string`)return r(e,i,a);var o=!Array.isArray(e)&&t.matrix!==`Array`;if(i.length===0){for(;Array.isArray(e);)e=e[0];return Ne(e)}Array.isArray(e)||(e=[e]),e=Ne(e);var s=Si(e,i,a);return o?n(s):s};function r(e,t,n){if(n!==void 0){if(typeof n!=`string`||n.length!==1)throw TypeError(`Single character expected as defaultValue`)}else n=` `;if(t.length!==1)throw new mi(t.length,1);var r=t[0];if(typeof r!=`number`||!H(r))throw TypeError(`Invalid size, must contain positive integers (size: `+oi(t)+`)`);if(e.length>r)return e.substring(0,r);if(e.length<r){for(var i=e,a=0,o=r-e.length;a<o;a++)i+=n;return i}return e}}),yu=`rotate`,bu=V(yu,[`typed`,`multiply`,`rotationMatrix`],e=>{var{typed:t,multiply:n,rotationMatrix:r}=e;return t(yu,{"Array , number | BigNumber | Complex | Unit":function(e,t){return i(e,2),n(r(t),e).toArray()},"Matrix , number | BigNumber | Complex | Unit":function(e,t){return i(e,2),n(r(t),e)},"Array, number | BigNumber | Complex | Unit, Array | Matrix":function(e,t,a){return i(e,3),n(r(t,a),e)},"Matrix, number | BigNumber | Complex | Unit, Array | Matrix":function(e,t,a){return i(e,3),n(r(t,a),e)}});function i(e,t){var n=Array.isArray(e)?gi(e):e.size();if(n.length>2||n.length===2&&n[1]!==1||n[0]!==t)throw RangeError(`Vector must be of dimensions 1x${t}`)}}),xu=`rotationMatrix`,Su=V(xu,[`typed`,`config`,`multiplyScalar`,`addScalar`,`unaryMinus`,`norm`,`matrix`,`BigNumber`,`DenseMatrix`,`SparseMatrix`,`cos`,`sin`],e=>{var{typed:t,config:n,multiplyScalar:r,addScalar:i,unaryMinus:a,norm:o,BigNumber:s,matrix:c,DenseMatrix:l,SparseMatrix:u,cos:d,sin:f}=e;return t(xu,{"":function(){return n.matrix===`Matrix`?c([]):[]},string:function(e){return c(e)},"number | BigNumber | Complex | Unit":function(e){return p(e,n.matrix===`Matrix`?`dense`:void 0)},"number | BigNumber | Complex | Unit, string":function(e,t){return p(e,t)},"number | BigNumber | Complex | Unit, Array":function(e,t){var n=c(t);return m(n),_(e,n,void 0)},"number | BigNumber | Complex | Unit, Matrix":function(e,t){return m(t),_(e,t,t.storage()||(n.matrix===`Matrix`?`dense`:void 0))},"number | BigNumber | Complex | Unit, Array, string":function(e,t,n){var r=c(t);return m(r),_(e,r,n)},"number | BigNumber | Complex | Unit, Matrix, string":function(e,t,n){return m(t),_(e,t,n)}});function p(e,t){var n=O(e)?new s(-1):-1,i=d(e),a=f(e);return g([[i,r(n,a)],[a,i]],t)}function m(e){var t=e.size();if(t.length<1||t[0]!==3)throw RangeError(`Vector must be of dimensions 1x3`)}function h(e){return e.reduce((e,t)=>r(e,t))}function g(e,t){if(t){if(t===`sparse`)return new u(e);if(t===`dense`)return new l(e);throw TypeError(`Unknown matrix type "${t}"`)}return e}function _(e,t,n){var r=o(t);if(r===0)throw RangeError(`Rotation around zero vector`);var c=O(e)?s:null,l=c?new c(1):1,u=c?new c(-1):-1,p=c?new c(t.get([0])/r):t.get([0])/r,m=c?new c(t.get([1])/r):t.get([1])/r,_=c?new c(t.get([2])/r):t.get([2])/r,v=d(e),y=i(l,a(v)),b=f(e),x=i(v,h([p,p,y])),S=i(h([p,m,y]),h([u,_,b])),C=i(h([p,_,y]),h([m,b])),w=i(h([p,m,y]),h([_,b])),T=i(v,h([m,m,y])),E=i(h([m,_,y]),h([u,p,b])),D=i(h([p,_,y]),h([u,m,b])),k=i(h([m,_,y]),h([p,b])),A=i(v,h([_,_,y]));return g([[x,S,C],[w,T,E],[D,k,A]],n)}}),Cu=`row`,wu=V(Cu,[`typed`,`Index`,`matrix`,`range`],e=>{var{typed:t,Index:n,matrix:r,range:i}=e;return t(Cu,{"Matrix, number":a,"Array, number":function(e,t){return a(r(Ne(e)),t).valueOf()}});function a(e,t){if(e.size().length!==2)throw Error(`Only two dimensional matrix is supported`);bi(t,e.size()[0]);var a=i(0,e.size()[1]),o=new n([t],a),s=e.subset(o);return F(s)?s:r([[s]])}}),Tu=`size`,Eu=V(Tu,[`typed`],e=>{var{typed:t}=e;return t(Tu,{Matrix:e=>e.size(),Array:gi,string:e=>[e.length],"number | Complex | BigNumber | Unit | boolean | null":e=>[]})}),Du=`squeeze`,Ou=V(Du,[`typed`],e=>{var{typed:t}=e;return t(Du,{Array:function(e){return Oi(Ne(e))},Matrix:function(e){var t=Oi(e.toArray());return Array.isArray(t)?e.create(t,e.datatype()):t},any:function(e){return Ne(e)}})}),ku=`subset`,Au=V(ku,[`typed`,`matrix`,`zeros`,`add`],e=>{var{typed:t,matrix:n,zeros:r,add:i}=e;return t(ku,{"Matrix, Index":function(e,t){return xi(t)?n():(yi(e,t),e.subset(t))},"Array, Index":t.referTo(`Matrix, Index`,function(e){return function(t,r){var i=e(n(t),r);return r.isScalar()?i:i.valueOf()}}),"Object, Index":Nu,"string, Index":ju,"Matrix, Index, any, any":function(e,t,n,r){return xi(t)?e:(yi(e,t),e.clone().subset(t,a(n,t),r))},"Array, Index, any, any":t.referTo(`Matrix, Index, any, any`,function(e){return function(t,r,i,a){var o=e(n(t),r,i,a);return o.isMatrix?o.valueOf():o}}),"Array, Index, any":t.referTo(`Matrix, Index, any, any`,function(e){return function(t,r,i){return e(n(t),r,i,void 0).valueOf()}}),"Matrix, Index, any":t.referTo(`Matrix, Index, any, any`,function(e){return function(t,n,r){return e(t,n,r,void 0)}}),"string, Index, string":Mu,"string, Index, string, string":Mu,"Object, Index, any":Pu});function a(e,t){if(typeof e==`string`)throw Error(`can't boradcast a string`);if(t.isScalar())return e;var n=t.size();if(n.every(e=>e>0))try{return i(e,r(n))}catch{return e}return e}});function ju(e,t){if(!ie(t))throw TypeError(`Index expected`);if(xi(t))return``;if(yi(Array.from(e),t),t.size().length!==1)throw new mi(t.size().length,1);var n=e.length;bi(t.min()[0],n),bi(t.max()[0],n);var r=t.dimension(0),i=``;function a(t){i+=e.charAt(t)}return Number.isInteger(r)?a(r):r.forEach(a),i}function Mu(e,t,n,r){if(!t||t.isIndex!==!0)throw TypeError(`Index expected`);if(xi(t))return e;if(yi(Array.from(e),t),t.size().length!==1)throw new mi(t.size().length,1);if(r!==void 0){if(typeof r!=`string`||r.length!==1)throw TypeError(`Single character expected as defaultValue`)}else r=` `;var i=t.dimension(0);if((Number.isInteger(i)?1:i.size()[0])!==n.length)throw new mi(i.size()[0],n.length);var a=e.length;bi(t.min()[0]),bi(t.max()[0]);for(var o=[],s=0;s<a;s++)o[s]=e.charAt(s);function c(e,t){o[e]=n.charAt(t[0])}if(Number.isInteger(i)?c(i,[0]):i.forEach(c),o.length>a)for(var l=a-1,u=o.length;l<u;l++)o[l]||(o[l]=r);return o.join(``)}function Nu(e,t){if(!xi(t)){if(t.size().length!==1)throw new mi(t.size(),1);var n=t.dimension(0);if(typeof n!=`string`)throw TypeError(`String expected as index to retrieve an object property`);return f(e,n)}}function Pu(e,t,n){if(xi(t))return e;if(t.size().length!==1)throw new mi(t.size(),1);var r=t.dimension(0);if(typeof r!=`string`)throw TypeError(`String expected as index to retrieve an object property`);var i=Ne(e);return p(i,r,n),i}var Fu=`transpose`,Iu=V(Fu,[`typed`,`matrix`],e=>{var{typed:t,matrix:n}=e;return t(Fu,{Array:e=>r(n(e)).valueOf(),Matrix:r,any:Ne});function r(e){var t=e.size(),n;switch(t.length){case 1:n=e.clone();break;case 2:var r=t[0],o=t[1];if(o===0)throw RangeError(`Cannot transpose a 2D matrix with no columns (size: `+oi(t)+`)`);switch(e.storage()){case`dense`:n=i(e,r,o);break;case`sparse`:n=a(e,r,o)}break;default:throw RangeError(`Matrix must be a vector or two dimensional (size: `+oi(t)+`)`)}return n}function i(e,t,n){for(var r=e._data,i=[],a,o=0;o<n;o++){a=i[o]=[];for(var s=0;s<t;s++)a[s]=Ne(r[s][o])}return e.createDenseMatrix({data:i,size:[n,t],datatype:e._datatype})}function a(e,t,n){for(var r=e._values,i=e._index,a=e._ptr,o=r?[]:void 0,s=[],c=[],l=[],u=0;u<t;u++)l[u]=0;for(var d=0,f=i.length,p;d<f;d++)l[i[d]]++;for(var m=0,h=0;h<t;h++)c.push(m),m+=l[h],l[h]=c[h];for(c.push(m),p=0;p<n;p++)for(var g=a[p],_=a[p+1],v=g;v<_;v++){var y=l[i[v]]++;s[y]=p,r&&(o[y]=Ne(r[v]))}return e.createSparseMatrix({values:o,index:s,ptr:c,size:[n,t],datatype:e._datatype})}}),Lu=`ctranspose`,Ru=V(Lu,[`typed`,`transpose`,`conj`],e=>{var{typed:t,transpose:n,conj:r}=e;return t(Lu,{any:function(e){return r(n(e))}})}),zu=`zeros`,Bu=V(zu,[`typed`,`config`,`matrix`,`BigNumber`],e=>{var{typed:t,config:n,matrix:r,BigNumber:i}=e;return t(zu,{"":function(){return n.matrix===`Array`?a([]):a([],`default`)},"...number | BigNumber | string":function(e){return typeof e[e.length-1]==`string`?a(e,e.pop()):n.matrix===`Array`?a(e):a(e,`default`)},Array:a,Matrix:function(e){var t=e.storage();return a(e.valueOf(),t)},"Array | Matrix, string":function(e,t){return a(e.valueOf(),t)}});function a(e,t){var n=o(e)?new i(0):0;if(s(e),t){var a=r(t);return e.length>0?a.resize(e,n):a}var c=[];return e.length>0?Si(c,e,n):c}function o(e){var t=!1;return e.forEach(function(e,n,r){O(e)&&(t=!0,r[n]=e.toNumber())}),t}function s(e){e.forEach(function(e){if(typeof e!=`number`||!H(e)||e<0)throw Error(`Parameters in function zeros must be positive integers`)})}}),Vu=`fft`,Hu=V(Vu,[`typed`,`matrix`,`addScalar`,`multiplyScalar`,`divideScalar`,`exp`,`tau`,`i`,`dotDivide`,`conj`,`pow`,`ceil`,`log2`],e=>{var{typed:t,matrix:n,addScalar:r,multiplyScalar:i,divideScalar:a,exp:o,tau:s,i:c,dotDivide:l,conj:u,pow:d,ceil:f,log2:p}=e;return t(Vu,{Array:m,Matrix:function(e){return e.create(m(e.valueOf()),e.datatype())}});function m(e){var t=gi(e);return t.length===1?_(e,t[0]):h(e.map(e=>m(e,t.slice(1))),0)}function h(e,t){var n=gi(e);if(t!==0)return Array(n[0]).fill(0).map((n,r)=>h(e[r],t-1));if(n.length===1)return _(e);function r(e){var t=gi(e);return Array(t[1]).fill(0).map((n,r)=>Array(t[0]).fill(0).map((t,n)=>e[n][r]))}return r(h(r(e),1))}function g(e){for(var t=e.length,n=o(a(i(-1,i(c,s)),t)),r=[],h=1-t;h<t;h++)r.push(d(n,a(d(h,2),2)));for(var g=d(2,f(p(t+t-1))),v=[...Array(t).fill(0).map((n,a)=>i(e[a],r[t-1+a])),...Array(g-t).fill(0)],y=[...Array(t+t-1).fill(0).map((e,t)=>a(1,r[t])),...Array(g-(t+t-1)).fill(0)],b=_(v),x=_(y),S=l(u(m(u(Array(g).fill(0).map((e,t)=>i(b[t],x[t]))))),g),C=[],w=t-1;w<t+t-1;w++)C.push(i(S[w],r[w]));return C}function _(e){var t=e.length;if(t===1)return[e[0]];if(t%2==0){for(var n=[..._(e.filter((e,t)=>t%2==0),t/2),..._(e.filter((e,t)=>t%2==1),t/2)],l=0;l<t/2;l++){var u=n[l],d=i(n[l+t/2],o(i(i(s,c),a(-l,t))));n[l]=r(u,d),n[l+t/2]=r(u,i(-1,d))}return n}return g(e)}}),Uu=`ifft`,Wu=V(Uu,[`typed`,`fft`,`dotDivide`,`conj`],e=>{var{typed:t,fft:n,dotDivide:r,conj:i}=e;return t(Uu,{"Array | Matrix":function(e){var t=F(e)?e.size():gi(e);return r(i(n(i(e))),t.reduce((e,t)=>e*t,1))}})});function Gu(e){"@babel/helpers - typeof";return Gu=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},Gu(e)}function Ku(e,t){if(Gu(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(Gu(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function qu(e){var t=Ku(e,`string`);return Gu(t)==`symbol`?t:t+``}function Ju(e,t,n){return(t=qu(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Yu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Xu(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?Yu(Object(n),!0).forEach(function(t){Ju(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yu(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Zu=V(`solveODE`,[`typed`,`add`,`subtract`,`multiply`,`divide`,`max`,`map`,`abs`,`isPositive`,`isNegative`,`larger`,`smaller`,`matrix`,`bignumber`,`unaryMinus`],e=>{var{typed:t,add:n,subtract:r,multiply:i,divide:a,max:o,map:s,abs:c,isPositive:l,isNegative:u,larger:d,smaller:f,matrix:p,bignumber:m,unaryMinus:h}=e;function g(e){return function(t,p,g,_){if(p.length!==2||!p.every(S)&&!p.every(M))throw Error(`"tspan" must be an Array of two numeric values or two units [tStart, tEnd]`);var v=p[0],y=p[1],C=d(y,v),w=_.firstStep;if(w!==void 0&&!l(w))throw Error(`"firstStep" must be positive`);var T=_.maxStep;if(T!==void 0&&!l(T))throw Error(`"maxStep" must be positive`);var E=_.minStep;if(E&&u(E))throw Error(`"minStep" must be positive or zero`);var D=[v,y,w,E,T].filter(e=>e!==void 0);if(!(D.every(S)||D.every(M)))throw Error(`Inconsistent type of "t" dependant variables`);for(var k=1,A=_.tol?_.tol:1e-4,j=_.minDelta?_.minDelta:.2,N=_.maxDelta?_.maxDelta:5,P=_.maxIter?_.maxIter:1e4,F=[v,y,...g,T,E].some(O),[ee,te,ne,re]=F?[m(e.a),m(e.c),m(e.b),m(e.bp)]:[e.a,e.c,e.b,e.bp],ie=w?C?w:h(w):a(r(y,v),k),ae=[v],I=[g],oe=r(ne,re),L=0,se=0,ce=b(C),R=x(C);ce(ae[L],y);){var le=[];ie=R(ae[L],y,ie),le.push(t(ae[L],I[L]));for(var ue=1;ue<te.length;++ue)le.push(t(n(ae[L],i(te[ue],ie)),n(I[L],i(ie,ee[ue],le))));var de=o(c(s(i(oe,le),e=>M(e)?e.value:e)));de<A&&A/de>1/4&&(ae.push(n(ae[L],ie)),I.push(n(I[L],i(ie,ne,le))),L++);var fe=.84*(A/de)**(1/5);if(f(fe,j)?fe=j:d(fe,N)&&(fe=N),fe=F?m(fe):fe,ie=i(ie,fe),T&&d(c(ie),T)?ie=C?T:h(T):E&&f(c(ie),E)&&(ie=C?E:h(E)),se++,se>P)throw Error(`Maximum number of iterations reached, try changing options`)}return{t:ae,y:I}}}function _(e,t,n,r){return g({a:[[],[1/2],[0,3/4],[2/9,1/3,4/9]],c:[null,1/2,3/4,1],b:[2/9,1/3,4/9,0],bp:[7/24,1/4,1/3,1/8]})(e,t,n,r)}function v(e,t,n,r){return g({a:[[],[1/5],[3/40,9/40],[44/45,-56/15,32/9],[19372/6561,-25360/2187,64448/6561,-212/729],[9017/3168,-355/33,46732/5247,49/176,-5103/18656],[35/384,0,500/1113,125/192,-2187/6784,11/84]],c:[null,1/5,3/10,4/5,8/9,1,1],b:[35/384,0,500/1113,125/192,-2187/6784,11/84,0],bp:[5179/57600,0,7571/16695,393/640,-92097/339200,187/2100,1/40]})(e,t,n,r)}function y(e,t,n,r){var i=r.method?r.method:`RK45`,a={RK23:_,RK45:v};if(i.toUpperCase()in a){var o=Xu({},r);return delete o.method,a[i.toUpperCase()](e,t,n,o)}var s=Object.keys(a).map(e=>`"${e}"`),c=`${s.slice(0,-1).join(`, `)} and ${s.slice(-1)}`;throw Error(`Unavailable method "${i}". Available methods are ${c}`)}function b(e){return e?f:d}function x(e){var t=e?d:f;return function(e,i,a){return t(n(e,a),i)?r(i,e):a}}function S(e){return O(e)||D(e)}function C(e,t,n,r){var i=y(e,t.toArray(),n.toArray(),r);return{t:p(i.t),y:p(i.y)}}return t(`solveODE`,{"function, Array, Array, Object":y,"function, Matrix, Matrix, Object":C,"function, Array, Array":(e,t,n)=>y(e,t,n,{}),"function, Matrix, Matrix":(e,t,n)=>C(e,t,n,{}),"function, Array, number | BigNumber | Unit":(e,t,n)=>{var r=y(e,t,[n],{});return{t:r.t,y:r.y.map(e=>e[0])}},"function, Matrix, number | BigNumber | Unit":(e,t,n)=>{var r=y(e,t.toArray(),[n],{});return{t:p(r.t),y:p(r.y.map(e=>e[0]))}},"function, Array, number | BigNumber | Unit, Object":(e,t,n,r)=>{var i=y(e,t,[n],r);return{t:i.t,y:i.y.map(e=>e[0])}},"function, Matrix, number | BigNumber | Unit, Object":(e,t,n,r)=>{var i=y(e,t.toArray(),[n],r);return{t:p(i.t),y:p(i.y.map(e=>e[0]))}}})}),Qu=V(`erf`,[`typed`],e=>{var{typed:t}=e;return t(`name`,{number:function(e){var t=Math.abs(e);return t>=rd?$e(e):t<=$u?$e(e)*n(t):t<=4?$e(e)*(1-r(t)):$e(e)*(1-i(t))},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))});function n(e){for(var t=e*e,n=td[0][4]*t,r=t,i=0;i<3;i+=1)n=(n+td[0][i])*t,r=(r+nd[0][i])*t;return e*(n+td[0][3])/(r+nd[0][3])}function r(e){for(var t=td[1][8]*e,n=e,r=0;r<7;r+=1)t=(t+td[1][r])*e,n=(n+nd[1][r])*e;var i=(t+td[1][7])/(n+nd[1][7]),a=parseInt(e*16)/16,o=(e-a)*(e+a);return Math.exp(-a*a)*Math.exp(-o)*i}function i(e){for(var t=1/(e*e),n=td[2][5]*t,r=t,i=0;i<4;i+=1)n=(n+td[2][i])*t,r=(r+nd[2][i])*t;var a=t*(n+td[2][4])/(r+nd[2][4]);a=(ed-a)/e,t=parseInt(e*16)/16;var o=(e-t)*(e+t);return Math.exp(-t*t)*Math.exp(-o)*a}}),$u=.46875,ed=.5641895835477563,td=[[3.1611237438705655,113.86415415105016,377.485237685302,3209.3775891384694,.18577770618460315],[.5641884969886701,8.883149794388377,66.11919063714163,298.6351381974001,881.952221241769,1712.0476126340707,2051.0783778260716,1230.3393547979972,2.1531153547440383e-8],[.30532663496123236,.36034489994980445,.12578172611122926,.016083785148742275,.0006587491615298378,.016315387137302097]],nd=[[23.601290952344122,244.02463793444417,1282.6165260773723,2844.236833439171],[15.744926110709835,117.6939508913125,537.1811018620099,1621.3895745666903,3290.7992357334597,4362.619090143247,3439.3676741437216,1230.3393548037495],[2.568520192289822,1.8729528499234604,.5279051029514285,.06051834131244132,.0023352049762686918]],rd=2**53,id=`zeta`,ad=V(id,[`typed`,`config`,`multiply`,`pow`,`divide`,`factorial`,`equal`,`smallerEq`,`isBounded`,`isNegative`,`gamma`,`sin`,`subtract`,`add`,`?Complex`,`?BigNumber`,`pi`],e=>{var{typed:t,config:n,multiply:r,pow:i,divide:a,factorial:o,equal:s,smallerEq:c,isBounded:l,isNegative:u,gamma:d,sin:f,subtract:p,add:m,Complex:h,BigNumber:g,pi:_}=e;return t(id,{number:e=>v(e,e=>e,()=>20),BigNumber:e=>v(e,e=>new g(e),()=>Math.abs(Math.log10(n.relTol))),Complex:y});function v(e,t,n){return s(e,0)?t(-.5):s(e,1)?t(NaN):l(e)?b(e,t,n,e=>e):u(e)?t(NaN):t(1)}function y(e){return e.re===0&&e.im===0?new h(-.5):e.re===1?new h(NaN,NaN):e.re===1/0&&e.im===0?new h(1):e.im===1/0||e.re===-1/0?new h(NaN,NaN):b(e,e=>e,e=>Math.round(19.5+.9*Math.abs(e.im)),e=>e.re)}function b(e,t,n,o){var s=n(e);if(o(e)>-(s-1)/2)return S(e,t(s),t);var c=r(i(2,e),i(t(_),p(e,1)));return c=r(c,f(r(a(t(_),2),e))),c=r(c,d(p(1,e))),r(c,b(p(1,e),t,n,o))}function x(e,t){for(var n=e,s=e;c(s,t);s=m(s,1)){var l=a(r(o(m(t,p(s,1))),i(4,s)),r(o(p(t,s)),o(r(2,s))));n=m(n,l)}return r(t,n)}function S(e,t,n){for(var o=a(1,r(x(n(0),t),p(1,i(2,p(1,e))))),s=n(0),l=n(1);c(l,t);l=m(l,1))s=m(s,a(r((-1)**(l-1),x(l,t)),i(l,e)));return r(o,s)}}),od=`mode`,sd=V(od,[`typed`,`isNaN`,`isNumeric`],e=>{var{typed:t,isNaN:n,isNumeric:r}=e;return t(od,{"Array | Matrix":i,"...":function(e){return i(e)}});function i(e){if(e=Mi(e.valueOf()),e.length===0)throw Error(`Cannot calculate mode of an empty array`);for(var t={},i=[],a=0,o=0;o<e.length;o++){var s=e[o];if(r(s)&&n(s))throw Error(`Cannot calculate mode of an array containing NaN values`);s in t||(t[s]=0),t[s]++,t[s]===a?i.push(s):t[s]>a&&(a=t[s],i=[s])}return i}});function cd(e,t,n){var r;return String(e).includes(`Unexpected type`)?(r=arguments.length>2?` (type: `+Me(n)+`, value: `+JSON.stringify(n)+`)`:` (type: `+e.data.actual+`)`,TypeError(`Cannot calculate `+t+`, unexpected type of argument`+r)):String(e).includes(`complex numbers`)?(r=arguments.length>2?` (type: `+Me(n)+`, value: `+JSON.stringify(n)+`)`:``,TypeError(`Cannot calculate `+t+`, no ordering relation is defined for complex numbers`+r)):e}var ld=`prod`,ud=V(ld,[`typed`,`config`,`multiplyScalar`,`numeric`],e=>{var{typed:t,config:n,multiplyScalar:r,numeric:i}=e;return t(ld,{"Array | Matrix":a,"Array | Matrix, number | BigNumber":function(e,t){throw Error(`prod(A, dim) is not yet supported`)},"...":function(e){return a(e)}});function a(e){var t;if(ca(e,function(e){try{t=t===void 0?e:r(t,e)}catch(t){throw cd(t,`prod`,e)}}),typeof t==`string`&&(t=i(t,Qe(t,n))),t===void 0)throw Error(`Cannot calculate prod of an empty array`);return t}}),dd=`format`,fd=V(dd,[`typed`],e=>{var{typed:t}=e;return t(dd,{any:oi,"any, Object | function | number | BigNumber":oi})}),pd=`bin`,md=V(pd,[`typed`,`format`],e=>{var{typed:t,format:n}=e;return t(pd,{"number | BigNumber":function(e){return n(e,{notation:`bin`})},"number | BigNumber, number | BigNumber":function(e,t){return n(e,{notation:`bin`,wordSize:t})}})}),hd=`oct`,gd=V(hd,[`typed`,`format`],e=>{var{typed:t,format:n}=e;return t(hd,{"number | BigNumber":function(e){return n(e,{notation:`oct`})},"number | BigNumber, number | BigNumber":function(e,t){return n(e,{notation:`oct`,wordSize:t})}})}),_d=`hex`,vd=V(_d,[`typed`,`format`],e=>{var{typed:t,format:n}=e;return t(_d,{"number | BigNumber":function(e){return n(e,{notation:`hex`})},"number | BigNumber, number | BigNumber":function(e,t){return n(e,{notation:`hex`,wordSize:t})}})}),yd=/\$([\w.]+)/g,bd=`print`,xd=V(bd,[`typed`],e=>{var{typed:t}=e;return t(bd,{"string, Object | Array":Sd,"string, Object | Array, number | Object":Sd})});function Sd(e,t,n){return e.replace(yd,function(e,r){var i=r.split(`.`),a=t[i.shift()];for(a!==void 0&&a.isMatrix&&(a=a.toArray());i.length&&a!==void 0;){var o=i.shift();a=o?a[o]:a+`.`}return a===void 0?e:N(a)?a:oi(a,n)})}var Cd=`to`,wd=V(Cd,[`typed`,`matrix`,`concat`],e=>{var{typed:t,matrix:n,concat:r}=e;return t(Cd,{"Unit, Unit | string":(e,t)=>e.to(t)},gc({typed:t,matrix:n,concat:r})({Ds:!0}))}),Td=`toBest`,Ed=V(Td,[`typed`],e=>{var{typed:t}=e;return t(Td,{Unit:e=>e.toBest(),"Unit, string":(e,t)=>e.toBest(t.split(`,`)),"Unit, string, Object":(e,t,n)=>e.toBest(t.split(`,`),n),"Unit, Array":(e,t)=>e.toBest(t),"Unit, Array, Object":(e,t,n)=>e.toBest(t,n)})}),Dd=`isPrime`,Od=V(Dd,[`typed`],e=>{var{typed:t}=e;return t(Dd,{number:function(e){if(e<=3)return e>1;if(e%2==0||e%3==0)return!1;for(var t=5;t*t<=e;t+=6)if(e%t===0||e%(t+2)===0)return!1;return!0},bigint:function(e){if(e<=3n)return e>1n;if(e%2n==0n||e%3n==0n)return!1;for(var t=5n;t*t<=e;t+=6n)if(e%t===0n||e%(t+2n)===0n)return!1;return!0},BigNumber:function(e){if(e.lte(3))return e.gt(1);if(e.mod(2).eq(0)||e.mod(3).eq(0))return!1;if(e.lt(2**32)){for(var t=e.toNumber(),n=5;n*n<=t;n+=6)if(t%n===0||t%(n+2)===0)return!1;return!0}function r(e,t,n){for(var r=1;!t.eq(0);)t.mod(2).eq(0)?(t=t.div(2),e=e.mul(e).mod(n)):(t=t.sub(1),r=e.mul(r).mod(n));return r}e=new(e.constructor.clone({precision:e.toFixed(0).length*2}))(e);for(var i=0,a=e.sub(1);a.mod(2).eq(0);)a=a.div(2),i+=1;var o=null;if(e.lt(`3317044064679887385961981`))o=[2,3,5,7,11,13,17,19,23,29,31,37,41].filter(t=>t<e);else{var s=Math.min(e.toNumber()-2,Math.floor(2*(e.toFixed(0).length*Math.log(10))**2));o=[];for(var c=2;c<=s;c+=1)o.push(s)}for(var l=0;l<o.length;l+=1){var u=o[l],d=r(e.sub(e).add(u),a,e);if(!d.eq(1)){for(var f=0,p=d;!p.eq(e.sub(1));f+=1,p=p.mul(p).mod(e))if(f===i-1)return!1}}return!0},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),kd=V(`numeric`,[`number`,`?bignumber`,`?fraction`],e=>{var{number:t,bignumber:n,fraction:r}=e,i={string:!0,number:!0,BigNumber:!0,Fraction:!0},a={number:e=>t(e),BigNumber:n?e=>n(e):du,bigint:e=>BigInt(e),Fraction:r?e=>r(e):fu};return function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:`number`;if((arguments.length>2?arguments[2]:void 0)!==void 0)throw SyntaxError(`numeric() takes one or two arguments`);var n=Me(e);if(!(n in i))throw TypeError(`Cannot convert `+e+` of type "`+n+`"; valid input types are `+Object.keys(i).join(`, `));if(!(t in a))throw TypeError(`Cannot convert `+e+` to type "`+t+`"; valid output types are `+Object.keys(a).join(`, `));return t===n?e:a[t](e)}}),Ad=`divideScalar`,jd=V(Ad,[`typed`,`numeric`],e=>{var{typed:t,numeric:n}=e;return t(Ad,{"number, number":function(e,t){return e/t},"Complex, Complex":function(e,t){return e.div(t)},"BigNumber, BigNumber":function(e,t){return e.div(t)},"bigint, bigint":function(e,t){return e/t},"Fraction, Fraction":function(e,t){return e.div(t)},"Unit, number | Complex | Fraction | BigNumber | Unit":(e,t)=>e.divide(t),"number | Fraction | Complex | BigNumber, Unit":(e,t)=>t.divideInto(e)})}),Md=`pow`,Nd=V(Md,[`typed`,`config`,`identity`,`multiply`,`matrix`,`inv`,`fraction`,`number`,`Complex`],e=>{var{typed:t,config:n,identity:r,multiply:i,matrix:a,inv:o,number:s,fraction:c,Complex:l}=e;return t(Md,{"number, number":u,"Complex, Complex":function(e,t){return e.pow(t)},"BigNumber, BigNumber":function(e,t){return t.isInteger()||e>=0||n.predictable?e.pow(t):new l(e.toNumber(),0).pow(t.toNumber(),0)},"bigint, bigint":(e,t)=>e**t,"Fraction, Fraction":function(e,t){var r=e.pow(t);if(r!=null)return r;if(n.predictable)throw Error(`Result of pow is non-rational and cannot be expressed as a fraction`);return u(e.valueOf(),t.valueOf())},"Array, number":d,"Array, BigNumber":function(e,t){return d(e,t.toNumber())},"Matrix, number":f,"Matrix, BigNumber":function(e,t){return f(e,t.toNumber())},"Unit, number | BigNumber":function(e,t){return e.pow(t)}});function u(e,t){if(n.predictable&&!H(t)&&e<0)try{var r=c(t),i=s(r);if((t===i||Math.abs((t-i)/t)<1e-14)&&r.d%2n==1n)return(r.n%2n==0n?1:-1)*(-e)**+t}catch{}return n.predictable&&(e<-1&&t===1/0||e>-1&&e<0&&t===-1/0)?NaN:H(t)||e>=0||n.predictable?Fa(e,t):e*e<1&&t===1/0||e*e>1&&t===-1/0?0:new l(e,0).pow(t,0)}function d(e,t){if(!H(t))throw TypeError(`For A^b, b must be an integer (value is `+t+`)`);var n=gi(e);if(n.length!==2)throw Error(`For A^b, A must be 2 dimensional (A has `+n.length+` dimensions)`);if(n[0]!==n[1])throw Error(`For A^b, A must be square (size is `+n[0]+`x`+n[1]+`)`);if(t<0)try{return d(o(e),-t)}catch(e){throw e.message===`Cannot calculate inverse, determinant is zero`?TypeError(`For A^b, when A is not invertible, b must be a positive integer (value is `+t+`)`):e}for(var a=r(n[0]).valueOf(),s=e;t>=1;)(t&1)==1&&(a=i(s,a)),t>>=1,s=i(s,s);return a}function f(e,t){return a(d(e.valueOf(),t))}}),Pd=`Number of decimals in function round must be an integer`,Fd=`round`,Id=V(Fd,[`typed`,`config`,`matrix`,`equalScalar`,`zeros`,`BigNumber`,`DenseMatrix`],e=>{var{typed:t,config:n,matrix:r,equalScalar:i,zeros:a,BigNumber:o,DenseMatrix:s}=e,c=Vs({typed:t,equalScalar:i}),l=Hs({typed:t,DenseMatrix:s}),u=Us({typed:t});function d(e){return Math.abs(ct(e).exponent)}return t(Fd,{number:function(e){var t=Ia(e,d(n.relTol));return Ia(gt(e,t,n.relTol,n.absTol)?t:e)},"number, number":function(e,t){var r=d(n.relTol);if(t>=r)return Ia(e,t);var i=Ia(e,r);return Ia(gt(e,i,n.relTol,n.absTol)?i:e,t)},"number, BigNumber":function(e,t){if(!t.isInteger())throw TypeError(Pd);return new o(e).toDecimalPlaces(t.toNumber())},Complex:function(e){return e.round()},"Complex, number":function(e,t){if(t%1)throw TypeError(Pd);return e.round(t)},"Complex, BigNumber":function(e,t){if(!t.isInteger())throw TypeError(Pd);var n=t.toNumber();return e.round(n)},BigNumber:function(e){var t=new o(e).toDecimalPlaces(d(n.relTol));return(Mo(e,t,n.relTol,n.absTol)?t:e).toDecimalPlaces(0)},"BigNumber, BigNumber":function(e,t){if(!t.isInteger())throw TypeError(Pd);var r=d(n.relTol);if(t>=r)return e.toDecimalPlaces(t.toNumber());var i=e.toDecimalPlaces(r);return(Mo(e,i,n.relTol,n.absTol)?i:e).toDecimalPlaces(t.toNumber())},bigint:e=>e,"bigint, number":(e,t)=>e,"bigint, BigNumber":(e,t)=>e,Fraction:function(e){return e.round()},"Fraction, number":function(e,t){if(t%1)throw TypeError(Pd);return e.round(t)},"Fraction, BigNumber":function(e,t){if(!t.isInteger())throw TypeError(Pd);return e.round(t.toNumber())},"Unit, number, Unit":t.referToSelf(e=>function(t,n,r){var i=t.toNumeric(r);return r.multiply(e(i,n))}),"Unit, BigNumber, Unit":t.referToSelf(e=>(t,n,r)=>e(t,n.toNumber(),r)),"Array | Matrix, number | BigNumber, Unit":t.referToSelf(e=>(t,n,r)=>la(t,t=>e(t,n,r),!0)),"Array | Matrix | Unit, Unit":t.referToSelf(e=>(t,n)=>e(t,0,n)),"Array | Matrix":t.referToSelf(e=>t=>la(t,e,!0)),"SparseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>c(t,n,e,!1)),"DenseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>u(t,n,e,!1)),"Array, number | BigNumber":t.referToSelf(e=>(t,n)=>u(r(t),n,e,!1).valueOf()),"number | Complex | BigNumber | Fraction, SparseMatrix":t.referToSelf(e=>(t,n)=>i(t,0)?a(n.size(),n.storage()):l(n,t,e,!0)),"number | Complex | BigNumber | Fraction, DenseMatrix":t.referToSelf(e=>(t,n)=>i(t,0)?a(n.size(),n.storage()):u(n,t,e,!0)),"number | Complex | BigNumber | Fraction, Array":t.referToSelf(e=>(t,n)=>u(r(n),t,e,!0).valueOf())})}),Ld=`log`,Rd=[`config`,`typed`,`typeOf`,`divideScalar`,`Complex`],zd=Math.log(16),Bd=V(Ld,Rd,e=>{var{typed:t,typeOf:n,config:r,divideScalar:i,Complex:a}=e;function o(e){return e.log()}function s(e){return o(new a(e,0))}return t(Ld,{number:function(e){return e>=0||r.predictable?Oa(e):s(e)},bigint:Mc(zd,Oa,r,s),Complex:o,BigNumber:function(e){return!e.isNegative()||r.predictable?e.ln():s(e.toNumber())},"any, any":t.referToSelf(e=>(t,r)=>{if(n(t)===`Fraction`&&n(r)===`Fraction`){var a=t.log(r);if(a!==null)return a}return i(e(t),e(r))})})}),Vd=`log1p`,Hd=V(Vd,[`typed`,`config`,`divideScalar`,`log`,`Complex`],e=>{var{typed:t,config:n,divideScalar:r,log:i,Complex:a}=e;return t(Vd,{number:function(e){return e>=-1||n.predictable?nt(e):o(new a(e,0))},Complex:o,BigNumber:function(e){var t=e.plus(1);return!t.isNegative()||n.predictable?t.ln():o(new a(e.toNumber(),0))},"Array | Matrix":t.referToSelf(e=>t=>la(t,e)),"any, any":t.referToSelf(e=>(t,n)=>r(e(t),i(n)))});function o(e){var t=e.re+1;return new a(Math.log(Math.sqrt(t*t+e.im*e.im)),Math.atan2(e.im,t))}}),Ud=`nthRoots`,Wd=V(Ud,[`config`,`typed`,`divideScalar`,`Complex`],e=>{var{typed:t,config:n,divideScalar:r,Complex:i}=e,a=[function(e){return new i(e,0)},function(e){return new i(0,e)},function(e){return new i(-e,0)},function(e){return new i(0,-e)}];function o(e,t){if(t<0)throw Error(`Root must be greater than zero`);if(t===0)throw Error(`Root must be non-zero`);if(t%1!=0)throw Error(`Root must be an integer`);if(e===0||e.abs()===0)return[new i(0,0)];var n=typeof e==`number`,r;(n||e.re===0||e.im===0)&&(r=n?2*(e<0):e.im===0?2*(e.re<0):2*(e.im<0)+1);for(var o=e.arg(),s=e.abs(),c=[],l=s**(1/t),u=0;u<t;u++){var d=(r+4*u)/t;if(d===Math.round(d)){c.push(a[d%4](l));continue}c.push(new i({r:l,phi:(o+2*Math.PI*u)/t}))}return c}return t(Ud,{Complex:function(e){return o(e,2)},"Complex, number":o})}),Gd=`dotPow`,Kd=V(Gd,[`typed`,`equalScalar`,`matrix`,`pow`,`DenseMatrix`,`concat`,`SparseMatrix`],e=>{var{typed:t,equalScalar:n,matrix:r,pow:i,DenseMatrix:a,concat:o,SparseMatrix:s}=e,c=dc({typed:t}),l=vl({typed:t,SparseMatrix:s}),u=Vs({typed:t,equalScalar:n}),d=Hs({typed:t,DenseMatrix:a}),f=gc({typed:t,matrix:r,concat:o}),p={};for(var m in i.signatures)Object.prototype.hasOwnProperty.call(i.signatures,m)&&!m.includes(`Matrix`)&&!m.includes(`Array`)&&(p[m]=i.signatures[m]);return t(Gd,f({elop:t(p),SS:l,DS:c,Ss:u,sS:d}))}),qd=`dotDivide`,Jd=V(qd,[`typed`,`matrix`,`equalScalar`,`divideScalar`,`DenseMatrix`,`concat`,`SparseMatrix`],e=>{var{typed:t,matrix:n,equalScalar:r,divideScalar:i,DenseMatrix:a,concat:o,SparseMatrix:s}=e,c=uc({typed:t,equalScalar:r}),l=dc({typed:t}),u=vl({typed:t,SparseMatrix:s}),d=Vs({typed:t,equalScalar:r}),f=Hs({typed:t,DenseMatrix:a});return t(qd,gc({typed:t,matrix:n,concat:o})({elop:i,SS:u,DS:l,SD:c,Ss:d,sS:f}))});function Yd(e){var{DenseMatrix:t}=e;return function(e,n,r){var i=e.size();if(i.length!==2)throw RangeError(`Matrix must be two dimensional (size: `+oi(i)+`)`);var a=i[0];if(a!==i[1])throw RangeError(`Matrix must be square (size: `+oi(i)+`)`);var o=[];if(F(n)){var s=n.size(),c=n._data;if(s.length===1){if(s[0]!==a)throw RangeError(`Dimension mismatch. Matrix columns must match vector length.`);for(var l=0;l<a;l++)o[l]=[c[l]];return new t({data:o,size:[a,1],datatype:n._datatype})}if(s.length===2){if(s[0]!==a||s[1]!==1)throw RangeError(`Dimension mismatch. Matrix columns must match vector length.`);if(te(n)){if(r){o=[];for(var u=0;u<a;u++)o[u]=[c[u][0]];return new t({data:o,size:[a,1],datatype:n._datatype})}return n}if(ne(n)){for(var d=0;d<a;d++)o[d]=[0];for(var f=n._values,p=n._index,m=n._ptr,h=m[1],g=m[0];g<h;g++){var _=p[g];o[_][0]=f[g]}return new t({data:o,size:[a,1],datatype:n._datatype})}}throw RangeError(`Dimension mismatch. The right side has to be either 1- or 2-dimensional vector.`)}if(P(n)){var v=gi(n);if(v.length===1){if(v[0]!==a)throw RangeError(`Dimension mismatch. Matrix columns must match vector length.`);for(var y=0;y<a;y++)o[y]=[n[y]];return new t({data:o,size:[a,1]})}if(v.length===2){if(v[0]!==a||v[1]!==1)throw RangeError(`Dimension mismatch. Matrix columns must match vector length.`);for(var b=0;b<a;b++)o[b]=[n[b][0]];return new t({data:o,size:[a,1]})}throw RangeError(`Dimension mismatch. The right side has to be either 1- or 2-dimensional vector.`)}}}var Xd=`lsolve`,Zd=V(Xd,[`typed`,`matrix`,`divideScalar`,`multiplyScalar`,`subtractScalar`,`equalScalar`,`DenseMatrix`],e=>{var{typed:t,matrix:n,divideScalar:r,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:s}=e,c=Yd({DenseMatrix:s});return t(Xd,{"SparseMatrix, Array | Matrix":function(e,t){return u(e,t)},"DenseMatrix, Array | Matrix":function(e,t){return l(e,t)},"Array, Array | Matrix":function(e,t){return l(n(e),t).valueOf()}});function l(e,t){t=c(e,t,!0);for(var n=t._data,l=e._size[0],u=e._size[1],d=[],f=e._data,p=0;p<u;p++){var m=n[p][0]||0,h=void 0;if(o(m,0))h=0;else{var g=f[p][p];if(o(g,0))throw Error(`Linear system cannot be solved since matrix is singular`);h=r(m,g);for(var _=p+1;_<l;_++)n[_]=[a(n[_][0]||0,i(h,f[_][p]))]}d[p]=[h]}return new s({data:d,size:[l,1]})}function u(e,t){t=c(e,t,!0);for(var n=t._data,l=e._size[0],u=e._size[1],d=e._values,f=e._index,p=e._ptr,m=[],h=0;h<u;h++){var g=n[h][0]||0;if(o(g,0))m[h]=[0];else{for(var _=0,v=[],y=[],b=p[h],x=p[h+1],S=b;S<x;S++){var C=f[S];C===h?_=d[S]:C>h&&(v.push(d[S]),y.push(C))}if(o(_,0))throw Error(`Linear system cannot be solved since matrix is singular`);for(var w=r(g,_),T=0,E=y.length;T<E;T++){var D=y[T];n[D]=[a(n[D][0]||0,i(w,v[T]))]}m[h]=[w]}}return new s({data:m,size:[l,1]})}}),Qd=`usolve`,$d=V(Qd,[`typed`,`matrix`,`divideScalar`,`multiplyScalar`,`subtractScalar`,`equalScalar`,`DenseMatrix`],e=>{var{typed:t,matrix:n,divideScalar:r,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:s}=e,c=Yd({DenseMatrix:s});return t(Qd,{"SparseMatrix, Array | Matrix":function(e,t){return u(e,t)},"DenseMatrix, Array | Matrix":function(e,t){return l(e,t)},"Array, Array | Matrix":function(e,t){return l(n(e),t).valueOf()}});function l(e,t){t=c(e,t,!0);for(var n=t._data,l=e._size[0],u=e._size[1],d=[],f=e._data,p=u-1;p>=0;p--){var m=n[p][0]||0,h=void 0;if(o(m,0))h=0;else{var g=f[p][p];if(o(g,0))throw Error(`Linear system cannot be solved since matrix is singular`);h=r(m,g);for(var _=p-1;_>=0;_--)n[_]=[a(n[_][0]||0,i(h,f[_][p]))]}d[p]=[h]}return new s({data:d,size:[l,1]})}function u(e,t){t=c(e,t,!0);for(var n=t._data,l=e._size[0],u=e._size[1],d=e._values,f=e._index,p=e._ptr,m=[],h=u-1;h>=0;h--){var g=n[h][0]||0;if(o(g,0))m[h]=[0];else{for(var _=0,v=[],y=[],b=p[h],x=p[h+1]-1;x>=b;x--){var S=f[x];S===h?_=d[x]:S<h&&(v.push(d[x]),y.push(S))}if(o(_,0))throw Error(`Linear system cannot be solved since matrix is singular`);for(var C=r(g,_),w=0,T=y.length;w<T;w++){var E=y[w];n[E]=[a(n[E][0],i(C,v[w]))]}m[h]=[C]}}return new s({data:m,size:[l,1]})}}),ef=`lsolveAll`,tf=V(ef,[`typed`,`matrix`,`divideScalar`,`multiplyScalar`,`subtractScalar`,`equalScalar`,`DenseMatrix`],e=>{var{typed:t,matrix:n,divideScalar:r,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:s}=e,c=Yd({DenseMatrix:s});return t(ef,{"SparseMatrix, Array | Matrix":function(e,t){return u(e,t)},"DenseMatrix, Array | Matrix":function(e,t){return l(e,t)},"Array, Array | Matrix":function(e,t){return l(n(e),t).map(e=>e.valueOf())}});function l(e,t){for(var n=[c(e,t,!0)._data.map(e=>e[0])],l=e._data,u=e._size[0],d=e._size[1],f=0;f<d;f++)for(var p=n.length,m=0;m<p;m++){var h=n[m];if(!o(l[f][f],0)){h[f]=r(h[f],l[f][f]);for(var g=f+1;g<d;g++)h[g]=a(h[g],i(h[f],l[g][f]))}else if(!o(h[f],0)){if(m===0)return[];n.splice(m,1),--m,--p}else if(m===0){var _=[...h];_[f]=1;for(var v=f+1;v<d;v++)_[v]=a(_[v],l[v][f]);n.push(_)}}return n.map(e=>new s({data:e.map(e=>[e]),size:[u,1]}))}function u(e,t){for(var n=[c(e,t,!0)._data.map(e=>e[0])],l=e._size[0],u=e._size[1],d=e._values,f=e._index,p=e._ptr,m=0;m<u;m++)for(var h=n.length,g=0;g<h;g++){for(var _=n[g],v=[],y=[],b=p[m],x=p[m+1],S=0,C=b;C<x;C++){var w=f[C];w===m?S=d[C]:w>m&&(v.push(d[C]),y.push(w))}if(!o(S,0)){_[m]=r(_[m],S);for(var T=0,E=y.length;T<E;T++){var D=y[T];_[D]=a(_[D],i(_[m],v[T]))}}else if(!o(_[m],0)){if(g===0)return[];n.splice(g,1),--g,--h}else if(g===0){var O=[..._];O[m]=1;for(var k=0,A=y.length;k<A;k++){var j=y[k];O[j]=a(O[j],v[k])}n.push(O)}}return n.map(e=>new s({data:e.map(e=>[e]),size:[l,1]}))}}),nf=`usolveAll`,rf=V(nf,[`typed`,`matrix`,`divideScalar`,`multiplyScalar`,`subtractScalar`,`equalScalar`,`DenseMatrix`],e=>{var{typed:t,matrix:n,divideScalar:r,multiplyScalar:i,subtractScalar:a,equalScalar:o,DenseMatrix:s}=e,c=Yd({DenseMatrix:s});return t(nf,{"SparseMatrix, Array | Matrix":function(e,t){return u(e,t)},"DenseMatrix, Array | Matrix":function(e,t){return l(e,t)},"Array, Array | Matrix":function(e,t){return l(n(e),t).map(e=>e.valueOf())}});function l(e,t){for(var n=[c(e,t,!0)._data.map(e=>e[0])],l=e._data,u=e._size[0],d=e._size[1]-1;d>=0;d--)for(var f=n.length,p=0;p<f;p++){var m=n[p];if(!o(l[d][d],0)){m[d]=r(m[d],l[d][d]);for(var h=d-1;h>=0;h--)m[h]=a(m[h],i(m[d],l[h][d]))}else if(!o(m[d],0)){if(p===0)return[];n.splice(p,1),--p,--f}else if(p===0){var g=[...m];g[d]=1;for(var _=d-1;_>=0;_--)g[_]=a(g[_],l[_][d]);n.push(g)}}return n.map(e=>new s({data:e.map(e=>[e]),size:[u,1]}))}function u(e,t){for(var n=[c(e,t,!0)._data.map(e=>e[0])],l=e._size[0],u=e._size[1],d=e._values,f=e._index,p=e._ptr,m=u-1;m>=0;m--)for(var h=n.length,g=0;g<h;g++){for(var _=n[g],v=[],y=[],b=p[m],x=p[m+1],S=0,C=x-1;C>=b;C--){var w=f[C];w===m?S=d[C]:w<m&&(v.push(d[C]),y.push(w))}if(!o(S,0)){_[m]=r(_[m],S);for(var T=0,E=y.length;T<E;T++){var D=y[T];_[D]=a(_[D],i(_[m],v[T]))}}else if(!o(_[m],0)){if(g===0)return[];n.splice(g,1),--g,--h}else if(g===0){var O=[..._];O[m]=1;for(var k=0,A=y.length;k<A;k++){var j=y[k];O[j]=a(O[j],v[k])}n.push(O)}}return n.map(e=>new s({data:e.map(e=>[e]),size:[l,1]}))}}),af=V(`matAlgo08xS0Sid`,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return function(e,r,i){var a=e._values,o=e._index,s=e._ptr,c=e._size,l=e._datatype||e._data===void 0?e._datatype:e.getDataType(),u=r._values,d=r._index,f=r._ptr,p=r._size,m=r._datatype||r._data===void 0?r._datatype:r.getDataType();if(c.length!==p.length)throw new mi(c.length,p.length);if(c[0]!==p[0]||c[1]!==p[1])throw RangeError(`Dimension mismatch. Matrix A (`+c+`) must match Matrix B (`+p+`)`);if(!a||!u)throw Error(`Cannot perform operation on Pattern Sparse Matrices`);var h=c[0],g=c[1],_,v=n,y=0,b=i;typeof l==`string`&&l===m&&l!==`mixed`&&(_=l,v=t.find(n,[_,_]),y=t.convert(0,_),b=t.find(i,[_,_]));for(var x=[],S=[],C=[],w=[],T=[],E,D,O,k,A=0;A<g;A++){C[A]=S.length;var j=A+1;for(D=s[A],O=s[A+1],E=D;E<O;E++)k=o[E],T[k]=j,w[k]=a[E],S.push(k);for(D=f[A],O=f[A+1],E=D;E<O;E++)k=d[E],T[k]===j&&(w[k]=b(w[k],u[E]));for(E=C[A];E<S.length;){k=S[E];var M=w[k];v(M,y)?S.splice(E,1):(x.push(M),E++)}}return C[g]=S.length,e.createSparseMatrix({values:x,index:S,ptr:C,size:[h,g],datatype:l===e._datatype&&m===r._datatype?_:void 0})}}),of=V(`useMatrixForArrayScalar`,[`typed`,`matrix`],e=>{var{typed:t,matrix:n}=e;return{"Array, number":t.referTo(`DenseMatrix, number`,e=>(t,r)=>e(n(t),r).valueOf()),"Array, BigNumber":t.referTo(`DenseMatrix, BigNumber`,e=>(t,r)=>e(n(t),r).valueOf()),"number, Array":t.referTo(`number, DenseMatrix`,e=>(t,r)=>e(t,n(r)).valueOf()),"BigNumber, Array":t.referTo(`BigNumber, DenseMatrix`,e=>(t,r)=>e(t,n(r)).valueOf())}}),sf=`leftShift`,cf=V(sf,[`typed`,`matrix`,`equalScalar`,`zeros`,`DenseMatrix`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,zeros:i,DenseMatrix:a,concat:o}=e,s=yc({typed:t}),c=uc({typed:t,equalScalar:r}),l=af({typed:t,equalScalar:r}),u=xc({typed:t,DenseMatrix:a}),d=Vs({typed:t,equalScalar:r}),f=Us({typed:t}),p=gc({typed:t,matrix:n,concat:o}),m=of({typed:t,matrix:n});return t(sf,{"number, number":Ua,"BigNumber, BigNumber":ul,"bigint, bigint":(e,t)=>e<<t,"SparseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>r(n,0)?t.clone():d(t,n,e,!1)),"DenseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>r(n,0)?t.clone():f(t,n,e,!1)),"number | BigNumber, SparseMatrix":t.referToSelf(e=>(t,n)=>r(t,0)?i(n.size(),n.storage()):u(n,t,e,!0)),"number | BigNumber, DenseMatrix":t.referToSelf(e=>(t,n)=>r(t,0)?i(n.size(),n.storage()):f(n,t,e,!0))},m,p({SS:l,DS:s,SD:c}))}),lf=`rightArithShift`,uf=V(lf,[`typed`,`matrix`,`equalScalar`,`zeros`,`DenseMatrix`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,zeros:i,DenseMatrix:a,concat:o}=e,s=yc({typed:t}),c=uc({typed:t,equalScalar:r}),l=af({typed:t,equalScalar:r}),u=xc({typed:t,DenseMatrix:a}),d=Vs({typed:t,equalScalar:r}),f=Us({typed:t}),p=gc({typed:t,matrix:n,concat:o}),m=of({typed:t,matrix:n});return t(lf,{"number, number":Wa,"BigNumber, BigNumber":dl,"bigint, bigint":(e,t)=>e>>t,"SparseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>r(n,0)?t.clone():d(t,n,e,!1)),"DenseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>r(n,0)?t.clone():f(t,n,e,!1)),"number | BigNumber, SparseMatrix":t.referToSelf(e=>(t,n)=>r(t,0)?i(n.size(),n.storage()):u(n,t,e,!0)),"number | BigNumber, DenseMatrix":t.referToSelf(e=>(t,n)=>r(t,0)?i(n.size(),n.storage()):f(n,t,e,!0))},m,p({SS:l,DS:s,SD:c}))}),df=`rightLogShift`,ff=V(df,[`typed`,`matrix`,`equalScalar`,`zeros`,`DenseMatrix`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,zeros:i,DenseMatrix:a,concat:o}=e,s=yc({typed:t}),c=uc({typed:t,equalScalar:r}),l=af({typed:t,equalScalar:r}),u=xc({typed:t,DenseMatrix:a}),d=Vs({typed:t,equalScalar:r}),f=Us({typed:t}),p=gc({typed:t,matrix:n,concat:o}),m=of({typed:t,matrix:n});return t(df,{"number, number":Ga,"SparseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>r(n,0)?t.clone():d(t,n,e,!1)),"DenseMatrix, number | BigNumber":t.referToSelf(e=>(t,n)=>r(n,0)?t.clone():f(t,n,e,!1)),"number | BigNumber, SparseMatrix":t.referToSelf(e=>(t,n)=>r(t,0)?i(n.size(),n.storage()):u(n,t,e,!0)),"number | BigNumber, DenseMatrix":t.referToSelf(e=>(t,n)=>r(t,0)?i(n.size(),n.storage()):f(n,t,e,!0))},m,p({SS:l,DS:s,SD:c}))}),pf=`and`,mf=V(pf,[`typed`,`matrix`,`equalScalar`,`zeros`,`not`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,zeros:i,not:a,concat:o}=e,s=uc({typed:t,equalScalar:r}),c=kc({typed:t,equalScalar:r}),l=Vs({typed:t,equalScalar:r}),u=Us({typed:t}),d=gc({typed:t,matrix:n,concat:o});return t(pf,{"number, number":ro,"Complex, Complex":function(e,t){return(e.re!==0||e.im!==0)&&(t.re!==0||t.im!==0)},"BigNumber, BigNumber":function(e,t){return!e.isZero()&&!t.isZero()&&!e.isNaN()&&!t.isNaN()},"bigint, bigint":ro,"Unit, Unit":t.referToSelf(e=>(t,n)=>e(t.value||0,n.value||0)),"SparseMatrix, any":t.referToSelf(e=>(t,n)=>a(n)?i(t.size(),t.storage()):l(t,n,e,!1)),"DenseMatrix, any":t.referToSelf(e=>(t,n)=>a(n)?i(t.size(),t.storage()):u(t,n,e,!1)),"any, SparseMatrix":t.referToSelf(e=>(t,n)=>a(t)?i(t.size(),t.storage()):l(n,t,e,!0)),"any, DenseMatrix":t.referToSelf(e=>(t,n)=>a(t)?i(t.size(),t.storage()):u(n,t,e,!0)),"Array, any":t.referToSelf(e=>(t,r)=>e(n(t),r).valueOf()),"any, Array":t.referToSelf(e=>(t,r)=>e(t,n(r)).valueOf())},d({SS:c,DS:s}))}),hf=`compare`,gf=V(hf,[`typed`,`config`,`matrix`,`equalScalar`,`BigNumber`,`Fraction`,`DenseMatrix`,`concat`],e=>{var{typed:t,config:n,equalScalar:r,matrix:i,BigNumber:a,Fraction:o,DenseMatrix:s,concat:c}=e,l=dc({typed:t}),u=fc({typed:t,equalScalar:r}),d=Hs({typed:t,DenseMatrix:s}),f=gc({typed:t,matrix:i,concat:c}),p=Qo({typed:t});return t(hf,_f({typed:t,config:n}),{"boolean, boolean":function(e,t){return e===t?0:e>t?1:-1},"BigNumber, BigNumber":function(e,t){return Mo(e,t,n.relTol,n.absTol)?new a(0):new a(e.cmp(t))},"bigint, bigint":function(e,t){return e===t?0n:e>t?1n:-1n},"Fraction, Fraction":function(e,t){return new o(e.compare(t))},"Complex, Complex":function(){throw TypeError(`No ordering relation is defined for complex numbers`)}},p,f({SS:u,DS:l,Ss:d}))}),_f=V(hf,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t(hf,{"number, number":function(e,t){return gt(e,t,n.relTol,n.absTol)?0:e>t?1:-1}})}),vf=l(o(((e,t)=>{t.exports=function e(t,n){"use strict";var r=/(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi,i=/(^[ ]*|[ ]*$)/g,a=/(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,o=/^0x[0-9a-f]+$/i,s=/^0/,c=function(t){return e.insensitive&&(``+t).toLowerCase()||``+t},l=c(t).replace(i,``)||``,u=c(n).replace(i,``)||``,d=l.replace(r,`\0$1\0`).replace(/\0$/,``).replace(/^\0/,``).split(`\0`),f=u.replace(r,`\0$1\0`).replace(/\0$/,``).replace(/^\0/,``).split(`\0`),p=parseInt(l.match(o),16)||d.length!==1&&l.match(a)&&Date.parse(l),m=parseInt(u.match(o),16)||p&&u.match(a)&&Date.parse(u)||null,h,g;if(m){if(p<m)return-1;if(p>m)return 1}for(var _=0,v=Math.max(d.length,f.length);_<v;_++){if(h=!(d[_]||``).match(s)&&parseFloat(d[_])||d[_]||0,g=!(f[_]||``).match(s)&&parseFloat(f[_])||f[_]||0,isNaN(h)!==isNaN(g))return isNaN(h)?1:-1;if(typeof h!=typeof g&&(h+=``,g+=``),h<g)return-1;if(h>g)return 1}return 0}}))(),1),yf=`compareNatural`,bf=V(yf,[`typed`,`compare`],e=>{var{typed:t,compare:n}=e,r=n.signatures[`boolean,boolean`];return t(yf,{"any, any":i});function i(e,t){var c=Me(e),l=Me(t),u;if((c===`number`||c===`BigNumber`||c===`Fraction`||c===`bigint`)&&(l===`number`||l===`BigNumber`||l===`Fraction`||l===`bigint`))return u=n(e,t),u.toString()===`0`?(0,vf.default)(c,l):u>0?1:-1;var d=[`Array`,`DenseMatrix`,`SparseMatrix`];if(d.includes(c)||d.includes(l))return u=a(i,e,t),u===0?(0,vf.default)(c,l):u;if(c!==l)return(0,vf.default)(c,l);if(c===`Complex`)return xf(e,t);if(c===`Unit`)return e.equalBase(t)?i(e.value,t.value):o(i,e.formatUnits(),t.formatUnits());if(c===`boolean`)return r(e,t);if(c===`string`)return(0,vf.default)(e,t);if(c===`Object`)return s(i,e,t);if(c===`null`||c===`undefined`)return 0;throw TypeError(`Unsupported type of value "`+c+`"`)}function a(e,t,n){return ne(t)&&ne(n)?o(e,t.toJSON().values,n.toJSON().values):ne(t)?a(e,t.toArray(),n):ne(n)?a(e,t,n.toArray()):te(t)?a(e,t.toJSON().data,n):te(n)?a(e,t,n.toJSON().data):Array.isArray(t)?Array.isArray(n)?o(e,t,n):a(e,t,[n]):a(e,[t],n)}function o(e,t,n){for(var r=0,i=Math.min(t.length,n.length);r<i;r++){var a=e(t[r],n[r]);if(a!==0)return a}return t.length>n.length?1:t.length<n.length?-1:0}function s(e,t,n){var r=Object.keys(t),i=Object.keys(n);r.sort(vf.default),i.sort(vf.default);var a=o(e,r,i);if(a!==0)return a;for(var s=0;s<r.length;s++){var c=e(t[r[s]],n[i[s]]);if(c!==0)return c}return 0}});function xf(e,t){return e.re>t.re?1:e.re<t.re?-1:e.im>t.im?1:e.im<t.im?-1:0}var Sf=`compareText`,Cf=[`typed`,`matrix`,`concat`];pi.signature=`any, any`;var wf=V(Sf,Cf,e=>{var{typed:t,matrix:n,concat:r}=e;return t(Sf,pi,gc({typed:t,matrix:n,concat:r})({elop:pi,Ds:!0}))}),Tf=`equal`,Ef=V(Tf,[`typed`,`matrix`,`equalScalar`,`DenseMatrix`,`SparseMatrix`],e=>{var{typed:t,matrix:n,equalScalar:r,DenseMatrix:i,concat:a,SparseMatrix:o}=e,s=dc({typed:t}),c=vl({typed:t,SparseMatrix:o}),l=Hs({typed:t,DenseMatrix:i}),u=gc({typed:t,matrix:n});return t(Tf,Df({typed:t,equalScalar:r}),u({elop:r,SS:c,DS:s,Ss:l}))}),Df=V(Tf,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return t(Tf,{"any, any":function(e,t){return e===null?t===null:t===null?e===null:e===void 0?t===void 0:t===void 0?e===void 0:n(e,t)}})}),Of=`equalText`,kf=V(Of,[`typed`,`compareText`,`isZero`],e=>{var{typed:t,compareText:n,isZero:r}=e;return t(Of,{"any, any":function(e,t){return r(n(e,t))}})}),Af=`smaller`,jf=V(Af,[`typed`,`config`,`bignumber`,`matrix`,`DenseMatrix`,`concat`,`SparseMatrix`],e=>{var{typed:t,config:n,bignumber:r,matrix:i,DenseMatrix:a,concat:o,SparseMatrix:s}=e,c=dc({typed:t}),l=vl({typed:t,SparseMatrix:s}),u=Hs({typed:t,DenseMatrix:a}),d=gc({typed:t,matrix:i,concat:o}),f=Qo({typed:t});function p(e,t){return e.lt(t)&&!Mo(e,t,n.relTol,n.absTol)}return t(Af,Mf({typed:t,config:n}),{"boolean, boolean":(e,t)=>e<t,"BigNumber, BigNumber":p,"bigint, bigint":(e,t)=>e<t,"Fraction, Fraction":(e,t)=>e.compare(t)===-1,"Fraction, BigNumber":function(e,t){return p(r(e),t)},"BigNumber, Fraction":function(e,t){return p(e,r(t))},"Complex, Complex":function(e,t){throw TypeError(`No ordering relation is defined for complex numbers`)}},f,d({SS:l,DS:c,Ss:u}))}),Mf=V(Af,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t(Af,{"number, number":function(e,t){return e<t&&!gt(e,t,n.relTol,n.absTol)}})}),Nf=`smallerEq`,Pf=V(Nf,[`typed`,`config`,`matrix`,`DenseMatrix`,`concat`,`SparseMatrix`],e=>{var{typed:t,config:n,matrix:r,DenseMatrix:i,concat:a,SparseMatrix:o}=e,s=dc({typed:t}),c=vl({typed:t,SparseMatrix:o}),l=Hs({typed:t,DenseMatrix:i}),u=gc({typed:t,matrix:r,concat:a}),d=Qo({typed:t});return t(Nf,Ff({typed:t,config:n}),{"boolean, boolean":(e,t)=>e<=t,"BigNumber, BigNumber":function(e,t){return e.lte(t)||Mo(e,t,n.relTol,n.absTol)},"bigint, bigint":(e,t)=>e<=t,"Fraction, Fraction":(e,t)=>e.compare(t)!==1,"Complex, Complex":function(){throw TypeError(`No ordering relation is defined for complex numbers`)}},d,u({SS:c,DS:s,Ss:l}))}),Ff=V(Nf,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t(Nf,{"number, number":function(e,t){return e<=t||gt(e,t,n.relTol,n.absTol)}})}),If=`larger`,Lf=V(If,[`typed`,`config`,`bignumber`,`matrix`,`DenseMatrix`,`concat`,`SparseMatrix`],e=>{var{typed:t,config:n,bignumber:r,matrix:i,DenseMatrix:a,concat:o,SparseMatrix:s}=e,c=dc({typed:t}),l=vl({typed:t,SparseMatrix:s}),u=Hs({typed:t,DenseMatrix:a}),d=gc({typed:t,matrix:i,concat:o}),f=Qo({typed:t});function p(e,t){return e.gt(t)&&!Mo(e,t,n.relTol,n.absTol)}return t(If,Rf({typed:t,config:n}),{"boolean, boolean":(e,t)=>e>t,"BigNumber, BigNumber":p,"bigint, bigint":(e,t)=>e>t,"Fraction, Fraction":(e,t)=>e.compare(t)===1,"Fraction, BigNumber":function(e,t){return p(r(e),t)},"BigNumber, Fraction":function(e,t){return p(e,r(t))},"Complex, Complex":function(){throw TypeError(`No ordering relation is defined for complex numbers`)}},f,d({SS:l,DS:c,Ss:u}))}),Rf=V(If,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t(If,{"number, number":function(e,t){return e>t&&!gt(e,t,n.relTol,n.absTol)}})}),zf=`largerEq`,Bf=V(zf,[`typed`,`config`,`matrix`,`DenseMatrix`,`concat`,`SparseMatrix`],e=>{var{typed:t,config:n,matrix:r,DenseMatrix:i,concat:a,SparseMatrix:o}=e,s=dc({typed:t}),c=vl({typed:t,SparseMatrix:o}),l=Hs({typed:t,DenseMatrix:i}),u=gc({typed:t,matrix:r,concat:a}),d=Qo({typed:t});return t(zf,Vf({typed:t,config:n}),{"boolean, boolean":(e,t)=>e>=t,"BigNumber, BigNumber":function(e,t){return e.gte(t)||Mo(e,t,n.relTol,n.absTol)},"bigint, bigint":function(e,t){return e>=t},"Fraction, Fraction":(e,t)=>e.compare(t)!==-1,"Complex, Complex":function(){throw TypeError(`No ordering relation is defined for complex numbers`)}},d,u({SS:c,DS:s,Ss:l}))}),Vf=V(zf,[`typed`,`config`],e=>{var{typed:t,config:n}=e;return t(zf,{"number, number":function(e,t){return e>=t||gt(e,t,n.relTol,n.absTol)}})}),Hf=`deepEqual`,Uf=V(Hf,[`typed`,`equal`],e=>{var{typed:t,equal:n}=e;return t(Hf,{"any, any":function(e,t){return r(e.valueOf(),t.valueOf())}});function r(e,t){if(Array.isArray(e)){if(Array.isArray(t)){var i=e.length;if(i!==t.length)return!1;for(var a=0;a<i;a++)if(!r(e[a],t[a]))return!1;return!0}return!1}return!Array.isArray(t)&&n(e,t)}}),Wf=`unequal`,Gf=V(Wf,[`typed`,`config`,`equalScalar`,`matrix`,`DenseMatrix`,`concat`,`SparseMatrix`],e=>{var{typed:t,config:n,equalScalar:r,matrix:i,DenseMatrix:a,concat:o,SparseMatrix:s}=e,c=dc({typed:t}),l=vl({typed:t,SparseMatrix:s}),u=Hs({typed:t,DenseMatrix:a}),d=gc({typed:t,matrix:i,concat:o});return t(Wf,Kf({typed:t,equalScalar:r}),d({elop:f,SS:l,DS:c,Ss:u}));function f(e,t){return!r(e,t)}}),Kf=V(Wf,[`typed`,`equalScalar`],e=>{var{typed:t,equalScalar:n}=e;return t(Wf,{"any, any":function(e,t){return e===null?t!==null:t===null?e!==null:e===void 0?t!==void 0:t===void 0?e!==void 0:!n(e,t)}})}),qf=`partitionSelect`,Jf=V(qf,[`typed`,`isNumeric`,`isNaN`,`compare`],e=>{var{typed:t,isNumeric:n,isNaN:r,compare:i}=e,a=i,o=(e,t)=>-i(e,t);return t(qf,{"Array | Matrix, number":function(e,t){return s(e,t,a)},"Array | Matrix, number, string":function(e,t,n){if(n===`asc`)return s(e,t,a);if(n===`desc`)return s(e,t,o);throw Error(`Compare string must be "asc" or "desc"`)},"Array | Matrix, number, function":s});function s(e,t,n){if(!H(t)||t<0)throw Error(`k must be a non-negative integer`);if(F(e)){if(e.size().length>1)throw Error(`Only one dimensional matrices supported`);return c(e.valueOf(),t,n)}if(Array.isArray(e))return c(e,t,n)}function c(e,t,i){if(t>=e.length)throw Error(`k out of bounds`);for(var a=0;a<e.length;a++)if(n(e[a])&&r(e[a]))return e[a];for(var o=0,s=e.length-1;o<s;){for(var c=o,l=s,u=e[Math.floor(Math.random()*(s-o+1))+o];c<l;)if(i(e[c],u)>=0){var d=e[l];e[l]=e[c],e[c]=d,--l}else++c;i(e[c],u)>0&&--c,t<=c?s=c:o=c+1}return e[t]}}),Yf=`sort`,Xf=V(Yf,[`typed`,`matrix`,`compare`,`compareNatural`],e=>{var{typed:t,matrix:n,compare:r,compareNatural:i}=e,a=r,o=(e,t)=>-r(e,t);return t(Yf,{Array:function(e){return c(e),e.sort(a)},Matrix:function(e){return l(e),n(e.toArray().sort(a),e.storage())},"Array, function":function(e,t){return c(e),e.sort(t)},"Matrix, function":function(e,t){return l(e),n(e.toArray().sort(t),e.storage())},"Array, string":function(e,t){return c(e),e.sort(s(t))},"Matrix, string":function(e,t){return l(e),n(e.toArray().sort(s(t)),e.storage())}});function s(e){if(e===`asc`)return a;if(e===`desc`)return o;if(e===`natural`)return i;throw Error(`String "asc", "desc", or "natural" expected`)}function c(e){if(gi(e).length!==1)throw Error(`One dimensional array expected`)}function l(e){if(e.size().length!==1)throw Error(`One dimensional matrix expected`)}}),Zf=`max`,Qf=V(Zf,[`typed`,`config`,`numeric`,`larger`,`isNaN`],e=>{var{typed:t,config:n,numeric:r,larger:i,isNaN:a}=e;return t(Zf,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(e,t){return ua(e,t.valueOf(),o)},"...":function(e){if(sa(e))throw TypeError(`Scalar values expected in function max`);return s(e)}});function o(e,t){try{return i(e,t)?e:t}catch(e){throw cd(e,`max`,t)}}function s(e){var t;if(ca(e,function(e){try{(a(e)||t===void 0||i(e,t))&&(t=e)}catch(t){throw cd(t,`max`,e)}}),t===void 0)throw Error(`Cannot calculate max of an empty array`);return typeof t==`string`&&(t=r(t,Qe(t,n))),t}}),$f=`min`,ep=V($f,[`typed`,`config`,`numeric`,`smaller`,`isNaN`],e=>{var{typed:t,config:n,numeric:r,smaller:i,isNaN:a}=e;return t($f,{"Array | Matrix":s,"Array | Matrix, number | BigNumber":function(e,t){return ua(e,t.valueOf(),o)},"...":function(e){if(sa(e))throw TypeError(`Scalar values expected in function min`);return s(e)}});function o(e,t){try{return i(e,t)?e:t}catch(e){throw cd(e,`min`,t)}}function s(e){var t;if(ca(e,function(e){try{(a(e)||t===void 0||i(e,t))&&(t=e)}catch(t){throw cd(t,`min`,e)}}),t===void 0)throw Error(`Cannot calculate min of an empty array`);return typeof t==`string`&&(t=r(t,Qe(t,n))),t}}),tp=V(`ImmutableDenseMatrix`,[`smaller`,`DenseMatrix`],e=>{var{smaller:t,DenseMatrix:n}=e;function r(e,t){if(!(this instanceof r))throw SyntaxError(`Constructor must be called with the new operator`);if(t&&!N(t))throw Error(`Invalid datatype: `+t);if(F(e)||P(e)){var i=new n(e,t);this._data=i._data,this._size=i._size,this._datatype=i._datatype,this._min=null,this._max=null}else if(e&&P(e.data)&&P(e.size))this._data=e.data,this._size=e.size,this._datatype=e.datatype,this._min=e.min===void 0?null:e.min,this._max=e.max===void 0?null:e.max;else if(e)throw TypeError(`Unsupported type of data (`+Me(e)+`)`);else this._data=[],this._size=[0],this._datatype=t,this._min=null,this._max=null}return r.prototype=new n,r.prototype.type=`ImmutableDenseMatrix`,r.prototype.isImmutableDenseMatrix=!0,r.prototype.subset=function(e){switch(arguments.length){case 1:var t=n.prototype.subset.call(this,e);return F(t)?new r({data:t._data,size:t._size,datatype:t._datatype}):t;case 2:case 3:throw Error(`Cannot invoke set subset on an Immutable Matrix instance`);default:throw SyntaxError(`Wrong number of arguments`)}},r.prototype.set=function(){throw Error(`Cannot invoke set on an Immutable Matrix instance`)},r.prototype.resize=function(){throw Error(`Cannot invoke resize on an Immutable Matrix instance`)},r.prototype.reshape=function(){throw Error(`Cannot invoke reshape on an Immutable Matrix instance`)},r.prototype.clone=function(){return new r({data:Ne(this._data),size:Ne(this._size),datatype:this._datatype})},r.prototype.toJSON=function(){return{mathjs:`ImmutableDenseMatrix`,data:this._data,size:this._size,datatype:this._datatype}},r.fromJSON=function(e){return new r(e)},r.prototype.swapRows=function(){throw Error(`Cannot invoke swapRows on an Immutable Matrix instance`)},r.prototype.min=function(){if(this._min===null){var e=null;this.forEach(function(n){(e===null||t(n,e))&&(e=n)}),this._min=e===null?void 0:e}return this._min},r.prototype.max=function(){if(this._max===null){var e=null;this.forEach(function(n){(e===null||t(e,n))&&(e=n)}),this._max=e===null?void 0:e}return this._max},r},{isClass:!0}),np=V(`Index`,[`ImmutableDenseMatrix`,`getMatrixDataType`],e=>{var{ImmutableDenseMatrix:t,getMatrixDataType:n}=e;function r(){if(!(this instanceof r))throw SyntaxError(`Constructor must be called with the new operator`);this._dimensions=[],this._sourceSize=[],this._isScalar=!0;for(var e=0,t=arguments.length;e<t;e++){var a=e<0||arguments.length<=e?void 0:arguments[e],o=P(a),s=F(a),c=typeof a,l=null;if(re(a))this._dimensions.push(a),this._isScalar=!1;else if(o||s){var u=void 0;this._isScalar=!1,n(a)===`boolean`?(o&&(u=i(rp(a).valueOf())),s&&(u=i(rp(a._data).valueOf())),l=a.valueOf().length):u=i(a.valueOf()),this._dimensions.push(u)}else if(c===`number`)this._dimensions.push(a);else if(c===`bigint`)this._dimensions.push(Number(a));else if(c===`string`)this._dimensions.push(a);else throw TypeError(`Dimension must be an Array, Matrix, number, bigint, string, or Range`);this._sourceSize.push(l)}}r.prototype.type=`Index`,r.prototype.isIndex=!0;function i(e){for(var n=0,r=e.length;n<r;n++)if(!D(e[n])||!H(e[n]))throw TypeError(`Index parameters must be positive integer numbers`);var i=new t;return i._data=e,i._size=[e.length],i}return r.prototype.clone=function(){var e=new r;return e._dimensions=Ne(this._dimensions),e._isScalar=this._isScalar,e._sourceSize=this._sourceSize,e},r.create=function(e){var t=new r;return r.apply(t,e),t},r.prototype.size=function(){for(var e=[],t=0,n=this._dimensions.length;t<n;t++){var r=this._dimensions[t];e[t]=N(r)||D(r)?1:r.size()[0]}return e},r.prototype.max=function(){for(var e=[],t=0,n=this._dimensions.length;t<n;t++){var r=this._dimensions[t];e[t]=N(r)||D(r)?r:r.max()}return e},r.prototype.min=function(){for(var e=[],t=0,n=this._dimensions.length;t<n;t++){var r=this._dimensions[t];e[t]=N(r)||D(r)?r:r.min()}return e},r.prototype.forEach=function(e){for(var t=0,n=this._dimensions.length;t<n;t++)e(this._dimensions[t],t,this)},r.prototype.dimension=function(e){return D(e)?this._dimensions[e]??null:null},r.prototype.isObjectProperty=function(){return this._dimensions.length===1&&N(this._dimensions[0])},r.prototype.getObjectProperty=function(){return this.isObjectProperty()?this._dimensions[0]:null},r.prototype.isScalar=function(){return this._isScalar},r.prototype.toArray=function(){for(var e=[],t=0,n=this._dimensions.length;t<n;t++){var r=this._dimensions[t];e.push(N(r)||D(r)?r:r.toArray())}return e},r.prototype.valueOf=r.prototype.toArray,r.prototype.toString=function(){for(var e=[],t=0,n=this._dimensions.length;t<n;t++){var r=this._dimensions[t];N(r)?e.push(JSON.stringify(r)):e.push(r.toString())}return`[`+e.join(`, `)+`]`},r.prototype.toJSON=function(){return{mathjs:`Index`,dimensions:this._dimensions}},r.fromJSON=function(e){return r.create(e.dimensions)},r},{isClass:!0});function rp(e){var t=[];return e.forEach((e,n)=>{e&&t.push(n)}),t}var ip=V(`FibonacciHeap`,[`smaller`,`larger`],e=>{var{smaller:t,larger:n}=e,r=1/Math.log((1+Math.sqrt(5))/2);function i(){if(!(this instanceof i))throw SyntaxError(`Constructor must be called with the new operator`);this._minimum=null,this._size=0}i.prototype.type=`FibonacciHeap`,i.prototype.isFibonacciHeap=!0,i.prototype.insert=function(e,n){var r={key:e,value:n,degree:0};if(this._minimum){var i=this._minimum;r.left=i,r.right=i.right,i.right=r,r.right.left=r,t(e,i.key)&&(this._minimum=r)}else r.left=r,r.right=r,this._minimum=r;return this._size++,r},i.prototype.size=function(){return this._size},i.prototype.clear=function(){this._minimum=null,this._size=0},i.prototype.isEmpty=function(){return this._size===0},i.prototype.extractMinimum=function(){var e=this._minimum;if(e===null)return e;for(var t=this._minimum,n=e.degree,r=e.child;n>0;){var i=r.right;r.left.right=r.right,r.right.left=r.left,r.left=t,r.right=t.right,t.right=r,r.right.left=r,r.parent=null,r=i,n--}return e.left.right=e.right,e.right.left=e.left,e===e.right?t=null:(t=e.right,t=l(t,this._size)),this._size--,this._minimum=t,e},i.prototype.remove=function(e){this._minimum=a(this._minimum,e,-1),this.extractMinimum()};function a(e,n,r){n.key=r;var i=n.parent;return i&&t(n.key,i.key)&&(o(e,n,i),s(e,i)),t(n.key,e.key)&&(e=n),e}function o(e,t,n){t.left.right=t.right,t.right.left=t.left,n.degree--,n.child===t&&(n.child=t.right),n.degree===0&&(n.child=null),t.left=e,t.right=e.right,e.right=t,t.right.left=t,t.parent=null,t.mark=!1}function s(e,t){var n=t.parent;n&&(t.mark?(o(e,t,n),s(n)):t.mark=!0)}var c=function(e,t){e.left.right=e.right,e.right.left=e.left,e.parent=t,t.child?(e.left=t.child,e.right=t.child.right,t.child.right=e,e.right.left=e):(t.child=e,e.right=e,e.left=e),t.degree++,e.mark=!1};function l(e,i){var a=Math.floor(Math.log(i)*r)+1,o=Array(a),s=0,l=e;if(l)for(s++,l=l.right;l!==e;)s++,l=l.right;for(var u;s>0;){for(var d=l.degree,f=l.right;u=o[d],u;){if(n(l.key,u.key)){var p=u;u=l,l=p}c(u,l),o[d]=null,d++}o[d]=l,l=f,s--}e=null;for(var m=0;m<a;m++)u=o[m],u&&(e?(u.left.right=u.right,u.right.left=u.left,u.left=e,u.right=e.right,e.right=u,u.right.left=u,t(u.key,e.key)&&(e=u)):e=u);return e}return i},{isClass:!0}),ap=V(`Spa`,[`addScalar`,`equalScalar`,`FibonacciHeap`],e=>{var{addScalar:t,equalScalar:n,FibonacciHeap:r}=e;function i(){if(!(this instanceof i))throw SyntaxError(`Constructor must be called with the new operator`);this._values=[],this._heap=new r}return i.prototype.type=`Spa`,i.prototype.isSpa=!0,i.prototype.set=function(e,t){if(this._values[e])this._values[e].value=t;else{var n=this._heap.insert(e,t);this._values[e]=n}},i.prototype.get=function(e){var t=this._values[e];return t?t.value:0},i.prototype.accumulate=function(e,n){var r=this._values[e];r?r.value=t(r.value,n):(r=this._heap.insert(e,n),this._values[e]=r)},i.prototype.forEach=function(e,t,r){var i=this._heap,a=this._values,o=[],s=i.extractMinimum();for(s&&o.push(s);s&&s.key<=t;)s.key>=e&&(n(s.value,0)||r(s.key,s.value,this)),s=i.extractMinimum(),s&&o.push(s);for(var c=0;c<o.length;c++){var l=o[c];s=i.insert(l.key,l.value),a[s.key]=s}},i.prototype.swap=function(e,t){var n=this._values[e],r=this._values[t];if(!n&&r)n=this._heap.insert(e,r.value),this._heap.remove(r),this._values[e]=n,this._values[t]=void 0;else if(n&&!r)r=this._heap.insert(t,n.value),this._heap.remove(n),this._values[t]=r,this._values[e]=void 0;else if(n&&r){var i=n.value;n.value=r.value,r.value=i}},i},{isClass:!0});function op(e){var t=0,n=1,r=Object.create(null),i=Object.create(null),a=0,o=function(e){var o=i[e];if(o&&(delete r[o],delete i[e],--t,n===o)){if(!t){a=0,n=1;return}for(;!Object.prototype.hasOwnProperty.call(r,++n););}};return e=Math.abs(e),{hit:function(s){var c=i[s],l=++a;if(r[l]=s,i[s]=l,!c)return++t,t<=e?void 0:(s=r[n],o(s),s);if(delete r[c],n===c)for(;!Object.prototype.hasOwnProperty.call(r,++n););},delete:o,clear:function(){t=a=0,n=1,r=Object.create(null),i=Object.create(null)}}}function sp(e){var{hasher:t,limit:n}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return n??=1/0,t??=JSON.stringify,function r(){typeof r.cache!=`object`&&(r.cache={values:new Map,lru:op(n||1/0)});for(var i=[],a=0;a<arguments.length;a++)i[a]=arguments[a];var o=t(i);if(r.cache.values.has(o))return r.cache.lru.hit(o),r.cache.values.get(o);var s=e.apply(e,i);return r.cache.values.set(o,s),r.cache.values.delete(r.cache.lru.hit(o)),s}}var cp=sp(function(e){return new e(1).exp()},{hasher:fp}),lp=sp(function(e){return new e(1).plus(new e(5).sqrt()).div(2)},{hasher:fp}),up=sp(function(e){return e.acos(-1)},{hasher:fp}),dp=sp(function(e){return up(e).times(2)},{hasher:fp});function fp(e){return e[0].precision}function pp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function mp(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?pp(Object(n),!0).forEach(function(t){Ju(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pp(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var hp=V(`Unit`,[`?on`,`config`,`addScalar`,`subtractScalar`,`multiplyScalar`,`divideScalar`,`pow`,`abs`,`fix`,`round`,`equal`,`isNumeric`,`format`,`number`,`Complex`,`BigNumber`,`Fraction`],e=>{var{on:t,config:n,addScalar:r,subtractScalar:i,multiplyScalar:a,divideScalar:o,pow:s,abs:c,fix:l,round:d,equal:f,isNumeric:p,format:m,number:h,Complex:g,BigNumber:_,Fraction:v}=e,y=h,b=!1,x=!0;function S(e,t){if(!(this instanceof S))throw Error(`Constructor must be called with the new operator`);if(!(e==null||p(e)||A(e)))throw TypeError(`First parameter in Unit constructor must be number, BigNumber, Fraction, Complex, or undefined`);if(this.fixPrefix=b,this.skipAutomaticSimplification=x,t===void 0)this.units=[],this.dimensions=oe.map(e=>0);else if(typeof t==`string`){var n=S.parse(t);this.units=n.units,this.dimensions=n.dimensions}else if(M(t)&&t.value===null)this.fixPrefix=t.fixPrefix,this.skipAutomaticSimplification=t.skipAutomaticSimplification,this.dimensions=t.dimensions.slice(0),this.units=t.units.map(e=>u({},e));else throw TypeError(`Second parameter in Unit constructor must be a string or valueless Unit`);this.value=this._normalize(e)}Object.defineProperty(S,"name",{value:`Unit`}),S.prototype.constructor=S,S.prototype.type=`Unit`,S.prototype.isUnit=!0;var C,w,T;function E(){for(;T===` `||T===` `;)k()}function D(e){return e>=`0`&&e<=`9`||e===`.`}function O(e){return e>=`0`&&e<=`9`}function k(){w++,T=C.charAt(w)}function j(e){w=e,T=C.charAt(w)}function N(){var e=``,t=w;if(T===`+`?k():T===`-`&&(e+=T,k()),!D(T))return j(t),null;if(T===`.`){if(e+=T,k(),!O(T))return j(t),null}else{for(;O(T);)e+=T,k();T===`.`&&(e+=T,k())}for(;O(T);)e+=T,k();if(T===`E`||T===`e`){var n=``,r=w;if(n+=T,k(),(T===`+`||T===`-`)&&(n+=T,k()),!O(T))return j(r),e;for(e+=n;O(T);)e+=T,k()}return e}function P(){for(var e=``;O(T)||S.isValidAlpha(T);)e+=T,k();var t=e.charAt(0);return S.isValidAlpha(t)?e:null}function F(e){return T===e?(k(),e):null}S.parse=function(e,t){if(t||={},C=e,w=-1,T=``,typeof C!=`string`)throw TypeError(`Invalid argument in Unit.parse, string expected`);var r=new S;r.units=[];var i=1,a=!1;k(),E();var o=N(),s=null;if(o){if(n.number===`BigNumber`)s=new _(o);else if(n.number===`Fraction`)try{s=new v(o)}catch{s=parseFloat(o)}else s=parseFloat(o);E(),F(`*`)?(i=1,a=!0):F(`/`)&&(i=-1,a=!0)}for(var c=[],l=1;;){for(E();T===`(`;)c.push(i),l*=i,i=1,k(),E();var u=void 0;if(T){var d=T;if(u=P(),u===null)throw SyntaxError(`Unexpected "`+d+`" in "`+C+`" at index `+w.toString())}else break;var f=ee(u);if(f===null)throw SyntaxError(`Unit "`+u+`" not found.`);var p=i*l;if(E(),F(`^`)){E();var m=N();if(m===null)throw SyntaxError(`In "`+e+`", "^" must be followed by a floating-point number`);p*=m}r.units.push({unit:f.unit,prefix:f.prefix,power:p});for(var h=0;h<oe.length;h++)r.dimensions[h]+=(f.unit.dimensions[h]||0)*p;for(E();T===`)`;){if(c.length===0)throw SyntaxError(`Unmatched ")" in "`+C+`" at index `+w.toString());l/=c.pop(),k(),E()}if(a=!1,F(`*`)?(i=1,a=!0):F(`/`)?(i=-1,a=!0):i=1,f.unit.base){var g=f.unit.base.key;de.auto[g]={unit:f.unit,prefix:f.prefix}}}if(E(),T)throw SyntaxError(`Could not parse: "`+e+`"`);if(a)throw SyntaxError(`Trailing characters: "`+e+`"`);if(c.length!==0)throw SyntaxError(`Unmatched "(" in "`+C+`"`);if(r.units.length===0&&!t.allowNoUnits)throw SyntaxError(`"`+e+`" contains no units`);return r.value=s===void 0?null:r._normalize(s),r},S.prototype.clone=function(){var e=new S;e.fixPrefix=this.fixPrefix,e.skipAutomaticSimplification=this.skipAutomaticSimplification,e.value=Ne(this.value),e.dimensions=this.dimensions.slice(0),e.units=[];for(var t=0;t<this.units.length;t++)for(var n in e.units[t]={},this.units[t])z(this.units[t],n)&&(e.units[t][n]=this.units[t][n]);return e},S.prototype.valueType=function(){return Me(this.value)},S.prototype._isDerived=function(){return this.units.length===0?!1:this.units.length>1||Math.abs(this.units[0].power-1)>1e-15},S.prototype._normalize=function(e){if(e==null||this.units.length===0)return e;for(var t=e,n=S._getNumberConverter(Me(e)),r=0;r<this.units.length;r++){var i=n(this.units[r].unit.value),o=n(this.units[r].prefix.value),c=n(this.units[r].power);t=a(t,s(a(i,o),c))}return t},S.prototype._denormalize=function(e,t){if(e==null||this.units.length===0)return e;for(var n=e,r=S._getNumberConverter(Me(e)),i=0;i<this.units.length;i++){var c=r(this.units[i].unit.value),l=r(this.units[i].prefix.value),u=r(this.units[i].power);n=o(n,s(a(c,l),u))}return n};var ee=sp(e=>{if(z(R,e)){var t=R[e];return{unit:t,prefix:t.prefixes[``]}}for(var n in R)if(z(R,n)&&ai(e,n)){var r=R[n],i=e.length-n.length,a=e.substring(0,i),o=z(r.prefixes,a)?r.prefixes[a]:void 0;if(o!==void 0)return{unit:r,prefix:o}}return null},{hasher:e=>e[0],limit:100});S.isValuelessUnit=function(e){return ee(e)!==null},S.prototype.hasBase=function(e){if(typeof e==`string`&&(e=L[e]),!e)return!1;for(var t=0;t<oe.length;t++)if(Math.abs((this.dimensions[t]||0)-(e.dimensions[t]||0))>1e-12)return!1;return!0},S.prototype.equalBase=function(e){for(var t=0;t<oe.length;t++)if(Math.abs((this.dimensions[t]||0)-(e.dimensions[t]||0))>1e-12)return!1;return!0},S.prototype.equals=function(e){return this.equalBase(e)&&f(this.value,e.value)},S.prototype.multiply=function(e){for(var t=this.clone(),n=M(e)?e:new S(e),r=0;r<oe.length;r++)t.dimensions[r]=(this.dimensions[r]||0)+(n.dimensions[r]||0);for(var i=0;i<n.units.length;i++){var o=mp({},n.units[i]);t.units.push(o)}return t.value=this.value!==null||n.value!==null?a(this.value===null?this._normalize(ne(n.value)):this.value,n.value===null?n._normalize(ne(this.value)):n.value):null,M(e)&&(t.skipAutomaticSimplification=!1),te(t)},S.prototype.divideInto=function(e){return new S(e).divide(this)},S.prototype.divide=function(e){for(var t=this.clone(),n=M(e)?e:new S(e),r=0;r<oe.length;r++)t.dimensions[r]=(this.dimensions[r]||0)-(n.dimensions[r]||0);for(var i=0;i<n.units.length;i++){var a=mp(mp({},n.units[i]),{},{power:-n.units[i].power});t.units.push(a)}return t.value=this.value!==null||n.value!==null?o(this.value===null?this._normalize(ne(n.value)):this.value,n.value===null?n._normalize(ne(this.value)):n.value):null,M(e)&&(t.skipAutomaticSimplification=!1),te(t)},S.prototype.pow=function(e){for(var t=this.clone(),n=0;n<oe.length;n++)t.dimensions[n]=(this.dimensions[n]||0)*e;for(var r=0;r<t.units.length;r++)t.units[r].power*=e;return t.value=t.value===null?null:s(t.value,e),t.skipAutomaticSimplification=!1,te(t)};function te(e){return e.equalBase(L.NONE)&&e.value!==null&&!n.predictable?e.value:e}function ne(e){return S._getNumberConverter(Me(e))(1)}S.prototype.abs=function(){var e=this.clone();if(e.value!==null){if(e._isDerived()||e.units.length===0||e.units[0].unit.offset===0)e.value=c(e.value);else{var t=e._numberConverter(),n=a(t(e.units[0].unit.value),t(e.units[0].unit.offset));e.value=i(c(r(e.value,n)),n)}}for(var o in e.units)(e.units[o].unit.name===`VA`||e.units[o].unit.name===`VAR`)&&(e.units[o].unit=R.W);return e},S.prototype.to=function(e){var t=this.value===null?this._normalize(1):this.value,n;if(typeof e==`string`)n=S.parse(e);else if(M(e))n=e.clone();else throw Error(`String or Unit expected as parameter`);if(!this.equalBase(n))throw Error(`Units do not match ('${n.toString()}' != '${this.toString()}')`);if(n.value!==null)throw Error(`Cannot convert to a unit with a value`);if(this.value===null||this._isDerived()||this.units.length===0||n.units.length===0||this.units[0].unit.offset===n.units[0].unit.offset)n.value=Ne(t);else{var o=S._getNumberConverter(Me(t)),s=this.units[0].unit.value,c=this.units[0].unit.offset,l=a(s,c),u=n.units[0].unit.value,d=n.units[0].unit.offset,f=a(u,d);n.value=r(t,o(i(l,f)))}return n.fixPrefix=!0,n.skipAutomaticSimplification=!0,n},S.prototype.toNumber=function(e){return y(this.toNumeric(e))},S.prototype.toNumeric=function(e){var t=e?this.to(e):this.clone();return t._isDerived()||t.units.length===0?t._denormalize(t.value):t._denormalize(t.value,t.units[0].prefix.value)},S.prototype.toString=function(){return this.format()},S.prototype.toJSON=function(){return{mathjs:`Unit`,value:this._denormalize(this.value),unit:this.units.length>0?this.formatUnits():null,fixPrefix:this.fixPrefix,skipSimp:this.skipAutomaticSimplification}},S.fromJSON=function(e){var t=new S(e.value,e.unit??void 0);return t.fixPrefix=e.fixPrefix??b,t.skipAutomaticSimplification=e.skipSimp??x,t},S.prototype.valueOf=S.prototype.toString,S.prototype.simplify=function(){var e=this.clone(),t=[],n;for(var r in fe)if(z(fe,r)&&e.hasBase(L[r])){n=r;break}if(n===`NONE`)e.units=[];else{var i;if(n&&z(fe,n)&&(i=fe[n]),i)e.units=[{unit:i.unit,prefix:i.prefix,power:1}];else{for(var a=!1,o=0;o<oe.length;o++){var s=oe[o];Math.abs(e.dimensions[o]||0)>1e-12&&(z(fe,s)?t.push({unit:fe[s].unit,prefix:fe[s].prefix,power:e.dimensions[o]||0}):a=!0)}t.length<e.units.length&&!a&&(e.units=t)}}return e},S.prototype.toSI=function(){for(var e=this.clone(),t=[],n=0;n<oe.length;n++){var r=oe[n];if(Math.abs(e.dimensions[n]||0)>1e-12){if(z(de.si,r))t.push({unit:de.si[r].unit,prefix:de.si[r].prefix,power:e.dimensions[n]||0});else throw Error(`Cannot express custom unit `+r+` in SI units`)}}return e.units=t,e.fixPrefix=!0,e.skipAutomaticSimplification=!0,this.value===null?e:(e.value=null,this.to(e))},S.prototype.formatUnits=function(){for(var e=``,t=``,n=0,r=0,i=0;i<this.units.length;i++)this.units[i].power>0?(n++,e+=` `+this.units[i].prefix.name+this.units[i].unit.name,Math.abs(this.units[i].power-1)>1e-15&&(e+=`^`+this.units[i].power)):this.units[i].power<0&&r++;if(r>0)for(var a=0;a<this.units.length;a++)this.units[a].power<0&&(n>0?(t+=` `+this.units[a].prefix.name+this.units[a].unit.name,Math.abs(this.units[a].power+1)>1e-15&&(t+=`^`+-this.units[a].power)):(t+=` `+this.units[a].prefix.name+this.units[a].unit.name,t+=`^`+this.units[a].power));e=e.substr(1),t=t.substr(1),n>1&&r>0&&(e=`(`+e+`)`),r>1&&n>0&&(t=`(`+t+`)`);var o=e;return n>0&&r>0&&(o+=` / `),o+=t,o},S.prototype.toBest=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e&&!Array.isArray(e))throw Error(`Invalid unit type. Expected string or Unit.`);var n=this.units[0].unit.prefixes;if(e&&e.length>0){var r=e.map(e=>{var t=null;if(typeof e==`string`){if(t=S.parse(e),!t)throw Error(`Invalid unit type. Expected compatible string or Unit.`)}else if(!M(e))throw Error(`Invalid unit type. Expected compatible string or Unit.`);t===null&&(t=e.clone());try{return this.to(t.formatUnits()),t}catch{throw Error(`Invalid unit type. Expected compatible string or Unit.`)}}).map(e=>e.units[0].prefix);this.units[0].unit.prefixes=r.reduce((e,t)=>(e[t.name]=t,e),{}),this.units[0].prefix=r[0]}var i=re(this,t).simp;return this.units[0].unit.prefixes=n,i.fixPrefix=!0,i},S.prototype.format=function(e){var{simp:t,valueStr:n,unitStr:r}=re(this,e),i=n;return t.value&&A(t.value)&&(i=`(`+i+`)`),r.length>0&&i.length>0&&(i+=` `),i+=r,i};function re(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=e.skipAutomaticSimplification||e.value===null?e.clone():e.simplify();ie(n),ae(n,t.offset);var r=n._denormalize(n.value);return{simp:n,valueStr:n.value===null?``:m(r,t||{}),unitStr:n.formatUnits()}}function ie(e){var t=!1;for(var n in e.value!==void 0&&e.value!==null&&A(e.value)&&(t=Math.abs(e.value.re)<1e-14),e.units)z(e.units,n)&&e.units[n].unit&&(e.units[n].unit.name===`VA`&&t?e.units[n].unit=R.VAR:e.units[n].unit.name===`VAR`&&!t&&(e.units[n].unit=R.VA))}function ae(e,t){e.units.length===1&&!e.fixPrefix&&Math.abs(e.units[0].power-Math.round(e.units[0].power))<1e-14&&(e.units[0].prefix=e._bestPrefix(t))}S.prototype._bestPrefix=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:1.2;if(this.units.length!==1||Math.abs(this.units[0].power-Math.round(this.units[0].power))>=1e-14)throw Error(`Can only compute the best prefix for single units with integer powers, like kg, s^2, N^-1, and so forth!`);var t=this.value===null?0:c(this.value),n=c(this.units[0].unit.value),r=this.units[0].prefix;if(t===0)return r;var i=this.units[0].power,a=Math.log(t/(r.value*n)**+i)/Math.LN10-e;if(a>-2.200001&&a<1.800001)return r;a=Math.abs(a);var o=this.units[0].unit.prefixes;for(var s in o)if(z(o,s)){var l=o[s];if(l.scientific){var u=Math.abs(Math.log(t/(l.value*n)**+i)/Math.LN10-e);(u<a||u===a&&l.name.length<r.name.length)&&(r=l,a=u)}}return r},S.prototype.splitUnit=function(e){for(var t=this.clone(),n=[],a=0;a<e.length&&(t=t.to(e[a]),a!==e.length-1);a++){var o=t.toNumeric(),s=d(o),c=void 0;c=f(s,o)?s:l(t.toNumeric());var u=new S(c,e[a].toString());n.push(u),t=i(t,u)}for(var p=0,m=0;m<n.length;m++)p=r(p,n[m].value);return f(p,this.value)&&(t.value=0),n.push(t),n};var I={NONE:{"":{name:``,value:1,scientific:!0}},SHORT:{"":{name:``,value:1,scientific:!0},da:{name:`da`,value:10,scientific:!1},h:{name:`h`,value:100,scientific:!1},k:{name:`k`,value:1e3,scientific:!0},M:{name:`M`,value:1e6,scientific:!0},G:{name:`G`,value:1e9,scientific:!0},T:{name:`T`,value:0xe8d4a51000,scientific:!0},P:{name:`P`,value:0x38d7ea4c68000,scientific:!0},E:{name:`E`,value:0xde0b6b3a7640000,scientific:!0},Z:{name:`Z`,value:1e21,scientific:!0},Y:{name:`Y`,value:1e24,scientific:!0},R:{name:`R`,value:1e27,scientific:!0},Q:{name:`Q`,value:1e30,scientific:!0},d:{name:`d`,value:.1,scientific:!1},c:{name:`c`,value:.01,scientific:!1},m:{name:`m`,value:.001,scientific:!0},u:{name:`u`,value:1e-6,scientific:!0},n:{name:`n`,value:1e-9,scientific:!0},p:{name:`p`,value:1e-12,scientific:!0},f:{name:`f`,value:1e-15,scientific:!0},a:{name:`a`,value:1e-18,scientific:!0},z:{name:`z`,value:1e-21,scientific:!0},y:{name:`y`,value:1e-24,scientific:!0},r:{name:`r`,value:1e-27,scientific:!0},q:{name:`q`,value:1e-30,scientific:!0}},LONG:{"":{name:``,value:1,scientific:!0},deca:{name:`deca`,value:10,scientific:!1},hecto:{name:`hecto`,value:100,scientific:!1},kilo:{name:`kilo`,value:1e3,scientific:!0},mega:{name:`mega`,value:1e6,scientific:!0},giga:{name:`giga`,value:1e9,scientific:!0},tera:{name:`tera`,value:0xe8d4a51000,scientific:!0},peta:{name:`peta`,value:0x38d7ea4c68000,scientific:!0},exa:{name:`exa`,value:0xde0b6b3a7640000,scientific:!0},zetta:{name:`zetta`,value:1e21,scientific:!0},yotta:{name:`yotta`,value:1e24,scientific:!0},ronna:{name:`ronna`,value:1e27,scientific:!0},quetta:{name:`quetta`,value:1e30,scientific:!0},deci:{name:`deci`,value:.1,scientific:!1},centi:{name:`centi`,value:.01,scientific:!1},milli:{name:`milli`,value:.001,scientific:!0},micro:{name:`micro`,value:1e-6,scientific:!0},nano:{name:`nano`,value:1e-9,scientific:!0},pico:{name:`pico`,value:1e-12,scientific:!0},femto:{name:`femto`,value:1e-15,scientific:!0},atto:{name:`atto`,value:1e-18,scientific:!0},zepto:{name:`zepto`,value:1e-21,scientific:!0},yocto:{name:`yocto`,value:1e-24,scientific:!0},ronto:{name:`ronto`,value:1e-27,scientific:!0},quecto:{name:`quecto`,value:1e-30,scientific:!0}},SQUARED:{"":{name:``,value:1,scientific:!0},da:{name:`da`,value:100,scientific:!1},h:{name:`h`,value:1e4,scientific:!1},k:{name:`k`,value:1e6,scientific:!0},M:{name:`M`,value:0xe8d4a51000,scientific:!0},G:{name:`G`,value:0xde0b6b3a7640000,scientific:!0},T:{name:`T`,value:1e24,scientific:!0},P:{name:`P`,value:1e30,scientific:!0},E:{name:`E`,value:1e36,scientific:!0},Z:{name:`Z`,value:1e42,scientific:!0},Y:{name:`Y`,value:1e48,scientific:!0},R:{name:`R`,value:1e54,scientific:!0},Q:{name:`Q`,value:1e60,scientific:!0},d:{name:`d`,value:.01,scientific:!1},c:{name:`c`,value:1e-4,scientific:!1},m:{name:`m`,value:1e-6,scientific:!0},u:{name:`u`,value:1e-12,scientific:!0},n:{name:`n`,value:1e-18,scientific:!0},p:{name:`p`,value:1e-24,scientific:!0},f:{name:`f`,value:1e-30,scientific:!0},a:{name:`a`,value:1e-36,scientific:!0},z:{name:`z`,value:1e-42,scientific:!0},y:{name:`y`,value:1e-48,scientific:!0},r:{name:`r`,value:1e-54,scientific:!0},q:{name:`q`,value:1e-60,scientific:!0}},CUBIC:{"":{name:``,value:1,scientific:!0},da:{name:`da`,value:1e3,scientific:!1},h:{name:`h`,value:1e6,scientific:!1},k:{name:`k`,value:1e9,scientific:!0},M:{name:`M`,value:0xde0b6b3a7640000,scientific:!0},G:{name:`G`,value:1e27,scientific:!0},T:{name:`T`,value:1e36,scientific:!0},P:{name:`P`,value:1e45,scientific:!0},E:{name:`E`,value:1e54,scientific:!0},Z:{name:`Z`,value:1e63,scientific:!0},Y:{name:`Y`,value:1e72,scientific:!0},R:{name:`R`,value:1e81,scientific:!0},Q:{name:`Q`,value:1e90,scientific:!0},d:{name:`d`,value:.001,scientific:!1},c:{name:`c`,value:1e-6,scientific:!1},m:{name:`m`,value:1e-9,scientific:!0},u:{name:`u`,value:1e-18,scientific:!0},n:{name:`n`,value:1e-27,scientific:!0},p:{name:`p`,value:1e-36,scientific:!0},f:{name:`f`,value:1e-45,scientific:!0},a:{name:`a`,value:1e-54,scientific:!0},z:{name:`z`,value:1e-63,scientific:!0},y:{name:`y`,value:1e-72,scientific:!0},r:{name:`r`,value:1e-81,scientific:!0},q:{name:`q`,value:1e-90,scientific:!0}},BINARY_SHORT_SI:{"":{name:``,value:1,scientific:!0},k:{name:`k`,value:1e3,scientific:!0},M:{name:`M`,value:1e6,scientific:!0},G:{name:`G`,value:1e9,scientific:!0},T:{name:`T`,value:0xe8d4a51000,scientific:!0},P:{name:`P`,value:0x38d7ea4c68000,scientific:!0},E:{name:`E`,value:0xde0b6b3a7640000,scientific:!0},Z:{name:`Z`,value:1e21,scientific:!0},Y:{name:`Y`,value:1e24,scientific:!0}},BINARY_SHORT_IEC:{"":{name:``,value:1,scientific:!0},Ki:{name:`Ki`,value:1024,scientific:!0},Mi:{name:`Mi`,value:1024**2,scientific:!0},Gi:{name:`Gi`,value:1024**3,scientific:!0},Ti:{name:`Ti`,value:1024**4,scientific:!0},Pi:{name:`Pi`,value:1024**5,scientific:!0},Ei:{name:`Ei`,value:1024**6,scientific:!0},Zi:{name:`Zi`,value:1024**7,scientific:!0},Yi:{name:`Yi`,value:1024**8,scientific:!0}},BINARY_LONG_SI:{"":{name:``,value:1,scientific:!0},kilo:{name:`kilo`,value:1e3,scientific:!0},mega:{name:`mega`,value:1e6,scientific:!0},giga:{name:`giga`,value:1e9,scientific:!0},tera:{name:`tera`,value:0xe8d4a51000,scientific:!0},peta:{name:`peta`,value:0x38d7ea4c68000,scientific:!0},exa:{name:`exa`,value:0xde0b6b3a7640000,scientific:!0},zetta:{name:`zetta`,value:1e21,scientific:!0},yotta:{name:`yotta`,value:1e24,scientific:!0}},BINARY_LONG_IEC:{"":{name:``,value:1,scientific:!0},kibi:{name:`kibi`,value:1024,scientific:!0},mebi:{name:`mebi`,value:1024**2,scientific:!0},gibi:{name:`gibi`,value:1024**3,scientific:!0},tebi:{name:`tebi`,value:1024**4,scientific:!0},pebi:{name:`pebi`,value:1024**5,scientific:!0},exi:{name:`exi`,value:1024**6,scientific:!0},zebi:{name:`zebi`,value:1024**7,scientific:!0},yobi:{name:`yobi`,value:1024**8,scientific:!0}},BTU:{"":{name:``,value:1,scientific:!0},MM:{name:`MM`,value:1e6,scientific:!0}}};I.SHORTLONG=u({},I.SHORT,I.LONG),I.BINARY_SHORT=u({},I.BINARY_SHORT_SI,I.BINARY_SHORT_IEC),I.BINARY_LONG=u({},I.BINARY_LONG_SI,I.BINARY_LONG_IEC);var oe=[`MASS`,`LENGTH`,`TIME`,`CURRENT`,`TEMPERATURE`,`LUMINOUS_INTENSITY`,`AMOUNT_OF_SUBSTANCE`,`ANGLE`,`BIT`],L={NONE:{dimensions:[0,0,0,0,0,0,0,0,0]},MASS:{dimensions:[1,0,0,0,0,0,0,0,0]},LENGTH:{dimensions:[0,1,0,0,0,0,0,0,0]},TIME:{dimensions:[0,0,1,0,0,0,0,0,0]},CURRENT:{dimensions:[0,0,0,1,0,0,0,0,0]},TEMPERATURE:{dimensions:[0,0,0,0,1,0,0,0,0]},LUMINOUS_INTENSITY:{dimensions:[0,0,0,0,0,1,0,0,0]},AMOUNT_OF_SUBSTANCE:{dimensions:[0,0,0,0,0,0,1,0,0]},FORCE:{dimensions:[1,1,-2,0,0,0,0,0,0]},SURFACE:{dimensions:[0,2,0,0,0,0,0,0,0]},VOLUME:{dimensions:[0,3,0,0,0,0,0,0,0]},ENERGY:{dimensions:[1,2,-2,0,0,0,0,0,0]},POWER:{dimensions:[1,2,-3,0,0,0,0,0,0]},PRESSURE:{dimensions:[1,-1,-2,0,0,0,0,0,0]},ELECTRIC_CHARGE:{dimensions:[0,0,1,1,0,0,0,0,0]},ELECTRIC_CAPACITANCE:{dimensions:[-1,-2,4,2,0,0,0,0,0]},ELECTRIC_POTENTIAL:{dimensions:[1,2,-3,-1,0,0,0,0,0]},ELECTRIC_RESISTANCE:{dimensions:[1,2,-3,-2,0,0,0,0,0]},ELECTRIC_INDUCTANCE:{dimensions:[1,2,-2,-2,0,0,0,0,0]},ELECTRIC_CONDUCTANCE:{dimensions:[-1,-2,3,2,0,0,0,0,0]},MAGNETIC_FLUX:{dimensions:[1,2,-2,-1,0,0,0,0,0]},MAGNETIC_FLUX_DENSITY:{dimensions:[1,0,-2,-1,0,0,0,0,0]},FREQUENCY:{dimensions:[0,0,-1,0,0,0,0,0,0]},ANGLE:{dimensions:[0,0,0,0,0,0,0,1,0]},BIT:{dimensions:[0,0,0,0,0,0,0,0,1]}};for(var se in L)z(L,se)&&(L[se].key=se);var ce={name:``,base:{},value:1,offset:0,dimensions:oe.map(e=>0)},R={meter:{name:`meter`,base:L.LENGTH,prefixes:I.LONG,value:1,offset:0},inch:{name:`inch`,base:L.LENGTH,prefixes:I.NONE,value:.0254,offset:0},foot:{name:`foot`,base:L.LENGTH,prefixes:I.NONE,value:.3048,offset:0},yard:{name:`yard`,base:L.LENGTH,prefixes:I.NONE,value:.9144,offset:0},mile:{name:`mile`,base:L.LENGTH,prefixes:I.NONE,value:1609.344,offset:0},link:{name:`link`,base:L.LENGTH,prefixes:I.NONE,value:.201168,offset:0},rod:{name:`rod`,base:L.LENGTH,prefixes:I.NONE,value:5.0292,offset:0},chain:{name:`chain`,base:L.LENGTH,prefixes:I.NONE,value:20.1168,offset:0},angstrom:{name:`angstrom`,base:L.LENGTH,prefixes:I.NONE,value:1e-10,offset:0},m:{name:`m`,base:L.LENGTH,prefixes:I.SHORT,value:1,offset:0},in:{name:`in`,base:L.LENGTH,prefixes:I.NONE,value:.0254,offset:0},ft:{name:`ft`,base:L.LENGTH,prefixes:I.NONE,value:.3048,offset:0},yd:{name:`yd`,base:L.LENGTH,prefixes:I.NONE,value:.9144,offset:0},mi:{name:`mi`,base:L.LENGTH,prefixes:I.NONE,value:1609.344,offset:0},li:{name:`li`,base:L.LENGTH,prefixes:I.NONE,value:.201168,offset:0},rd:{name:`rd`,base:L.LENGTH,prefixes:I.NONE,value:5.02921,offset:0},ch:{name:`ch`,base:L.LENGTH,prefixes:I.NONE,value:20.1168,offset:0},mil:{name:`mil`,base:L.LENGTH,prefixes:I.NONE,value:254e-7,offset:0},m2:{name:`m2`,base:L.SURFACE,prefixes:I.SQUARED,value:1,offset:0},sqin:{name:`sqin`,base:L.SURFACE,prefixes:I.NONE,value:64516e-8,offset:0},sqft:{name:`sqft`,base:L.SURFACE,prefixes:I.NONE,value:.09290304,offset:0},sqyd:{name:`sqyd`,base:L.SURFACE,prefixes:I.NONE,value:.83612736,offset:0},sqmi:{name:`sqmi`,base:L.SURFACE,prefixes:I.NONE,value:2589988.110336,offset:0},sqrd:{name:`sqrd`,base:L.SURFACE,prefixes:I.NONE,value:25.29295,offset:0},sqch:{name:`sqch`,base:L.SURFACE,prefixes:I.NONE,value:404.6873,offset:0},sqmil:{name:`sqmil`,base:L.SURFACE,prefixes:I.NONE,value:64516e-14,offset:0},acre:{name:`acre`,base:L.SURFACE,prefixes:I.NONE,value:4046.86,offset:0},hectare:{name:`hectare`,base:L.SURFACE,prefixes:I.NONE,value:1e4,offset:0},m3:{name:`m3`,base:L.VOLUME,prefixes:I.CUBIC,value:1,offset:0},L:{name:`L`,base:L.VOLUME,prefixes:I.SHORT,value:.001,offset:0},l:{name:`l`,base:L.VOLUME,prefixes:I.SHORT,value:.001,offset:0},litre:{name:`litre`,base:L.VOLUME,prefixes:I.LONG,value:.001,offset:0},cuin:{name:`cuin`,base:L.VOLUME,prefixes:I.NONE,value:16387064e-12,offset:0},cuft:{name:`cuft`,base:L.VOLUME,prefixes:I.NONE,value:.028316846592,offset:0},cuyd:{name:`cuyd`,base:L.VOLUME,prefixes:I.NONE,value:.764554857984,offset:0},teaspoon:{name:`teaspoon`,base:L.VOLUME,prefixes:I.NONE,value:5e-6,offset:0},tablespoon:{name:`tablespoon`,base:L.VOLUME,prefixes:I.NONE,value:15e-6,offset:0},drop:{name:`drop`,base:L.VOLUME,prefixes:I.NONE,value:5e-8,offset:0},gtt:{name:`gtt`,base:L.VOLUME,prefixes:I.NONE,value:5e-8,offset:0},minim:{name:`minim`,base:L.VOLUME,prefixes:I.NONE,value:6.1611519921875e-8,offset:0},fluiddram:{name:`fluiddram`,base:L.VOLUME,prefixes:I.NONE,value:36966911953125e-19,offset:0},fluidounce:{name:`fluidounce`,base:L.VOLUME,prefixes:I.NONE,value:295735295625e-16,offset:0},gill:{name:`gill`,base:L.VOLUME,prefixes:I.NONE,value:.00011829411825,offset:0},cc:{name:`cc`,base:L.VOLUME,prefixes:I.NONE,value:1e-6,offset:0},cup:{name:`cup`,base:L.VOLUME,prefixes:I.NONE,value:.0002365882365,offset:0},pint:{name:`pint`,base:L.VOLUME,prefixes:I.NONE,value:.000473176473,offset:0},quart:{name:`quart`,base:L.VOLUME,prefixes:I.NONE,value:.000946352946,offset:0},gallon:{name:`gallon`,base:L.VOLUME,prefixes:I.NONE,value:.003785411784,offset:0},beerbarrel:{name:`beerbarrel`,base:L.VOLUME,prefixes:I.NONE,value:.117347765304,offset:0},oilbarrel:{name:`oilbarrel`,base:L.VOLUME,prefixes:I.NONE,value:.158987294928,offset:0},hogshead:{name:`hogshead`,base:L.VOLUME,prefixes:I.NONE,value:.238480942392,offset:0},g:{name:`g`,base:L.MASS,prefixes:I.SHORT,value:.001,offset:0},gram:{name:`gram`,base:L.MASS,prefixes:I.LONG,value:.001,offset:0},ton:{name:`ton`,base:L.MASS,prefixes:I.SHORT,value:907.18474,offset:0},t:{name:`t`,base:L.MASS,prefixes:I.SHORT,value:1e3,offset:0},tonne:{name:`tonne`,base:L.MASS,prefixes:I.LONG,value:1e3,offset:0},grain:{name:`grain`,base:L.MASS,prefixes:I.NONE,value:6479891e-11,offset:0},dram:{name:`dram`,base:L.MASS,prefixes:I.NONE,value:.0017718451953125,offset:0},ounce:{name:`ounce`,base:L.MASS,prefixes:I.NONE,value:.028349523125,offset:0},poundmass:{name:`poundmass`,base:L.MASS,prefixes:I.NONE,value:.45359237,offset:0},hundredweight:{name:`hundredweight`,base:L.MASS,prefixes:I.NONE,value:45.359237,offset:0},stick:{name:`stick`,base:L.MASS,prefixes:I.NONE,value:.115,offset:0},stone:{name:`stone`,base:L.MASS,prefixes:I.NONE,value:6.35029318,offset:0},gr:{name:`gr`,base:L.MASS,prefixes:I.NONE,value:6479891e-11,offset:0},dr:{name:`dr`,base:L.MASS,prefixes:I.NONE,value:.0017718451953125,offset:0},oz:{name:`oz`,base:L.MASS,prefixes:I.NONE,value:.028349523125,offset:0},lbm:{name:`lbm`,base:L.MASS,prefixes:I.NONE,value:.45359237,offset:0},cwt:{name:`cwt`,base:L.MASS,prefixes:I.NONE,value:45.359237,offset:0},s:{name:`s`,base:L.TIME,prefixes:I.SHORT,value:1,offset:0},min:{name:`min`,base:L.TIME,prefixes:I.NONE,value:60,offset:0},h:{name:`h`,base:L.TIME,prefixes:I.NONE,value:3600,offset:0},second:{name:`second`,base:L.TIME,prefixes:I.LONG,value:1,offset:0},sec:{name:`sec`,base:L.TIME,prefixes:I.LONG,value:1,offset:0},minute:{name:`minute`,base:L.TIME,prefixes:I.NONE,value:60,offset:0},hour:{name:`hour`,base:L.TIME,prefixes:I.NONE,value:3600,offset:0},day:{name:`day`,base:L.TIME,prefixes:I.NONE,value:86400,offset:0},week:{name:`week`,base:L.TIME,prefixes:I.NONE,value:604800,offset:0},month:{name:`month`,base:L.TIME,prefixes:I.NONE,value:2629800,offset:0},year:{name:`year`,base:L.TIME,prefixes:I.NONE,value:31557600,offset:0},decade:{name:`decade`,base:L.TIME,prefixes:I.NONE,value:315576e3,offset:0},century:{name:`century`,base:L.TIME,prefixes:I.NONE,value:315576e4,offset:0},millennium:{name:`millennium`,base:L.TIME,prefixes:I.NONE,value:315576e5,offset:0},hertz:{name:`Hertz`,base:L.FREQUENCY,prefixes:I.LONG,value:1,offset:0,reciprocal:!0},Hz:{name:`Hz`,base:L.FREQUENCY,prefixes:I.SHORT,value:1,offset:0,reciprocal:!0},rad:{name:`rad`,base:L.ANGLE,prefixes:I.SHORT,value:1,offset:0},radian:{name:`radian`,base:L.ANGLE,prefixes:I.LONG,value:1,offset:0},deg:{name:`deg`,base:L.ANGLE,prefixes:I.SHORT,value:null,offset:0},degree:{name:`degree`,base:L.ANGLE,prefixes:I.LONG,value:null,offset:0},grad:{name:`grad`,base:L.ANGLE,prefixes:I.SHORT,value:null,offset:0},gradian:{name:`gradian`,base:L.ANGLE,prefixes:I.LONG,value:null,offset:0},cycle:{name:`cycle`,base:L.ANGLE,prefixes:I.NONE,value:null,offset:0},arcsec:{name:`arcsec`,base:L.ANGLE,prefixes:I.NONE,value:null,offset:0},arcmin:{name:`arcmin`,base:L.ANGLE,prefixes:I.NONE,value:null,offset:0},A:{name:`A`,base:L.CURRENT,prefixes:I.SHORT,value:1,offset:0},ampere:{name:`ampere`,base:L.CURRENT,prefixes:I.LONG,value:1,offset:0},K:{name:`K`,base:L.TEMPERATURE,prefixes:I.SHORT,value:1,offset:0},degC:{name:`degC`,base:L.TEMPERATURE,prefixes:I.SHORT,value:1,offset:273.15},degF:{name:`degF`,base:L.TEMPERATURE,prefixes:I.SHORT,value:new v(5,9),offset:459.67},degR:{name:`degR`,base:L.TEMPERATURE,prefixes:I.SHORT,value:new v(5,9),offset:0},kelvin:{name:`kelvin`,base:L.TEMPERATURE,prefixes:I.LONG,value:1,offset:0},celsius:{name:`celsius`,base:L.TEMPERATURE,prefixes:I.LONG,value:1,offset:273.15},fahrenheit:{name:`fahrenheit`,base:L.TEMPERATURE,prefixes:I.LONG,value:new v(5,9),offset:459.67},rankine:{name:`rankine`,base:L.TEMPERATURE,prefixes:I.LONG,value:new v(5,9),offset:0},mol:{name:`mol`,base:L.AMOUNT_OF_SUBSTANCE,prefixes:I.SHORT,value:1,offset:0},mole:{name:`mole`,base:L.AMOUNT_OF_SUBSTANCE,prefixes:I.LONG,value:1,offset:0},cd:{name:`cd`,base:L.LUMINOUS_INTENSITY,prefixes:I.SHORT,value:1,offset:0},candela:{name:`candela`,base:L.LUMINOUS_INTENSITY,prefixes:I.LONG,value:1,offset:0},N:{name:`N`,base:L.FORCE,prefixes:I.SHORT,value:1,offset:0},newton:{name:`newton`,base:L.FORCE,prefixes:I.LONG,value:1,offset:0},dyn:{name:`dyn`,base:L.FORCE,prefixes:I.SHORT,value:1e-5,offset:0},dyne:{name:`dyne`,base:L.FORCE,prefixes:I.LONG,value:1e-5,offset:0},lbf:{name:`lbf`,base:L.FORCE,prefixes:I.NONE,value:4.4482216152605,offset:0},poundforce:{name:`poundforce`,base:L.FORCE,prefixes:I.NONE,value:4.4482216152605,offset:0},kip:{name:`kip`,base:L.FORCE,prefixes:I.LONG,value:4448.2216,offset:0},kilogramforce:{name:`kilogramforce`,base:L.FORCE,prefixes:I.NONE,value:9.80665,offset:0},J:{name:`J`,base:L.ENERGY,prefixes:I.SHORT,value:1,offset:0},joule:{name:`joule`,base:L.ENERGY,prefixes:I.LONG,value:1,offset:0},erg:{name:`erg`,base:L.ENERGY,prefixes:I.SHORTLONG,value:1e-7,offset:0},Wh:{name:`Wh`,base:L.ENERGY,prefixes:I.SHORT,value:3600,offset:0},BTU:{name:`BTU`,base:L.ENERGY,prefixes:I.BTU,value:1055.05585262,offset:0},eV:{name:`eV`,base:L.ENERGY,prefixes:I.SHORT,value:1602176565e-28,offset:0},electronvolt:{name:`electronvolt`,base:L.ENERGY,prefixes:I.LONG,value:1602176565e-28,offset:0},W:{name:`W`,base:L.POWER,prefixes:I.SHORT,value:1,offset:0},watt:{name:`watt`,base:L.POWER,prefixes:I.LONG,value:1,offset:0},hp:{name:`hp`,base:L.POWER,prefixes:I.NONE,value:745.6998715386,offset:0},VAR:{name:`VAR`,base:L.POWER,prefixes:I.SHORT,value:g.I,offset:0},VA:{name:`VA`,base:L.POWER,prefixes:I.SHORT,value:1,offset:0},Pa:{name:`Pa`,base:L.PRESSURE,prefixes:I.SHORT,value:1,offset:0},psi:{name:`psi`,base:L.PRESSURE,prefixes:I.NONE,value:6894.75729276459,offset:0},atm:{name:`atm`,base:L.PRESSURE,prefixes:I.NONE,value:101325,offset:0},bar:{name:`bar`,base:L.PRESSURE,prefixes:I.SHORTLONG,value:1e5,offset:0},torr:{name:`torr`,base:L.PRESSURE,prefixes:I.NONE,value:133.322,offset:0},mmHg:{name:`mmHg`,base:L.PRESSURE,prefixes:I.NONE,value:133.322,offset:0},mmH2O:{name:`mmH2O`,base:L.PRESSURE,prefixes:I.NONE,value:9.80665,offset:0},cmH2O:{name:`cmH2O`,base:L.PRESSURE,prefixes:I.NONE,value:98.0665,offset:0},coulomb:{name:`coulomb`,base:L.ELECTRIC_CHARGE,prefixes:I.LONG,value:1,offset:0},C:{name:`C`,base:L.ELECTRIC_CHARGE,prefixes:I.SHORT,value:1,offset:0},Ah:{name:`Ah`,base:L.ELECTRIC_CHARGE,prefixes:I.SHORT,value:3600,offset:0},farad:{name:`farad`,base:L.ELECTRIC_CAPACITANCE,prefixes:I.LONG,value:1,offset:0},F:{name:`F`,base:L.ELECTRIC_CAPACITANCE,prefixes:I.SHORT,value:1,offset:0},volt:{name:`volt`,base:L.ELECTRIC_POTENTIAL,prefixes:I.LONG,value:1,offset:0},V:{name:`V`,base:L.ELECTRIC_POTENTIAL,prefixes:I.SHORT,value:1,offset:0},ohm:{name:`ohm`,base:L.ELECTRIC_RESISTANCE,prefixes:I.SHORTLONG,value:1,offset:0},henry:{name:`henry`,base:L.ELECTRIC_INDUCTANCE,prefixes:I.LONG,value:1,offset:0},H:{name:`H`,base:L.ELECTRIC_INDUCTANCE,prefixes:I.SHORT,value:1,offset:0},siemens:{name:`siemens`,base:L.ELECTRIC_CONDUCTANCE,prefixes:I.LONG,value:1,offset:0},S:{name:`S`,base:L.ELECTRIC_CONDUCTANCE,prefixes:I.SHORT,value:1,offset:0},weber:{name:`weber`,base:L.MAGNETIC_FLUX,prefixes:I.LONG,value:1,offset:0},Wb:{name:`Wb`,base:L.MAGNETIC_FLUX,prefixes:I.SHORT,value:1,offset:0},tesla:{name:`tesla`,base:L.MAGNETIC_FLUX_DENSITY,prefixes:I.LONG,value:1,offset:0},T:{name:`T`,base:L.MAGNETIC_FLUX_DENSITY,prefixes:I.SHORT,value:1,offset:0},b:{name:`b`,base:L.BIT,prefixes:I.BINARY_SHORT,value:1,offset:0},bits:{name:`bits`,base:L.BIT,prefixes:I.BINARY_LONG,value:1,offset:0},B:{name:`B`,base:L.BIT,prefixes:I.BINARY_SHORT,value:8,offset:0},bytes:{name:`bytes`,base:L.BIT,prefixes:I.BINARY_LONG,value:8,offset:0}},le={meters:`meter`,inches:`inch`,feet:`foot`,yards:`yard`,miles:`mile`,links:`link`,rods:`rod`,chains:`chain`,angstroms:`angstrom`,lt:`l`,litres:`litre`,liter:`litre`,liters:`litre`,teaspoons:`teaspoon`,tablespoons:`tablespoon`,minims:`minim`,fldr:`fluiddram`,fluiddrams:`fluiddram`,floz:`fluidounce`,fluidounces:`fluidounce`,gi:`gill`,gills:`gill`,cp:`cup`,cups:`cup`,pt:`pint`,pints:`pint`,qt:`quart`,quarts:`quart`,gal:`gallon`,gallons:`gallon`,bbl:`beerbarrel`,beerbarrels:`beerbarrel`,obl:`oilbarrel`,oilbarrels:`oilbarrel`,hogsheads:`hogshead`,gtts:`gtt`,grams:`gram`,tons:`ton`,tonnes:`tonne`,grains:`grain`,drams:`dram`,ounces:`ounce`,poundmasses:`poundmass`,hundredweights:`hundredweight`,sticks:`stick`,lb:`lbm`,lbs:`lbm`,kips:`kip`,kgf:`kilogramforce`,acres:`acre`,hectares:`hectare`,sqfeet:`sqft`,sqyard:`sqyd`,sqmile:`sqmi`,sqmiles:`sqmi`,mmhg:`mmHg`,mmh2o:`mmH2O`,cmh2o:`cmH2O`,seconds:`second`,secs:`second`,minutes:`minute`,mins:`minute`,hours:`hour`,hr:`hour`,hrs:`hour`,days:`day`,weeks:`week`,months:`month`,years:`year`,decades:`decade`,centuries:`century`,millennia:`millennium`,hertz:`hertz`,radians:`radian`,degrees:`degree`,gradians:`gradian`,cycles:`cycle`,arcsecond:`arcsec`,arcseconds:`arcsec`,arcminute:`arcmin`,arcminutes:`arcmin`,BTUs:`BTU`,watts:`watt`,joules:`joule`,amperes:`ampere`,amps:`ampere`,amp:`ampere`,coulombs:`coulomb`,volts:`volt`,ohms:`ohm`,farads:`farad`,webers:`weber`,teslas:`tesla`,electronvolts:`electronvolt`,moles:`mole`,bit:`bits`,byte:`bytes`};function ue(e){if(e.number===`BigNumber`){var t=up(_);R.rad.value=new _(1),R.deg.value=t.div(180),R.grad.value=t.div(200),R.cycle.value=t.times(2),R.arcsec.value=t.div(648e3),R.arcmin.value=t.div(10800)}else R.rad.value=1,R.deg.value=Math.PI/180,R.grad.value=Math.PI/200,R.cycle.value=Math.PI*2,R.arcsec.value=Math.PI/648e3,R.arcmin.value=Math.PI/10800;R.radian.value=R.rad.value,R.degree.value=R.deg.value,R.gradian.value=R.grad.value}ue(n),t&&t(`config`,function(e,t){e.number!==t.number&&ue(e)});var de={si:{NONE:{unit:ce,prefix:I.NONE[``]},LENGTH:{unit:R.m,prefix:I.SHORT[``]},MASS:{unit:R.g,prefix:I.SHORT.k},TIME:{unit:R.s,prefix:I.SHORT[``]},CURRENT:{unit:R.A,prefix:I.SHORT[``]},TEMPERATURE:{unit:R.K,prefix:I.SHORT[``]},LUMINOUS_INTENSITY:{unit:R.cd,prefix:I.SHORT[``]},AMOUNT_OF_SUBSTANCE:{unit:R.mol,prefix:I.SHORT[``]},ANGLE:{unit:R.rad,prefix:I.SHORT[``]},BIT:{unit:R.bits,prefix:I.SHORT[``]},FORCE:{unit:R.N,prefix:I.SHORT[``]},ENERGY:{unit:R.J,prefix:I.SHORT[``]},POWER:{unit:R.W,prefix:I.SHORT[``]},PRESSURE:{unit:R.Pa,prefix:I.SHORT[``]},ELECTRIC_CHARGE:{unit:R.C,prefix:I.SHORT[``]},ELECTRIC_CAPACITANCE:{unit:R.F,prefix:I.SHORT[``]},ELECTRIC_POTENTIAL:{unit:R.V,prefix:I.SHORT[``]},ELECTRIC_RESISTANCE:{unit:R.ohm,prefix:I.SHORT[``]},ELECTRIC_INDUCTANCE:{unit:R.H,prefix:I.SHORT[``]},ELECTRIC_CONDUCTANCE:{unit:R.S,prefix:I.SHORT[``]},MAGNETIC_FLUX:{unit:R.Wb,prefix:I.SHORT[``]},MAGNETIC_FLUX_DENSITY:{unit:R.T,prefix:I.SHORT[``]},FREQUENCY:{unit:R.Hz,prefix:I.SHORT[``]}}};de.cgs=JSON.parse(JSON.stringify(de.si)),de.cgs.LENGTH={unit:R.m,prefix:I.SHORT.c},de.cgs.MASS={unit:R.g,prefix:I.SHORT[``]},de.cgs.FORCE={unit:R.dyn,prefix:I.SHORT[``]},de.cgs.ENERGY={unit:R.erg,prefix:I.NONE[``]},de.us=JSON.parse(JSON.stringify(de.si)),de.us.LENGTH={unit:R.ft,prefix:I.NONE[``]},de.us.MASS={unit:R.lbm,prefix:I.NONE[``]},de.us.TEMPERATURE={unit:R.degF,prefix:I.NONE[``]},de.us.FORCE={unit:R.lbf,prefix:I.NONE[``]},de.us.ENERGY={unit:R.BTU,prefix:I.BTU[``]},de.us.POWER={unit:R.hp,prefix:I.NONE[``]},de.us.PRESSURE={unit:R.psi,prefix:I.NONE[``]},de.auto=JSON.parse(JSON.stringify(de.si));var fe=de.auto;for(var pe in S.setUnitSystem=function(e){if(z(de,e))fe=de[e];else throw Error(`Unit system `+e+` does not exist. Choices are: `+Object.keys(de).join(`, `))},S.getUnitSystem=function(){for(var e in de)if(z(de,e)&&de[e]===fe)return e},S.typeConverters={BigNumber:function(e){return e!=null&&e.isFraction?new _(String(e.n)).div(String(e.d)).times(String(e.s)):new _(e+``)},Fraction:function(e){return new v(e)},Complex:function(e){return e},number:function(e){return e!=null&&e.isFraction?h(e):e}},S.prototype._numberConverter=function(){var e=S.typeConverters[this.valueType()];if(e)return e;throw TypeError(`Unsupported Unit value type "`+this.valueType()+`"`)},S._getNumberConverter=function(e){if(!S.typeConverters[e])throw TypeError(`Unsupported type "`+e+`"`);return S.typeConverters[e]},R)if(z(R,pe)){var me=R[pe];me.dimensions=me.base.dimensions}for(var he in le)if(z(le,he)){var ge=R[le[he]],_e={};for(var ve in ge)z(ge,ve)&&(_e[ve]=ge[ve]);_e.name=he,R[he]=_e}S.isValidAlpha=function(e){return/^[a-zA-Z]$/.test(e)};function ye(e){for(var t=0;t<e.length;t++){if(T=e.charAt(t),t===0&&!S.isValidAlpha(T))throw Error(`Invalid unit name (must begin with alpha character): "`+e+`"`);if(t>0&&!(S.isValidAlpha(T)||O(T)))throw Error(`Invalid unit name (only alphanumeric characters are allowed): "`+e+`"`)}}return S.createUnit=function(e,t){if(typeof e!=`object`)throw TypeError(`createUnit expects first parameter to be of type 'Object'`);if(t&&t.override){for(var n in e)if(z(e,n)&&S.deleteUnit(n),e[n].aliases)for(var r=0;r<e[n].aliases.length;r++)S.deleteUnit(e[n].aliases[r])}var i;for(var a in e)z(e,a)&&(i=S.createUnitSingle(a,e[a]));return i},S.createUnitSingle=function(e,t){if(t??={},typeof e!=`string`)throw TypeError(`createUnitSingle expects first parameter to be of type 'string'`);if(z(R,e))throw Error(`Cannot create unit "`+e+`": a unit with that name already exists`);ye(e);var n=null,r=[],i=0,a,o,s;if(t&&t.type===`Unit`)n=t.clone();else if(typeof t==`string`)t!==``&&(a=t);else if(typeof t==`object`)a=t.definition,o=t.prefixes,i=t.offset,s=t.baseName,t.aliases&&(r=t.aliases.valueOf());else throw TypeError(`Cannot create unit "`+e+`" from "`+t.toString()+`": expecting "string" or "Unit" or "Object"`);if(r){for(var c=0;c<r.length;c++)if(z(R,r[c]))throw Error(`Cannot create alias "`+r[c]+`": a unit with that name already exists`)}if(a&&typeof a==`string`&&!n)try{n=S.parse(a,{allowNoUnits:!0})}catch(t){throw t.message=`Could not create unit "`+e+`" from "`+a+`": `+t.message,t}else a&&a.type===`Unit`&&(n=a.clone());r||=[],i||=0,o=o&&o.toUpperCase&&I[o.toUpperCase()]||I.NONE;var l={};if(n){l={name:e,value:n.value,dimensions:n.dimensions.slice(0),prefixes:o,offset:i};var u=!1;for(var d in L)if(z(L,d)){for(var f=!0,p=0;p<oe.length;p++)if(Math.abs((l.dimensions[p]||0)-(L[d].dimensions[p]||0))>1e-12){f=!1;break}if(f){u=!0,l.base=L[d];break}}if(!u){s||=e+`_STUFF`;var m={dimensions:n.dimensions.slice(0)};m.key=s,L[s]=m,fe[s]={unit:l,prefix:I.NONE[``]},l.base=L[s]}}else{if(s||=e+`_STUFF`,oe.indexOf(s)>=0)throw Error(`Cannot create new base unit "`+e+`": a base unit with that name already exists (and cannot be overridden)`);for(var h in oe.push(s),L)z(L,h)&&(L[h].dimensions[oe.length-1]=0);for(var g={dimensions:[]},_=0;_<oe.length;_++)g.dimensions[_]=0;g.dimensions[oe.length-1]=1,g.key=s,L[s]=g,l={name:e,value:1,dimensions:L[s].dimensions.slice(0),prefixes:o,offset:i,base:L[s]},fe[s]={unit:l,prefix:I.NONE[``]}}S.UNITS[e]=l;for(var v=0;v<r.length;v++){var y=r[v],b={};for(var x in l)z(l,x)&&(b[x]=l[x]);b.name=y,S.UNITS[y]=b}return delete ee.cache,new S(null,e)},S.deleteUnit=function(e){delete S.UNITS[e],delete ee.cache},S.PREFIXES=I,S.BASE_DIMENSIONS=oe,S.BASE_UNITS=L,S.UNIT_SYSTEMS=de,S.UNITS=R,S},{isClass:!0}),gp=`unit`,_p=V(gp,[`typed`,`Unit`],e=>{var{typed:t,Unit:n}=e;return t(gp,{Unit:function(e){return e.clone()},string:function(e){return n.isValuelessUnit(e)?new n(null,e):n.parse(e,{allowNoUnits:!0})},"number | BigNumber | Fraction | Complex, string | Unit":function(e,t){return new n(e,t)},"number | BigNumber | Fraction":function(e){return new n(e)},"Array | Matrix":t.referToSelf(e=>t=>la(t,e))})}),vp=`sparse`,yp=V(vp,[`typed`,`SparseMatrix`],e=>{var{typed:t,SparseMatrix:n}=e;return t(vp,{"":function(){return new n([])},string:function(e){return new n([],e)},"Array | Matrix":function(e){return new n(e)},"Array | Matrix, string":function(e,t){return new n(e,t)}})}),bp=`createUnit`,xp=V(bp,[`typed`,`Unit`],e=>{var{typed:t,Unit:n}=e;return t(bp,{"Object, Object":function(e,t){return n.createUnit(e,t)},Object:function(e){return n.createUnit(e,{})},"string, Unit | string | Object, Object":function(e,t,r){var i={};return i[e]=t,n.createUnit(i,r)},"string, Unit | string | Object":function(e,t){var r={};return r[e]=t,n.createUnit(r,{})},string:function(e){var t={};return t[e]={},n.createUnit(t,{})}})}),Sp=`acos`,Cp=V(Sp,[`typed`,`config`,`Complex`],e=>{var{typed:t,config:n,Complex:r}=e;return t(Sp,{number:function(e){return e>=-1&&e<=1||n.predictable?Math.acos(e):new r(e,0).acos()},Complex:function(e){return e.acos()},BigNumber:function(e){return e.acos()}})}),wp=`acosh`,Tp=V(wp,[`typed`,`config`,`Complex`],e=>{var{typed:t,config:n,Complex:r}=e;return t(wp,{number:function(e){return e>=1||n.predictable?fo(e):e<=-1?new r(Math.log(Math.sqrt(e*e-1)-e),Math.PI):new r(e,0).acosh()},Complex:function(e){return e.acosh()},BigNumber:function(e){return e.acosh()}})}),Ep=`acot`,Dp=V(Ep,[`typed`,`BigNumber`],e=>{var{typed:t,BigNumber:n}=e;return t(Ep,{number:po,Complex:function(e){return e.acot()},BigNumber:function(e){return new n(1).div(e).atan()}})}),Op=`acoth`,kp=V(Op,[`typed`,`config`,`Complex`,`BigNumber`],e=>{var{typed:t,config:n,Complex:r,BigNumber:i}=e;return t(Op,{number:function(e){return e>=1||e<=-1||n.predictable?mo(e):new r(e,0).acoth()},Complex:function(e){return e.acoth()},BigNumber:function(e){return new i(1).div(e).atanh()}})}),Ap=`acsc`,jp=V(Ap,[`typed`,`config`,`Complex`,`BigNumber`],e=>{var{typed:t,config:n,Complex:r,BigNumber:i}=e;return t(Ap,{number:function(e){return e<=-1||e>=1||n.predictable?ho(e):new r(e,0).acsc()},Complex:function(e){return e.acsc()},BigNumber:function(e){return new i(1).div(e).asin()}})}),Mp=`acsch`,Np=V(Mp,[`typed`,`BigNumber`],e=>{var{typed:t,BigNumber:n}=e;return t(Mp,{number:go,Complex:function(e){return e.acsch()},BigNumber:function(e){return new n(1).div(e).asinh()}})}),Pp=`asec`,Fp=V(Pp,[`typed`,`config`,`Complex`,`BigNumber`],e=>{var{typed:t,config:n,Complex:r,BigNumber:i}=e;return t(Pp,{number:function(e){return e<=-1||e>=1||n.predictable?_o(e):new r(e,0).asec()},Complex:function(e){return e.asec()},BigNumber:function(e){return new i(1).div(e).acos()}})}),Ip=`asech`,Lp=V(Ip,[`typed`,`config`,`Complex`,`BigNumber`],e=>{var{typed:t,config:n,Complex:r,BigNumber:i}=e;return t(Ip,{number:function(e){if(e<=1&&e>=-1||n.predictable){var t=1/e;if(t>0||n.predictable)return vo(e);var i=Math.sqrt(t*t-1);return new r(Math.log(i-t),Math.PI)}return new r(e,0).asech()},Complex:function(e){return e.asech()},BigNumber:function(e){return new i(1).div(e).acosh()}})}),Rp=`asin`,zp=V(Rp,[`typed`,`config`,`Complex`],e=>{var{typed:t,config:n,Complex:r}=e;return t(Rp,{number:function(e){return e>=-1&&e<=1||n.predictable?Math.asin(e):new r(e,0).asin()},Complex:function(e){return e.asin()},BigNumber:function(e){return e.asin()}})}),Bp=V(`asinh`,[`typed`],e=>{var{typed:t}=e;return t(`asinh`,{number:yo,Complex:function(e){return e.asinh()},BigNumber:function(e){return e.asinh()}})}),Vp=V(`atan`,[`typed`],e=>{var{typed:t}=e;return t(`atan`,{number:function(e){return Math.atan(e)},Complex:function(e){return e.atan()},BigNumber:function(e){return e.atan()}})}),Hp=`atan2`,Up=V(Hp,[`typed`,`matrix`,`equalScalar`,`BigNumber`,`DenseMatrix`,`concat`],e=>{var{typed:t,matrix:n,equalScalar:r,BigNumber:i,DenseMatrix:a,concat:o}=e,s=uc({typed:t,equalScalar:r}),c=dc({typed:t}),l=tl({typed:t,equalScalar:r}),u=Vs({typed:t,equalScalar:r}),d=Hs({typed:t,DenseMatrix:a}),f=gc({typed:t,matrix:n,concat:o});return t(Hp,{"number, number":Math.atan2,"BigNumber, BigNumber":(e,t)=>i.atan2(e,t)},f({scalar:`number | BigNumber`,SS:l,DS:c,SD:s,Ss:u,sS:d}))}),Wp=`atanh`,Gp=V(Wp,[`typed`,`config`,`Complex`],e=>{var{typed:t,config:n,Complex:r}=e;return t(Wp,{number:function(e){return e<=1&&e>=-1||n.predictable?bo(e):new r(e,0).atanh()},Complex:function(e){return e.atanh()},BigNumber:function(e){return e.atanh()}})}),Kp=V(`trigUnit`,[`typed`],e=>{var{typed:t}=e;return{Unit:t.referToSelf(e=>n=>{if(!n.hasBase(n.constructor.BASE_UNITS.ANGLE))throw TypeError(`Unit in function cot is no angle`);return t.find(e,n.valueType())(n.value)})}}),qp=`cos`,Jp=V(qp,[`typed`],e=>{var{typed:t}=e,n=Kp({typed:t});return t(qp,{number:Math.cos,"Complex | BigNumber":e=>e.cos()},n)}),Yp=`cosh`,Xp=V(Yp,[`typed`],e=>{var{typed:t}=e;return t(Yp,{number:bt,"Complex | BigNumber":e=>e.cosh()})}),Zp=`cot`,Qp=V(Zp,[`typed`,`BigNumber`],e=>{var{typed:t,BigNumber:n}=e,r=Kp({typed:t});return t(Zp,{number:xo,Complex:e=>e.cot(),BigNumber:e=>new n(1).div(e.tan())},r)}),$p=`coth`,em=V($p,[`typed`,`BigNumber`],e=>{var{typed:t,BigNumber:n}=e;return t($p,{number:So,Complex:e=>e.coth(),BigNumber:e=>new n(1).div(e.tanh())})}),tm=`csc`,nm=V(tm,[`typed`,`BigNumber`],e=>{var{typed:t,BigNumber:n}=e,r=Kp({typed:t});return t(tm,{number:Co,Complex:e=>e.csc(),BigNumber:e=>new n(1).div(e.sin())},r)}),rm=`csch`,im=V(rm,[`typed`,`BigNumber`],e=>{var{typed:t,BigNumber:n}=e;return t(rm,{number:wo,Complex:e=>e.csch(),BigNumber:e=>new n(1).div(e.sinh())})}),am=`sec`,om=V(am,[`typed`,`BigNumber`],e=>{var{typed:t,BigNumber:n}=e,r=Kp({typed:t});return t(am,{number:To,Complex:e=>e.sec(),BigNumber:e=>new n(1).div(e.cos())},r)}),sm=`sech`,cm=V(sm,[`typed`,`BigNumber`],e=>{var{typed:t,BigNumber:n}=e;return t(sm,{number:Eo,Complex:e=>e.sech(),BigNumber:e=>new n(1).div(e.cosh())})}),lm=`sin`,um=V(lm,[`typed`],e=>{var{typed:t}=e,n=Kp({typed:t});return t(lm,{number:Math.sin,"Complex | BigNumber":e=>e.sin()},n)}),dm=`sinh`,fm=V(dm,[`typed`],e=>{var{typed:t}=e;return t(dm,{number:Do,"Complex | BigNumber":e=>e.sinh()})}),pm=`tan`,mm=V(pm,[`typed`],e=>{var{typed:t}=e,n=Kp({typed:t});return t(pm,{number:Math.tan,"Complex | BigNumber":e=>e.tan()},n)}),hm=V(`tanh`,[`typed`],e=>{var{typed:t}=e;return t(`tanh`,{number:St,"Complex | BigNumber":e=>e.tanh()})}),gm=`setCartesian`,_m=V(gm,[`typed`,`size`,`subset`,`compareNatural`,`Index`,`DenseMatrix`],e=>{var{typed:t,size:n,subset:r,compareNatural:i,Index:a,DenseMatrix:o}=e;return t(gm,{"Array | Matrix, Array | Matrix":function(e,t){var s=[];if(r(n(e),new a(0))!==0&&r(n(t),new a(0))!==0){var c=Mi(Array.isArray(e)?e:e.toArray()).sort(i),l=Mi(Array.isArray(t)?t:t.toArray()).sort(i);s=[];for(var u=0;u<c.length;u++)for(var d=0;d<l.length;d++)s.push([c[u],l[d]])}return Array.isArray(e)&&Array.isArray(t)?s:new o(s)}})}),vm=`setDifference`,ym=V(vm,[`typed`,`size`,`subset`,`compareNatural`,`Index`,`DenseMatrix`],e=>{var{typed:t,size:n,subset:r,compareNatural:i,Index:a,DenseMatrix:o}=e;return t(vm,{"Array | Matrix, Array | Matrix":function(e,t){var s;if(r(n(e),new a(0))===0)s=[];else if(r(n(t),new a(0))===0)return Mi(e.toArray());else{var c=Ri(Mi(Array.isArray(e)?e:e.toArray()).sort(i)),l=Ri(Mi(Array.isArray(t)?t:t.toArray()).sort(i));s=[];for(var u,d=0;d<c.length;d++){u=!1;for(var f=0;f<l.length;f++)if(i(c[d].value,l[f].value)===0&&c[d].identifier===l[f].identifier){u=!0;break}u||s.push(c[d])}}return Array.isArray(e)&&Array.isArray(t)?zi(s):new o(zi(s))}})}),bm=`setDistinct`,xm=V(bm,[`typed`,`size`,`subset`,`compareNatural`,`Index`,`DenseMatrix`],e=>{var{typed:t,size:n,subset:r,compareNatural:i,Index:a,DenseMatrix:o}=e;return t(bm,{"Array | Matrix":function(e){var t;if(r(n(e),new a(0))===0)t=[];else{var s=Mi(Array.isArray(e)?e:e.toArray()).sort(i);t=[],t.push(s[0]);for(var c=1;c<s.length;c++)i(s[c],s[c-1])!==0&&t.push(s[c])}return Array.isArray(e)?t:new o(t)}})}),Sm=`setIntersect`,Cm=V(Sm,[`typed`,`size`,`subset`,`compareNatural`,`Index`,`DenseMatrix`],e=>{var{typed:t,size:n,subset:r,compareNatural:i,Index:a,DenseMatrix:o}=e;return t(Sm,{"Array | Matrix, Array | Matrix":function(e,t){var s;if(r(n(e),new a(0))===0||r(n(t),new a(0))===0)s=[];else{var c=Ri(Mi(Array.isArray(e)?e:e.toArray()).sort(i)),l=Ri(Mi(Array.isArray(t)?t:t.toArray()).sort(i));s=[];for(var u=0;u<c.length;u++)for(var d=0;d<l.length;d++)if(i(c[u].value,l[d].value)===0&&c[u].identifier===l[d].identifier){s.push(c[u]);break}}return Array.isArray(e)&&Array.isArray(t)?zi(s):new o(zi(s))}})}),wm=`setIsSubset`,Tm=V(wm,[`typed`,`size`,`subset`,`compareNatural`,`Index`],e=>{var{typed:t,size:n,subset:r,compareNatural:i,Index:a}=e;return t(wm,{"Array | Matrix, Array | Matrix":function(e,t){if(r(n(e),new a(0))===0)return!0;if(r(n(t),new a(0))===0)return!1;for(var o=Ri(Mi(Array.isArray(e)?e:e.toArray()).sort(i)),s=Ri(Mi(Array.isArray(t)?t:t.toArray()).sort(i)),c,l=0;l<o.length;l++){c=!1;for(var u=0;u<s.length;u++)if(i(o[l].value,s[u].value)===0&&o[l].identifier===s[u].identifier){c=!0;break}if(c===!1)return!1}return!0}})}),Em=`setMultiplicity`,Dm=V(Em,[`typed`,`size`,`subset`,`compareNatural`,`Index`],e=>{var{typed:t,size:n,subset:r,compareNatural:i,Index:a}=e;return t(Em,{"number | BigNumber | Fraction | Complex, Array | Matrix":function(e,t){if(r(n(t),new a(0))===0)return 0;for(var o=Mi(Array.isArray(t)?t:t.toArray()),s=0,c=0;c<o.length;c++)i(o[c],e)===0&&s++;return s}})}),Om=`setPowerset`,km=V(Om,[`typed`,`size`,`subset`,`compareNatural`,`Index`],e=>{var{typed:t,size:n,subset:r,compareNatural:i,Index:a}=e;return t(Om,{"Array | Matrix":function(e){if(r(n(e),new a(0))===0)return[];for(var t=Mi(Array.isArray(e)?e:e.toArray()).sort(i),c=[],l=0;l.toString(2).length<=t.length;)c.push(o(t,l.toString(2).split(``).reverse())),l++;return s(c)}});function o(e,t){for(var n=[],r=0;r<t.length;r++)t[r]===`1`&&n.push(e[r]);return n}function s(e){for(var t=[],n=e.length-1;n>0;n--)for(var r=0;r<n;r++)e[r].length>e[r+1].length&&(t=e[r],e[r]=e[r+1],e[r+1]=t);return e}}),Am=`setSize`,jm=V(Am,[`typed`,`compareNatural`],e=>{var{typed:t,compareNatural:n}=e;return t(Am,{"Array | Matrix":function(e){return Array.isArray(e)?Mi(e).length:Mi(e.toArray()).length},"Array | Matrix, boolean":function(e,t){if(t===!1||e.length===0)return Array.isArray(e)?Mi(e).length:Mi(e.toArray()).length;for(var r=Mi(Array.isArray(e)?e:e.toArray()).sort(n),i=1,a=1;a<r.length;a++)n(r[a],r[a-1])!==0&&i++;return i}})}),Mm=`setSymDifference`,Nm=V(Mm,[`typed`,`size`,`concat`,`subset`,`setDifference`,`Index`],e=>{var{typed:t,size:n,concat:r,subset:i,setDifference:a,Index:o}=e;return t(Mm,{"Array | Matrix, Array | Matrix":function(e,t){if(i(n(e),new o(0))===0)return Mi(t);if(i(n(t),new o(0))===0)return Mi(e);var s=Mi(e),c=Mi(t);return r(a(s,c),a(c,s))}})}),Pm=`setUnion`,Fm=V(Pm,[`typed`,`size`,`concat`,`subset`,`setIntersect`,`setSymDifference`,`Index`],e=>{var{typed:t,size:n,concat:r,subset:i,setIntersect:a,setSymDifference:o,Index:s}=e;return t(Pm,{"Array | Matrix, Array | Matrix":function(e,t){if(i(n(e),new s(0))===0)return Mi(t);if(i(n(t),new s(0))===0)return Mi(e);var c=Mi(e),l=Mi(t);return r(o(c,l),a(c,l))}})}),Im=`add`,Lm=V(Im,[`typed`,`matrix`,`addScalar`,`equalScalar`,`DenseMatrix`,`SparseMatrix`,`concat`],e=>{var{typed:t,matrix:n,addScalar:r,equalScalar:i,DenseMatrix:a,SparseMatrix:o,concat:s}=e,c=yc({typed:t}),l=bc({typed:t,equalScalar:i}),u=xc({typed:t,DenseMatrix:a}),d=gc({typed:t,matrix:n,concat:s});return t(Im,{"any, any":r,"any, any, ...any":t.referToSelf(e=>(t,n,r)=>{for(var i=e(t,n),a=0;a<r.length;a++)i=e(i,r[a]);return i})},d({elop:r,DS:c,SS:l,Ss:u}))}),Rm=`hypot`,zm=V(Rm,[`typed`,`abs`,`addScalar`,`divideScalar`,`multiplyScalar`,`sqrt`,`smaller`,`isPositive`],e=>{var{typed:t,abs:n,addScalar:r,divideScalar:i,multiplyScalar:a,sqrt:o,smaller:s,isPositive:c}=e;return t(Rm,{"... number | BigNumber":l,Array:l,Matrix:e=>l(Mi(e.toArray(),!0))});function l(e){for(var t=0,l=0,u=0;u<e.length;u++){if(A(e[u]))throw TypeError(`Unexpected type of argument to hypot`);var d=n(e[u]);s(l,d)?(t=a(t,a(i(l,d),i(l,d))),t=r(t,1),l=d):t=r(t,c(d)?a(i(d,l),i(d,l)):d)}return a(l,o(t))}}),Bm=`norm`,Vm=V(Bm,[`typed`,`abs`,`add`,`pow`,`conj`,`sqrt`,`multiply`,`equalScalar`,`larger`,`smaller`,`matrix`,`ctranspose`,`eigs`],e=>{var{typed:t,abs:n,add:r,pow:i,conj:a,sqrt:o,multiply:s,equalScalar:c,larger:l,smaller:u,matrix:d,ctranspose:f,eigs:p}=e;return t(Bm,{number:Math.abs,Complex:function(e){return e.abs()},BigNumber:function(e){return e.abs()},boolean:function(e){return Math.abs(e)},Array:function(e){return S(d(e),2)},Matrix:function(e){return S(e,2)},"Array, number | BigNumber | string":function(e,t){return S(d(e),t)},"Matrix, number | BigNumber | string":function(e,t){return S(e,t)}});function m(e){var t=0;return e.forEach(function(e){var r=n(e);l(r,t)&&(t=r)},!0),t}function h(e){var t;return e.forEach(function(e){var r=n(e);(!t||u(r,t))&&(t=r)},!0),t||0}function g(e,t){if(t===1/0||t===`inf`)return m(e);if(t===-1/0||t===`-inf`)return h(e);if(t===`fro`)return S(e,2);if(typeof t==`number`&&!isNaN(t)){if(!c(t,0)){var a=0;return e.forEach(function(e){a=r(i(n(e),t),a)},!0),i(a,1/t)}return 1/0}throw Error(`Unsupported parameter value`)}function _(e){var t=0;return e.forEach(function(e,n){t=r(t,s(e,a(e)))}),n(o(t))}function v(e){var t=[],i=0;return e.forEach(function(e,a){var o=a[1],s=r(t[o]||0,n(e));l(s,i)&&(i=s),t[o]=s},!0),i}function y(e){var t=e.size();if(t[0]!==t[1])throw RangeError(`Invalid matrix dimensions`);var r=p(s(f(e),e)).values.toArray(),i=r[r.length-1];return n(o(i))}function b(e){var t=[],i=0;return e.forEach(function(e,a){var o=a[0],s=r(t[o]||0,n(e));l(s,i)&&(i=s),t[o]=s},!0),i}function x(e,t){if(t===1)return v(e);if(t===1/0||t===`inf`)return b(e);if(t===`fro`)return _(e);if(t===2)return y(e);throw Error(`Unsupported parameter value `+t)}function S(e,t){var n=e.size();if(n.length===1)return g(e,t);if(n.length===2){if(n[0]&&n[1])return x(e,t);throw RangeError(`Invalid matrix dimensions`)}}}),Hm=`dot`,Um=V(Hm,[`typed`,`addScalar`,`multiplyScalar`,`conj`,`size`],e=>{var{typed:t,addScalar:n,multiplyScalar:r,conj:i,size:a}=e;return t(Hm,{"Array | DenseMatrix, Array | DenseMatrix":s,"SparseMatrix, SparseMatrix":c});function o(e,t){var n=a(e),r=a(t),i,o;if(n.length===1)i=n[0];else if(n.length===2&&n[1]===1)i=n[0];else throw RangeError(`Expected a column vector, instead got a matrix of size (`+n.join(`, `)+`)`);if(r.length===1)o=r[0];else if(r.length===2&&r[1]===1)o=r[0];else throw RangeError(`Expected a column vector, instead got a matrix of size (`+r.join(`, `)+`)`);if(i!==o)throw RangeError(`Vectors must have equal length (`+i+` != `+o+`)`);if(i===0)throw RangeError(`Cannot calculate the dot product of empty vectors`);return i}function s(e,s){var c=o(e,s),l=F(e)?e._data:e,u=F(e)?e._datatype||e.getDataType():void 0,d=F(s)?s._data:s,f=F(s)?s._datatype||s.getDataType():void 0,p=a(e).length===2,m=a(s).length===2,h=n,g=r;if(u&&f&&u===f&&typeof u==`string`&&u!==`mixed`){var _=u;h=t.find(n,[_,_]),g=t.find(r,[_,_])}if(!p&&!m){for(var v=g(i(l[0]),d[0]),y=1;y<c;y++)v=h(v,g(i(l[y]),d[y]));return v}if(!p&&m){for(var b=g(i(l[0]),d[0][0]),x=1;x<c;x++)b=h(b,g(i(l[x]),d[x][0]));return b}if(p&&!m){for(var S=g(i(l[0][0]),d[0]),C=1;C<c;C++)S=h(S,g(i(l[C][0]),d[C]));return S}if(p&&m){for(var w=g(i(l[0][0]),d[0][0]),T=1;T<c;T++)w=h(w,g(i(l[T][0]),d[T][0]));return w}}function c(e,t){o(e,t);for(var i=e._index,a=e._values,s=t._index,c=t._values,l=0,u=n,d=r,f=0,p=0;f<i.length&&p<s.length;){var m=i[f],h=s[p];if(m<h){f++;continue}if(m>h){p++;continue}m===h&&(l=u(l,d(a[f],c[p])),f++,p++)}return l}}),Wm=V(`trace`,[`typed`,`matrix`,`add`],e=>{var{typed:t,matrix:n,add:r}=e;return t(`trace`,{Array:function(e){return i(n(e))},SparseMatrix:a,DenseMatrix:i,any:Ne});function i(e){var t=e._size,n=e._data;switch(t.length){case 1:if(t[0]===1)return Ne(n[0]);throw RangeError(`Matrix must be square (size: `+oi(t)+`)`);case 2:var i=t[0];if(i===t[1]){for(var a=0,o=0;o<i;o++)a=r(a,n[o][o]);return a}throw RangeError(`Matrix must be square (size: `+oi(t)+`)`);default:throw RangeError(`Matrix must be two dimensional (size: `+oi(t)+`)`)}}function a(e){var t=e._values,n=e._index,i=e._ptr,a=e._size,o=a[0],s=a[1];if(o===s){var c=0;if(t.length>0)for(var l=0;l<s;l++)for(var u=i[l],d=i[l+1],f=u;f<d;f++){var p=n[f];if(p===l){c=r(c,t[f]);break}if(p>l)break}return c}throw RangeError(`Matrix must be square (size: `+oi(a)+`)`)}}),Gm=`index`,Km=V(Gm,[`typed`,`Index`],e=>{var{typed:t,Index:n}=e;return t(Gm,{"...number | string | BigNumber | Range | Array | Matrix":function(e){var t=e.map(function(e){return O(e)?e.toNumber():P(e)||F(e)?e.map(function(e){return O(e)?e.toNumber():e}):e}),r=new n;return n.apply(r,t),r}})}),qm=new Set([`end`]),Jm=V(`Node`,[`mathWithTransform`],e=>{var{mathWithTransform:t}=e;function n(e){for(var t of[...qm])if(e.has(t))throw Error(`Scope contains an illegal symbol, "`+t+`" is a reserved keyword`)}class r{get type(){return`Node`}get isNode(){return!0}evaluate(e){return this.compile().evaluate(e)}compile(){var e=this._compile(t,{}),r={},i=null;function a(t){var a=T(t);return n(a),e(a,r,i)}return{evaluate:a}}_compile(e,t){throw Error(`Method _compile must be implemented by type `+this.type)}forEach(e){throw Error(`Cannot run forEach on a Node interface`)}map(e){throw Error(`Cannot run map on a Node interface`)}_ifNode(e){if(!we(e))throw TypeError(`Callback function must return a Node`);return e}traverse(e){e(this,null,null);function t(e,n){e.forEach(function(e,r,i){n(e,r,i),t(e,n)})}t(this,e)}transform(e){function t(n,r,i){var a=e(n,r,i);return a===n?n.map(t):a}return t(this,null,null)}filter(e){var t=[];return this.traverse(function(n,r,i){e(n,r,i)&&t.push(n)}),t}clone(){throw Error(`Cannot clone a Node interface`)}cloneDeep(){return this.map(function(e){return e.cloneDeep()})}equals(e){return e?this.type===e.type&&Le(this,e):!1}toString(e){var t=this._getCustomString(e);return t===void 0?this._toString(e):t}_toString(){throw Error(`_toString not implemented for `+this.type)}toJSON(){throw Error(`Cannot serialize object: toJSON not implemented by `+this.type)}toHTML(e){var t=this._getCustomString(e);return t===void 0?this._toHTML(e):t}_toHTML(){throw Error(`_toHTML not implemented for `+this.type)}toTex(e){var t=this._getCustomString(e);return t===void 0?this._toTex(e):t}_toTex(e){throw Error(`_toTex not implemented for `+this.type)}_getCustomString(e){if(e&&typeof e==`object`)switch(typeof e.handler){case`object`:case`undefined`:return;case`function`:return e.handler(this,e);default:throw TypeError(`Object or function expected as callback`)}}getIdentifier(){return this.type}getContent(){return this}}return r},{isClass:!0,isNode:!0});function Ym(e){return e&&e.isIndexError?new hi(e.index+1,e.min+1,e.max===void 0?void 0:e.max+1):e}function Xm(e){var{subset:t}=e;return function(e,n){try{if(Array.isArray(e))return t(e,n);if(e&&typeof e.subset==`function`)return e.subset(n);if(typeof e==`string`)return t(e,n);if(typeof e==`object`){if(!n.isObjectProperty())throw TypeError(`Cannot apply a numeric index as object property`);return f(e,n.getObjectProperty())}throw TypeError(`Cannot apply index: unsupported type of object`)}catch(e){throw Ym(e)}}}var Zm=`AccessorNode`,Qm=V(Zm,[`subset`,`Node`],e=>{var{subset:t,Node:n}=e,r=Xm({subset:t});function i(e){return!(me(e)||he(e)||ye(e)||Se(e)||Te(e)||De(e)||Ae(e))}class a extends n{constructor(e,t){var n=arguments.length>2&&arguments[2]!==void 0&&arguments[2];if(super(),!we(e))throw TypeError(`Node expected for parameter "object"`);if(!Ce(t))throw TypeError(`IndexNode expected for parameter "index"`);this.object=e,this.index=t,this.optionalChaining=n}get name(){return this.index?this.index.isObjectProperty()?this.index.getObjectProperty():``:this.object.name||``}get type(){return Zm}get isAccessorNode(){return!0}_compile(e,t){var n=this.object._compile(e,t),i=this.index._compile(e,t),a=this.optionalChaining,o=me(this.object)&&this.object.optionalChaining;if(this.index.isObjectProperty()){var s=this.index.getObjectProperty();return function(e,t,r){var i=r||{},c=n(e,t,i);if(a&&c==null){i.optionalShortCircuit=!0;return}if(!(o&&i!=null&&i.optionalShortCircuit))return f(c,s)}}return function(e,t,s){var c=s||{},l=n(e,t,c);if(a&&l==null){c.optionalShortCircuit=!0;return}if(!(o&&c!=null&&c.optionalShortCircuit))return r(l,i(e,t,l))}}forEach(e){e(this.object,`object`,this),e(this.index,`index`,this)}map(e){return new a(this._ifNode(e(this.object,`object`,this)),this._ifNode(e(this.index,`index`,this)),this.optionalChaining)}clone(){return new a(this.object,this.index,this.optionalChaining)}_toString(e){var t=this.object.toString(e);i(this.object)&&(t=`(`+t+`)`);var n=this.optionalChaining?this.index.dotNotation?`?`:`?.`:``;return t+n+this.index.toString(e)}_toHTML(e){var t=this.object.toHTML(e);return i(this.object)&&(t=`<span class="math-parenthesis math-round-parenthesis">(</span>`+t+`<span class="math-parenthesis math-round-parenthesis">)</span>`),t+this.index.toHTML(e)}_toTex(e){var t=this.object.toTex(e);return i(this.object)&&(t=`\\left(' + object + '\\right)`),t+this.index.toTex(e)}toJSON(){return{mathjs:Zm,object:this.object,index:this.index,optionalChaining:this.optionalChaining}}static fromJSON(e){return new a(e.object,e.index,e.optionalChaining)}}return Ju(a,`name`,Zm),a},{isClass:!0,isNode:!0}),$m=`ArrayNode`,eh=V($m,[`Node`],e=>{var{Node:t}=e;class n extends t{constructor(e){if(super(),this.items=e||[],!Array.isArray(this.items)||!this.items.every(we))throw TypeError(`Array containing Nodes expected`)}get type(){return $m}get isArrayNode(){return!0}_compile(e,t){var n=Ni(this.items,function(n){return n._compile(e,t)});if(e.config.matrix!==`Array`){var r=e.matrix;return function(e,t,i){return r(Ni(n,function(n){return n(e,t,i)}))}}return function(e,t,r){return Ni(n,function(n){return n(e,t,r)})}}forEach(e){for(var t=0;t<this.items.length;t++){var n=this.items[t];e(n,`items[`+t+`]`,this)}}map(e){for(var t=[],r=0;r<this.items.length;r++)t[r]=this._ifNode(e(this.items[r],`items[`+r+`]`,this));return new n(t)}clone(){return new n(this.items.slice(0))}_toString(e){return`[`+this.items.map(function(t){return t.toString(e)}).join(`, `)+`]`}toJSON(){return{mathjs:$m,items:this.items}}static fromJSON(e){return new n(e.items)}_toHTML(e){return`<span class="math-parenthesis math-square-parenthesis">[</span>`+this.items.map(function(t){return t.toHTML(e)}).join(`<span class="math-separator">,</span>`)+`<span class="math-parenthesis math-square-parenthesis">]</span>`}_toTex(e){function t(n,r){var i=n.some(he)&&!n.every(he),a=r||i,o=a?`&`:`\\\\`,s=n.map(function(n){return n.items?t(n.items,!r):n.toTex(e)}).join(o);return i||!a||a&&!r?`\\begin{bmatrix}`+s+`\\end{bmatrix}`:s}return t(this.items,!1)}}return Ju(n,`name`,$m),n},{isClass:!0,isNode:!0});function th(e){var{subset:t,matrix:n}=e;return function(e,r,i){try{if(Array.isArray(e))return n(e).subset(r,i).valueOf().forEach((t,n)=>{e[n]=t}),e;if(e&&typeof e.subset==`function`)return e.subset(r,i);if(typeof e==`string`)return t(e,r,i);if(typeof e==`object`){if(!r.isObjectProperty())throw TypeError(`Cannot apply a numeric index as object property`);return p(e,r.getObjectProperty(),i),e}throw TypeError(`Cannot apply index: unsupported type of object`)}catch(e){throw Ym(e)}}}var nh=[{AssignmentNode:{},FunctionAssignmentNode:{}},{ConditionalNode:{latexLeftParens:!1,latexRightParens:!1,latexParens:!1}},{"OperatorNode:or":{op:`or`,associativity:`left`,associativeWith:[]}},{"OperatorNode:xor":{op:`xor`,associativity:`left`,associativeWith:[]}},{"OperatorNode:and":{op:`and`,associativity:`left`,associativeWith:[]}},{"OperatorNode:bitOr":{op:`|`,associativity:`left`,associativeWith:[]}},{"OperatorNode:bitXor":{op:`^|`,associativity:`left`,associativeWith:[]}},{"OperatorNode:bitAnd":{op:`&`,associativity:`left`,associativeWith:[]}},{"OperatorNode:equal":{op:`==`,associativity:`left`,associativeWith:[]},"OperatorNode:unequal":{op:`!=`,associativity:`left`,associativeWith:[]},"OperatorNode:smaller":{op:`<`,associativity:`left`,associativeWith:[]},"OperatorNode:larger":{op:`>`,associativity:`left`,associativeWith:[]},"OperatorNode:smallerEq":{op:`<=`,associativity:`left`,associativeWith:[]},"OperatorNode:largerEq":{op:`>=`,associativity:`left`,associativeWith:[]},RelationalNode:{associativity:`left`,associativeWith:[]}},{"OperatorNode:leftShift":{op:`<<`,associativity:`left`,associativeWith:[]},"OperatorNode:rightArithShift":{op:`>>`,associativity:`left`,associativeWith:[]},"OperatorNode:rightLogShift":{op:`>>>`,associativity:`left`,associativeWith:[]}},{"OperatorNode:to":{op:`to`,associativity:`left`,associativeWith:[]}},{RangeNode:{}},{"OperatorNode:add":{op:`+`,associativity:`left`,associativeWith:[`OperatorNode:add`,`OperatorNode:subtract`]},"OperatorNode:subtract":{op:`-`,associativity:`left`,associativeWith:[]}},{"OperatorNode:multiply":{op:`*`,associativity:`left`,associativeWith:[`OperatorNode:multiply`,`OperatorNode:divide`,`Operator:dotMultiply`,`Operator:dotDivide`]},"OperatorNode:divide":{op:`/`,associativity:`left`,associativeWith:[],latexLeftParens:!1,latexRightParens:!1,latexParens:!1},"OperatorNode:dotMultiply":{op:`.*`,associativity:`left`,associativeWith:[`OperatorNode:multiply`,`OperatorNode:divide`,`OperatorNode:dotMultiply`,`OperatorNode:doDivide`]},"OperatorNode:dotDivide":{op:`./`,associativity:`left`,associativeWith:[]},"OperatorNode:mod":{op:`mod`,associativity:`left`,associativeWith:[]}},{"OperatorNode:multiply":{associativity:`left`,associativeWith:[`OperatorNode:multiply`,`OperatorNode:divide`,`Operator:dotMultiply`,`Operator:dotDivide`]}},{"OperatorNode:unaryPlus":{op:`+`,associativity:`right`},"OperatorNode:unaryMinus":{op:`-`,associativity:`right`},"OperatorNode:bitNot":{op:`~`,associativity:`right`},"OperatorNode:not":{op:`not`,associativity:`right`}},{"OperatorNode:pow":{op:`^`,associativity:`right`,associativeWith:[],latexRightParens:!1},"OperatorNode:dotPow":{op:`.^`,associativity:`right`,associativeWith:[]}},{"OperatorNode:nullish":{op:`??`,associativity:`left`,associativeWith:[]}},{"OperatorNode:factorial":{op:`!`,associativity:`left`}},{"OperatorNode:ctranspose":{op:`'`,associativity:`left`}}];function rh(e,t){if(!t||t!==`auto`)return e;for(var n=e;De(n);)n=n.content;return n}function ih(e,t,n,r){var i=e;t!==`keep`&&(i=e.getContent());for(var a=i.getIdentifier(),o=null,s=0;s<nh.length;s++)if(a in nh[s]){o=s;break}if(a===`OperatorNode:multiply`&&i.implicit&&n!==`show`){var c=rh(i.args[0],t);!(ye(c)&&r&&r.getIdentifier()===`OperatorNode:divide`&&be(rh(r.args[0],t)))&&!(c.getIdentifier()===`OperatorNode:divide`&&be(rh(c.args[0],t))&&ye(rh(c.args[1])))&&(o+=1)}return o}function ah(e,t){var n=e;t!==`keep`&&(n=e.getContent());var r=n.getIdentifier(),i=ih(n,t);if(i===null)return null;var a=nh[i][r];if(z(a,`associativity`)){if(a.associativity===`left`)return`left`;if(a.associativity===`right`)return`right`;throw Error(`'`+r+`' has the invalid associativity '`+a.associativity+`'.`)}return null}function oh(e,t,n){var r=n===`keep`?e:e.getContent(),i=n===`keep`?t:e.getContent(),a=r.getIdentifier(),o=i.getIdentifier(),s=ih(r,n);if(s===null)return null;var c=nh[s][a];if(z(c,`associativeWith`)&&c.associativeWith instanceof Array){for(var l=0;l<c.associativeWith.length;l++)if(c.associativeWith[l]===o)return!0;return!1}return null}function sh(e){var t=`OperatorNode:`+e;for(var n of nh)if(t in n)return n[t].op;return null}var ch=`AssignmentNode`,lh=V(ch,[`subset`,`?matrix`,`Node`],e=>{var{subset:t,matrix:n,Node:r}=e,i=Xm({subset:t}),a=th({subset:t,matrix:n});function o(e,t,n){t||=`keep`;var r=ih(e,t,n),i=ih(e.value,t,n);return t===`all`||i!==null&&i<=r}class s extends r{constructor(e,t,n){if(super(),this.object=e,this.index=n?t:null,this.value=n||t,!Ae(e)&&!me(e))throw TypeError(`SymbolNode or AccessorNode expected as "object"`);if(Ae(e)&&e.name===`end`)throw Error(`Cannot assign to symbol "end"`);if(this.index&&!Ce(this.index))throw TypeError(`IndexNode expected as "index"`);if(!we(this.value))throw TypeError(`Node expected as "value"`)}get name(){return this.index?this.index.isObjectProperty()?this.index.getObjectProperty():``:this.object.name||``}get type(){return ch}get isAssignmentNode(){return!0}_compile(e,t){var n=this.object._compile(e,t),r=this.index?this.index._compile(e,t):null,o=this.value._compile(e,t),s=this.object.name;if(!this.index){if(!Ae(this.object))throw TypeError(`SymbolNode expected as object`);return function(e,t,n){var r=o(e,t,n);return e.set(s,r),r}}if(this.index.isObjectProperty()){var c=this.index.getObjectProperty();return function(e,t,r){var i=n(e,t,r),a=o(e,t,r);return p(i,c,a),a}}if(Ae(this.object))return function(e,t,i){var c=n(e,t,i),l=o(e,t,i),u=r(e,t,c);return e.set(s,a(c,u,l)),l};var l=this.object.object._compile(e,t);if(this.object.index.isObjectProperty()){var u=this.object.index.getObjectProperty();return function(e,t,n){var i=l(e,t,n),s=f(i,u),c=r(e,t,s),d=o(e,t,n);return p(i,u,a(s,c,d)),d}}var d=this.object.index._compile(e,t);return function(e,t,n){var s=l(e,t,n),c=d(e,t,s),u=i(s,c),f=r(e,t,u),p=o(e,t,n);return a(s,c,a(u,f,p)),p}}forEach(e){e(this.object,`object`,this),this.index&&e(this.index,`index`,this),e(this.value,`value`,this)}map(e){var t=this._ifNode(e(this.object,`object`,this)),n=this.index?this._ifNode(e(this.index,`index`,this)):null,r=this._ifNode(e(this.value,`value`,this));return new s(t,n,r)}clone(){return new s(this.object,this.index,this.value)}_toString(e){var t=this.object.toString(e),n=this.index?this.index.toString(e):``,r=this.value.toString(e);return o(this,e&&e.parenthesis,e&&e.implicit)&&(r=`(`+r+`)`),t+n+` = `+r}toJSON(){return{mathjs:ch,object:this.object,index:this.index,value:this.value}}static fromJSON(e){return new s(e.object,e.index,e.value)}_toHTML(e){var t=this.object.toHTML(e),n=this.index?this.index.toHTML(e):``,r=this.value.toHTML(e);return o(this,e&&e.parenthesis,e&&e.implicit)&&(r=`<span class="math-paranthesis math-round-parenthesis">(</span>`+r+`<span class="math-paranthesis math-round-parenthesis">)</span>`),t+n+`<span class="math-operator math-assignment-operator math-variable-assignment-operator math-binary-operator">=</span>`+r}_toTex(e){var t=this.object.toTex(e),n=this.index?this.index.toTex(e):``,r=this.value.toTex(e);return o(this,e&&e.parenthesis,e&&e.implicit)&&(r=`\\left(${r}\\right)`),t+n+`=`+r}}return Ju(s,`name`,ch),s},{isClass:!0,isNode:!0}),uh=`BlockNode`,dh=V(uh,[`ResultSet`,`Node`],e=>{var{ResultSet:t,Node:n}=e;class r extends n{constructor(e){if(super(),!Array.isArray(e))throw Error(`Array expected`);this.blocks=e.map(function(e){var t=e&&e.node,n=e&&e.visible!==void 0?e.visible:!0;if(!we(t))throw TypeError(`Property "node" must be a Node`);if(typeof n!=`boolean`)throw TypeError(`Property "visible" must be a boolean`);return{node:t,visible:n}})}get type(){return uh}get isBlockNode(){return!0}_compile(e,n){var r=Ni(this.blocks,function(t){return{evaluate:t.node._compile(e,n),visible:t.visible}});return function(e,n,i){var a=[];return Pi(r,function(t){var r=t.evaluate(e,n,i);t.visible&&a.push(r)}),new t(a)}}forEach(e){for(var t=0;t<this.blocks.length;t++)e(this.blocks[t].node,`blocks[`+t+`].node`,this)}map(e){for(var t=[],n=0;n<this.blocks.length;n++){var i=this.blocks[n],a=this._ifNode(e(i.node,`blocks[`+n+`].node`,this));t[n]={node:a,visible:i.visible}}return new r(t)}clone(){var e=this.blocks.map(function(e){return{node:e.node,visible:e.visible}});return new r(e)}_toString(e){return this.blocks.map(function(t){return t.node.toString(e)+(t.visible?``:`;`)}).join(`
12
12
  `)}toJSON(){return{mathjs:uh,blocks:this.blocks}}static fromJSON(e){return new r(e.blocks)}_toHTML(e){return this.blocks.map(function(t){return t.node.toHTML(e)+(t.visible?``:`<span class="math-separator">;</span>`)}).join(`<span class="math-separator"><br /></span>`)}_toTex(e){return this.blocks.map(function(t){return t.node.toTex(e)+(t.visible?``:`;`)}).join(`\\;\\;