@airgap/coinlib-core 0.13.45-beta.3 → 0.13.45-beta.5

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 (219) hide show
  1. package/actions/Action.js +83 -30
  2. package/actions/Action.js.map +1 -1
  3. package/actions/LinkedAction.js +82 -18
  4. package/actions/LinkedAction.js.map +1 -1
  5. package/actions/RepeatableAction.js +83 -20
  6. package/actions/RepeatableAction.js.map +1 -1
  7. package/actions/SimpleAction.js +74 -12
  8. package/actions/SimpleAction.js.map +1 -1
  9. package/actions/StateMachine.js +17 -16
  10. package/actions/StateMachine.js.map +1 -1
  11. package/data/KeyPair.d.ts +1 -0
  12. package/data/Lazy.js +64 -15
  13. package/data/Lazy.js.map +1 -1
  14. package/data/RPCBody.js +6 -3
  15. package/data/RPCBody.js.map +1 -1
  16. package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.d.ts +12 -12
  17. package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.js +130 -88
  18. package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.js.map +1 -1
  19. package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.d.ts +3 -3
  20. package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.js +61 -57
  21. package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.js.map +1 -1
  22. package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.js +96 -96
  23. package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.js.map +1 -1
  24. package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.js +2 -1
  25. package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.js.map +1 -1
  26. package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.js +10 -8
  27. package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.js.map +1 -1
  28. package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.js +28 -22
  29. package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.js.map +1 -1
  30. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.js +10 -9
  31. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.js.map +1 -1
  32. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.js +11 -10
  33. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.js.map +1 -1
  34. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.js +8 -7
  35. package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.js.map +1 -1
  36. package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.d.ts +3 -3
  37. package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.js +63 -61
  38. package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.js.map +1 -1
  39. package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.d.ts +4 -4
  40. package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.js +63 -61
  41. package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.js.map +1 -1
  42. package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.d.ts +1 -1
  43. package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.js +3 -2
  44. package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.js.map +1 -1
  45. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.js +111 -111
  46. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.js.map +1 -1
  47. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.js +15 -15
  48. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.js.map +1 -1
  49. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.d.ts +1 -1
  50. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.js +76 -47
  51. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.js.map +1 -1
  52. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.d.ts +1 -1
  53. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.js +61 -46
  54. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.js.map +1 -1
  55. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.js +106 -61
  56. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.js.map +1 -1
  57. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/interface.d.ts +1 -1
  58. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.d.ts +6 -6
  59. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.js +100 -95
  60. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.js.map +1 -1
  61. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.js +33 -33
  62. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.js.map +1 -1
  63. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.js +9 -9
  64. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.js.map +1 -1
  65. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.d.ts +1 -1
  66. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.js +75 -46
  67. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.js.map +1 -1
  68. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.d.ts +1 -1
  69. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.js +70 -45
  70. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.js.map +1 -1
  71. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.js +41 -41
  72. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.js.map +1 -1
  73. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.js +4 -4
  74. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.js.map +1 -1
  75. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.d.ts +2 -2
  76. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.js +63 -58
  77. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.js.map +1 -1
  78. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.js +33 -30
  79. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.js.map +1 -1
  80. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.js +20 -18
  81. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.js.map +1 -1
  82. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.d.ts +1 -1
  83. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.js +12 -5
  84. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.js.map +1 -1
  85. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.js +13 -13
  86. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.js.map +1 -1
  87. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.js +1 -1
  88. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.js.map +1 -1
  89. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.d.ts +78 -78
  90. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.js +2 -2
  91. package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.js.map +1 -1
  92. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.d.ts +45 -45
  93. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.js +76 -75
  94. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.js.map +1 -1
  95. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.js +178 -115
  96. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.js.map +1 -1
  97. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.d.ts +1 -1
  98. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.js +9 -6
  99. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.js.map +1 -1
  100. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.js +83 -78
  101. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.js.map +1 -1
  102. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.js +36 -27
  103. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.js.map +1 -1
  104. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.d.ts +1 -1
  105. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.js +26 -25
  106. package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.js.map +1 -1
  107. package/dependencies/src/cosmjs/index.d.ts +230 -14
  108. package/dependencies/src/cosmjs/index.js +480 -373
  109. package/dependencies/src/cosmjs/index.js.map +1 -1
  110. package/dependencies/src/eciesjs-0.3.9/src/index.d.ts +1 -0
  111. package/dependencies/src/eciesjs-0.3.9/src/index.js +19 -15
  112. package/dependencies/src/eciesjs-0.3.9/src/index.js.map +1 -1
  113. package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.d.ts +1 -0
  114. package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.js +28 -37
  115. package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.js.map +1 -1
  116. package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.d.ts +1 -0
  117. package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.js +30 -38
  118. package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.js.map +1 -1
  119. package/dependencies/src/eciesjs-0.3.9/src/utils.d.ts +1 -0
  120. package/dependencies/src/eciesjs-0.3.9/src/utils.js +24 -33
  121. package/dependencies/src/eciesjs-0.3.9/src/utils.js.map +1 -1
  122. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.js +34 -42
  123. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.js.map +1 -1
  124. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.js +10 -6
  125. package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.js.map +1 -1
  126. package/errors/coinlib-error.d.ts +2 -1
  127. package/errors/coinlib-error.js +38 -16
  128. package/errors/coinlib-error.js.map +1 -1
  129. package/errors/index.d.ts +2 -2
  130. package/errors/index.js +148 -89
  131. package/errors/index.js.map +1 -1
  132. package/index.js +19 -19
  133. package/index.js.map +1 -1
  134. package/interfaces/IAirGapSignedTransaction.d.ts +1 -1
  135. package/interfaces/IAirGapTransaction.js +3 -3
  136. package/interfaces/IAirGapTransaction.js.map +1 -1
  137. package/networks.js +9 -9
  138. package/networks.js.map +1 -1
  139. package/package.json +1 -1
  140. package/protocols/BlockExplorerProtocol.js +54 -7
  141. package/protocols/BlockExplorerProtocol.js.map +1 -1
  142. package/protocols/CryptoClient.js +78 -19
  143. package/protocols/CryptoClient.js.map +1 -1
  144. package/protocols/Ed25519CryptoClient.js +98 -30
  145. package/protocols/Ed25519CryptoClient.js.map +1 -1
  146. package/protocols/ICoinSubProtocol.js +1 -1
  147. package/protocols/ICoinSubProtocol.js.map +1 -1
  148. package/protocols/NonExtendedProtocol.js +29 -26
  149. package/protocols/NonExtendedProtocol.js.map +1 -1
  150. package/protocols/Secp256k1CryptoClient.js +73 -9
  151. package/protocols/Secp256k1CryptoClient.js.map +1 -1
  152. package/protocols/Sr25519CryptoClient.js +76 -12
  153. package/protocols/Sr25519CryptoClient.js.map +1 -1
  154. package/utils/AES.js +132 -81
  155. package/utils/AES.js.map +1 -1
  156. package/utils/ErrorWithData.js +23 -5
  157. package/utils/ErrorWithData.js.map +1 -1
  158. package/utils/Network.js +1 -1
  159. package/utils/Network.js.map +1 -1
  160. package/utils/ProtocolBlockExplorer.js +4 -3
  161. package/utils/ProtocolBlockExplorer.js.map +1 -1
  162. package/utils/ProtocolNetwork.js +16 -11
  163. package/utils/ProtocolNetwork.js.map +1 -1
  164. package/utils/ProtocolSymbols.d.ts +3 -1
  165. package/utils/ProtocolSymbols.js +8 -6
  166. package/utils/ProtocolSymbols.js.map +1 -1
  167. package/utils/array.js +15 -14
  168. package/utils/array.js.map +1 -1
  169. package/utils/assert.js +12 -8
  170. package/utils/assert.js.map +1 -1
  171. package/utils/base64Check.d.ts +1 -0
  172. package/utils/base64Check.js +15 -15
  173. package/utils/base64Check.js.map +1 -1
  174. package/utils/blake2b.js +14 -11
  175. package/utils/blake2b.js.map +1 -1
  176. package/utils/buffer.d.ts +1 -0
  177. package/utils/buffer.js +1 -1
  178. package/utils/buffer.js.map +1 -1
  179. package/utils/cache.js +87 -38
  180. package/utils/cache.js.map +1 -1
  181. package/utils/error.js +3 -2
  182. package/utils/error.js.map +1 -1
  183. package/utils/hex.d.ts +2 -1
  184. package/utils/hex.js +38 -31
  185. package/utils/hex.js.map +1 -1
  186. package/utils/interfaces.js +4 -3
  187. package/utils/interfaces.js.map +1 -1
  188. package/utils/object.js +7 -5
  189. package/utils/object.js.map +1 -1
  190. package/utils/padStart.js +2 -1
  191. package/utils/padStart.js.map +1 -1
  192. package/utils/remote-data/HttpRemoteData.js +107 -24
  193. package/utils/remote-data/HttpRemoteData.js.map +1 -1
  194. package/utils/remote-data/IpfsRemoteData.js +116 -32
  195. package/utils/remote-data/IpfsRemoteData.js.map +1 -1
  196. package/utils/remote-data/RemoteData.d.ts +1 -0
  197. package/utils/remote-data/RemoteData.js +4 -3
  198. package/utils/remote-data/RemoteData.js.map +1 -1
  199. package/utils/remote-data/RemoteDataFactory.d.ts +2 -2
  200. package/utils/remote-data/RemoteDataFactory.js +20 -13
  201. package/utils/remote-data/RemoteDataFactory.js.map +1 -1
  202. package/utils/remote-data/Sha256RemoteData.d.ts +1 -0
  203. package/utils/remote-data/Sha256RemoteData.js +117 -44
  204. package/utils/remote-data/Sha256RemoteData.js.map +1 -1
  205. package/utils/string.js +9 -8
  206. package/utils/string.js.map +1 -1
  207. package/utils/type.js +4 -3
  208. package/utils/type.js.map +1 -1
  209. package/utils/xxhash.d.ts +1 -0
  210. package/utils/xxhash.js +11 -9
  211. package/utils/xxhash.js.map +1 -1
  212. package/wallet/AirGapCoinWallet.js +183 -64
  213. package/wallet/AirGapCoinWallet.js.map +1 -1
  214. package/wallet/AirGapMarketWallet.js +201 -88
  215. package/wallet/AirGapMarketWallet.js.map +1 -1
  216. package/wallet/AirGapNFTWallet.js +165 -48
  217. package/wallet/AirGapNFTWallet.js.map +1 -1
  218. package/wallet/AirGapWallet.js +145 -58
  219. package/wallet/AirGapWallet.js.map +1 -1
@@ -2,20 +2,13 @@
2
2
  // Copyright (C) 2016 Dmitry Chestnykh
3
3
  // MIT License. See LICENSE file for details.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.SEED_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = exports.SIGNATURE_LENGTH = void 0;
6
- exports.generateKeyPairFromSeed = generateKeyPairFromSeed;
7
- exports.generateKeyPair = generateKeyPair;
8
- exports.extractPublicKeyFromSecretKey = extractPublicKeyFromSecretKey;
9
- exports.sign = sign;
10
- exports.verify = verify;
11
- exports.convertPublicKeyToX25519 = convertPublicKeyToX25519;
12
- exports.convertSecretKeyToX25519 = convertSecretKeyToX25519;
5
+ exports.convertSecretKeyToX25519 = exports.convertPublicKeyToX25519 = exports.verify = exports.sign = exports.extractPublicKeyFromSecretKey = exports.generateKeyPair = exports.generateKeyPairFromSeed = exports.SEED_LENGTH = exports.SECRET_KEY_LENGTH = exports.PUBLIC_KEY_LENGTH = exports.SIGNATURE_LENGTH = void 0;
13
6
  /**
14
7
  * Package ed25519 implements Ed25519 public-key signature algorithm.
15
8
  */
16
- const random_1 = require("../../../../@stablelib/random-1.0.2/packages/random/random");
17
- const sha512_1 = require("../../../../@stablelib/sha512-1.0.1/packages/sha512/sha512");
18
- const wipe_1 = require("../../../../@stablelib/wipe-1.0.1/packages/wipe/wipe");
9
+ var random_1 = require("../../../../@stablelib/random-1.0.2/packages/random/random");
10
+ var sha512_1 = require("../../../../@stablelib/sha512-1.0.1/packages/sha512/sha512");
11
+ var wipe_1 = require("../../../../@stablelib/wipe-1.0.1/packages/wipe/wipe");
19
12
  exports.SIGNATURE_LENGTH = 64;
20
13
  exports.PUBLIC_KEY_LENGTH = 32;
21
14
  exports.SECRET_KEY_LENGTH = 64;
@@ -27,123 +20,123 @@ exports.SEED_LENGTH = 32;
27
20
  // We use Float64Array, because we need 48-bit numbers
28
21
  // for this implementation.
29
22
  function gf(init) {
30
- const r = new Float64Array(16);
23
+ var r = new Float64Array(16);
31
24
  if (init) {
32
- for (let i = 0; i < init.length; i++) {
25
+ for (var i = 0; i < init.length; i++) {
33
26
  r[i] = init[i];
34
27
  }
35
28
  }
36
29
  return r;
37
30
  }
38
31
  // Base point.
39
- const _9 = new Uint8Array(32);
32
+ var _9 = new Uint8Array(32);
40
33
  _9[0] = 9;
41
- const gf0 = gf();
42
- const gf1 = gf([1]);
43
- const D = gf([
34
+ var gf0 = gf();
35
+ var gf1 = gf([1]);
36
+ var D = gf([
44
37
  0x78a3, 0x1359, 0x4dca, 0x75eb, 0xd8ab, 0x4141, 0x0a4d, 0x0070,
45
38
  0xe898, 0x7779, 0x4079, 0x8cc7, 0xfe73, 0x2b6f, 0x6cee, 0x5203
46
39
  ]);
47
- const D2 = gf([
40
+ var D2 = gf([
48
41
  0xf159, 0x26b2, 0x9b94, 0xebd6, 0xb156, 0x8283, 0x149a, 0x00e0,
49
42
  0xd130, 0xeef3, 0x80f2, 0x198e, 0xfce7, 0x56df, 0xd9dc, 0x2406
50
43
  ]);
51
- const X = gf([
44
+ var X = gf([
52
45
  0xd51a, 0x8f25, 0x2d60, 0xc956, 0xa7b2, 0x9525, 0xc760, 0x692c,
53
46
  0xdc5c, 0xfdd6, 0xe231, 0xc0a4, 0x53fe, 0xcd6e, 0x36d3, 0x2169
54
47
  ]);
55
- const Y = gf([
48
+ var Y = gf([
56
49
  0x6658, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666,
57
50
  0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666, 0x6666
58
51
  ]);
59
- const I = gf([
52
+ var I = gf([
60
53
  0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43,
61
54
  0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83
62
55
  ]);
63
56
  function set25519(r, a) {
64
- for (let i = 0; i < 16; i++) {
57
+ for (var i = 0; i < 16; i++) {
65
58
  r[i] = a[i] | 0;
66
59
  }
67
60
  }
68
61
  function car25519(o) {
69
- let c = 1;
70
- for (let i = 0; i < 16; i++) {
71
- let v = o[i] + c + 65535;
62
+ var c = 1;
63
+ for (var i = 0; i < 16; i++) {
64
+ var v = o[i] + c + 65535;
72
65
  c = Math.floor(v / 65536);
73
66
  o[i] = v - c * 65536;
74
67
  }
75
68
  o[0] += c - 1 + 37 * (c - 1);
76
69
  }
77
70
  function sel25519(p, q, b) {
78
- const c = ~(b - 1);
79
- for (let i = 0; i < 16; i++) {
80
- const t = c & (p[i] ^ q[i]);
71
+ var c = ~(b - 1);
72
+ for (var i = 0; i < 16; i++) {
73
+ var t = c & (p[i] ^ q[i]);
81
74
  p[i] ^= t;
82
75
  q[i] ^= t;
83
76
  }
84
77
  }
85
78
  function pack25519(o, n) {
86
- const m = gf();
87
- const t = gf();
88
- for (let i = 0; i < 16; i++) {
79
+ var m = gf();
80
+ var t = gf();
81
+ for (var i = 0; i < 16; i++) {
89
82
  t[i] = n[i];
90
83
  }
91
84
  car25519(t);
92
85
  car25519(t);
93
86
  car25519(t);
94
- for (let j = 0; j < 2; j++) {
87
+ for (var j = 0; j < 2; j++) {
95
88
  m[0] = t[0] - 0xffed;
96
- for (let i = 1; i < 15; i++) {
89
+ for (var i = 1; i < 15; i++) {
97
90
  m[i] = t[i] - 0xffff - ((m[i - 1] >> 16) & 1);
98
91
  m[i - 1] &= 0xffff;
99
92
  }
100
93
  m[15] = t[15] - 0x7fff - ((m[14] >> 16) & 1);
101
- const b = (m[15] >> 16) & 1;
94
+ var b = (m[15] >> 16) & 1;
102
95
  m[14] &= 0xffff;
103
96
  sel25519(t, m, 1 - b);
104
97
  }
105
- for (let i = 0; i < 16; i++) {
98
+ for (var i = 0; i < 16; i++) {
106
99
  o[2 * i] = t[i] & 0xff;
107
100
  o[2 * i + 1] = t[i] >> 8;
108
101
  }
109
102
  }
110
103
  function verify32(x, y) {
111
- let d = 0;
112
- for (let i = 0; i < 32; i++) {
104
+ var d = 0;
105
+ for (var i = 0; i < 32; i++) {
113
106
  d |= x[i] ^ y[i];
114
107
  }
115
108
  return (1 & ((d - 1) >>> 8)) - 1;
116
109
  }
117
110
  function neq25519(a, b) {
118
- const c = new Uint8Array(32);
119
- const d = new Uint8Array(32);
111
+ var c = new Uint8Array(32);
112
+ var d = new Uint8Array(32);
120
113
  pack25519(c, a);
121
114
  pack25519(d, b);
122
115
  return verify32(c, d);
123
116
  }
124
117
  function par25519(a) {
125
- const d = new Uint8Array(32);
118
+ var d = new Uint8Array(32);
126
119
  pack25519(d, a);
127
120
  return d[0] & 1;
128
121
  }
129
122
  function unpack25519(o, n) {
130
- for (let i = 0; i < 16; i++) {
123
+ for (var i = 0; i < 16; i++) {
131
124
  o[i] = n[2 * i] + (n[2 * i + 1] << 8);
132
125
  }
133
126
  o[15] &= 0x7fff;
134
127
  }
135
128
  function add(o, a, b) {
136
- for (let i = 0; i < 16; i++) {
129
+ for (var i = 0; i < 16; i++) {
137
130
  o[i] = a[i] + b[i];
138
131
  }
139
132
  }
140
133
  function sub(o, a, b) {
141
- for (let i = 0; i < 16; i++) {
134
+ for (var i = 0; i < 16; i++) {
142
135
  o[i] = a[i] - b[i];
143
136
  }
144
137
  }
145
138
  function mul(o, a, b) {
146
- let v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];
139
+ var v, c, t0 = 0, t1 = 0, t2 = 0, t3 = 0, t4 = 0, t5 = 0, t6 = 0, t7 = 0, t8 = 0, t9 = 0, t10 = 0, t11 = 0, t12 = 0, t13 = 0, t14 = 0, t15 = 0, t16 = 0, t17 = 0, t18 = 0, t19 = 0, t20 = 0, t21 = 0, t22 = 0, t23 = 0, t24 = 0, t25 = 0, t26 = 0, t27 = 0, t28 = 0, t29 = 0, t30 = 0, b0 = b[0], b1 = b[1], b2 = b[2], b3 = b[3], b4 = b[4], b5 = b[5], b6 = b[6], b7 = b[7], b8 = b[8], b9 = b[9], b10 = b[10], b11 = b[11], b12 = b[12], b13 = b[13], b14 = b[14], b15 = b[15];
147
140
  v = a[0];
148
141
  t0 += v * b0;
149
142
  t1 += v * b1;
@@ -555,8 +548,8 @@ function square(o, a) {
555
548
  mul(o, a, a);
556
549
  }
557
550
  function inv25519(o, i) {
558
- const c = gf();
559
- let a;
551
+ var c = gf();
552
+ var a;
560
553
  for (a = 0; a < 16; a++) {
561
554
  c[a] = i[a];
562
555
  }
@@ -571,8 +564,8 @@ function inv25519(o, i) {
571
564
  }
572
565
  }
573
566
  function pow2523(o, i) {
574
- const c = gf();
575
- let a;
567
+ var c = gf();
568
+ var a;
576
569
  for (a = 0; a < 16; a++) {
577
570
  c[a] = i[a];
578
571
  }
@@ -587,7 +580,7 @@ function pow2523(o, i) {
587
580
  }
588
581
  }
589
582
  function edadd(p, q) {
590
- const a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf(), g = gf(), h = gf(), t = gf();
583
+ var a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf(), g = gf(), h = gf(), t = gf();
591
584
  sub(a, p[1], p[0]);
592
585
  sub(t, q[1], q[0]);
593
586
  mul(a, a, t);
@@ -608,12 +601,12 @@ function edadd(p, q) {
608
601
  mul(p[3], e, h);
609
602
  }
610
603
  function cswap(p, q, b) {
611
- for (let i = 0; i < 4; i++) {
604
+ for (var i = 0; i < 4; i++) {
612
605
  sel25519(p[i], q[i], b);
613
606
  }
614
607
  }
615
608
  function pack(r, p) {
616
- const tx = gf(), ty = gf(), zi = gf();
609
+ var tx = gf(), ty = gf(), zi = gf();
617
610
  inv25519(zi, p[2]);
618
611
  mul(tx, p[0], zi);
619
612
  mul(ty, p[1], zi);
@@ -625,8 +618,8 @@ function scalarmult(p, q, s) {
625
618
  set25519(p[1], gf1);
626
619
  set25519(p[2], gf1);
627
620
  set25519(p[3], gf0);
628
- for (let i = 255; i >= 0; --i) {
629
- const b = (s[(i / 8) | 0] >> (i & 7)) & 1;
621
+ for (var i = 255; i >= 0; --i) {
622
+ var b = (s[(i / 8) | 0] >> (i & 7)) & 1;
630
623
  cswap(p, q, b);
631
624
  edadd(q, p);
632
625
  edadd(p, p);
@@ -634,7 +627,7 @@ function scalarmult(p, q, s) {
634
627
  }
635
628
  }
636
629
  function scalarbase(p, s) {
637
- const q = [gf(), gf(), gf(), gf()];
630
+ var q = [gf(), gf(), gf(), gf()];
638
631
  set25519(q[0], X);
639
632
  set25519(q[1], Y);
640
633
  set25519(q[2], gf1);
@@ -644,45 +637,48 @@ function scalarbase(p, s) {
644
637
  // Generates key pair from secret 32-byte seed.
645
638
  function generateKeyPairFromSeed(seed) {
646
639
  if (seed.length !== exports.SEED_LENGTH) {
647
- throw new Error(`ed25519: seed must be ${exports.SEED_LENGTH} bytes`);
640
+ throw new Error("ed25519: seed must be ".concat(exports.SEED_LENGTH, " bytes"));
648
641
  }
649
- const d = (0, sha512_1.hash)(seed);
642
+ var d = (0, sha512_1.hash)(seed);
650
643
  d[0] &= 248;
651
644
  d[31] &= 127;
652
645
  d[31] |= 64;
653
- const publicKey = new Uint8Array(32);
654
- const p = [gf(), gf(), gf(), gf()];
646
+ var publicKey = new Uint8Array(32);
647
+ var p = [gf(), gf(), gf(), gf()];
655
648
  scalarbase(p, d);
656
649
  pack(publicKey, p);
657
- const secretKey = new Uint8Array(64);
650
+ var secretKey = new Uint8Array(64);
658
651
  secretKey.set(seed);
659
652
  secretKey.set(publicKey, 32);
660
653
  return {
661
- publicKey,
662
- secretKey
654
+ publicKey: publicKey,
655
+ secretKey: secretKey
663
656
  };
664
657
  }
658
+ exports.generateKeyPairFromSeed = generateKeyPairFromSeed;
665
659
  function generateKeyPair(prng) {
666
- const seed = (0, random_1.randomBytes)(32, prng);
667
- const result = generateKeyPairFromSeed(seed);
660
+ var seed = (0, random_1.randomBytes)(32, prng);
661
+ var result = generateKeyPairFromSeed(seed);
668
662
  (0, wipe_1.wipe)(seed);
669
663
  return result;
670
664
  }
665
+ exports.generateKeyPair = generateKeyPair;
671
666
  function extractPublicKeyFromSecretKey(secretKey) {
672
667
  if (secretKey.length !== exports.SECRET_KEY_LENGTH) {
673
- throw new Error(`ed25519: secret key must be ${exports.SECRET_KEY_LENGTH} bytes`);
668
+ throw new Error("ed25519: secret key must be ".concat(exports.SECRET_KEY_LENGTH, " bytes"));
674
669
  }
675
670
  return new Uint8Array(secretKey.subarray(32));
676
671
  }
677
- const L = new Float64Array([
672
+ exports.extractPublicKeyFromSecretKey = extractPublicKeyFromSecretKey;
673
+ var L = new Float64Array([
678
674
  0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58, 0xd6, 0x9c, 0xf7, 0xa2,
679
675
  0xde, 0xf9, 0xde, 0x14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x10
680
676
  ]);
681
677
  function modL(r, x) {
682
- let carry;
683
- let i;
684
- let j;
685
- let k;
678
+ var carry;
679
+ var i;
680
+ var j;
681
+ var k;
686
682
  for (i = 63; i >= 32; --i) {
687
683
  carry = 0;
688
684
  for (j = i - 32, k = i - 12; j < k; ++j) {
@@ -708,29 +704,29 @@ function modL(r, x) {
708
704
  }
709
705
  }
710
706
  function reduce(r) {
711
- const x = new Float64Array(64);
712
- for (let i = 0; i < 64; i++) {
707
+ var x = new Float64Array(64);
708
+ for (var i = 0; i < 64; i++) {
713
709
  x[i] = r[i];
714
710
  }
715
- for (let i = 0; i < 64; i++) {
711
+ for (var i = 0; i < 64; i++) {
716
712
  r[i] = 0;
717
713
  }
718
714
  modL(r, x);
719
715
  }
720
716
  // Returns 64-byte signature of the message under the 64-byte secret key.
721
717
  function sign(secretKey, message) {
722
- const x = new Float64Array(64);
723
- const p = [gf(), gf(), gf(), gf()];
724
- const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));
718
+ var x = new Float64Array(64);
719
+ var p = [gf(), gf(), gf(), gf()];
720
+ var d = (0, sha512_1.hash)(secretKey.subarray(0, 32));
725
721
  d[0] &= 248;
726
722
  d[31] &= 127;
727
723
  d[31] |= 64;
728
- const signature = new Uint8Array(64);
724
+ var signature = new Uint8Array(64);
729
725
  signature.set(d.subarray(32), 32);
730
- const hs = new sha512_1.SHA512();
726
+ var hs = new sha512_1.SHA512();
731
727
  hs.update(signature.subarray(32));
732
728
  hs.update(message);
733
- const r = hs.digest();
729
+ var r = hs.digest();
734
730
  hs.clean();
735
731
  reduce(r);
736
732
  scalarbase(p, r);
@@ -739,21 +735,22 @@ function sign(secretKey, message) {
739
735
  hs.update(signature.subarray(0, 32));
740
736
  hs.update(secretKey.subarray(32));
741
737
  hs.update(message);
742
- const h = hs.digest();
738
+ var h = hs.digest();
743
739
  reduce(h);
744
- for (let i = 0; i < 32; i++) {
740
+ for (var i = 0; i < 32; i++) {
745
741
  x[i] = r[i];
746
742
  }
747
- for (let i = 0; i < 32; i++) {
748
- for (let j = 0; j < 32; j++) {
743
+ for (var i = 0; i < 32; i++) {
744
+ for (var j = 0; j < 32; j++) {
749
745
  x[i + j] += h[i] * d[j];
750
746
  }
751
747
  }
752
748
  modL(signature.subarray(32), x);
753
749
  return signature;
754
750
  }
751
+ exports.sign = sign;
755
752
  function unpackneg(r, p) {
756
- const t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();
753
+ var t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();
757
754
  set25519(r[2], gf1);
758
755
  unpack25519(r[1], p);
759
756
  square(num, r[1]);
@@ -787,20 +784,20 @@ function unpackneg(r, p) {
787
784
  return 0;
788
785
  }
789
786
  function verify(publicKey, message, signature) {
790
- const t = new Uint8Array(32);
791
- const p = [gf(), gf(), gf(), gf()];
792
- const q = [gf(), gf(), gf(), gf()];
787
+ var t = new Uint8Array(32);
788
+ var p = [gf(), gf(), gf(), gf()];
789
+ var q = [gf(), gf(), gf(), gf()];
793
790
  if (signature.length !== exports.SIGNATURE_LENGTH) {
794
- throw new Error(`ed25519: signature must be ${exports.SIGNATURE_LENGTH} bytes`);
791
+ throw new Error("ed25519: signature must be ".concat(exports.SIGNATURE_LENGTH, " bytes"));
795
792
  }
796
793
  if (unpackneg(q, publicKey)) {
797
794
  return false;
798
795
  }
799
- const hs = new sha512_1.SHA512();
796
+ var hs = new sha512_1.SHA512();
800
797
  hs.update(signature.subarray(0, 32));
801
798
  hs.update(publicKey);
802
799
  hs.update(message);
803
- const h = hs.digest();
800
+ var h = hs.digest();
804
801
  reduce(h);
805
802
  scalarmult(p, q, h);
806
803
  scalarbase(q, signature.subarray(32));
@@ -811,38 +808,41 @@ function verify(publicKey, message, signature) {
811
808
  }
812
809
  return true;
813
810
  }
811
+ exports.verify = verify;
814
812
  /**
815
813
  * Convert Ed25519 public key to X25519 public key.
816
814
  *
817
815
  * Throws if given an invalid public key.
818
816
  */
819
817
  function convertPublicKeyToX25519(publicKey) {
820
- let q = [gf(), gf(), gf(), gf()];
818
+ var q = [gf(), gf(), gf(), gf()];
821
819
  if (unpackneg(q, publicKey)) {
822
820
  throw new Error("Ed25519: invalid public key");
823
821
  }
824
822
  // Formula: montgomeryX = (edwardsY + 1)*inverse(1 - edwardsY) mod p
825
- let a = gf();
826
- let b = gf();
827
- let y = q[1];
823
+ var a = gf();
824
+ var b = gf();
825
+ var y = q[1];
828
826
  add(a, gf1, y);
829
827
  sub(b, gf1, y);
830
828
  inv25519(b, b);
831
829
  mul(a, a, b);
832
- let z = new Uint8Array(32);
830
+ var z = new Uint8Array(32);
833
831
  pack25519(z, a);
834
832
  return z;
835
833
  }
834
+ exports.convertPublicKeyToX25519 = convertPublicKeyToX25519;
836
835
  /**
837
836
  * Convert Ed25519 secret (private) key to X25519 secret key.
838
837
  */
839
838
  function convertSecretKeyToX25519(secretKey) {
840
- const d = (0, sha512_1.hash)(secretKey.subarray(0, 32));
839
+ var d = (0, sha512_1.hash)(secretKey.subarray(0, 32));
841
840
  d[0] &= 248;
842
841
  d[31] &= 127;
843
842
  d[31] |= 64;
844
- const o = new Uint8Array(d.subarray(0, 32));
843
+ var o = new Uint8Array(d.subarray(0, 32));
845
844
  (0, wipe_1.wipe)(d);
846
845
  return o;
847
846
  }
847
+ exports.convertSecretKeyToX25519 = convertSecretKeyToX25519;
848
848
  //# sourceMappingURL=ed25519.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../../../../../src/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.ts"],"names":[],"mappings":"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AI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAEf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,iBAAiB;IAEjB,YAAY;IACZ,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3B,aAAa;IACb,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3B,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IACV,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AAChB,CAAC;AAED,SAAS,MAAM,CAAC,CAAK,EAAE,CAAK;IACxB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,QAAQ,CAAC,CAAK,EAAE,CAAK;IAC1B,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;IACf,IAAI,CAAS,CAAC;IACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjB,CAAC;IACL,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,OAAO,CAAC,CAAK,EAAE,CAAK;IACzB,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;IACf,IAAI,CAAS,CAAC;IACd,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACV,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACjB,CAAC;IACL,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;AACL,CAAC;AAGD,SAAS,KAAK,CAAC,CAAO,EAAE,CAAO;IAC3B,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAC9B,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAC5B,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC;IAEjC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACd,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEb,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,SAAS,KAAK,CAAC,CAAO,EAAE,CAAO,EAAE,CAAS;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;AACL,CAAC;AAED,SAAS,IAAI,CAAC,CAAa,EAAE,CAAO;IAChC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACtC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClB,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjB,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,UAAU,CAAC,CAAO,EAAE,CAAO,EAAE,CAAa;IAC/C,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1C,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACf,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACZ,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,CAAO,EAAE,CAAa;IACtC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,CAAC;AAOD,+CAA+C;AAC/C,SAAgB,uBAAuB,CAAC,IAAgB;IACpD,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAW,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,mBAAW,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,GAAG,IAAA,aAAI,EAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC;IACb,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAEZ,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAEnB,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACrC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAE7B,OAAO;QACH,SAAS;QACT,SAAS;KACZ,CAAC;AACN,CAAC;AAED,SAAgB,eAAe,CAAC,IAAmB;IAC/C,MAAM,IAAI,GAAG,IAAA,oBAAW,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAA,WAAI,EAAC,IAAI,CAAC,CAAC;IACX,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAgB,6BAA6B,CAAC,SAAqB;IAC/D,IAAI,SAAS,CAAC,MAAM,KAAK,yBAAiB,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,+BAA+B,yBAAiB,QAAQ,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC;IACvB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IACtE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI;CAC5E,CAAC,CAAC;AAEH,SAAS,IAAI,CAAC,CAAa,EAAE,CAAe;IACxC,IAAI,KAAa,CAAC;IAClB,IAAI,CAAS,CAAC;IACd,IAAI,CAAS,CAAC;IACd,IAAI,CAAS,CAAC;IACd,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;QACxB,KAAK,GAAG,CAAC,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5C,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC;QACxB,CAAC;QACD,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QACd,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IACD,KAAK,GAAG,CAAC,CAAC;IACV,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACtB,CAAC;AACL,CAAC;AAED,SAAS,MAAM,CAAC,CAAa;IACzB,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IACD,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACf,CAAC;AAED,yEAAyE;AACzE,SAAgB,IAAI,CAAC,SAAqB,EAAE,OAAmB;IAC3D,MAAM,CAAC,GAAG,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEnC,MAAM,CAAC,GAAG,IAAA,aAAI,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC;IACb,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IAEZ,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACrC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAElC,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;IACxB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;IACtB,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,MAAM,CAAC,CAAC,CAAC,CAAC;IACV,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAEnB,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,CAAC,CAAC,CAAC;IAEV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhC,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,SAAS,CAAC,CAAO,EAAE,CAAa;IACrC,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAClC,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,EACpC,IAAI,GAAG,EAAE,EAAE,CAAC;IAEhB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpB,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACjB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEpB,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAClB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAEf,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACd,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACf,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACf,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACf,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAElB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnB,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACnB,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAgB,MAAM,CAAC,SAAqB,EAAE,OAAmB,EAAE,SAAqB;IACpF,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEnC,IAAI,SAAS,CAAC,MAAM,KAAK,wBAAgB,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,8BAA8B,wBAAgB,QAAQ,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,eAAM,EAAE,CAAC;IACxB,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,CAAC,CAAC,CAAC;IACV,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpB,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACZ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEX,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,SAAqB;IAC1D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAEjC,IAAI,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACb,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACf,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACf,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEb,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC3B,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,SAAqB;IAC1D,MAAM,CAAC,GAAG,IAAA,aAAI,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IACZ,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC;IACb,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACZ,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC5C,IAAA,WAAI,EAAC,CAAC,CAAC,CAAC;IACR,OAAO,CAAC,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../../../../../src/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.ts"],"names":[],"mappings":"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GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACT,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACV,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACd,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAEf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACf,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAChB,iBAAiB;IAEjB,YAAY;IACZ,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3B,aAAa;IACb,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpE,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;IAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;IAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KA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"}
@@ -2,12 +2,13 @@
2
2
  // Copyright (C) 2016 Dmitry Chestnykh
3
3
  // MIT License. See LICENSE file for details.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.isSerializableHash = isSerializableHash;
5
+ exports.isSerializableHash = void 0;
6
6
  function isSerializableHash(h) {
7
7
  return (typeof h.saveState !== "undefined" &&
8
8
  typeof h.restoreState !== "undefined" &&
9
9
  typeof h.cleanSavedState !== "undefined");
10
10
  }
11
+ exports.isSerializableHash = isSerializableHash;
11
12
  // TODO(dchest): figure out the standardized interface for XOF such as
12
13
  // SHAKE and BLAKE2X.
13
14
  //# sourceMappingURL=hash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../../../../src/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,6CAA6C;;AA0B7C,gDAMC;AAND,SAAgB,kBAAkB,CAAC,CAAO;IACtC,OAAO,CACH,OAAQ,CAAsB,CAAC,SAAS,KAAK,WAAW;QACxD,OAAQ,CAAsB,CAAC,YAAY,KAAK,WAAW;QAC3D,OAAQ,CAAsB,CAAC,eAAe,KAAK,WAAW,CACjE,CAAC;AACN,CAAC;AAED,sEAAsE;AACtE,qBAAqB"}
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../../../../../src/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.ts"],"names":[],"mappings":";AAAA,sCAAsC;AACtC,6CAA6C;;;AA0B7C,SAAgB,kBAAkB,CAAC,CAAO;IACtC,OAAO,CACH,OAAQ,CAAsB,CAAC,SAAS,KAAK,WAAW;QACxD,OAAQ,CAAsB,CAAC,YAAY,KAAK,WAAW;QAC3D,OAAQ,CAAsB,CAAC,eAAe,KAAK,WAAW,CACjE,CAAC;AACN,CAAC;AAND,gDAMC;AAED,sEAAsE;AACtE,qBAAqB"}