@airgap/coinlib-core 0.13.45-beta.3 → 0.13.45-beta.4
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.
- package/actions/Action.js +83 -30
- package/actions/Action.js.map +1 -1
- package/actions/LinkedAction.js +82 -18
- package/actions/LinkedAction.js.map +1 -1
- package/actions/RepeatableAction.js +83 -20
- package/actions/RepeatableAction.js.map +1 -1
- package/actions/SimpleAction.js +74 -12
- package/actions/SimpleAction.js.map +1 -1
- package/actions/StateMachine.js +17 -16
- package/actions/StateMachine.js.map +1 -1
- package/data/KeyPair.d.ts +1 -0
- package/data/Lazy.js +64 -15
- package/data/Lazy.js.map +1 -1
- package/data/RPCBody.js +6 -3
- package/data/RPCBody.js.map +1 -1
- package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.d.ts +12 -12
- package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.js +130 -88
- package/dependencies/src/@stablelib/binary-1.0.1/packages/binary/binary.js.map +1 -1
- package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.d.ts +3 -3
- package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.js +61 -57
- package/dependencies/src/@stablelib/blake2b-1.0.1/packages/blake2b/blake2b.js.map +1 -1
- package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.js +96 -96
- package/dependencies/src/@stablelib/ed25519-1.0.3/packages/ed25519/ed25519.js.map +1 -1
- package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.js +2 -1
- package/dependencies/src/@stablelib/hash-1.0.1/packages/hash/hash.js.map +1 -1
- package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.js +10 -8
- package/dependencies/src/@stablelib/int-1.0.1/packages/int/int.js.map +1 -1
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.js +28 -22
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/random.js.map +1 -1
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.js +10 -9
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/browser.js.map +1 -1
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.js +11 -10
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/node.js.map +1 -1
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.js +8 -7
- package/dependencies/src/@stablelib/random-1.0.2/packages/random/source/system.js.map +1 -1
- package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.d.ts +3 -3
- package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.js +63 -61
- package/dependencies/src/@stablelib/sha512/packages/sha512/sha512.js.map +1 -1
- package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.d.ts +4 -4
- package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.js +63 -61
- package/dependencies/src/@stablelib/sha512-1.0.1/packages/sha512/sha512.js.map +1 -1
- package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.d.ts +1 -1
- package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.js +3 -2
- package/dependencies/src/@stablelib/wipe-1.0.1/packages/wipe/wipe.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.js +111 -111
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/codec.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.js +15 -15
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/constants.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.js +76 -47
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/decoder.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.js +61 -46
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/encoder.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.js +106 -61
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/error.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/interface.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.d.ts +6 -6
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.js +100 -95
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/michelson/codec.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.js +33 -33
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/codec-proto14.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.js +9 -9
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/constants-proto14.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.js +75 -46
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/decoder-proto14.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.js +70 -45
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/encoder-proto14.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.js +41 -41
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/proto14-kathmandu/michelson/codec-proto14.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.js +4 -4
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/protocols.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.d.ts +2 -2
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.js +63 -58
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/schema/operation.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.js +33 -30
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/taquito-local-forging.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.js +20 -18
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/uint8array-consumer.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.d.ts +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.js +12 -5
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/utils.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.js +13 -13
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-local-forging/src/validator.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.js +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/opkind.js.map +1 -1
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.d.ts +78 -78
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.js +2 -2
- package/dependencies/src/@taquito/local-forging-15.0.1/packages/taquito-rpc/src/types.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.d.ts +45 -45
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.js +76 -75
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/constants.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.js +178 -115
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/errors.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.d.ts +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.js +9 -6
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/format.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.js +83 -78
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/taquito-utils.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.js +36 -27
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/validators.js.map +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.d.ts +1 -1
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.js +26 -25
- package/dependencies/src/@taquito/utils-15.0.1/packages/taquito-utils/src/verify-signature.js.map +1 -1
- package/dependencies/src/cosmjs/index.d.ts +230 -14
- package/dependencies/src/cosmjs/index.js +480 -373
- package/dependencies/src/cosmjs/index.js.map +1 -1
- package/dependencies/src/eciesjs-0.3.9/src/index.d.ts +1 -0
- package/dependencies/src/eciesjs-0.3.9/src/index.js +19 -15
- package/dependencies/src/eciesjs-0.3.9/src/index.js.map +1 -1
- package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.d.ts +1 -0
- package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.js +28 -37
- package/dependencies/src/eciesjs-0.3.9/src/keys/PrivateKey.js.map +1 -1
- package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.d.ts +1 -0
- package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.js +30 -38
- package/dependencies/src/eciesjs-0.3.9/src/keys/PublicKey.js.map +1 -1
- package/dependencies/src/eciesjs-0.3.9/src/utils.d.ts +1 -0
- package/dependencies/src/eciesjs-0.3.9/src/utils.js +24 -33
- package/dependencies/src/eciesjs-0.3.9/src/utils.js.map +1 -1
- package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.js +34 -42
- package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-key.js.map +1 -1
- package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.js +10 -6
- package/dependencies/src/hd-wallet-js-b216450e56954a6e82ace0aade9474673de5d9d5/src/hd-wallet.js.map +1 -1
- package/errors/coinlib-error.d.ts +2 -1
- package/errors/coinlib-error.js +38 -16
- package/errors/coinlib-error.js.map +1 -1
- package/errors/index.d.ts +2 -2
- package/errors/index.js +148 -89
- package/errors/index.js.map +1 -1
- package/index.js +19 -19
- package/index.js.map +1 -1
- package/interfaces/IAirGapSignedTransaction.d.ts +1 -1
- package/interfaces/IAirGapTransaction.js +3 -3
- package/interfaces/IAirGapTransaction.js.map +1 -1
- package/networks.js +9 -9
- package/networks.js.map +1 -1
- package/package.json +1 -1
- package/protocols/BlockExplorerProtocol.js +54 -7
- package/protocols/BlockExplorerProtocol.js.map +1 -1
- package/protocols/CryptoClient.js +78 -19
- package/protocols/CryptoClient.js.map +1 -1
- package/protocols/Ed25519CryptoClient.js +98 -30
- package/protocols/Ed25519CryptoClient.js.map +1 -1
- package/protocols/ICoinSubProtocol.js +1 -1
- package/protocols/ICoinSubProtocol.js.map +1 -1
- package/protocols/NonExtendedProtocol.js +29 -26
- package/protocols/NonExtendedProtocol.js.map +1 -1
- package/protocols/Secp256k1CryptoClient.js +73 -9
- package/protocols/Secp256k1CryptoClient.js.map +1 -1
- package/protocols/Sr25519CryptoClient.js +76 -12
- package/protocols/Sr25519CryptoClient.js.map +1 -1
- package/utils/AES.js +132 -81
- package/utils/AES.js.map +1 -1
- package/utils/ErrorWithData.js +23 -5
- package/utils/ErrorWithData.js.map +1 -1
- package/utils/Network.js +1 -1
- package/utils/Network.js.map +1 -1
- package/utils/ProtocolBlockExplorer.js +4 -3
- package/utils/ProtocolBlockExplorer.js.map +1 -1
- package/utils/ProtocolNetwork.js +16 -11
- package/utils/ProtocolNetwork.js.map +1 -1
- package/utils/ProtocolSymbols.d.ts +3 -1
- package/utils/ProtocolSymbols.js +8 -6
- package/utils/ProtocolSymbols.js.map +1 -1
- package/utils/array.js +15 -14
- package/utils/array.js.map +1 -1
- package/utils/assert.js +12 -8
- package/utils/assert.js.map +1 -1
- package/utils/base64Check.d.ts +1 -0
- package/utils/base64Check.js +15 -15
- package/utils/base64Check.js.map +1 -1
- package/utils/blake2b.js +14 -11
- package/utils/blake2b.js.map +1 -1
- package/utils/buffer.d.ts +1 -0
- package/utils/buffer.js +1 -1
- package/utils/buffer.js.map +1 -1
- package/utils/cache.js +87 -38
- package/utils/cache.js.map +1 -1
- package/utils/error.js +3 -2
- package/utils/error.js.map +1 -1
- package/utils/hex.d.ts +2 -1
- package/utils/hex.js +38 -31
- package/utils/hex.js.map +1 -1
- package/utils/interfaces.js +4 -3
- package/utils/interfaces.js.map +1 -1
- package/utils/object.js +7 -5
- package/utils/object.js.map +1 -1
- package/utils/padStart.js +2 -1
- package/utils/padStart.js.map +1 -1
- package/utils/remote-data/HttpRemoteData.js +107 -24
- package/utils/remote-data/HttpRemoteData.js.map +1 -1
- package/utils/remote-data/IpfsRemoteData.js +116 -32
- package/utils/remote-data/IpfsRemoteData.js.map +1 -1
- package/utils/remote-data/RemoteData.d.ts +1 -0
- package/utils/remote-data/RemoteData.js +4 -3
- package/utils/remote-data/RemoteData.js.map +1 -1
- package/utils/remote-data/RemoteDataFactory.d.ts +2 -2
- package/utils/remote-data/RemoteDataFactory.js +20 -13
- package/utils/remote-data/RemoteDataFactory.js.map +1 -1
- package/utils/remote-data/Sha256RemoteData.d.ts +1 -0
- package/utils/remote-data/Sha256RemoteData.js +117 -44
- package/utils/remote-data/Sha256RemoteData.js.map +1 -1
- package/utils/string.js +9 -8
- package/utils/string.js.map +1 -1
- package/utils/type.js +4 -3
- package/utils/type.js.map +1 -1
- package/utils/xxhash.d.ts +1 -0
- package/utils/xxhash.js +11 -9
- package/utils/xxhash.js.map +1 -1
- package/wallet/AirGapCoinWallet.js +183 -64
- package/wallet/AirGapCoinWallet.js.map +1 -1
- package/wallet/AirGapMarketWallet.js +201 -88
- package/wallet/AirGapMarketWallet.js.map +1 -1
- package/wallet/AirGapNFTWallet.js +165 -48
- package/wallet/AirGapNFTWallet.js.map +1 -1
- package/wallet/AirGapWallet.js +145 -58
- 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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
23
|
+
var r = new Float64Array(16);
|
|
31
24
|
if (init) {
|
|
32
|
-
for (
|
|
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
|
-
|
|
32
|
+
var _9 = new Uint8Array(32);
|
|
40
33
|
_9[0] = 9;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
70
|
-
for (
|
|
71
|
-
|
|
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
|
-
|
|
79
|
-
for (
|
|
80
|
-
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
for (
|
|
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 (
|
|
87
|
+
for (var j = 0; j < 2; j++) {
|
|
95
88
|
m[0] = t[0] - 0xffed;
|
|
96
|
-
for (
|
|
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
|
-
|
|
94
|
+
var b = (m[15] >> 16) & 1;
|
|
102
95
|
m[14] &= 0xffff;
|
|
103
96
|
sel25519(t, m, 1 - b);
|
|
104
97
|
}
|
|
105
|
-
for (
|
|
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
|
-
|
|
112
|
-
for (
|
|
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
|
-
|
|
119
|
-
|
|
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
|
-
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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
|
-
|
|
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
|
-
|
|
559
|
-
|
|
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
|
-
|
|
575
|
-
|
|
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
|
-
|
|
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 (
|
|
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
|
-
|
|
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 (
|
|
629
|
-
|
|
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
|
-
|
|
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(
|
|
640
|
+
throw new Error("ed25519: seed must be ".concat(exports.SEED_LENGTH, " bytes"));
|
|
648
641
|
}
|
|
649
|
-
|
|
642
|
+
var d = (0, sha512_1.hash)(seed);
|
|
650
643
|
d[0] &= 248;
|
|
651
644
|
d[31] &= 127;
|
|
652
645
|
d[31] |= 64;
|
|
653
|
-
|
|
654
|
-
|
|
646
|
+
var publicKey = new Uint8Array(32);
|
|
647
|
+
var p = [gf(), gf(), gf(), gf()];
|
|
655
648
|
scalarbase(p, d);
|
|
656
649
|
pack(publicKey, p);
|
|
657
|
-
|
|
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
|
-
|
|
667
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
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
|
-
|
|
712
|
-
for (
|
|
707
|
+
var x = new Float64Array(64);
|
|
708
|
+
for (var i = 0; i < 64; i++) {
|
|
713
709
|
x[i] = r[i];
|
|
714
710
|
}
|
|
715
|
-
for (
|
|
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
|
-
|
|
723
|
-
|
|
724
|
-
|
|
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
|
-
|
|
724
|
+
var signature = new Uint8Array(64);
|
|
729
725
|
signature.set(d.subarray(32), 32);
|
|
730
|
-
|
|
726
|
+
var hs = new sha512_1.SHA512();
|
|
731
727
|
hs.update(signature.subarray(32));
|
|
732
728
|
hs.update(message);
|
|
733
|
-
|
|
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
|
-
|
|
738
|
+
var h = hs.digest();
|
|
743
739
|
reduce(h);
|
|
744
|
-
for (
|
|
740
|
+
for (var i = 0; i < 32; i++) {
|
|
745
741
|
x[i] = r[i];
|
|
746
742
|
}
|
|
747
|
-
for (
|
|
748
|
-
for (
|
|
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
|
-
|
|
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
|
-
|
|
791
|
-
|
|
792
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
826
|
-
|
|
827
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,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"}
|
|
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 =
|
|
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
|
|
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"}
|