@vibe-lark/larkpal 0.1.86 → 0.1.87

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 (208) hide show
  1. package/dist/account-id-BM1T6029-BzQ_cMoi.mjs +1 -0
  2. package/dist/activation-context--5yu1dPF-XV0Y0pTy.mjs +1 -0
  3. package/dist/anthropic-CFZUCb1w.mjs +39 -0
  4. package/dist/assistant-visible-text-DuFWokAt-BOJV_zwc.mjs +9 -0
  5. package/dist/azure-openai-responses-BEuiMaF-.mjs +1 -0
  6. package/dist/boundary-file-read-BSd9MXPy-gnNVhPKT.mjs +1 -0
  7. package/dist/browser-lifecycle-cleanup-BdNsMhMD-BM97qA_M.mjs +1 -0
  8. package/dist/build-Bkj0hOS2.mjs +3 -0
  9. package/dist/bundled-compat-BpaDaAAu-DJtrIX6i.mjs +27 -0
  10. package/dist/bundled-dir-U738ay4K-BxbzrJOo.mjs +1 -0
  11. package/dist/call-DimWbpgJ-B4pv55RH.mjs +20 -0
  12. package/dist/channel-bootstrap.runtime-BVclcGv1-CEZ0-JP9.mjs +1 -0
  13. package/dist/channel-bootstrap.runtime-Cwcr38m2-Dt6QlQkX.mjs +1 -0
  14. package/dist/chunk-DHbaKqs-.mjs +1 -0
  15. package/dist/cli.mjs +7 -92
  16. package/dist/command-format-LSnUCVVF-Dn4h9IOh.mjs +16 -0
  17. package/dist/config-Bim2pi8a-03N-28sw.mjs +1 -0
  18. package/dist/delivery-context.shared-j5hC5qb1-BSLQG47q.mjs +1 -0
  19. package/dist/diagnostic-ClMwNnUA-BMKvPQJT.mjs +1 -0
  20. package/dist/dist-J5UB83Ws.mjs +601 -0
  21. package/dist/dist-coestTs9.mjs +5 -0
  22. package/dist/env-api-keys-Cuz5irWW.mjs +1 -0
  23. package/dist/event-stream-B7Ei41Bu.mjs +1 -0
  24. package/dist/facade-loader-DFzIYYt_-4bzFvy-b.mjs +1 -0
  25. package/dist/from-Ba69_5cR.mjs +14 -0
  26. package/dist/gateway-method-policy-C7rf0SeV-CTJcMQCE.mjs +1 -0
  27. package/dist/github-copilot-headers-BfhryVuU.mjs +1 -0
  28. package/dist/google-ABo-1guT.mjs +1 -0
  29. package/dist/google-gemini-cli-CGlN1zUA.mjs +2 -0
  30. package/dist/google-shared-C60sNhwd.mjs +301 -0
  31. package/dist/google-vertex-De0nAItu.mjs +1 -0
  32. package/dist/hash-Dw-N8Y9l.mjs +1 -0
  33. package/dist/headers-Bpsp70B9.mjs +1 -0
  34. package/dist/home-dir-C44RaPME-B5iLWwCq.mjs +1 -0
  35. package/dist/ids-BPsM98Uu-CJBJAeVC.mjs +1 -0
  36. package/dist/image-2w3cApg7-CrpUMCvm.mjs +3 -0
  37. package/dist/interactive-init-C5MFL5MW.mjs +8 -0
  38. package/dist/io-CH2g3vsv-JJtUIa_U.mjs +10 -0
  39. package/dist/jiti-loader-cache-Bat69wam-DNIteTtO.mjs +9 -0
  40. package/dist/json-file-BQRNuxmK-hRjIgOXI.mjs +1 -0
  41. package/dist/json-parse-BESd8UAM.mjs +3 -0
  42. package/dist/jws-YaZ38F_i.mjs +12 -0
  43. package/dist/lark-cli-provider-BLMxH6CN.mjs +4 -0
  44. package/dist/lark-logger-xpMKNNtY.mjs +1 -0
  45. package/dist/live-smoke-DpURW676.mjs +33 -0
  46. package/dist/load-context-mb7uvLSn-3xYwSnOZ.mjs +1 -0
  47. package/dist/loader-708jrx4Y-BbJRXNlQ.mjs +4 -0
  48. package/dist/main.mjs +153 -74571
  49. package/dist/manifest-registry-_hxKCS2K-OL8KK_o4.mjs +15 -0
  50. package/dist/mcp-server.mjs +4 -527
  51. package/dist/message-channel-Bk_YHfQg-n2Hw2Y0L.mjs +1 -0
  52. package/dist/message-channel-core-DTA--Gjh-CIh10vfo.mjs +1 -0
  53. package/dist/message.config.runtime-K-k4XOyq-F_h0Cgkl.mjs +1 -0
  54. package/dist/message.gateway.runtime-DqHOHRTQ-ge4c5p4s.mjs +1 -0
  55. package/dist/mistral-DyL3Zo1b.mjs +7 -0
  56. package/dist/model-auth-env-oyg2Hexc-DJbt9J3o.mjs +1 -0
  57. package/dist/models-config-BmpSQJQF-BL6S5qAo.mjs +1 -0
  58. package/dist/models-config.runtime-SOhLEw-f.mjs +1 -0
  59. package/dist/multipart-parser-B9dwXBqu.mjs +2 -0
  60. package/dist/oauth-25y2wc7K.mjs +75 -0
  61. package/dist/openai-C-rgGb7X.mjs +16 -0
  62. package/dist/openai-codex-responses-BbyAPsP1.mjs +7 -0
  63. package/dist/openai-completions-Bu5qvQzb.mjs +5 -0
  64. package/dist/openai-responses-pIdwQBc4.mjs +1 -0
  65. package/dist/openai-responses-shared-DqW1JSux.mjs +10 -0
  66. package/dist/paths-D6msg0S1-BO4XgM1u.mjs +1 -0
  67. package/dist/paths-D92DjaZ--DdtJ-zYp.mjs +1 -0
  68. package/dist/pi-model-discovery-Bd0TWzo8-DvSM0eWu.mjs +1 -0
  69. package/dist/pi-model-discovery-runtime-PrjWOmsV.mjs +1 -0
  70. package/dist/pi-tools.before-tool-call.runtime-Bn7uqKie-WPxU5oNX.mjs +2 -0
  71. package/dist/plugin-auto-enable-DdH3n9V8-Dr_bUXkG.mjs +1 -0
  72. package/dist/process-scoped-map-B2cWkYET-Co-i-MXA.mjs +1 -0
  73. package/dist/provider-discovery.runtime-DY0VWQ81.mjs +1 -0
  74. package/dist/provider-model-compat-CFqcq0it-BUwZENrz.mjs +1 -0
  75. package/dist/provider-runtime-C8rljsNs-BDvu6FW3.mjs +1 -0
  76. package/dist/provider-runtime-CT50mNIX-DImw7ZZu.mjs +79 -0
  77. package/dist/provider-stream-COLujAAo-Dpq1DSIk.mjs +248 -0
  78. package/dist/providers.runtime-Ba7tOlq7-B4t6ywCr.mjs +1 -0
  79. package/dist/public-surface-loader-BVl0NQAE-TfJ3izj1.mjs +1 -0
  80. package/dist/resolve-C33B7eeu-DZM_z6Wr.mjs +1 -0
  81. package/dist/runtime-Cym-fqI8-1GOIuRRQ.mjs +1 -0
  82. package/dist/runtime-channel-state-CohMybAh-BBzhl07Q.mjs +1 -0
  83. package/dist/runtime-snapshot-C54O1-gI-DxusscPf.mjs +1 -0
  84. package/dist/runtime-state-IBOIXKOx-Cw1GA1td.mjs +1 -0
  85. package/dist/runtime-web-tools-fallback.runtime-Ca-qn1mj-BsYE2gOd.mjs +1 -0
  86. package/dist/runtime-web-tools-manifest.runtime-BgxQTjmq-P6MKP9gQ.mjs +1 -0
  87. package/dist/runtime-web-tools-public-artifacts.runtime-D9qcoWIX-5VoyjouO.mjs +1 -0
  88. package/dist/session-archive.runtime-B52_5vs4-cU2tYbBz.mjs +1 -0
  89. package/dist/session-key-Cn2QoOyX-QZeYmbxd.mjs +1 -0
  90. package/dist/session-transcript-files.fs-DEeFXruQ-CXIAFSsr.mjs +1 -0
  91. package/dist/src-CCDx_C-U.mjs +3 -0
  92. package/dist/src-DACmA9V6.mjs +5 -0
  93. package/dist/subagent-announce-L5WsQatW--rMn240x.mjs +2 -0
  94. package/dist/subagent-announce.registry.runtime-DiqZyeTs-DNfNHsls.mjs +1 -0
  95. package/dist/subagent-registry-steer-runtime-DFgZFC0j-XYS1_qwl.mjs +1 -0
  96. package/dist/subagent-system-prompt-C1qnN--K-CsU4f97T.mjs +23 -0
  97. package/dist/target-parsing-loaded-DKkb6jJY-B830OA1a.mjs +12 -0
  98. package/dist/task-registry-delivery-runtime-Dd1CUkZF-B2Hj2k8C.mjs +16 -0
  99. package/dist/task-registry-delivery-runtime-ragbeVx5-Bdvo2Q5u.mjs +1 -0
  100. package/dist/thinking-Bh-7MqXz-uApNUe6g.mjs +1 -0
  101. package/dist/transcript-E_-ISOkD-VTwb782D.mjs +5 -0
  102. package/dist/transcript.runtime-BqhvZZdl-B4E0TiX5.mjs +1 -0
  103. package/dist/transform-messages-BTA3xbAI.mjs +1 -0
  104. package/dist/web-provider-public-artifacts-BlpRwIUS-DbVhDOrY.mjs +1 -0
  105. package/dist/web-search-providers.runtime--0aUtC3b-Bjh4Bmrz.mjs +1 -0
  106. package/package.json +2 -3
  107. package/dist/account-id-BM1T6029-DYjVxojW.mjs +0 -46
  108. package/dist/activation-context--5yu1dPF-Bwsn3moT.mjs +0 -172
  109. package/dist/anthropic-TH8ERTXK.mjs +0 -5962
  110. package/dist/assistant-visible-text-DuFWokAt-CsbII5KS.mjs +0 -596
  111. package/dist/azure-openai-responses-Bt_Ag9Er.mjs +0 -166
  112. package/dist/boundary-file-read-BSd9MXPy--KThL5e6.mjs +0 -594
  113. package/dist/browser-lifecycle-cleanup-BdNsMhMD-O3tnAM4i.mjs +0 -60
  114. package/dist/build-DgTrEpge.mjs +0 -3333
  115. package/dist/bundled-compat-BpaDaAAu-D7oazKjD.mjs +0 -5216
  116. package/dist/bundled-dir-U738ay4K-DXK0q_TV.mjs +0 -258
  117. package/dist/call-DimWbpgJ-ColD4W-y.mjs +0 -9993
  118. package/dist/channel-bootstrap.runtime-BVclcGv1-DJv_Z-Kr.mjs +0 -2
  119. package/dist/channel-bootstrap.runtime-Cwcr38m2-VRfVCR-i.mjs +0 -33
  120. package/dist/chunk-D6SyT4dJ.mjs +0 -36
  121. package/dist/command-format-LSnUCVVF-BQ2SMKka.mjs +0 -685
  122. package/dist/config-Bim2pi8a-BQUdfiEi.mjs +0 -9
  123. package/dist/delivery-context.shared-j5hC5qb1-CI83RXXZ.mjs +0 -72
  124. package/dist/diagnostic-ClMwNnUA-D6nUtLnb.mjs +0 -140
  125. package/dist/dist-CEGw8-2W.mjs +0 -429
  126. package/dist/dist-DD2aJ2UL.mjs +0 -125135
  127. package/dist/env-api-keys-BVvSg7T2.mjs +0 -68
  128. package/dist/event-stream-xaQWmyas.mjs +0 -15226
  129. package/dist/facade-loader-DFzIYYt_-CIr4HKtE.mjs +0 -194
  130. package/dist/from-DF7cl2wz.mjs +0 -3842
  131. package/dist/gateway-method-policy-C7rf0SeV-CJQMEYIE.mjs +0 -28
  132. package/dist/github-copilot-headers-DjqWtUoP.mjs +0 -22
  133. package/dist/google-C2pVrgBZ.mjs +0 -336
  134. package/dist/google-gemini-cli-BBxgS5Ho.mjs +0 -623
  135. package/dist/google-shared-BsWgwEk1.mjs +0 -22791
  136. package/dist/google-vertex-BsVLJrrC.mjs +0 -358
  137. package/dist/hash-DAFtW_W7.mjs +0 -16
  138. package/dist/headers-R3HdCbAE.mjs +0 -8
  139. package/dist/home-dir-C44RaPME-CBRS4HLP.mjs +0 -93
  140. package/dist/ids-BPsM98Uu-CwuxvUai.mjs +0 -77
  141. package/dist/image-2w3cApg7-CxpHvoB5.mjs +0 -207
  142. package/dist/interactive-init-BXQBalNr.mjs +0 -450
  143. package/dist/io-CH2g3vsv-BOGlLlB8.mjs +0 -26218
  144. package/dist/jiti-loader-cache-Bat69wam-D6hCxboy.mjs +0 -5049
  145. package/dist/json-file-BQRNuxmK-DhJM5NsG.mjs +0 -108
  146. package/dist/json-parse-v_HIJjjI.mjs +0 -381
  147. package/dist/jws-GFcTvvVT.mjs +0 -2291
  148. package/dist/lark-cli-provider-BARgbbmo.mjs +0 -554
  149. package/dist/lark-logger-D7_pEVQc.mjs +0 -143
  150. package/dist/live-smoke-BhkBOcH9.mjs +0 -7135
  151. package/dist/load-context-mb7uvLSn-B10MAi3I.mjs +0 -29
  152. package/dist/loader-708jrx4Y-BOswuvpe.mjs +0 -5053
  153. package/dist/manifest-registry-_hxKCS2K-CZdeyN0f.mjs +0 -3512
  154. package/dist/message-channel-Bk_YHfQg-AeNrPPpp.mjs +0 -50
  155. package/dist/message-channel-core-DTA--Gjh-CY4Tkb7N.mjs +0 -29
  156. package/dist/message.config.runtime-K-k4XOyq-DZTmXomP.mjs +0 -2
  157. package/dist/message.gateway.runtime-DqHOHRTQ-DH4ml0YF.mjs +0 -2
  158. package/dist/mistral-CaR4DiLu.mjs +0 -28657
  159. package/dist/model-auth-env-oyg2Hexc-DU_rOUU5.mjs +0 -1306
  160. package/dist/models-config-BmpSQJQF-Gfvh1n3A.mjs +0 -1282
  161. package/dist/models-config.runtime-BsU_22xk.mjs +0 -2
  162. package/dist/multipart-parser-DedmaB5g.mjs +0 -294
  163. package/dist/oauth-DOJeGfcE.mjs +0 -6392
  164. package/dist/openai-BDtIh3Ja.mjs +0 -6693
  165. package/dist/openai-codex-responses-C5EORu31.mjs +0 -664
  166. package/dist/openai-completions-CR_cS6gX.mjs +0 -669
  167. package/dist/openai-responses-oGxwZyuC.mjs +0 -184
  168. package/dist/openai-responses-shared-BixMSDZE.mjs +0 -398
  169. package/dist/paths-D6msg0S1-C2lYuisN.mjs +0 -189
  170. package/dist/paths-D92DjaZ--CTOESW2b.mjs +0 -192
  171. package/dist/pi-model-discovery-Bd0TWzo8-BFsJmeMb.mjs +0 -227
  172. package/dist/pi-model-discovery-runtime-CCCZxkd8.mjs +0 -2
  173. package/dist/pi-tools.before-tool-call.runtime-Bn7uqKie-C5ewk8kK.mjs +0 -399
  174. package/dist/plugin-auto-enable-DdH3n9V8-DsA1isaF.mjs +0 -1456
  175. package/dist/process-scoped-map-B2cWkYET-CXwUZ8CZ.mjs +0 -61
  176. package/dist/provider-discovery.runtime-BPzz1PFj.mjs +0 -58
  177. package/dist/provider-model-compat-CFqcq0it-BDDuBI3A.mjs +0 -118
  178. package/dist/provider-runtime-C8rljsNs-CIT93zoy.mjs +0 -2
  179. package/dist/provider-runtime-CT50mNIX-BwEV6GyO.mjs +0 -573
  180. package/dist/provider-stream-COLujAAo-CbJPDngm.mjs +0 -35449
  181. package/dist/providers.runtime-Ba7tOlq7-CXkhkzU9.mjs +0 -219
  182. package/dist/public-surface-loader-BVl0NQAE-C0piXtsT.mjs +0 -117
  183. package/dist/resolve-C33B7eeu-BNvYTl6k.mjs +0 -1041
  184. package/dist/runtime-Cym-fqI8-DaSDMH-a.mjs +0 -120
  185. package/dist/runtime-channel-state-CohMybAh-hXR6y5Gx.mjs +0 -19
  186. package/dist/runtime-snapshot-C54O1-gI-40cbyi7P.mjs +0 -677
  187. package/dist/runtime-state-IBOIXKOx-Bf9tcLvc.mjs +0 -10
  188. package/dist/runtime-web-tools-fallback.runtime-Ca-qn1mj-BCVImm7a.mjs +0 -39
  189. package/dist/runtime-web-tools-manifest.runtime-BgxQTjmq-Cb4nJkRT.mjs +0 -2
  190. package/dist/runtime-web-tools-public-artifacts.runtime-D9qcoWIX-BrQdXzOQ.mjs +0 -2
  191. package/dist/session-archive.runtime-B52_5vs4-BG-_IwNJ.mjs +0 -2
  192. package/dist/session-key-Cn2QoOyX-CuHbJMgR.mjs +0 -82
  193. package/dist/session-transcript-files.fs-DEeFXruQ-B1PF6nLy.mjs +0 -147
  194. package/dist/src-BgCX0MLG.mjs +0 -813
  195. package/dist/src-DYbqlAqf.mjs +0 -1177
  196. package/dist/subagent-announce-L5WsQatW-CQWI9GMd.mjs +0 -344
  197. package/dist/subagent-announce.registry.runtime-DiqZyeTs-BKuniyi3.mjs +0 -28
  198. package/dist/subagent-registry-steer-runtime-DFgZFC0j-BhBz0roy.mjs +0 -211
  199. package/dist/subagent-system-prompt-C1qnN--K-DpnTFP47.mjs +0 -3061
  200. package/dist/target-parsing-loaded-DKkb6jJY-BMD4CkpS.mjs +0 -1002
  201. package/dist/task-registry-delivery-runtime-Dd1CUkZF-C8U40a3O.mjs +0 -2950
  202. package/dist/task-registry-delivery-runtime-ragbeVx5-CNbFAkjD.mjs +0 -2
  203. package/dist/thinking-Bh-7MqXz-D3woGbO7.mjs +0 -2
  204. package/dist/transcript-E_-ISOkD-DWCfZP2p.mjs +0 -2019
  205. package/dist/transcript.runtime-BqhvZZdl-BPy42vBP.mjs +0 -2
  206. package/dist/transform-messages-DbhIzTxq.mjs +0 -207
  207. package/dist/web-provider-public-artifacts-BlpRwIUS-CGPSV4W2.mjs +0 -295
  208. package/dist/web-search-providers.runtime--0aUtC3b-DyuhC95V.mjs +0 -200
@@ -1,2291 +0,0 @@
1
- import { i as __require, t as __commonJSMin } from "./chunk-D6SyT4dJ.mjs";
2
- //#region node_modules/.pnpm/extend@3.0.2/node_modules/extend/index.js
3
- var require_extend = /* @__PURE__ */ __commonJSMin(((exports, module) => {
4
- var hasOwn = Object.prototype.hasOwnProperty;
5
- var toStr = Object.prototype.toString;
6
- var defineProperty = Object.defineProperty;
7
- var gOPD = Object.getOwnPropertyDescriptor;
8
- var isArray = function isArray(arr) {
9
- if (typeof Array.isArray === "function") return Array.isArray(arr);
10
- return toStr.call(arr) === "[object Array]";
11
- };
12
- var isPlainObject = function isPlainObject(obj) {
13
- if (!obj || toStr.call(obj) !== "[object Object]") return false;
14
- var hasOwnConstructor = hasOwn.call(obj, "constructor");
15
- var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, "isPrototypeOf");
16
- if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) return false;
17
- var key;
18
- for (key in obj);
19
- return typeof key === "undefined" || hasOwn.call(obj, key);
20
- };
21
- var setProperty = function setProperty(target, options) {
22
- if (defineProperty && options.name === "__proto__") defineProperty(target, options.name, {
23
- enumerable: true,
24
- configurable: true,
25
- value: options.newValue,
26
- writable: true
27
- });
28
- else target[options.name] = options.newValue;
29
- };
30
- var getProperty = function getProperty(obj, name) {
31
- if (name === "__proto__") {
32
- if (!hasOwn.call(obj, name)) return;
33
- else if (gOPD) return gOPD(obj, name).value;
34
- }
35
- return obj[name];
36
- };
37
- module.exports = function extend() {
38
- var options, name, src, copy, copyIsArray, clone;
39
- var target = arguments[0];
40
- var i = 1;
41
- var length = arguments.length;
42
- var deep = false;
43
- if (typeof target === "boolean") {
44
- deep = target;
45
- target = arguments[1] || {};
46
- i = 2;
47
- }
48
- if (target == null || typeof target !== "object" && typeof target !== "function") target = {};
49
- for (; i < length; ++i) {
50
- options = arguments[i];
51
- if (options != null) for (name in options) {
52
- src = getProperty(target, name);
53
- copy = getProperty(options, name);
54
- if (target !== copy) {
55
- if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {
56
- if (copyIsArray) {
57
- copyIsArray = false;
58
- clone = src && isArray(src) ? src : [];
59
- } else clone = src && isPlainObject(src) ? src : {};
60
- setProperty(target, {
61
- name,
62
- newValue: extend(deep, clone, copy)
63
- });
64
- } else if (typeof copy !== "undefined") setProperty(target, {
65
- name,
66
- newValue: copy
67
- });
68
- }
69
- }
70
- }
71
- return target;
72
- };
73
- }));
74
- //#endregion
75
- //#region node_modules/.pnpm/bignumber.js@9.3.1/node_modules/bignumber.js/bignumber.js
76
- var require_bignumber = /* @__PURE__ */ __commonJSMin(((exports, module) => {
77
- (function(globalObject) {
78
- "use strict";
79
- var BigNumber, isNumeric = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i, mathceil = Math.ceil, mathfloor = Math.floor, bignumberError = "[BigNumber Error] ", tooManyDigits = bignumberError + "Number primitive has more than 15 significant digits: ", BASE = 0x5af3107a4000, LOG_BASE = 14, MAX_SAFE_INTEGER = 9007199254740991, POWS_TEN = [
80
- 1,
81
- 10,
82
- 100,
83
- 1e3,
84
- 1e4,
85
- 1e5,
86
- 1e6,
87
- 1e7,
88
- 1e8,
89
- 1e9,
90
- 1e10,
91
- 1e11,
92
- 0xe8d4a51000,
93
- 0x9184e72a000
94
- ], SQRT_BASE = 1e7, MAX = 1e9;
95
- function clone(configObject) {
96
- var div, convertBase, parseNumeric, P = BigNumber.prototype = {
97
- constructor: BigNumber,
98
- toString: null,
99
- valueOf: null
100
- }, ONE = new BigNumber(1), DECIMAL_PLACES = 20, ROUNDING_MODE = 4, TO_EXP_NEG = -7, TO_EXP_POS = 21, MIN_EXP = -1e7, MAX_EXP = 1e7, CRYPTO = false, MODULO_MODE = 1, POW_PRECISION = 0, FORMAT = {
101
- prefix: "",
102
- groupSize: 3,
103
- secondaryGroupSize: 0,
104
- groupSeparator: ",",
105
- decimalSeparator: ".",
106
- fractionGroupSize: 0,
107
- fractionGroupSeparator: "\xA0",
108
- suffix: ""
109
- }, ALPHABET = "0123456789abcdefghijklmnopqrstuvwxyz", alphabetHasNormalDecimalDigits = true;
110
- function BigNumber(v, b) {
111
- var alphabet, c, caseChanged, e, i, isNum, len, str, x = this;
112
- if (!(x instanceof BigNumber)) return new BigNumber(v, b);
113
- if (b == null) {
114
- if (v && v._isBigNumber === true) {
115
- x.s = v.s;
116
- if (!v.c || v.e > MAX_EXP) x.c = x.e = null;
117
- else if (v.e < MIN_EXP) x.c = [x.e = 0];
118
- else {
119
- x.e = v.e;
120
- x.c = v.c.slice();
121
- }
122
- return;
123
- }
124
- if ((isNum = typeof v == "number") && v * 0 == 0) {
125
- x.s = 1 / v < 0 ? (v = -v, -1) : 1;
126
- if (v === ~~v) {
127
- for (e = 0, i = v; i >= 10; i /= 10, e++);
128
- if (e > MAX_EXP) x.c = x.e = null;
129
- else {
130
- x.e = e;
131
- x.c = [v];
132
- }
133
- return;
134
- }
135
- str = String(v);
136
- } else {
137
- if (!isNumeric.test(str = String(v))) return parseNumeric(x, str, isNum);
138
- x.s = str.charCodeAt(0) == 45 ? (str = str.slice(1), -1) : 1;
139
- }
140
- if ((e = str.indexOf(".")) > -1) str = str.replace(".", "");
141
- if ((i = str.search(/e/i)) > 0) {
142
- if (e < 0) e = i;
143
- e += +str.slice(i + 1);
144
- str = str.substring(0, i);
145
- } else if (e < 0) e = str.length;
146
- } else {
147
- intCheck(b, 2, ALPHABET.length, "Base");
148
- if (b == 10 && alphabetHasNormalDecimalDigits) {
149
- x = new BigNumber(v);
150
- return round(x, DECIMAL_PLACES + x.e + 1, ROUNDING_MODE);
151
- }
152
- str = String(v);
153
- if (isNum = typeof v == "number") {
154
- if (v * 0 != 0) return parseNumeric(x, str, isNum, b);
155
- x.s = 1 / v < 0 ? (str = str.slice(1), -1) : 1;
156
- if (BigNumber.DEBUG && str.replace(/^0\.0*|\./, "").length > 15) throw Error(tooManyDigits + v);
157
- } else x.s = str.charCodeAt(0) === 45 ? (str = str.slice(1), -1) : 1;
158
- alphabet = ALPHABET.slice(0, b);
159
- e = i = 0;
160
- for (len = str.length; i < len; i++) if (alphabet.indexOf(c = str.charAt(i)) < 0) {
161
- if (c == ".") {
162
- if (i > e) {
163
- e = len;
164
- continue;
165
- }
166
- } else if (!caseChanged) {
167
- if (str == str.toUpperCase() && (str = str.toLowerCase()) || str == str.toLowerCase() && (str = str.toUpperCase())) {
168
- caseChanged = true;
169
- i = -1;
170
- e = 0;
171
- continue;
172
- }
173
- }
174
- return parseNumeric(x, String(v), isNum, b);
175
- }
176
- isNum = false;
177
- str = convertBase(str, b, 10, x.s);
178
- if ((e = str.indexOf(".")) > -1) str = str.replace(".", "");
179
- else e = str.length;
180
- }
181
- for (i = 0; str.charCodeAt(i) === 48; i++);
182
- for (len = str.length; str.charCodeAt(--len) === 48;);
183
- if (str = str.slice(i, ++len)) {
184
- len -= i;
185
- if (isNum && BigNumber.DEBUG && len > 15 && (v > MAX_SAFE_INTEGER || v !== mathfloor(v))) throw Error(tooManyDigits + x.s * v);
186
- if ((e = e - i - 1) > MAX_EXP) x.c = x.e = null;
187
- else if (e < MIN_EXP) x.c = [x.e = 0];
188
- else {
189
- x.e = e;
190
- x.c = [];
191
- i = (e + 1) % LOG_BASE;
192
- if (e < 0) i += LOG_BASE;
193
- if (i < len) {
194
- if (i) x.c.push(+str.slice(0, i));
195
- for (len -= LOG_BASE; i < len;) x.c.push(+str.slice(i, i += LOG_BASE));
196
- i = LOG_BASE - (str = str.slice(i)).length;
197
- } else i -= len;
198
- for (; i--; str += "0");
199
- x.c.push(+str);
200
- }
201
- } else x.c = [x.e = 0];
202
- }
203
- BigNumber.clone = clone;
204
- BigNumber.ROUND_UP = 0;
205
- BigNumber.ROUND_DOWN = 1;
206
- BigNumber.ROUND_CEIL = 2;
207
- BigNumber.ROUND_FLOOR = 3;
208
- BigNumber.ROUND_HALF_UP = 4;
209
- BigNumber.ROUND_HALF_DOWN = 5;
210
- BigNumber.ROUND_HALF_EVEN = 6;
211
- BigNumber.ROUND_HALF_CEIL = 7;
212
- BigNumber.ROUND_HALF_FLOOR = 8;
213
- BigNumber.EUCLID = 9;
214
- BigNumber.config = BigNumber.set = function(obj) {
215
- var p, v;
216
- if (obj != null) if (typeof obj == "object") {
217
- if (obj.hasOwnProperty(p = "DECIMAL_PLACES")) {
218
- v = obj[p];
219
- intCheck(v, 0, MAX, p);
220
- DECIMAL_PLACES = v;
221
- }
222
- if (obj.hasOwnProperty(p = "ROUNDING_MODE")) {
223
- v = obj[p];
224
- intCheck(v, 0, 8, p);
225
- ROUNDING_MODE = v;
226
- }
227
- if (obj.hasOwnProperty(p = "EXPONENTIAL_AT")) {
228
- v = obj[p];
229
- if (v && v.pop) {
230
- intCheck(v[0], -MAX, 0, p);
231
- intCheck(v[1], 0, MAX, p);
232
- TO_EXP_NEG = v[0];
233
- TO_EXP_POS = v[1];
234
- } else {
235
- intCheck(v, -MAX, MAX, p);
236
- TO_EXP_NEG = -(TO_EXP_POS = v < 0 ? -v : v);
237
- }
238
- }
239
- if (obj.hasOwnProperty(p = "RANGE")) {
240
- v = obj[p];
241
- if (v && v.pop) {
242
- intCheck(v[0], -MAX, -1, p);
243
- intCheck(v[1], 1, MAX, p);
244
- MIN_EXP = v[0];
245
- MAX_EXP = v[1];
246
- } else {
247
- intCheck(v, -MAX, MAX, p);
248
- if (v) MIN_EXP = -(MAX_EXP = v < 0 ? -v : v);
249
- else throw Error(bignumberError + p + " cannot be zero: " + v);
250
- }
251
- }
252
- if (obj.hasOwnProperty(p = "CRYPTO")) {
253
- v = obj[p];
254
- if (v === !!v) if (v) if (typeof crypto != "undefined" && crypto && (crypto.getRandomValues || crypto.randomBytes)) CRYPTO = v;
255
- else {
256
- CRYPTO = !v;
257
- throw Error(bignumberError + "crypto unavailable");
258
- }
259
- else CRYPTO = v;
260
- else throw Error(bignumberError + p + " not true or false: " + v);
261
- }
262
- if (obj.hasOwnProperty(p = "MODULO_MODE")) {
263
- v = obj[p];
264
- intCheck(v, 0, 9, p);
265
- MODULO_MODE = v;
266
- }
267
- if (obj.hasOwnProperty(p = "POW_PRECISION")) {
268
- v = obj[p];
269
- intCheck(v, 0, MAX, p);
270
- POW_PRECISION = v;
271
- }
272
- if (obj.hasOwnProperty(p = "FORMAT")) {
273
- v = obj[p];
274
- if (typeof v == "object") FORMAT = v;
275
- else throw Error(bignumberError + p + " not an object: " + v);
276
- }
277
- if (obj.hasOwnProperty(p = "ALPHABET")) {
278
- v = obj[p];
279
- if (typeof v == "string" && !/^.?$|[+\-.\s]|(.).*\1/.test(v)) {
280
- alphabetHasNormalDecimalDigits = v.slice(0, 10) == "0123456789";
281
- ALPHABET = v;
282
- } else throw Error(bignumberError + p + " invalid: " + v);
283
- }
284
- } else throw Error(bignumberError + "Object expected: " + obj);
285
- return {
286
- DECIMAL_PLACES,
287
- ROUNDING_MODE,
288
- EXPONENTIAL_AT: [TO_EXP_NEG, TO_EXP_POS],
289
- RANGE: [MIN_EXP, MAX_EXP],
290
- CRYPTO,
291
- MODULO_MODE,
292
- POW_PRECISION,
293
- FORMAT,
294
- ALPHABET
295
- };
296
- };
297
- BigNumber.isBigNumber = function(v) {
298
- if (!v || v._isBigNumber !== true) return false;
299
- if (!BigNumber.DEBUG) return true;
300
- var i, n, c = v.c, e = v.e, s = v.s;
301
- out: if ({}.toString.call(c) == "[object Array]") {
302
- if ((s === 1 || s === -1) && e >= -MAX && e <= MAX && e === mathfloor(e)) {
303
- if (c[0] === 0) {
304
- if (e === 0 && c.length === 1) return true;
305
- break out;
306
- }
307
- i = (e + 1) % LOG_BASE;
308
- if (i < 1) i += LOG_BASE;
309
- if (String(c[0]).length == i) {
310
- for (i = 0; i < c.length; i++) {
311
- n = c[i];
312
- if (n < 0 || n >= BASE || n !== mathfloor(n)) break out;
313
- }
314
- if (n !== 0) return true;
315
- }
316
- }
317
- } else if (c === null && e === null && (s === null || s === 1 || s === -1)) return true;
318
- throw Error(bignumberError + "Invalid BigNumber: " + v);
319
- };
320
- BigNumber.maximum = BigNumber.max = function() {
321
- return maxOrMin(arguments, -1);
322
- };
323
- BigNumber.minimum = BigNumber.min = function() {
324
- return maxOrMin(arguments, 1);
325
- };
326
- BigNumber.random = (function() {
327
- var pow2_53 = 9007199254740992;
328
- var random53bitInt = Math.random() * pow2_53 & 2097151 ? function() {
329
- return mathfloor(Math.random() * pow2_53);
330
- } : function() {
331
- return (Math.random() * 1073741824 | 0) * 8388608 + (Math.random() * 8388608 | 0);
332
- };
333
- return function(dp) {
334
- var a, b, e, k, v, i = 0, c = [], rand = new BigNumber(ONE);
335
- if (dp == null) dp = DECIMAL_PLACES;
336
- else intCheck(dp, 0, MAX);
337
- k = mathceil(dp / LOG_BASE);
338
- if (CRYPTO) if (crypto.getRandomValues) {
339
- a = crypto.getRandomValues(new Uint32Array(k *= 2));
340
- for (; i < k;) {
341
- v = a[i] * 131072 + (a[i + 1] >>> 11);
342
- if (v >= 9e15) {
343
- b = crypto.getRandomValues(new Uint32Array(2));
344
- a[i] = b[0];
345
- a[i + 1] = b[1];
346
- } else {
347
- c.push(v % 0x5af3107a4000);
348
- i += 2;
349
- }
350
- }
351
- i = k / 2;
352
- } else if (crypto.randomBytes) {
353
- a = crypto.randomBytes(k *= 7);
354
- for (; i < k;) {
355
- v = (a[i] & 31) * 281474976710656 + a[i + 1] * 1099511627776 + a[i + 2] * 4294967296 + a[i + 3] * 16777216 + (a[i + 4] << 16) + (a[i + 5] << 8) + a[i + 6];
356
- if (v >= 9e15) crypto.randomBytes(7).copy(a, i);
357
- else {
358
- c.push(v % 0x5af3107a4000);
359
- i += 7;
360
- }
361
- }
362
- i = k / 7;
363
- } else {
364
- CRYPTO = false;
365
- throw Error(bignumberError + "crypto unavailable");
366
- }
367
- if (!CRYPTO) for (; i < k;) {
368
- v = random53bitInt();
369
- if (v < 9e15) c[i++] = v % 0x5af3107a4000;
370
- }
371
- k = c[--i];
372
- dp %= LOG_BASE;
373
- if (k && dp) {
374
- v = POWS_TEN[LOG_BASE - dp];
375
- c[i] = mathfloor(k / v) * v;
376
- }
377
- for (; c[i] === 0; c.pop(), i--);
378
- if (i < 0) c = [e = 0];
379
- else {
380
- for (e = -1; c[0] === 0; c.splice(0, 1), e -= LOG_BASE);
381
- for (i = 1, v = c[0]; v >= 10; v /= 10, i++);
382
- if (i < LOG_BASE) e -= LOG_BASE - i;
383
- }
384
- rand.e = e;
385
- rand.c = c;
386
- return rand;
387
- };
388
- })();
389
- BigNumber.sum = function() {
390
- var i = 1, args = arguments, sum = new BigNumber(args[0]);
391
- for (; i < args.length;) sum = sum.plus(args[i++]);
392
- return sum;
393
- };
394
- convertBase = (function() {
395
- var decimal = "0123456789";
396
- function toBaseOut(str, baseIn, baseOut, alphabet) {
397
- var j, arr = [0], arrL, i = 0, len = str.length;
398
- for (; i < len;) {
399
- for (arrL = arr.length; arrL--; arr[arrL] *= baseIn);
400
- arr[0] += alphabet.indexOf(str.charAt(i++));
401
- for (j = 0; j < arr.length; j++) if (arr[j] > baseOut - 1) {
402
- if (arr[j + 1] == null) arr[j + 1] = 0;
403
- arr[j + 1] += arr[j] / baseOut | 0;
404
- arr[j] %= baseOut;
405
- }
406
- }
407
- return arr.reverse();
408
- }
409
- return function(str, baseIn, baseOut, sign, callerIsToString) {
410
- var alphabet, d, e, k, r, x, xc, y, i = str.indexOf("."), dp = DECIMAL_PLACES, rm = ROUNDING_MODE;
411
- if (i >= 0) {
412
- k = POW_PRECISION;
413
- POW_PRECISION = 0;
414
- str = str.replace(".", "");
415
- y = new BigNumber(baseIn);
416
- x = y.pow(str.length - i);
417
- POW_PRECISION = k;
418
- y.c = toBaseOut(toFixedPoint(coeffToString(x.c), x.e, "0"), 10, baseOut, decimal);
419
- y.e = y.c.length;
420
- }
421
- xc = toBaseOut(str, baseIn, baseOut, callerIsToString ? (alphabet = ALPHABET, decimal) : (alphabet = decimal, ALPHABET));
422
- e = k = xc.length;
423
- for (; xc[--k] == 0; xc.pop());
424
- if (!xc[0]) return alphabet.charAt(0);
425
- if (i < 0) --e;
426
- else {
427
- x.c = xc;
428
- x.e = e;
429
- x.s = sign;
430
- x = div(x, y, dp, rm, baseOut);
431
- xc = x.c;
432
- r = x.r;
433
- e = x.e;
434
- }
435
- d = e + dp + 1;
436
- i = xc[d];
437
- k = baseOut / 2;
438
- r = r || d < 0 || xc[d + 1] != null;
439
- r = rm < 4 ? (i != null || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : i > k || i == k && (rm == 4 || r || rm == 6 && xc[d - 1] & 1 || rm == (x.s < 0 ? 8 : 7));
440
- if (d < 1 || !xc[0]) str = r ? toFixedPoint(alphabet.charAt(1), -dp, alphabet.charAt(0)) : alphabet.charAt(0);
441
- else {
442
- xc.length = d;
443
- if (r) for (--baseOut; ++xc[--d] > baseOut;) {
444
- xc[d] = 0;
445
- if (!d) {
446
- ++e;
447
- xc = [1].concat(xc);
448
- }
449
- }
450
- for (k = xc.length; !xc[--k];);
451
- for (i = 0, str = ""; i <= k; str += alphabet.charAt(xc[i++]));
452
- str = toFixedPoint(str, e, alphabet.charAt(0));
453
- }
454
- return str;
455
- };
456
- })();
457
- div = (function() {
458
- function multiply(x, k, base) {
459
- var m, temp, xlo, xhi, carry = 0, i = x.length, klo = k % SQRT_BASE, khi = k / SQRT_BASE | 0;
460
- for (x = x.slice(); i--;) {
461
- xlo = x[i] % SQRT_BASE;
462
- xhi = x[i] / SQRT_BASE | 0;
463
- m = khi * xlo + xhi * klo;
464
- temp = klo * xlo + m % SQRT_BASE * SQRT_BASE + carry;
465
- carry = (temp / base | 0) + (m / SQRT_BASE | 0) + khi * xhi;
466
- x[i] = temp % base;
467
- }
468
- if (carry) x = [carry].concat(x);
469
- return x;
470
- }
471
- function compare(a, b, aL, bL) {
472
- var i, cmp;
473
- if (aL != bL) cmp = aL > bL ? 1 : -1;
474
- else for (i = cmp = 0; i < aL; i++) if (a[i] != b[i]) {
475
- cmp = a[i] > b[i] ? 1 : -1;
476
- break;
477
- }
478
- return cmp;
479
- }
480
- function subtract(a, b, aL, base) {
481
- var i = 0;
482
- for (; aL--;) {
483
- a[aL] -= i;
484
- i = a[aL] < b[aL] ? 1 : 0;
485
- a[aL] = i * base + a[aL] - b[aL];
486
- }
487
- for (; !a[0] && a.length > 1; a.splice(0, 1));
488
- }
489
- return function(x, y, dp, rm, base) {
490
- var cmp, e, i, more, n, prod, prodL, q, qc, rem, remL, rem0, xi, xL, yc0, yL, yz, s = x.s == y.s ? 1 : -1, xc = x.c, yc = y.c;
491
- if (!xc || !xc[0] || !yc || !yc[0]) return new BigNumber(!x.s || !y.s || (xc ? yc && xc[0] == yc[0] : !yc) ? NaN : xc && xc[0] == 0 || !yc ? s * 0 : s / 0);
492
- q = new BigNumber(s);
493
- qc = q.c = [];
494
- e = x.e - y.e;
495
- s = dp + e + 1;
496
- if (!base) {
497
- base = BASE;
498
- e = bitFloor(x.e / LOG_BASE) - bitFloor(y.e / LOG_BASE);
499
- s = s / LOG_BASE | 0;
500
- }
501
- for (i = 0; yc[i] == (xc[i] || 0); i++);
502
- if (yc[i] > (xc[i] || 0)) e--;
503
- if (s < 0) {
504
- qc.push(1);
505
- more = true;
506
- } else {
507
- xL = xc.length;
508
- yL = yc.length;
509
- i = 0;
510
- s += 2;
511
- n = mathfloor(base / (yc[0] + 1));
512
- if (n > 1) {
513
- yc = multiply(yc, n, base);
514
- xc = multiply(xc, n, base);
515
- yL = yc.length;
516
- xL = xc.length;
517
- }
518
- xi = yL;
519
- rem = xc.slice(0, yL);
520
- remL = rem.length;
521
- for (; remL < yL; rem[remL++] = 0);
522
- yz = yc.slice();
523
- yz = [0].concat(yz);
524
- yc0 = yc[0];
525
- if (yc[1] >= base / 2) yc0++;
526
- do {
527
- n = 0;
528
- cmp = compare(yc, rem, yL, remL);
529
- if (cmp < 0) {
530
- rem0 = rem[0];
531
- if (yL != remL) rem0 = rem0 * base + (rem[1] || 0);
532
- n = mathfloor(rem0 / yc0);
533
- if (n > 1) {
534
- if (n >= base) n = base - 1;
535
- prod = multiply(yc, n, base);
536
- prodL = prod.length;
537
- remL = rem.length;
538
- while (compare(prod, rem, prodL, remL) == 1) {
539
- n--;
540
- subtract(prod, yL < prodL ? yz : yc, prodL, base);
541
- prodL = prod.length;
542
- cmp = 1;
543
- }
544
- } else {
545
- if (n == 0) cmp = n = 1;
546
- prod = yc.slice();
547
- prodL = prod.length;
548
- }
549
- if (prodL < remL) prod = [0].concat(prod);
550
- subtract(rem, prod, remL, base);
551
- remL = rem.length;
552
- if (cmp == -1) while (compare(yc, rem, yL, remL) < 1) {
553
- n++;
554
- subtract(rem, yL < remL ? yz : yc, remL, base);
555
- remL = rem.length;
556
- }
557
- } else if (cmp === 0) {
558
- n++;
559
- rem = [0];
560
- }
561
- qc[i++] = n;
562
- if (rem[0]) rem[remL++] = xc[xi] || 0;
563
- else {
564
- rem = [xc[xi]];
565
- remL = 1;
566
- }
567
- } while ((xi++ < xL || rem[0] != null) && s--);
568
- more = rem[0] != null;
569
- if (!qc[0]) qc.splice(0, 1);
570
- }
571
- if (base == BASE) {
572
- for (i = 1, s = qc[0]; s >= 10; s /= 10, i++);
573
- round(q, dp + (q.e = i + e * LOG_BASE - 1) + 1, rm, more);
574
- } else {
575
- q.e = e;
576
- q.r = +more;
577
- }
578
- return q;
579
- };
580
- })();
581
- function format(n, i, rm, id) {
582
- var c0, e, ne, len, str;
583
- if (rm == null) rm = ROUNDING_MODE;
584
- else intCheck(rm, 0, 8);
585
- if (!n.c) return n.toString();
586
- c0 = n.c[0];
587
- ne = n.e;
588
- if (i == null) {
589
- str = coeffToString(n.c);
590
- str = id == 1 || id == 2 && (ne <= TO_EXP_NEG || ne >= TO_EXP_POS) ? toExponential(str, ne) : toFixedPoint(str, ne, "0");
591
- } else {
592
- n = round(new BigNumber(n), i, rm);
593
- e = n.e;
594
- str = coeffToString(n.c);
595
- len = str.length;
596
- if (id == 1 || id == 2 && (i <= e || e <= TO_EXP_NEG)) {
597
- for (; len < i; str += "0", len++);
598
- str = toExponential(str, e);
599
- } else {
600
- i -= ne + (id === 2 && e > ne);
601
- str = toFixedPoint(str, e, "0");
602
- if (e + 1 > len) {
603
- if (--i > 0) for (str += "."; i--; str += "0");
604
- } else {
605
- i += e - len;
606
- if (i > 0) {
607
- if (e + 1 == len) str += ".";
608
- for (; i--; str += "0");
609
- }
610
- }
611
- }
612
- }
613
- return n.s < 0 && c0 ? "-" + str : str;
614
- }
615
- function maxOrMin(args, n) {
616
- var k, y, i = 1, x = new BigNumber(args[0]);
617
- for (; i < args.length; i++) {
618
- y = new BigNumber(args[i]);
619
- if (!y.s || (k = compare(x, y)) === n || k === 0 && x.s === n) x = y;
620
- }
621
- return x;
622
- }
623
- function normalise(n, c, e) {
624
- var i = 1, j = c.length;
625
- for (; !c[--j]; c.pop());
626
- for (j = c[0]; j >= 10; j /= 10, i++);
627
- if ((e = i + e * LOG_BASE - 1) > MAX_EXP) n.c = n.e = null;
628
- else if (e < MIN_EXP) n.c = [n.e = 0];
629
- else {
630
- n.e = e;
631
- n.c = c;
632
- }
633
- return n;
634
- }
635
- parseNumeric = (function() {
636
- var basePrefix = /^(-?)0([xbo])(?=\w[\w.]*$)/i, dotAfter = /^([^.]+)\.$/, dotBefore = /^\.([^.]+)$/, isInfinityOrNaN = /^-?(Infinity|NaN)$/, whitespaceOrPlus = /^\s*\+(?=[\w.])|^\s+|\s+$/g;
637
- return function(x, str, isNum, b) {
638
- var base, s = isNum ? str : str.replace(whitespaceOrPlus, "");
639
- if (isInfinityOrNaN.test(s)) x.s = isNaN(s) ? null : s < 0 ? -1 : 1;
640
- else {
641
- if (!isNum) {
642
- s = s.replace(basePrefix, function(m, p1, p2) {
643
- base = (p2 = p2.toLowerCase()) == "x" ? 16 : p2 == "b" ? 2 : 8;
644
- return !b || b == base ? p1 : m;
645
- });
646
- if (b) {
647
- base = b;
648
- s = s.replace(dotAfter, "$1").replace(dotBefore, "0.$1");
649
- }
650
- if (str != s) return new BigNumber(s, base);
651
- }
652
- if (BigNumber.DEBUG) throw Error(bignumberError + "Not a" + (b ? " base " + b : "") + " number: " + str);
653
- x.s = null;
654
- }
655
- x.c = x.e = null;
656
- };
657
- })();
658
- function round(x, sd, rm, r) {
659
- var d, i, j, k, n, ni, rd, xc = x.c, pows10 = POWS_TEN;
660
- if (xc) {
661
- out: {
662
- for (d = 1, k = xc[0]; k >= 10; k /= 10, d++);
663
- i = sd - d;
664
- if (i < 0) {
665
- i += LOG_BASE;
666
- j = sd;
667
- n = xc[ni = 0];
668
- rd = mathfloor(n / pows10[d - j - 1] % 10);
669
- } else {
670
- ni = mathceil((i + 1) / LOG_BASE);
671
- if (ni >= xc.length) if (r) {
672
- for (; xc.length <= ni; xc.push(0));
673
- n = rd = 0;
674
- d = 1;
675
- i %= LOG_BASE;
676
- j = i - LOG_BASE + 1;
677
- } else break out;
678
- else {
679
- n = k = xc[ni];
680
- for (d = 1; k >= 10; k /= 10, d++);
681
- i %= LOG_BASE;
682
- j = i - LOG_BASE + d;
683
- rd = j < 0 ? 0 : mathfloor(n / pows10[d - j - 1] % 10);
684
- }
685
- }
686
- r = r || sd < 0 || xc[ni + 1] != null || (j < 0 ? n : n % pows10[d - j - 1]);
687
- r = rm < 4 ? (rd || r) && (rm == 0 || rm == (x.s < 0 ? 3 : 2)) : rd > 5 || rd == 5 && (rm == 4 || r || rm == 6 && (i > 0 ? j > 0 ? n / pows10[d - j] : 0 : xc[ni - 1]) % 10 & 1 || rm == (x.s < 0 ? 8 : 7));
688
- if (sd < 1 || !xc[0]) {
689
- xc.length = 0;
690
- if (r) {
691
- sd -= x.e + 1;
692
- xc[0] = pows10[(LOG_BASE - sd % LOG_BASE) % LOG_BASE];
693
- x.e = -sd || 0;
694
- } else xc[0] = x.e = 0;
695
- return x;
696
- }
697
- if (i == 0) {
698
- xc.length = ni;
699
- k = 1;
700
- ni--;
701
- } else {
702
- xc.length = ni + 1;
703
- k = pows10[LOG_BASE - i];
704
- xc[ni] = j > 0 ? mathfloor(n / pows10[d - j] % pows10[j]) * k : 0;
705
- }
706
- if (r) for (;;) if (ni == 0) {
707
- for (i = 1, j = xc[0]; j >= 10; j /= 10, i++);
708
- j = xc[0] += k;
709
- for (k = 1; j >= 10; j /= 10, k++);
710
- if (i != k) {
711
- x.e++;
712
- if (xc[0] == BASE) xc[0] = 1;
713
- }
714
- break;
715
- } else {
716
- xc[ni] += k;
717
- if (xc[ni] != BASE) break;
718
- xc[ni--] = 0;
719
- k = 1;
720
- }
721
- for (i = xc.length; xc[--i] === 0; xc.pop());
722
- }
723
- if (x.e > MAX_EXP) x.c = x.e = null;
724
- else if (x.e < MIN_EXP) x.c = [x.e = 0];
725
- }
726
- return x;
727
- }
728
- function valueOf(n) {
729
- var str, e = n.e;
730
- if (e === null) return n.toString();
731
- str = coeffToString(n.c);
732
- str = e <= TO_EXP_NEG || e >= TO_EXP_POS ? toExponential(str, e) : toFixedPoint(str, e, "0");
733
- return n.s < 0 ? "-" + str : str;
734
- }
735
- P.absoluteValue = P.abs = function() {
736
- var x = new BigNumber(this);
737
- if (x.s < 0) x.s = 1;
738
- return x;
739
- };
740
- P.comparedTo = function(y, b) {
741
- return compare(this, new BigNumber(y, b));
742
- };
743
- P.decimalPlaces = P.dp = function(dp, rm) {
744
- var c, n, v, x = this;
745
- if (dp != null) {
746
- intCheck(dp, 0, MAX);
747
- if (rm == null) rm = ROUNDING_MODE;
748
- else intCheck(rm, 0, 8);
749
- return round(new BigNumber(x), dp + x.e + 1, rm);
750
- }
751
- if (!(c = x.c)) return null;
752
- n = ((v = c.length - 1) - bitFloor(this.e / LOG_BASE)) * LOG_BASE;
753
- if (v = c[v]) for (; v % 10 == 0; v /= 10, n--);
754
- if (n < 0) n = 0;
755
- return n;
756
- };
757
- P.dividedBy = P.div = function(y, b) {
758
- return div(this, new BigNumber(y, b), DECIMAL_PLACES, ROUNDING_MODE);
759
- };
760
- P.dividedToIntegerBy = P.idiv = function(y, b) {
761
- return div(this, new BigNumber(y, b), 0, 1);
762
- };
763
- P.exponentiatedBy = P.pow = function(n, m) {
764
- var half, isModExp, i, k, more, nIsBig, nIsNeg, nIsOdd, y, x = this;
765
- n = new BigNumber(n);
766
- if (n.c && !n.isInteger()) throw Error(bignumberError + "Exponent not an integer: " + valueOf(n));
767
- if (m != null) m = new BigNumber(m);
768
- nIsBig = n.e > 14;
769
- if (!x.c || !x.c[0] || x.c[0] == 1 && !x.e && x.c.length == 1 || !n.c || !n.c[0]) {
770
- y = new BigNumber(Math.pow(+valueOf(x), nIsBig ? n.s * (2 - isOdd(n)) : +valueOf(n)));
771
- return m ? y.mod(m) : y;
772
- }
773
- nIsNeg = n.s < 0;
774
- if (m) {
775
- if (m.c ? !m.c[0] : !m.s) return new BigNumber(NaN);
776
- isModExp = !nIsNeg && x.isInteger() && m.isInteger();
777
- if (isModExp) x = x.mod(m);
778
- } else if (n.e > 9 && (x.e > 0 || x.e < -1 || (x.e == 0 ? x.c[0] > 1 || nIsBig && x.c[1] >= 24e7 : x.c[0] < 8e13 || nIsBig && x.c[0] <= 9999975e7))) {
779
- k = x.s < 0 && isOdd(n) ? -0 : 0;
780
- if (x.e > -1) k = 1 / k;
781
- return new BigNumber(nIsNeg ? 1 / k : k);
782
- } else if (POW_PRECISION) k = mathceil(POW_PRECISION / LOG_BASE + 2);
783
- if (nIsBig) {
784
- half = new BigNumber(.5);
785
- if (nIsNeg) n.s = 1;
786
- nIsOdd = isOdd(n);
787
- } else {
788
- i = Math.abs(+valueOf(n));
789
- nIsOdd = i % 2;
790
- }
791
- y = new BigNumber(ONE);
792
- for (;;) {
793
- if (nIsOdd) {
794
- y = y.times(x);
795
- if (!y.c) break;
796
- if (k) {
797
- if (y.c.length > k) y.c.length = k;
798
- } else if (isModExp) y = y.mod(m);
799
- }
800
- if (i) {
801
- i = mathfloor(i / 2);
802
- if (i === 0) break;
803
- nIsOdd = i % 2;
804
- } else {
805
- n = n.times(half);
806
- round(n, n.e + 1, 1);
807
- if (n.e > 14) nIsOdd = isOdd(n);
808
- else {
809
- i = +valueOf(n);
810
- if (i === 0) break;
811
- nIsOdd = i % 2;
812
- }
813
- }
814
- x = x.times(x);
815
- if (k) {
816
- if (x.c && x.c.length > k) x.c.length = k;
817
- } else if (isModExp) x = x.mod(m);
818
- }
819
- if (isModExp) return y;
820
- if (nIsNeg) y = ONE.div(y);
821
- return m ? y.mod(m) : k ? round(y, POW_PRECISION, ROUNDING_MODE, more) : y;
822
- };
823
- P.integerValue = function(rm) {
824
- var n = new BigNumber(this);
825
- if (rm == null) rm = ROUNDING_MODE;
826
- else intCheck(rm, 0, 8);
827
- return round(n, n.e + 1, rm);
828
- };
829
- P.isEqualTo = P.eq = function(y, b) {
830
- return compare(this, new BigNumber(y, b)) === 0;
831
- };
832
- P.isFinite = function() {
833
- return !!this.c;
834
- };
835
- P.isGreaterThan = P.gt = function(y, b) {
836
- return compare(this, new BigNumber(y, b)) > 0;
837
- };
838
- P.isGreaterThanOrEqualTo = P.gte = function(y, b) {
839
- return (b = compare(this, new BigNumber(y, b))) === 1 || b === 0;
840
- };
841
- P.isInteger = function() {
842
- return !!this.c && bitFloor(this.e / LOG_BASE) > this.c.length - 2;
843
- };
844
- P.isLessThan = P.lt = function(y, b) {
845
- return compare(this, new BigNumber(y, b)) < 0;
846
- };
847
- P.isLessThanOrEqualTo = P.lte = function(y, b) {
848
- return (b = compare(this, new BigNumber(y, b))) === -1 || b === 0;
849
- };
850
- P.isNaN = function() {
851
- return !this.s;
852
- };
853
- P.isNegative = function() {
854
- return this.s < 0;
855
- };
856
- P.isPositive = function() {
857
- return this.s > 0;
858
- };
859
- P.isZero = function() {
860
- return !!this.c && this.c[0] == 0;
861
- };
862
- P.minus = function(y, b) {
863
- var i, j, t, xLTy, x = this, a = x.s;
864
- y = new BigNumber(y, b);
865
- b = y.s;
866
- if (!a || !b) return new BigNumber(NaN);
867
- if (a != b) {
868
- y.s = -b;
869
- return x.plus(y);
870
- }
871
- var xe = x.e / LOG_BASE, ye = y.e / LOG_BASE, xc = x.c, yc = y.c;
872
- if (!xe || !ye) {
873
- if (!xc || !yc) return xc ? (y.s = -b, y) : new BigNumber(yc ? x : NaN);
874
- if (!xc[0] || !yc[0]) return yc[0] ? (y.s = -b, y) : new BigNumber(xc[0] ? x : ROUNDING_MODE == 3 ? -0 : 0);
875
- }
876
- xe = bitFloor(xe);
877
- ye = bitFloor(ye);
878
- xc = xc.slice();
879
- if (a = xe - ye) {
880
- if (xLTy = a < 0) {
881
- a = -a;
882
- t = xc;
883
- } else {
884
- ye = xe;
885
- t = yc;
886
- }
887
- t.reverse();
888
- for (b = a; b--; t.push(0));
889
- t.reverse();
890
- } else {
891
- j = (xLTy = (a = xc.length) < (b = yc.length)) ? a : b;
892
- for (a = b = 0; b < j; b++) if (xc[b] != yc[b]) {
893
- xLTy = xc[b] < yc[b];
894
- break;
895
- }
896
- }
897
- if (xLTy) {
898
- t = xc;
899
- xc = yc;
900
- yc = t;
901
- y.s = -y.s;
902
- }
903
- b = (j = yc.length) - (i = xc.length);
904
- if (b > 0) for (; b--; xc[i++] = 0);
905
- b = BASE - 1;
906
- for (; j > a;) {
907
- if (xc[--j] < yc[j]) {
908
- for (i = j; i && !xc[--i]; xc[i] = b);
909
- --xc[i];
910
- xc[j] += BASE;
911
- }
912
- xc[j] -= yc[j];
913
- }
914
- for (; xc[0] == 0; xc.splice(0, 1), --ye);
915
- if (!xc[0]) {
916
- y.s = ROUNDING_MODE == 3 ? -1 : 1;
917
- y.c = [y.e = 0];
918
- return y;
919
- }
920
- return normalise(y, xc, ye);
921
- };
922
- P.modulo = P.mod = function(y, b) {
923
- var q, s, x = this;
924
- y = new BigNumber(y, b);
925
- if (!x.c || !y.s || y.c && !y.c[0]) return new BigNumber(NaN);
926
- else if (!y.c || x.c && !x.c[0]) return new BigNumber(x);
927
- if (MODULO_MODE == 9) {
928
- s = y.s;
929
- y.s = 1;
930
- q = div(x, y, 0, 3);
931
- y.s = s;
932
- q.s *= s;
933
- } else q = div(x, y, 0, MODULO_MODE);
934
- y = x.minus(q.times(y));
935
- if (!y.c[0] && MODULO_MODE == 1) y.s = x.s;
936
- return y;
937
- };
938
- P.multipliedBy = P.times = function(y, b) {
939
- var c, e, i, j, k, m, xcL, xlo, xhi, ycL, ylo, yhi, zc, base, sqrtBase, x = this, xc = x.c, yc = (y = new BigNumber(y, b)).c;
940
- if (!xc || !yc || !xc[0] || !yc[0]) {
941
- if (!x.s || !y.s || xc && !xc[0] && !yc || yc && !yc[0] && !xc) y.c = y.e = y.s = null;
942
- else {
943
- y.s *= x.s;
944
- if (!xc || !yc) y.c = y.e = null;
945
- else {
946
- y.c = [0];
947
- y.e = 0;
948
- }
949
- }
950
- return y;
951
- }
952
- e = bitFloor(x.e / LOG_BASE) + bitFloor(y.e / LOG_BASE);
953
- y.s *= x.s;
954
- xcL = xc.length;
955
- ycL = yc.length;
956
- if (xcL < ycL) {
957
- zc = xc;
958
- xc = yc;
959
- yc = zc;
960
- i = xcL;
961
- xcL = ycL;
962
- ycL = i;
963
- }
964
- for (i = xcL + ycL, zc = []; i--; zc.push(0));
965
- base = BASE;
966
- sqrtBase = SQRT_BASE;
967
- for (i = ycL; --i >= 0;) {
968
- c = 0;
969
- ylo = yc[i] % sqrtBase;
970
- yhi = yc[i] / sqrtBase | 0;
971
- for (k = xcL, j = i + k; j > i;) {
972
- xlo = xc[--k] % sqrtBase;
973
- xhi = xc[k] / sqrtBase | 0;
974
- m = yhi * xlo + xhi * ylo;
975
- xlo = ylo * xlo + m % sqrtBase * sqrtBase + zc[j] + c;
976
- c = (xlo / base | 0) + (m / sqrtBase | 0) + yhi * xhi;
977
- zc[j--] = xlo % base;
978
- }
979
- zc[j] = c;
980
- }
981
- if (c) ++e;
982
- else zc.splice(0, 1);
983
- return normalise(y, zc, e);
984
- };
985
- P.negated = function() {
986
- var x = new BigNumber(this);
987
- x.s = -x.s || null;
988
- return x;
989
- };
990
- P.plus = function(y, b) {
991
- var t, x = this, a = x.s;
992
- y = new BigNumber(y, b);
993
- b = y.s;
994
- if (!a || !b) return new BigNumber(NaN);
995
- if (a != b) {
996
- y.s = -b;
997
- return x.minus(y);
998
- }
999
- var xe = x.e / LOG_BASE, ye = y.e / LOG_BASE, xc = x.c, yc = y.c;
1000
- if (!xe || !ye) {
1001
- if (!xc || !yc) return new BigNumber(a / 0);
1002
- if (!xc[0] || !yc[0]) return yc[0] ? y : new BigNumber(xc[0] ? x : a * 0);
1003
- }
1004
- xe = bitFloor(xe);
1005
- ye = bitFloor(ye);
1006
- xc = xc.slice();
1007
- if (a = xe - ye) {
1008
- if (a > 0) {
1009
- ye = xe;
1010
- t = yc;
1011
- } else {
1012
- a = -a;
1013
- t = xc;
1014
- }
1015
- t.reverse();
1016
- for (; a--; t.push(0));
1017
- t.reverse();
1018
- }
1019
- a = xc.length;
1020
- b = yc.length;
1021
- if (a - b < 0) {
1022
- t = yc;
1023
- yc = xc;
1024
- xc = t;
1025
- b = a;
1026
- }
1027
- for (a = 0; b;) {
1028
- a = (xc[--b] = xc[b] + yc[b] + a) / BASE | 0;
1029
- xc[b] = BASE === xc[b] ? 0 : xc[b] % BASE;
1030
- }
1031
- if (a) {
1032
- xc = [a].concat(xc);
1033
- ++ye;
1034
- }
1035
- return normalise(y, xc, ye);
1036
- };
1037
- P.precision = P.sd = function(sd, rm) {
1038
- var c, n, v, x = this;
1039
- if (sd != null && sd !== !!sd) {
1040
- intCheck(sd, 1, MAX);
1041
- if (rm == null) rm = ROUNDING_MODE;
1042
- else intCheck(rm, 0, 8);
1043
- return round(new BigNumber(x), sd, rm);
1044
- }
1045
- if (!(c = x.c)) return null;
1046
- v = c.length - 1;
1047
- n = v * LOG_BASE + 1;
1048
- if (v = c[v]) {
1049
- for (; v % 10 == 0; v /= 10, n--);
1050
- for (v = c[0]; v >= 10; v /= 10, n++);
1051
- }
1052
- if (sd && x.e + 1 > n) n = x.e + 1;
1053
- return n;
1054
- };
1055
- P.shiftedBy = function(k) {
1056
- intCheck(k, -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER);
1057
- return this.times("1e" + k);
1058
- };
1059
- P.squareRoot = P.sqrt = function() {
1060
- var m, n, r, rep, t, x = this, c = x.c, s = x.s, e = x.e, dp = DECIMAL_PLACES + 4, half = new BigNumber("0.5");
1061
- if (s !== 1 || !c || !c[0]) return new BigNumber(!s || s < 0 && (!c || c[0]) ? NaN : c ? x : Infinity);
1062
- s = Math.sqrt(+valueOf(x));
1063
- if (s == 0 || s == Infinity) {
1064
- n = coeffToString(c);
1065
- if ((n.length + e) % 2 == 0) n += "0";
1066
- s = Math.sqrt(+n);
1067
- e = bitFloor((e + 1) / 2) - (e < 0 || e % 2);
1068
- if (s == Infinity) n = "5e" + e;
1069
- else {
1070
- n = s.toExponential();
1071
- n = n.slice(0, n.indexOf("e") + 1) + e;
1072
- }
1073
- r = new BigNumber(n);
1074
- } else r = new BigNumber(s + "");
1075
- if (r.c[0]) {
1076
- e = r.e;
1077
- s = e + dp;
1078
- if (s < 3) s = 0;
1079
- for (;;) {
1080
- t = r;
1081
- r = half.times(t.plus(div(x, t, dp, 1)));
1082
- if (coeffToString(t.c).slice(0, s) === (n = coeffToString(r.c)).slice(0, s)) {
1083
- if (r.e < e) --s;
1084
- n = n.slice(s - 3, s + 1);
1085
- if (n == "9999" || !rep && n == "4999") {
1086
- if (!rep) {
1087
- round(t, t.e + DECIMAL_PLACES + 2, 0);
1088
- if (t.times(t).eq(x)) {
1089
- r = t;
1090
- break;
1091
- }
1092
- }
1093
- dp += 4;
1094
- s += 4;
1095
- rep = 1;
1096
- } else {
1097
- if (!+n || !+n.slice(1) && n.charAt(0) == "5") {
1098
- round(r, r.e + DECIMAL_PLACES + 2, 1);
1099
- m = !r.times(r).eq(x);
1100
- }
1101
- break;
1102
- }
1103
- }
1104
- }
1105
- }
1106
- return round(r, r.e + DECIMAL_PLACES + 1, ROUNDING_MODE, m);
1107
- };
1108
- P.toExponential = function(dp, rm) {
1109
- if (dp != null) {
1110
- intCheck(dp, 0, MAX);
1111
- dp++;
1112
- }
1113
- return format(this, dp, rm, 1);
1114
- };
1115
- P.toFixed = function(dp, rm) {
1116
- if (dp != null) {
1117
- intCheck(dp, 0, MAX);
1118
- dp = dp + this.e + 1;
1119
- }
1120
- return format(this, dp, rm);
1121
- };
1122
- P.toFormat = function(dp, rm, format) {
1123
- var str, x = this;
1124
- if (format == null) if (dp != null && rm && typeof rm == "object") {
1125
- format = rm;
1126
- rm = null;
1127
- } else if (dp && typeof dp == "object") {
1128
- format = dp;
1129
- dp = rm = null;
1130
- } else format = FORMAT;
1131
- else if (typeof format != "object") throw Error(bignumberError + "Argument not an object: " + format);
1132
- str = x.toFixed(dp, rm);
1133
- if (x.c) {
1134
- var i, arr = str.split("."), g1 = +format.groupSize, g2 = +format.secondaryGroupSize, groupSeparator = format.groupSeparator || "", intPart = arr[0], fractionPart = arr[1], isNeg = x.s < 0, intDigits = isNeg ? intPart.slice(1) : intPart, len = intDigits.length;
1135
- if (g2) {
1136
- i = g1;
1137
- g1 = g2;
1138
- g2 = i;
1139
- len -= i;
1140
- }
1141
- if (g1 > 0 && len > 0) {
1142
- i = len % g1 || g1;
1143
- intPart = intDigits.substr(0, i);
1144
- for (; i < len; i += g1) intPart += groupSeparator + intDigits.substr(i, g1);
1145
- if (g2 > 0) intPart += groupSeparator + intDigits.slice(i);
1146
- if (isNeg) intPart = "-" + intPart;
1147
- }
1148
- str = fractionPart ? intPart + (format.decimalSeparator || "") + ((g2 = +format.fractionGroupSize) ? fractionPart.replace(new RegExp("\\d{" + g2 + "}\\B", "g"), "$&" + (format.fractionGroupSeparator || "")) : fractionPart) : intPart;
1149
- }
1150
- return (format.prefix || "") + str + (format.suffix || "");
1151
- };
1152
- P.toFraction = function(md) {
1153
- var d, d0, d1, d2, e, exp, n, n0, n1, q, r, s, x = this, xc = x.c;
1154
- if (md != null) {
1155
- n = new BigNumber(md);
1156
- if (!n.isInteger() && (n.c || n.s !== 1) || n.lt(ONE)) throw Error(bignumberError + "Argument " + (n.isInteger() ? "out of range: " : "not an integer: ") + valueOf(n));
1157
- }
1158
- if (!xc) return new BigNumber(x);
1159
- d = new BigNumber(ONE);
1160
- n1 = d0 = new BigNumber(ONE);
1161
- d1 = n0 = new BigNumber(ONE);
1162
- s = coeffToString(xc);
1163
- e = d.e = s.length - x.e - 1;
1164
- d.c[0] = POWS_TEN[(exp = e % LOG_BASE) < 0 ? LOG_BASE + exp : exp];
1165
- md = !md || n.comparedTo(d) > 0 ? e > 0 ? d : n1 : n;
1166
- exp = MAX_EXP;
1167
- MAX_EXP = Infinity;
1168
- n = new BigNumber(s);
1169
- n0.c[0] = 0;
1170
- for (;;) {
1171
- q = div(n, d, 0, 1);
1172
- d2 = d0.plus(q.times(d1));
1173
- if (d2.comparedTo(md) == 1) break;
1174
- d0 = d1;
1175
- d1 = d2;
1176
- n1 = n0.plus(q.times(d2 = n1));
1177
- n0 = d2;
1178
- d = n.minus(q.times(d2 = d));
1179
- n = d2;
1180
- }
1181
- d2 = div(md.minus(d0), d1, 0, 1);
1182
- n0 = n0.plus(d2.times(n1));
1183
- d0 = d0.plus(d2.times(d1));
1184
- n0.s = n1.s = x.s;
1185
- e = e * 2;
1186
- r = div(n1, d1, e, ROUNDING_MODE).minus(x).abs().comparedTo(div(n0, d0, e, ROUNDING_MODE).minus(x).abs()) < 1 ? [n1, d1] : [n0, d0];
1187
- MAX_EXP = exp;
1188
- return r;
1189
- };
1190
- P.toNumber = function() {
1191
- return +valueOf(this);
1192
- };
1193
- P.toPrecision = function(sd, rm) {
1194
- if (sd != null) intCheck(sd, 1, MAX);
1195
- return format(this, sd, rm, 2);
1196
- };
1197
- P.toString = function(b) {
1198
- var str, n = this, s = n.s, e = n.e;
1199
- if (e === null) if (s) {
1200
- str = "Infinity";
1201
- if (s < 0) str = "-" + str;
1202
- } else str = "NaN";
1203
- else {
1204
- if (b == null) str = e <= TO_EXP_NEG || e >= TO_EXP_POS ? toExponential(coeffToString(n.c), e) : toFixedPoint(coeffToString(n.c), e, "0");
1205
- else if (b === 10 && alphabetHasNormalDecimalDigits) {
1206
- n = round(new BigNumber(n), DECIMAL_PLACES + e + 1, ROUNDING_MODE);
1207
- str = toFixedPoint(coeffToString(n.c), n.e, "0");
1208
- } else {
1209
- intCheck(b, 2, ALPHABET.length, "Base");
1210
- str = convertBase(toFixedPoint(coeffToString(n.c), e, "0"), 10, b, s, true);
1211
- }
1212
- if (s < 0 && n.c[0]) str = "-" + str;
1213
- }
1214
- return str;
1215
- };
1216
- P.valueOf = P.toJSON = function() {
1217
- return valueOf(this);
1218
- };
1219
- P._isBigNumber = true;
1220
- if (configObject != null) BigNumber.set(configObject);
1221
- return BigNumber;
1222
- }
1223
- function bitFloor(n) {
1224
- var i = n | 0;
1225
- return n > 0 || n === i ? i : i - 1;
1226
- }
1227
- function coeffToString(a) {
1228
- var s, z, i = 1, j = a.length, r = a[0] + "";
1229
- for (; i < j;) {
1230
- s = a[i++] + "";
1231
- z = LOG_BASE - s.length;
1232
- for (; z--; s = "0" + s);
1233
- r += s;
1234
- }
1235
- for (j = r.length; r.charCodeAt(--j) === 48;);
1236
- return r.slice(0, j + 1 || 1);
1237
- }
1238
- function compare(x, y) {
1239
- var a, b, xc = x.c, yc = y.c, i = x.s, j = y.s, k = x.e, l = y.e;
1240
- if (!i || !j) return null;
1241
- a = xc && !xc[0];
1242
- b = yc && !yc[0];
1243
- if (a || b) return a ? b ? 0 : -j : i;
1244
- if (i != j) return i;
1245
- a = i < 0;
1246
- b = k == l;
1247
- if (!xc || !yc) return b ? 0 : !xc ^ a ? 1 : -1;
1248
- if (!b) return k > l ^ a ? 1 : -1;
1249
- j = (k = xc.length) < (l = yc.length) ? k : l;
1250
- for (i = 0; i < j; i++) if (xc[i] != yc[i]) return xc[i] > yc[i] ^ a ? 1 : -1;
1251
- return k == l ? 0 : k > l ^ a ? 1 : -1;
1252
- }
1253
- function intCheck(n, min, max, name) {
1254
- if (n < min || n > max || n !== mathfloor(n)) throw Error(bignumberError + (name || "Argument") + (typeof n == "number" ? n < min || n > max ? " out of range: " : " not an integer: " : " not a primitive number: ") + String(n));
1255
- }
1256
- function isOdd(n) {
1257
- var k = n.c.length - 1;
1258
- return bitFloor(n.e / LOG_BASE) == k && n.c[k] % 2 != 0;
1259
- }
1260
- function toExponential(str, e) {
1261
- return (str.length > 1 ? str.charAt(0) + "." + str.slice(1) : str) + (e < 0 ? "e" : "e+") + e;
1262
- }
1263
- function toFixedPoint(str, e, z) {
1264
- var len, zs;
1265
- if (e < 0) {
1266
- for (zs = z + "."; ++e; zs += z);
1267
- str = zs + str;
1268
- } else {
1269
- len = str.length;
1270
- if (++e > len) {
1271
- for (zs = z, e -= len; --e; zs += z);
1272
- str += zs;
1273
- } else if (e < len) str = str.slice(0, e) + "." + str.slice(e);
1274
- }
1275
- return str;
1276
- }
1277
- BigNumber = clone();
1278
- BigNumber["default"] = BigNumber.BigNumber = BigNumber;
1279
- if (typeof define == "function" && define.amd) define(function() {
1280
- return BigNumber;
1281
- });
1282
- else if (typeof module != "undefined" && module.exports) module.exports = BigNumber;
1283
- else {
1284
- if (!globalObject) globalObject = typeof self != "undefined" && self ? self : window;
1285
- globalObject.BigNumber = BigNumber;
1286
- }
1287
- })(exports);
1288
- }));
1289
- //#endregion
1290
- //#region node_modules/.pnpm/json-bigint@1.0.0/node_modules/json-bigint/lib/stringify.js
1291
- var require_stringify = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1292
- var BigNumber = require_bignumber();
1293
- var JSON = module.exports;
1294
- (function() {
1295
- "use strict";
1296
- var escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, gap, indent, meta = {
1297
- "\b": "\\b",
1298
- " ": "\\t",
1299
- "\n": "\\n",
1300
- "\f": "\\f",
1301
- "\r": "\\r",
1302
- "\"": "\\\"",
1303
- "\\": "\\\\"
1304
- }, rep;
1305
- function quote(string) {
1306
- escapable.lastIndex = 0;
1307
- return escapable.test(string) ? "\"" + string.replace(escapable, function(a) {
1308
- var c = meta[a];
1309
- return typeof c === "string" ? c : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4);
1310
- }) + "\"" : "\"" + string + "\"";
1311
- }
1312
- function str(key, holder) {
1313
- var i, k, v, length, mind = gap, partial, value = holder[key], isBigNumber = value != null && (value instanceof BigNumber || BigNumber.isBigNumber(value));
1314
- if (value && typeof value === "object" && typeof value.toJSON === "function") value = value.toJSON(key);
1315
- if (typeof rep === "function") value = rep.call(holder, key, value);
1316
- switch (typeof value) {
1317
- case "string": if (isBigNumber) return value;
1318
- else return quote(value);
1319
- case "number": return isFinite(value) ? String(value) : "null";
1320
- case "boolean":
1321
- case "null":
1322
- case "bigint": return String(value);
1323
- case "object":
1324
- if (!value) return "null";
1325
- gap += indent;
1326
- partial = [];
1327
- if (Object.prototype.toString.apply(value) === "[object Array]") {
1328
- length = value.length;
1329
- for (i = 0; i < length; i += 1) partial[i] = str(i, value) || "null";
1330
- v = partial.length === 0 ? "[]" : gap ? "[\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "]" : "[" + partial.join(",") + "]";
1331
- gap = mind;
1332
- return v;
1333
- }
1334
- if (rep && typeof rep === "object") {
1335
- length = rep.length;
1336
- for (i = 0; i < length; i += 1) if (typeof rep[i] === "string") {
1337
- k = rep[i];
1338
- v = str(k, value);
1339
- if (v) partial.push(quote(k) + (gap ? ": " : ":") + v);
1340
- }
1341
- } else Object.keys(value).forEach(function(k) {
1342
- var v = str(k, value);
1343
- if (v) partial.push(quote(k) + (gap ? ": " : ":") + v);
1344
- });
1345
- v = partial.length === 0 ? "{}" : gap ? "{\n" + gap + partial.join(",\n" + gap) + "\n" + mind + "}" : "{" + partial.join(",") + "}";
1346
- gap = mind;
1347
- return v;
1348
- }
1349
- }
1350
- if (typeof JSON.stringify !== "function") JSON.stringify = function(value, replacer, space) {
1351
- var i;
1352
- gap = "";
1353
- indent = "";
1354
- if (typeof space === "number") for (i = 0; i < space; i += 1) indent += " ";
1355
- else if (typeof space === "string") indent = space;
1356
- rep = replacer;
1357
- if (replacer && typeof replacer !== "function" && (typeof replacer !== "object" || typeof replacer.length !== "number")) throw new Error("JSON.stringify");
1358
- return str("", { "": value });
1359
- };
1360
- })();
1361
- }));
1362
- //#endregion
1363
- //#region node_modules/.pnpm/json-bigint@1.0.0/node_modules/json-bigint/lib/parse.js
1364
- var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1365
- var BigNumber = null;
1366
- const suspectProtoRx = /(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])/;
1367
- const suspectConstructorRx = /(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)/;
1368
- var json_parse = function(options) {
1369
- "use strict";
1370
- var _options = {
1371
- strict: false,
1372
- storeAsString: false,
1373
- alwaysParseAsBig: false,
1374
- useNativeBigInt: false,
1375
- protoAction: "error",
1376
- constructorAction: "error"
1377
- };
1378
- if (options !== void 0 && options !== null) {
1379
- if (options.strict === true) _options.strict = true;
1380
- if (options.storeAsString === true) _options.storeAsString = true;
1381
- _options.alwaysParseAsBig = options.alwaysParseAsBig === true ? options.alwaysParseAsBig : false;
1382
- _options.useNativeBigInt = options.useNativeBigInt === true ? options.useNativeBigInt : false;
1383
- if (typeof options.constructorAction !== "undefined") if (options.constructorAction === "error" || options.constructorAction === "ignore" || options.constructorAction === "preserve") _options.constructorAction = options.constructorAction;
1384
- else throw new Error(`Incorrect value for constructorAction option, must be "error", "ignore" or undefined but passed ${options.constructorAction}`);
1385
- if (typeof options.protoAction !== "undefined") if (options.protoAction === "error" || options.protoAction === "ignore" || options.protoAction === "preserve") _options.protoAction = options.protoAction;
1386
- else throw new Error(`Incorrect value for protoAction option, must be "error", "ignore" or undefined but passed ${options.protoAction}`);
1387
- }
1388
- var at, ch, escapee = {
1389
- "\"": "\"",
1390
- "\\": "\\",
1391
- "/": "/",
1392
- b: "\b",
1393
- f: "\f",
1394
- n: "\n",
1395
- r: "\r",
1396
- t: " "
1397
- }, text, error = function(m) {
1398
- throw {
1399
- name: "SyntaxError",
1400
- message: m,
1401
- at,
1402
- text
1403
- };
1404
- }, next = function(c) {
1405
- if (c && c !== ch) error("Expected '" + c + "' instead of '" + ch + "'");
1406
- ch = text.charAt(at);
1407
- at += 1;
1408
- return ch;
1409
- }, number = function() {
1410
- var number, string = "";
1411
- if (ch === "-") {
1412
- string = "-";
1413
- next("-");
1414
- }
1415
- while (ch >= "0" && ch <= "9") {
1416
- string += ch;
1417
- next();
1418
- }
1419
- if (ch === ".") {
1420
- string += ".";
1421
- while (next() && ch >= "0" && ch <= "9") string += ch;
1422
- }
1423
- if (ch === "e" || ch === "E") {
1424
- string += ch;
1425
- next();
1426
- if (ch === "-" || ch === "+") {
1427
- string += ch;
1428
- next();
1429
- }
1430
- while (ch >= "0" && ch <= "9") {
1431
- string += ch;
1432
- next();
1433
- }
1434
- }
1435
- number = +string;
1436
- if (!isFinite(number)) error("Bad number");
1437
- else {
1438
- if (BigNumber == null) BigNumber = require_bignumber();
1439
- if (string.length > 15) return _options.storeAsString ? string : _options.useNativeBigInt ? BigInt(string) : new BigNumber(string);
1440
- else return !_options.alwaysParseAsBig ? number : _options.useNativeBigInt ? BigInt(number) : new BigNumber(number);
1441
- }
1442
- }, string = function() {
1443
- var hex, i, string = "", uffff;
1444
- if (ch === "\"") {
1445
- var startAt = at;
1446
- while (next()) {
1447
- if (ch === "\"") {
1448
- if (at - 1 > startAt) string += text.substring(startAt, at - 1);
1449
- next();
1450
- return string;
1451
- }
1452
- if (ch === "\\") {
1453
- if (at - 1 > startAt) string += text.substring(startAt, at - 1);
1454
- next();
1455
- if (ch === "u") {
1456
- uffff = 0;
1457
- for (i = 0; i < 4; i += 1) {
1458
- hex = parseInt(next(), 16);
1459
- if (!isFinite(hex)) break;
1460
- uffff = uffff * 16 + hex;
1461
- }
1462
- string += String.fromCharCode(uffff);
1463
- } else if (typeof escapee[ch] === "string") string += escapee[ch];
1464
- else break;
1465
- startAt = at;
1466
- }
1467
- }
1468
- }
1469
- error("Bad string");
1470
- }, white = function() {
1471
- while (ch && ch <= " ") next();
1472
- }, word = function() {
1473
- switch (ch) {
1474
- case "t":
1475
- next("t");
1476
- next("r");
1477
- next("u");
1478
- next("e");
1479
- return true;
1480
- case "f":
1481
- next("f");
1482
- next("a");
1483
- next("l");
1484
- next("s");
1485
- next("e");
1486
- return false;
1487
- case "n":
1488
- next("n");
1489
- next("u");
1490
- next("l");
1491
- next("l");
1492
- return null;
1493
- }
1494
- error("Unexpected '" + ch + "'");
1495
- }, value, array = function() {
1496
- var array = [];
1497
- if (ch === "[") {
1498
- next("[");
1499
- white();
1500
- if (ch === "]") {
1501
- next("]");
1502
- return array;
1503
- }
1504
- while (ch) {
1505
- array.push(value());
1506
- white();
1507
- if (ch === "]") {
1508
- next("]");
1509
- return array;
1510
- }
1511
- next(",");
1512
- white();
1513
- }
1514
- }
1515
- error("Bad array");
1516
- }, object = function() {
1517
- var key, object = Object.create(null);
1518
- if (ch === "{") {
1519
- next("{");
1520
- white();
1521
- if (ch === "}") {
1522
- next("}");
1523
- return object;
1524
- }
1525
- while (ch) {
1526
- key = string();
1527
- white();
1528
- next(":");
1529
- if (_options.strict === true && Object.hasOwnProperty.call(object, key)) error("Duplicate key \"" + key + "\"");
1530
- if (suspectProtoRx.test(key) === true) if (_options.protoAction === "error") error("Object contains forbidden prototype property");
1531
- else if (_options.protoAction === "ignore") value();
1532
- else object[key] = value();
1533
- else if (suspectConstructorRx.test(key) === true) if (_options.constructorAction === "error") error("Object contains forbidden constructor property");
1534
- else if (_options.constructorAction === "ignore") value();
1535
- else object[key] = value();
1536
- else object[key] = value();
1537
- white();
1538
- if (ch === "}") {
1539
- next("}");
1540
- return object;
1541
- }
1542
- next(",");
1543
- white();
1544
- }
1545
- }
1546
- error("Bad object");
1547
- };
1548
- value = function() {
1549
- white();
1550
- switch (ch) {
1551
- case "{": return object();
1552
- case "[": return array();
1553
- case "\"": return string();
1554
- case "-": return number();
1555
- default: return ch >= "0" && ch <= "9" ? number() : word();
1556
- }
1557
- };
1558
- return function(source, reviver) {
1559
- var result;
1560
- text = source + "";
1561
- at = 0;
1562
- ch = " ";
1563
- result = value();
1564
- white();
1565
- if (ch) error("Syntax error");
1566
- return typeof reviver === "function" ? (function walk(holder, key) {
1567
- var v, value = holder[key];
1568
- if (value && typeof value === "object") Object.keys(value).forEach(function(k) {
1569
- v = walk(value, k);
1570
- if (v !== void 0) value[k] = v;
1571
- else delete value[k];
1572
- });
1573
- return reviver.call(holder, key, value);
1574
- })({ "": result }, "") : result;
1575
- };
1576
- };
1577
- module.exports = json_parse;
1578
- }));
1579
- //#endregion
1580
- //#region node_modules/.pnpm/json-bigint@1.0.0/node_modules/json-bigint/index.js
1581
- var require_json_bigint = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1582
- var json_stringify = require_stringify().stringify;
1583
- var json_parse = require_parse();
1584
- module.exports = function(options) {
1585
- return {
1586
- parse: json_parse(options),
1587
- stringify: json_stringify
1588
- };
1589
- };
1590
- module.exports.parse = json_parse();
1591
- module.exports.stringify = json_stringify;
1592
- }));
1593
- //#endregion
1594
- //#region node_modules/.pnpm/base64-js@1.5.1/node_modules/base64-js/index.js
1595
- var require_base64_js = /* @__PURE__ */ __commonJSMin(((exports) => {
1596
- exports.byteLength = byteLength;
1597
- exports.toByteArray = toByteArray;
1598
- exports.fromByteArray = fromByteArray;
1599
- var lookup = [];
1600
- var revLookup = [];
1601
- var Arr = typeof Uint8Array !== "undefined" ? Uint8Array : Array;
1602
- var code = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
1603
- for (var i = 0, len = code.length; i < len; ++i) {
1604
- lookup[i] = code[i];
1605
- revLookup[code.charCodeAt(i)] = i;
1606
- }
1607
- revLookup["-".charCodeAt(0)] = 62;
1608
- revLookup["_".charCodeAt(0)] = 63;
1609
- function getLens(b64) {
1610
- var len = b64.length;
1611
- if (len % 4 > 0) throw new Error("Invalid string. Length must be a multiple of 4");
1612
- var validLen = b64.indexOf("=");
1613
- if (validLen === -1) validLen = len;
1614
- var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;
1615
- return [validLen, placeHoldersLen];
1616
- }
1617
- function byteLength(b64) {
1618
- var lens = getLens(b64);
1619
- var validLen = lens[0];
1620
- var placeHoldersLen = lens[1];
1621
- return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
1622
- }
1623
- function _byteLength(b64, validLen, placeHoldersLen) {
1624
- return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;
1625
- }
1626
- function toByteArray(b64) {
1627
- var tmp;
1628
- var lens = getLens(b64);
1629
- var validLen = lens[0];
1630
- var placeHoldersLen = lens[1];
1631
- var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));
1632
- var curByte = 0;
1633
- var len = placeHoldersLen > 0 ? validLen - 4 : validLen;
1634
- var i;
1635
- for (i = 0; i < len; i += 4) {
1636
- tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];
1637
- arr[curByte++] = tmp >> 16 & 255;
1638
- arr[curByte++] = tmp >> 8 & 255;
1639
- arr[curByte++] = tmp & 255;
1640
- }
1641
- if (placeHoldersLen === 2) {
1642
- tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;
1643
- arr[curByte++] = tmp & 255;
1644
- }
1645
- if (placeHoldersLen === 1) {
1646
- tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;
1647
- arr[curByte++] = tmp >> 8 & 255;
1648
- arr[curByte++] = tmp & 255;
1649
- }
1650
- return arr;
1651
- }
1652
- function tripletToBase64(num) {
1653
- return lookup[num >> 18 & 63] + lookup[num >> 12 & 63] + lookup[num >> 6 & 63] + lookup[num & 63];
1654
- }
1655
- function encodeChunk(uint8, start, end) {
1656
- var tmp;
1657
- var output = [];
1658
- for (var i = start; i < end; i += 3) {
1659
- tmp = (uint8[i] << 16 & 16711680) + (uint8[i + 1] << 8 & 65280) + (uint8[i + 2] & 255);
1660
- output.push(tripletToBase64(tmp));
1661
- }
1662
- return output.join("");
1663
- }
1664
- function fromByteArray(uint8) {
1665
- var tmp;
1666
- var len = uint8.length;
1667
- var extraBytes = len % 3;
1668
- var parts = [];
1669
- var maxChunkLength = 16383;
1670
- for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));
1671
- if (extraBytes === 1) {
1672
- tmp = uint8[len - 1];
1673
- parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 63] + "==");
1674
- } else if (extraBytes === 2) {
1675
- tmp = (uint8[len - 2] << 8) + uint8[len - 1];
1676
- parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 63] + lookup[tmp << 2 & 63] + "=");
1677
- }
1678
- return parts.join("");
1679
- }
1680
- }));
1681
- //#endregion
1682
- //#region node_modules/.pnpm/safe-buffer@5.2.1/node_modules/safe-buffer/index.js
1683
- var require_safe_buffer = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1684
- /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
1685
- var buffer = __require("buffer");
1686
- var Buffer = buffer.Buffer;
1687
- function copyProps(src, dst) {
1688
- for (var key in src) dst[key] = src[key];
1689
- }
1690
- if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) module.exports = buffer;
1691
- else {
1692
- copyProps(buffer, exports);
1693
- exports.Buffer = SafeBuffer;
1694
- }
1695
- function SafeBuffer(arg, encodingOrOffset, length) {
1696
- return Buffer(arg, encodingOrOffset, length);
1697
- }
1698
- SafeBuffer.prototype = Object.create(Buffer.prototype);
1699
- copyProps(Buffer, SafeBuffer);
1700
- SafeBuffer.from = function(arg, encodingOrOffset, length) {
1701
- if (typeof arg === "number") throw new TypeError("Argument must not be a number");
1702
- return Buffer(arg, encodingOrOffset, length);
1703
- };
1704
- SafeBuffer.alloc = function(size, fill, encoding) {
1705
- if (typeof size !== "number") throw new TypeError("Argument must be a number");
1706
- var buf = Buffer(size);
1707
- if (fill !== void 0) if (typeof encoding === "string") buf.fill(fill, encoding);
1708
- else buf.fill(fill);
1709
- else buf.fill(0);
1710
- return buf;
1711
- };
1712
- SafeBuffer.allocUnsafe = function(size) {
1713
- if (typeof size !== "number") throw new TypeError("Argument must be a number");
1714
- return Buffer(size);
1715
- };
1716
- SafeBuffer.allocUnsafeSlow = function(size) {
1717
- if (typeof size !== "number") throw new TypeError("Argument must be a number");
1718
- return buffer.SlowBuffer(size);
1719
- };
1720
- }));
1721
- //#endregion
1722
- //#region node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js
1723
- var require_param_bytes_for_alg = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1724
- function getParamSize(keySize) {
1725
- return (keySize / 8 | 0) + (keySize % 8 === 0 ? 0 : 1);
1726
- }
1727
- var paramBytesForAlg = {
1728
- ES256: getParamSize(256),
1729
- ES384: getParamSize(384),
1730
- ES512: getParamSize(521)
1731
- };
1732
- function getParamBytesForAlg(alg) {
1733
- var paramBytes = paramBytesForAlg[alg];
1734
- if (paramBytes) return paramBytes;
1735
- throw new Error("Unknown algorithm \"" + alg + "\"");
1736
- }
1737
- module.exports = getParamBytesForAlg;
1738
- }));
1739
- //#endregion
1740
- //#region node_modules/.pnpm/ecdsa-sig-formatter@1.0.11/node_modules/ecdsa-sig-formatter/src/ecdsa-sig-formatter.js
1741
- var require_ecdsa_sig_formatter = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1742
- var Buffer = require_safe_buffer().Buffer;
1743
- var getParamBytesForAlg = require_param_bytes_for_alg();
1744
- var MAX_OCTET = 128, CLASS_UNIVERSAL = 0, PRIMITIVE_BIT = 32, TAG_SEQ = 16, TAG_INT = 2, ENCODED_TAG_SEQ = TAG_SEQ | PRIMITIVE_BIT | CLASS_UNIVERSAL << 6, ENCODED_TAG_INT = TAG_INT | CLASS_UNIVERSAL << 6;
1745
- function base64Url(base64) {
1746
- return base64.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
1747
- }
1748
- function signatureAsBuffer(signature) {
1749
- if (Buffer.isBuffer(signature)) return signature;
1750
- else if ("string" === typeof signature) return Buffer.from(signature, "base64");
1751
- throw new TypeError("ECDSA signature must be a Base64 string or a Buffer");
1752
- }
1753
- function derToJose(signature, alg) {
1754
- signature = signatureAsBuffer(signature);
1755
- var paramBytes = getParamBytesForAlg(alg);
1756
- var maxEncodedParamLength = paramBytes + 1;
1757
- var inputLength = signature.length;
1758
- var offset = 0;
1759
- if (signature[offset++] !== ENCODED_TAG_SEQ) throw new Error("Could not find expected \"seq\"");
1760
- var seqLength = signature[offset++];
1761
- if (seqLength === (MAX_OCTET | 1)) seqLength = signature[offset++];
1762
- if (inputLength - offset < seqLength) throw new Error("\"seq\" specified length of \"" + seqLength + "\", only \"" + (inputLength - offset) + "\" remaining");
1763
- if (signature[offset++] !== ENCODED_TAG_INT) throw new Error("Could not find expected \"int\" for \"r\"");
1764
- var rLength = signature[offset++];
1765
- if (inputLength - offset - 2 < rLength) throw new Error("\"r\" specified length of \"" + rLength + "\", only \"" + (inputLength - offset - 2) + "\" available");
1766
- if (maxEncodedParamLength < rLength) throw new Error("\"r\" specified length of \"" + rLength + "\", max of \"" + maxEncodedParamLength + "\" is acceptable");
1767
- var rOffset = offset;
1768
- offset += rLength;
1769
- if (signature[offset++] !== ENCODED_TAG_INT) throw new Error("Could not find expected \"int\" for \"s\"");
1770
- var sLength = signature[offset++];
1771
- if (inputLength - offset !== sLength) throw new Error("\"s\" specified length of \"" + sLength + "\", expected \"" + (inputLength - offset) + "\"");
1772
- if (maxEncodedParamLength < sLength) throw new Error("\"s\" specified length of \"" + sLength + "\", max of \"" + maxEncodedParamLength + "\" is acceptable");
1773
- var sOffset = offset;
1774
- offset += sLength;
1775
- if (offset !== inputLength) throw new Error("Expected to consume entire buffer, but \"" + (inputLength - offset) + "\" bytes remain");
1776
- var rPadding = paramBytes - rLength, sPadding = paramBytes - sLength;
1777
- var dst = Buffer.allocUnsafe(rPadding + rLength + sPadding + sLength);
1778
- for (offset = 0; offset < rPadding; ++offset) dst[offset] = 0;
1779
- signature.copy(dst, offset, rOffset + Math.max(-rPadding, 0), rOffset + rLength);
1780
- offset = paramBytes;
1781
- for (var o = offset; offset < o + sPadding; ++offset) dst[offset] = 0;
1782
- signature.copy(dst, offset, sOffset + Math.max(-sPadding, 0), sOffset + sLength);
1783
- dst = dst.toString("base64");
1784
- dst = base64Url(dst);
1785
- return dst;
1786
- }
1787
- function countPadding(buf, start, stop) {
1788
- var padding = 0;
1789
- while (start + padding < stop && buf[start + padding] === 0) ++padding;
1790
- if (buf[start + padding] >= MAX_OCTET) --padding;
1791
- return padding;
1792
- }
1793
- function joseToDer(signature, alg) {
1794
- signature = signatureAsBuffer(signature);
1795
- var paramBytes = getParamBytesForAlg(alg);
1796
- var signatureBytes = signature.length;
1797
- if (signatureBytes !== paramBytes * 2) throw new TypeError("\"" + alg + "\" signatures must be \"" + paramBytes * 2 + "\" bytes, saw \"" + signatureBytes + "\"");
1798
- var rPadding = countPadding(signature, 0, paramBytes);
1799
- var sPadding = countPadding(signature, paramBytes, signature.length);
1800
- var rLength = paramBytes - rPadding;
1801
- var sLength = paramBytes - sPadding;
1802
- var rsBytes = 2 + rLength + 1 + 1 + sLength;
1803
- var shortLength = rsBytes < MAX_OCTET;
1804
- var dst = Buffer.allocUnsafe((shortLength ? 2 : 3) + rsBytes);
1805
- var offset = 0;
1806
- dst[offset++] = ENCODED_TAG_SEQ;
1807
- if (shortLength) dst[offset++] = rsBytes;
1808
- else {
1809
- dst[offset++] = MAX_OCTET | 1;
1810
- dst[offset++] = rsBytes & 255;
1811
- }
1812
- dst[offset++] = ENCODED_TAG_INT;
1813
- dst[offset++] = rLength;
1814
- if (rPadding < 0) {
1815
- dst[offset++] = 0;
1816
- offset += signature.copy(dst, offset, 0, paramBytes);
1817
- } else offset += signature.copy(dst, offset, rPadding, paramBytes);
1818
- dst[offset++] = ENCODED_TAG_INT;
1819
- dst[offset++] = sLength;
1820
- if (sPadding < 0) {
1821
- dst[offset++] = 0;
1822
- signature.copy(dst, offset, paramBytes);
1823
- } else signature.copy(dst, offset, paramBytes + sPadding);
1824
- return dst;
1825
- }
1826
- module.exports = {
1827
- derToJose,
1828
- joseToDer
1829
- };
1830
- }));
1831
- //#endregion
1832
- //#region node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/data-stream.js
1833
- var require_data_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1834
- var Buffer = require_safe_buffer().Buffer;
1835
- var Stream$2 = __require("stream");
1836
- var util$3 = __require("util");
1837
- function DataStream(data) {
1838
- this.buffer = null;
1839
- this.writable = true;
1840
- this.readable = true;
1841
- if (!data) {
1842
- this.buffer = Buffer.alloc(0);
1843
- return this;
1844
- }
1845
- if (typeof data.pipe === "function") {
1846
- this.buffer = Buffer.alloc(0);
1847
- data.pipe(this);
1848
- return this;
1849
- }
1850
- if (data.length || typeof data === "object") {
1851
- this.buffer = data;
1852
- this.writable = false;
1853
- process.nextTick(function() {
1854
- this.emit("end", data);
1855
- this.readable = false;
1856
- this.emit("close");
1857
- }.bind(this));
1858
- return this;
1859
- }
1860
- throw new TypeError("Unexpected data type (" + typeof data + ")");
1861
- }
1862
- util$3.inherits(DataStream, Stream$2);
1863
- DataStream.prototype.write = function write(data) {
1864
- this.buffer = Buffer.concat([this.buffer, Buffer.from(data)]);
1865
- this.emit("data", data);
1866
- };
1867
- DataStream.prototype.end = function end(data) {
1868
- if (data) this.write(data);
1869
- this.emit("end", data);
1870
- this.emit("close");
1871
- this.writable = false;
1872
- this.readable = false;
1873
- };
1874
- module.exports = DataStream;
1875
- }));
1876
- //#endregion
1877
- //#region node_modules/.pnpm/buffer-equal-constant-time@1.0.1/node_modules/buffer-equal-constant-time/index.js
1878
- var require_buffer_equal_constant_time = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1879
- var Buffer$1 = __require("buffer").Buffer;
1880
- var SlowBuffer = __require("buffer").SlowBuffer;
1881
- module.exports = bufferEq;
1882
- function bufferEq(a, b) {
1883
- if (!Buffer$1.isBuffer(a) || !Buffer$1.isBuffer(b)) return false;
1884
- if (a.length !== b.length) return false;
1885
- var c = 0;
1886
- for (var i = 0; i < a.length; i++) c |= a[i] ^ b[i];
1887
- return c === 0;
1888
- }
1889
- bufferEq.install = function() {
1890
- Buffer$1.prototype.equal = SlowBuffer.prototype.equal = function equal(that) {
1891
- return bufferEq(this, that);
1892
- };
1893
- };
1894
- var origBufEqual = Buffer$1.prototype.equal;
1895
- var origSlowBufEqual = SlowBuffer.prototype.equal;
1896
- bufferEq.restore = function() {
1897
- Buffer$1.prototype.equal = origBufEqual;
1898
- SlowBuffer.prototype.equal = origSlowBufEqual;
1899
- };
1900
- }));
1901
- //#endregion
1902
- //#region node_modules/.pnpm/jwa@2.0.1/node_modules/jwa/index.js
1903
- var require_jwa = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1904
- var Buffer = require_safe_buffer().Buffer;
1905
- var crypto$1 = __require("crypto");
1906
- var formatEcdsa = require_ecdsa_sig_formatter();
1907
- var util$2 = __require("util");
1908
- var MSG_INVALID_ALGORITHM = "\"%s\" is not a valid algorithm.\n Supported algorithms are:\n \"HS256\", \"HS384\", \"HS512\", \"RS256\", \"RS384\", \"RS512\", \"PS256\", \"PS384\", \"PS512\", \"ES256\", \"ES384\", \"ES512\" and \"none\".";
1909
- var MSG_INVALID_SECRET = "secret must be a string or buffer";
1910
- var MSG_INVALID_VERIFIER_KEY = "key must be a string or a buffer";
1911
- var MSG_INVALID_SIGNER_KEY = "key must be a string, a buffer or an object";
1912
- var supportsKeyObjects = typeof crypto$1.createPublicKey === "function";
1913
- if (supportsKeyObjects) {
1914
- MSG_INVALID_VERIFIER_KEY += " or a KeyObject";
1915
- MSG_INVALID_SECRET += "or a KeyObject";
1916
- }
1917
- function checkIsPublicKey(key) {
1918
- if (Buffer.isBuffer(key)) return;
1919
- if (typeof key === "string") return;
1920
- if (!supportsKeyObjects) throw typeError(MSG_INVALID_VERIFIER_KEY);
1921
- if (typeof key !== "object") throw typeError(MSG_INVALID_VERIFIER_KEY);
1922
- if (typeof key.type !== "string") throw typeError(MSG_INVALID_VERIFIER_KEY);
1923
- if (typeof key.asymmetricKeyType !== "string") throw typeError(MSG_INVALID_VERIFIER_KEY);
1924
- if (typeof key.export !== "function") throw typeError(MSG_INVALID_VERIFIER_KEY);
1925
- }
1926
- function checkIsPrivateKey(key) {
1927
- if (Buffer.isBuffer(key)) return;
1928
- if (typeof key === "string") return;
1929
- if (typeof key === "object") return;
1930
- throw typeError(MSG_INVALID_SIGNER_KEY);
1931
- }
1932
- function checkIsSecretKey(key) {
1933
- if (Buffer.isBuffer(key)) return;
1934
- if (typeof key === "string") return key;
1935
- if (!supportsKeyObjects) throw typeError(MSG_INVALID_SECRET);
1936
- if (typeof key !== "object") throw typeError(MSG_INVALID_SECRET);
1937
- if (key.type !== "secret") throw typeError(MSG_INVALID_SECRET);
1938
- if (typeof key.export !== "function") throw typeError(MSG_INVALID_SECRET);
1939
- }
1940
- function fromBase64(base64) {
1941
- return base64.replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
1942
- }
1943
- function toBase64(base64url) {
1944
- base64url = base64url.toString();
1945
- var padding = 4 - base64url.length % 4;
1946
- if (padding !== 4) for (var i = 0; i < padding; ++i) base64url += "=";
1947
- return base64url.replace(/\-/g, "+").replace(/_/g, "/");
1948
- }
1949
- function typeError(template) {
1950
- var args = [].slice.call(arguments, 1);
1951
- var errMsg = util$2.format.bind(util$2, template).apply(null, args);
1952
- return new TypeError(errMsg);
1953
- }
1954
- function bufferOrString(obj) {
1955
- return Buffer.isBuffer(obj) || typeof obj === "string";
1956
- }
1957
- function normalizeInput(thing) {
1958
- if (!bufferOrString(thing)) thing = JSON.stringify(thing);
1959
- return thing;
1960
- }
1961
- function createHmacSigner(bits) {
1962
- return function sign(thing, secret) {
1963
- checkIsSecretKey(secret);
1964
- thing = normalizeInput(thing);
1965
- var hmac = crypto$1.createHmac("sha" + bits, secret);
1966
- return fromBase64((hmac.update(thing), hmac.digest("base64")));
1967
- };
1968
- }
1969
- var bufferEqual;
1970
- var timingSafeEqual = "timingSafeEqual" in crypto$1 ? function timingSafeEqual(a, b) {
1971
- if (a.byteLength !== b.byteLength) return false;
1972
- return crypto$1.timingSafeEqual(a, b);
1973
- } : function timingSafeEqual(a, b) {
1974
- if (!bufferEqual) bufferEqual = require_buffer_equal_constant_time();
1975
- return bufferEqual(a, b);
1976
- };
1977
- function createHmacVerifier(bits) {
1978
- return function verify(thing, signature, secret) {
1979
- var computedSig = createHmacSigner(bits)(thing, secret);
1980
- return timingSafeEqual(Buffer.from(signature), Buffer.from(computedSig));
1981
- };
1982
- }
1983
- function createKeySigner(bits) {
1984
- return function sign(thing, privateKey) {
1985
- checkIsPrivateKey(privateKey);
1986
- thing = normalizeInput(thing);
1987
- var signer = crypto$1.createSign("RSA-SHA" + bits);
1988
- return fromBase64((signer.update(thing), signer.sign(privateKey, "base64")));
1989
- };
1990
- }
1991
- function createKeyVerifier(bits) {
1992
- return function verify(thing, signature, publicKey) {
1993
- checkIsPublicKey(publicKey);
1994
- thing = normalizeInput(thing);
1995
- signature = toBase64(signature);
1996
- var verifier = crypto$1.createVerify("RSA-SHA" + bits);
1997
- verifier.update(thing);
1998
- return verifier.verify(publicKey, signature, "base64");
1999
- };
2000
- }
2001
- function createPSSKeySigner(bits) {
2002
- return function sign(thing, privateKey) {
2003
- checkIsPrivateKey(privateKey);
2004
- thing = normalizeInput(thing);
2005
- var signer = crypto$1.createSign("RSA-SHA" + bits);
2006
- return fromBase64((signer.update(thing), signer.sign({
2007
- key: privateKey,
2008
- padding: crypto$1.constants.RSA_PKCS1_PSS_PADDING,
2009
- saltLength: crypto$1.constants.RSA_PSS_SALTLEN_DIGEST
2010
- }, "base64")));
2011
- };
2012
- }
2013
- function createPSSKeyVerifier(bits) {
2014
- return function verify(thing, signature, publicKey) {
2015
- checkIsPublicKey(publicKey);
2016
- thing = normalizeInput(thing);
2017
- signature = toBase64(signature);
2018
- var verifier = crypto$1.createVerify("RSA-SHA" + bits);
2019
- verifier.update(thing);
2020
- return verifier.verify({
2021
- key: publicKey,
2022
- padding: crypto$1.constants.RSA_PKCS1_PSS_PADDING,
2023
- saltLength: crypto$1.constants.RSA_PSS_SALTLEN_DIGEST
2024
- }, signature, "base64");
2025
- };
2026
- }
2027
- function createECDSASigner(bits) {
2028
- var inner = createKeySigner(bits);
2029
- return function sign() {
2030
- var signature = inner.apply(null, arguments);
2031
- signature = formatEcdsa.derToJose(signature, "ES" + bits);
2032
- return signature;
2033
- };
2034
- }
2035
- function createECDSAVerifer(bits) {
2036
- var inner = createKeyVerifier(bits);
2037
- return function verify(thing, signature, publicKey) {
2038
- signature = formatEcdsa.joseToDer(signature, "ES" + bits).toString("base64");
2039
- return inner(thing, signature, publicKey);
2040
- };
2041
- }
2042
- function createNoneSigner() {
2043
- return function sign() {
2044
- return "";
2045
- };
2046
- }
2047
- function createNoneVerifier() {
2048
- return function verify(thing, signature) {
2049
- return signature === "";
2050
- };
2051
- }
2052
- module.exports = function jwa(algorithm) {
2053
- var signerFactories = {
2054
- hs: createHmacSigner,
2055
- rs: createKeySigner,
2056
- ps: createPSSKeySigner,
2057
- es: createECDSASigner,
2058
- none: createNoneSigner
2059
- };
2060
- var verifierFactories = {
2061
- hs: createHmacVerifier,
2062
- rs: createKeyVerifier,
2063
- ps: createPSSKeyVerifier,
2064
- es: createECDSAVerifer,
2065
- none: createNoneVerifier
2066
- };
2067
- var match = algorithm.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);
2068
- if (!match) throw typeError(MSG_INVALID_ALGORITHM, algorithm);
2069
- var algo = (match[1] || match[3]).toLowerCase();
2070
- var bits = match[2];
2071
- return {
2072
- sign: signerFactories[algo](bits),
2073
- verify: verifierFactories[algo](bits)
2074
- };
2075
- };
2076
- }));
2077
- //#endregion
2078
- //#region node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/tostring.js
2079
- var require_tostring = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2080
- var Buffer = __require("buffer").Buffer;
2081
- module.exports = function toString(obj) {
2082
- if (typeof obj === "string") return obj;
2083
- if (typeof obj === "number" || Buffer.isBuffer(obj)) return obj.toString();
2084
- return JSON.stringify(obj);
2085
- };
2086
- }));
2087
- //#endregion
2088
- //#region node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/sign-stream.js
2089
- var require_sign_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2090
- var Buffer = require_safe_buffer().Buffer;
2091
- var DataStream = require_data_stream();
2092
- var jwa = require_jwa();
2093
- var Stream$1 = __require("stream");
2094
- var toString = require_tostring();
2095
- var util$1 = __require("util");
2096
- function base64url(string, encoding) {
2097
- return Buffer.from(string, encoding).toString("base64").replace(/=/g, "").replace(/\+/g, "-").replace(/\//g, "_");
2098
- }
2099
- function jwsSecuredInput(header, payload, encoding) {
2100
- encoding = encoding || "utf8";
2101
- var encodedHeader = base64url(toString(header), "binary");
2102
- var encodedPayload = base64url(toString(payload), encoding);
2103
- return util$1.format("%s.%s", encodedHeader, encodedPayload);
2104
- }
2105
- function jwsSign(opts) {
2106
- var header = opts.header;
2107
- var payload = opts.payload;
2108
- var secretOrKey = opts.secret || opts.privateKey;
2109
- var encoding = opts.encoding;
2110
- var algo = jwa(header.alg);
2111
- var securedInput = jwsSecuredInput(header, payload, encoding);
2112
- var signature = algo.sign(securedInput, secretOrKey);
2113
- return util$1.format("%s.%s", securedInput, signature);
2114
- }
2115
- function SignStream(opts) {
2116
- var secret = opts.secret;
2117
- secret = secret == null ? opts.privateKey : secret;
2118
- secret = secret == null ? opts.key : secret;
2119
- if (/^hs/i.test(opts.header.alg) === true && secret == null) throw new TypeError("secret must be a string or buffer or a KeyObject");
2120
- var secretStream = new DataStream(secret);
2121
- this.readable = true;
2122
- this.header = opts.header;
2123
- this.encoding = opts.encoding;
2124
- this.secret = this.privateKey = this.key = secretStream;
2125
- this.payload = new DataStream(opts.payload);
2126
- this.secret.once("close", function() {
2127
- if (!this.payload.writable && this.readable) this.sign();
2128
- }.bind(this));
2129
- this.payload.once("close", function() {
2130
- if (!this.secret.writable && this.readable) this.sign();
2131
- }.bind(this));
2132
- }
2133
- util$1.inherits(SignStream, Stream$1);
2134
- SignStream.prototype.sign = function sign() {
2135
- try {
2136
- var signature = jwsSign({
2137
- header: this.header,
2138
- payload: this.payload.buffer,
2139
- secret: this.secret.buffer,
2140
- encoding: this.encoding
2141
- });
2142
- this.emit("done", signature);
2143
- this.emit("data", signature);
2144
- this.emit("end");
2145
- this.readable = false;
2146
- return signature;
2147
- } catch (e) {
2148
- this.readable = false;
2149
- this.emit("error", e);
2150
- this.emit("close");
2151
- }
2152
- };
2153
- SignStream.sign = jwsSign;
2154
- module.exports = SignStream;
2155
- }));
2156
- //#endregion
2157
- //#region node_modules/.pnpm/jws@4.0.1/node_modules/jws/lib/verify-stream.js
2158
- var require_verify_stream = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2159
- var Buffer = require_safe_buffer().Buffer;
2160
- var DataStream = require_data_stream();
2161
- var jwa = require_jwa();
2162
- var Stream = __require("stream");
2163
- var toString = require_tostring();
2164
- var util = __require("util");
2165
- var JWS_REGEX = /^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;
2166
- function isObject(thing) {
2167
- return Object.prototype.toString.call(thing) === "[object Object]";
2168
- }
2169
- function safeJsonParse(thing) {
2170
- if (isObject(thing)) return thing;
2171
- try {
2172
- return JSON.parse(thing);
2173
- } catch (e) {
2174
- return;
2175
- }
2176
- }
2177
- function headerFromJWS(jwsSig) {
2178
- var encodedHeader = jwsSig.split(".", 1)[0];
2179
- return safeJsonParse(Buffer.from(encodedHeader, "base64").toString("binary"));
2180
- }
2181
- function securedInputFromJWS(jwsSig) {
2182
- return jwsSig.split(".", 2).join(".");
2183
- }
2184
- function signatureFromJWS(jwsSig) {
2185
- return jwsSig.split(".")[2];
2186
- }
2187
- function payloadFromJWS(jwsSig, encoding) {
2188
- encoding = encoding || "utf8";
2189
- var payload = jwsSig.split(".")[1];
2190
- return Buffer.from(payload, "base64").toString(encoding);
2191
- }
2192
- function isValidJws(string) {
2193
- return JWS_REGEX.test(string) && !!headerFromJWS(string);
2194
- }
2195
- function jwsVerify(jwsSig, algorithm, secretOrKey) {
2196
- if (!algorithm) {
2197
- var err = /* @__PURE__ */ new Error("Missing algorithm parameter for jws.verify");
2198
- err.code = "MISSING_ALGORITHM";
2199
- throw err;
2200
- }
2201
- jwsSig = toString(jwsSig);
2202
- var signature = signatureFromJWS(jwsSig);
2203
- var securedInput = securedInputFromJWS(jwsSig);
2204
- return jwa(algorithm).verify(securedInput, signature, secretOrKey);
2205
- }
2206
- function jwsDecode(jwsSig, opts) {
2207
- opts = opts || {};
2208
- jwsSig = toString(jwsSig);
2209
- if (!isValidJws(jwsSig)) return null;
2210
- var header = headerFromJWS(jwsSig);
2211
- if (!header) return null;
2212
- var payload = payloadFromJWS(jwsSig);
2213
- if (header.typ === "JWT" || opts.json) payload = JSON.parse(payload, opts.encoding);
2214
- return {
2215
- header,
2216
- payload,
2217
- signature: signatureFromJWS(jwsSig)
2218
- };
2219
- }
2220
- function VerifyStream(opts) {
2221
- opts = opts || {};
2222
- var secretOrKey = opts.secret;
2223
- secretOrKey = secretOrKey == null ? opts.publicKey : secretOrKey;
2224
- secretOrKey = secretOrKey == null ? opts.key : secretOrKey;
2225
- if (/^hs/i.test(opts.algorithm) === true && secretOrKey == null) throw new TypeError("secret must be a string or buffer or a KeyObject");
2226
- var secretStream = new DataStream(secretOrKey);
2227
- this.readable = true;
2228
- this.algorithm = opts.algorithm;
2229
- this.encoding = opts.encoding;
2230
- this.secret = this.publicKey = this.key = secretStream;
2231
- this.signature = new DataStream(opts.signature);
2232
- this.secret.once("close", function() {
2233
- if (!this.signature.writable && this.readable) this.verify();
2234
- }.bind(this));
2235
- this.signature.once("close", function() {
2236
- if (!this.secret.writable && this.readable) this.verify();
2237
- }.bind(this));
2238
- }
2239
- util.inherits(VerifyStream, Stream);
2240
- VerifyStream.prototype.verify = function verify() {
2241
- try {
2242
- var valid = jwsVerify(this.signature.buffer, this.algorithm, this.key.buffer);
2243
- var obj = jwsDecode(this.signature.buffer, this.encoding);
2244
- this.emit("done", valid, obj);
2245
- this.emit("data", valid);
2246
- this.emit("end");
2247
- this.readable = false;
2248
- return valid;
2249
- } catch (e) {
2250
- this.readable = false;
2251
- this.emit("error", e);
2252
- this.emit("close");
2253
- }
2254
- };
2255
- VerifyStream.decode = jwsDecode;
2256
- VerifyStream.isValid = isValidJws;
2257
- VerifyStream.verify = jwsVerify;
2258
- module.exports = VerifyStream;
2259
- }));
2260
- //#endregion
2261
- //#region node_modules/.pnpm/jws@4.0.1/node_modules/jws/index.js
2262
- var require_jws = /* @__PURE__ */ __commonJSMin(((exports) => {
2263
- var SignStream = require_sign_stream();
2264
- var VerifyStream = require_verify_stream();
2265
- exports.ALGORITHMS = [
2266
- "HS256",
2267
- "HS384",
2268
- "HS512",
2269
- "RS256",
2270
- "RS384",
2271
- "RS512",
2272
- "PS256",
2273
- "PS384",
2274
- "PS512",
2275
- "ES256",
2276
- "ES384",
2277
- "ES512"
2278
- ];
2279
- exports.sign = SignStream.sign;
2280
- exports.verify = VerifyStream.verify;
2281
- exports.decode = VerifyStream.decode;
2282
- exports.isValid = VerifyStream.isValid;
2283
- exports.createSign = function createSign(opts) {
2284
- return new SignStream(opts);
2285
- };
2286
- exports.createVerify = function createVerify(opts) {
2287
- return new VerifyStream(opts);
2288
- };
2289
- }));
2290
- //#endregion
2291
- export { require_extend as a, require_json_bigint as i, require_ecdsa_sig_formatter as n, require_base64_js as r, require_jws as t };