@canton-network/wallet-gateway-remote 0.11.2 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/ConfigUtils.d.ts.map +1 -1
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +11 -10
- package/dist/user-api/controller.d.ts.map +1 -1
- package/dist/user-api/controller.js +130 -4
- package/dist/web/frontend/assets/{wallets-Cf2MBnzs.js → wallets-CWsA4fnj.js} +2 -2
- package/dist/web/frontend/wallets/index.html +1 -1
- package/package.json +18 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigUtils.d.ts","sourceRoot":"","sources":["../../src/config/ConfigUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAgB,YAAY,EAAE,MAAM,aAAa,CAAA;AAEhE,qBAAa,WAAW;IACpB,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAoDlD;AAgDD,eAAO,MAAM,gBAAgB,GACzB,cAAc,YAAY,KAC3B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"ConfigUtils.d.ts","sourceRoot":"","sources":["../../src/config/ConfigUtils.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAgB,YAAY,EAAE,MAAM,aAAa,CAAA;AAEhE,qBAAa,WAAW;IACpB,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAoDlD;AAgDD,eAAO,MAAM,gBAAgB,GACzB,cAAc,YAAY,KAC3B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAWpC,CAAA"}
|
package/dist/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAqB7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAmFvC,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBA+IhE"}
|
package/dist/init.js
CHANGED
|
@@ -10,6 +10,7 @@ import { SigningProvider } from '@canton-network/core-signing-lib';
|
|
|
10
10
|
import { ParticipantSigningDriver } from '@canton-network/core-signing-participant';
|
|
11
11
|
import { InternalSigningDriver } from '@canton-network/core-signing-internal';
|
|
12
12
|
import FireblocksSigningProvider from '@canton-network/core-signing-fireblocks';
|
|
13
|
+
import BlockdaemonSigningProvider from '@canton-network/core-signing-blockdaemon';
|
|
13
14
|
import { jwtAuthService } from './auth/jwt-auth-service.js';
|
|
14
15
|
import express from 'express';
|
|
15
16
|
import { jwtAuth } from './middleware/jwtAuth.js';
|
|
@@ -76,16 +77,9 @@ export async function initialize(opts, logger) {
|
|
|
76
77
|
const host = config.server.host;
|
|
77
78
|
const protocol = config.server.tls ? 'https' : 'http';
|
|
78
79
|
const app = express();
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const server = useDefaultListenHost
|
|
83
|
-
? app.listen(port, () => {
|
|
84
|
-
logger.info(`Remote Wallet Gateway starting on ${protocol}://${host}:${port} (bound to 0.0.0.0:${port})`);
|
|
85
|
-
})
|
|
86
|
-
: app.listen(port, host, () => {
|
|
87
|
-
logger.info(`Remote Wallet Gateway starting on ${protocol}://${host}:${port}`);
|
|
88
|
-
});
|
|
80
|
+
const server = app.listen(port, () => {
|
|
81
|
+
logger.info(`Remote Wallet Gateway starting on ${protocol}://${host}:${port} (bound to 0.0.0.0:${port})`);
|
|
82
|
+
});
|
|
89
83
|
app.use('/healthz', rpcRateLimit, (_req, res) => res.status(200).send('OK'));
|
|
90
84
|
app.use('/readyz', rpcRateLimit, (_req, res) => {
|
|
91
85
|
if (isReady) {
|
|
@@ -115,6 +109,9 @@ export async function initialize(opts, logger) {
|
|
|
115
109
|
}
|
|
116
110
|
const keyInfo = { apiKey, apiSecret };
|
|
117
111
|
const userApiKeys = new Map([['user', keyInfo]]);
|
|
112
|
+
const blockdaemonApiUrl = process.env.BLOCKDAEMON_API_URL ||
|
|
113
|
+
'http://localhost:5080/api/cwp/canton';
|
|
114
|
+
const blockdaemonApiKey = process.env.BLOCKDAEMON_API_KEY || '';
|
|
118
115
|
const drivers = {
|
|
119
116
|
[SigningProvider.PARTICIPANT]: new ParticipantSigningDriver(),
|
|
120
117
|
[SigningProvider.WALLET_KERNEL]: new InternalSigningDriver(signingStore),
|
|
@@ -122,6 +119,10 @@ export async function initialize(opts, logger) {
|
|
|
122
119
|
defaultKeyInfo: keyInfo,
|
|
123
120
|
userApiKeys,
|
|
124
121
|
}),
|
|
122
|
+
[SigningProvider.BLOCKDAEMON]: new BlockdaemonSigningProvider({
|
|
123
|
+
baseUrl: blockdaemonApiUrl,
|
|
124
|
+
apiKey: blockdaemonApiKey,
|
|
125
|
+
}),
|
|
125
126
|
};
|
|
126
127
|
const allowedPaths = {
|
|
127
128
|
[config.server.dappPath]: ['*'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/user-api/controller.ts"],"names":[],"mappings":"AAyBA,OAAO,EACH,KAAK,EAIR,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAGH,WAAW,EAId,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EACH,sBAAsB,EACtB,eAAe,EAClB,MAAM,kCAAkC,CAAA;AAczC,KAAK,uBAAuB,GAAG,OAAO,CAClC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAClD,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,YAAY,UAAU,EACtB,SAAS,MAAM,EACf,OAAO,KAAK,EACZ,qBAAqB,mBAAmB,EACxC,aAAa,WAAW,GAAG,SAAS,EACpC,SAAS,uBAAuB,EAChC,SAAS,MAAM;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/user-api/controller.ts"],"names":[],"mappings":"AAyBA,OAAO,EACH,KAAK,EAIR,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AAC5E,OAAO,EAGH,WAAW,EAId,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EACH,sBAAsB,EACtB,eAAe,EAClB,MAAM,kCAAkC,CAAA;AAczC,KAAK,uBAAuB,GAAG,OAAO,CAClC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAClD,CAAA;AAED,eAAO,MAAM,cAAc,GACvB,YAAY,UAAU,EACtB,SAAS,MAAM,EACf,OAAO,KAAK,EACZ,qBAAqB,mBAAmB,EACxC,aAAa,WAAW,GAAG,SAAS,EACpC,SAAS,uBAAuB,EAChC,SAAS,MAAM;;;;;;;;;;;;;;;;;;;CA62BlB,CAAA"}
|
|
@@ -110,6 +110,73 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
110
110
|
publicKey = key.publicKey;
|
|
111
111
|
break;
|
|
112
112
|
}
|
|
113
|
+
case SigningProvider.BLOCKDAEMON: {
|
|
114
|
+
if (signingProviderContext) {
|
|
115
|
+
walletStatus = 'initialized';
|
|
116
|
+
const { signature, status } = await driver.getTransaction({
|
|
117
|
+
userId,
|
|
118
|
+
txId: signingProviderContext.externalTxId,
|
|
119
|
+
});
|
|
120
|
+
if (!['pending', 'signed'].includes(status)) {
|
|
121
|
+
await store.removeWallet(signingProviderContext.partyId);
|
|
122
|
+
}
|
|
123
|
+
if (signature) {
|
|
124
|
+
await partyAllocator.allocatePartyWithExistingWallet(signingProviderContext.namespace, signingProviderContext.topologyTransactions.split(', '), signature, userId);
|
|
125
|
+
walletStatus = 'allocated';
|
|
126
|
+
}
|
|
127
|
+
party = {
|
|
128
|
+
partyId: signingProviderContext.partyId,
|
|
129
|
+
namespace: signingProviderContext.namespace,
|
|
130
|
+
hint: partyHint,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
const key = await driver.createKey({
|
|
135
|
+
name: partyHint,
|
|
136
|
+
});
|
|
137
|
+
if ('error' in key) {
|
|
138
|
+
throw new Error(`Failed to create key: ${key.error_description}`);
|
|
139
|
+
}
|
|
140
|
+
const namespace = partyAllocator.createFingerprintFromKey(key.publicKey);
|
|
141
|
+
const transactions = await partyAllocator.generateTopologyTransactions(partyHint, key.publicKey);
|
|
142
|
+
topologyTransactions =
|
|
143
|
+
transactions.topologyTransactions ?? [];
|
|
144
|
+
topologyTransactions.forEach((tx, idx) => {
|
|
145
|
+
logger.info(`BLOCKDAEMON: topologyTransaction[${idx}] length=${tx.length} preview=${tx.substring(0, 100)}...`);
|
|
146
|
+
});
|
|
147
|
+
let partyId = '';
|
|
148
|
+
const internalTxId = crypto
|
|
149
|
+
.randomUUID()
|
|
150
|
+
.replace(/-/g, '')
|
|
151
|
+
.substring(0, 16);
|
|
152
|
+
const txPayload = JSON.stringify(topologyTransactions);
|
|
153
|
+
const { status, txId: id } = await driver.signTransaction({
|
|
154
|
+
tx: Buffer.from(txPayload).toString('base64'),
|
|
155
|
+
txHash: transactions.multiHash,
|
|
156
|
+
publicKey: key.publicKey,
|
|
157
|
+
internalTxId,
|
|
158
|
+
});
|
|
159
|
+
if (status === 'signed') {
|
|
160
|
+
const { signature } = await driver.getTransaction({
|
|
161
|
+
userId,
|
|
162
|
+
txId: id,
|
|
163
|
+
});
|
|
164
|
+
partyId =
|
|
165
|
+
await partyAllocator.allocatePartyWithExistingWallet(namespace, transactions.topologyTransactions ?? [], signature, userId);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
txId = id;
|
|
169
|
+
walletStatus = 'initialized';
|
|
170
|
+
}
|
|
171
|
+
party = {
|
|
172
|
+
partyId,
|
|
173
|
+
namespace,
|
|
174
|
+
hint: partyHint,
|
|
175
|
+
};
|
|
176
|
+
publicKey = key.publicKey;
|
|
177
|
+
}
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
113
180
|
case SigningProvider.FIREBLOCKS: {
|
|
114
181
|
const keys = await driver.getKeys();
|
|
115
182
|
const key = keys?.keys?.find((k) => k.name === 'Canton Party');
|
|
@@ -267,6 +334,53 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
267
334
|
partyId: wallet.partyId,
|
|
268
335
|
};
|
|
269
336
|
}
|
|
337
|
+
case SigningProvider.BLOCKDAEMON: {
|
|
338
|
+
const internalTxId = crypto
|
|
339
|
+
.randomUUID()
|
|
340
|
+
.replace(/-/g, '')
|
|
341
|
+
.substring(0, 16);
|
|
342
|
+
let result = await driver.signTransaction({
|
|
343
|
+
tx: preparedTransaction,
|
|
344
|
+
txHash: preparedTransactionHash,
|
|
345
|
+
publicKey: wallet.publicKey,
|
|
346
|
+
internalTxId,
|
|
347
|
+
});
|
|
348
|
+
if (result.status === 'pending' && result.txId) {
|
|
349
|
+
for (let i = 0; i < 60; i++) {
|
|
350
|
+
await new Promise((r) => setTimeout(r, 1000));
|
|
351
|
+
result = await driver.getTransaction({
|
|
352
|
+
userId,
|
|
353
|
+
txId: result.txId,
|
|
354
|
+
});
|
|
355
|
+
if (result.status === 'signed')
|
|
356
|
+
break;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
if (!result.signature) {
|
|
360
|
+
throw new Error('Signing timed out or failed: ' +
|
|
361
|
+
JSON.stringify(result));
|
|
362
|
+
}
|
|
363
|
+
const existingTx = await store.getTransaction(commandId);
|
|
364
|
+
const now = new Date();
|
|
365
|
+
const signedTx = {
|
|
366
|
+
commandId,
|
|
367
|
+
status: 'signed',
|
|
368
|
+
preparedTransaction,
|
|
369
|
+
preparedTransactionHash,
|
|
370
|
+
origin: existingTx?.origin ?? null,
|
|
371
|
+
...(existingTx?.createdAt && {
|
|
372
|
+
createdAt: existingTx.createdAt,
|
|
373
|
+
}),
|
|
374
|
+
signedAt: now,
|
|
375
|
+
};
|
|
376
|
+
store.setTransaction(signedTx);
|
|
377
|
+
notifier.emit('txChanged', signedTx);
|
|
378
|
+
return {
|
|
379
|
+
signature: result.signature,
|
|
380
|
+
signedBy: wallet.namespace,
|
|
381
|
+
partyId: wallet.partyId,
|
|
382
|
+
};
|
|
383
|
+
}
|
|
270
384
|
default:
|
|
271
385
|
throw new Error(`Unsupported signing provider: ${wallet.signingProviderId}`);
|
|
272
386
|
}
|
|
@@ -304,11 +418,22 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
304
418
|
try {
|
|
305
419
|
const prep = ledgerPrepareParams(userId, partyId, synchronizerId, transaction.payload);
|
|
306
420
|
const res = await ledgerClient.postWithRetry('/v2/commands/submit-and-wait', prep);
|
|
307
|
-
|
|
308
|
-
status: 'executed',
|
|
421
|
+
const signedTx = {
|
|
309
422
|
commandId,
|
|
423
|
+
status: 'executed',
|
|
424
|
+
preparedTransaction: transaction.preparedTransaction,
|
|
425
|
+
preparedTransactionHash: transaction.preparedTransactionHash,
|
|
310
426
|
payload: res,
|
|
311
|
-
|
|
427
|
+
origin: transaction.origin ?? null,
|
|
428
|
+
...(transaction.createdAt && {
|
|
429
|
+
createdAt: transaction.createdAt,
|
|
430
|
+
}),
|
|
431
|
+
...(transaction.signedAt && {
|
|
432
|
+
signedAt: transaction.signedAt,
|
|
433
|
+
}),
|
|
434
|
+
};
|
|
435
|
+
store.setTransaction(signedTx);
|
|
436
|
+
notifier.emit('txChanged', signedTx);
|
|
312
437
|
return res;
|
|
313
438
|
}
|
|
314
439
|
catch (error) {
|
|
@@ -316,7 +441,8 @@ export const userController = (kernelInfo, userUrl, store, notificationService,
|
|
|
316
441
|
throw error;
|
|
317
442
|
}
|
|
318
443
|
}
|
|
319
|
-
case SigningProvider.WALLET_KERNEL:
|
|
444
|
+
case SigningProvider.WALLET_KERNEL:
|
|
445
|
+
case SigningProvider.BLOCKDAEMON: {
|
|
320
446
|
const result = await ledgerClient.postWithRetry('/v2/interactive-submission/execute', {
|
|
321
447
|
userId,
|
|
322
448
|
preparedTransaction: transaction.preparedTransaction,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as xt,r as Bt,n as Tt,f as Pt,d as Mt,g as It,x as Af,c as Zf,s as kf,w as rt,a as jt,i as Yt,t as zt}from"./index-EdAN1_qe.js";import{r as $f}from"./state-DcvVyWZr.js";const $t=(_,h,o)=>(o.configurable=!0,o.enumerable=!0,Reflect.decorate&&typeof h!="object"&&Object.defineProperty(_,h,o),o);function nr(_,h){return(o,B,T)=>{const F=Q=>Q.renderRoot?.querySelector(_)??null;return $t(o,B,{get(){return F(this)}})}}function Ot(_){if(Object.prototype.hasOwnProperty.call(_,"__esModule"))return _;var h=_.default;if(typeof h=="function"){var o=function B(){var T=!1;try{T=this instanceof B}catch{}return T?Reflect.construct(h,arguments,this.constructor):h.apply(this,arguments)};o.prototype=h.prototype}else o={};return Object.defineProperty(o,"__esModule",{value:!0}),Object.keys(_).forEach(function(B){var T=Object.getOwnPropertyDescriptor(_,B);Object.defineProperty(o,B,T.get?T:{enumerable:!0,get:function(){return _[B]}})}),o}function Rt(_){throw new Error('Could not dynamically require "'+_+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ar={exports:{}};const Wt={},Lt=Object.freeze(Object.defineProperty({__proto__:null,default:Wt},Symbol.toStringTag,{value:"Module"})),Nt=Ot(Lt);var tt;function Dt(){return tt||(tt=1,(function(_){(function(h){var o=function(r){var e,t=new Float64Array(16);if(r)for(e=0;e<r.length;e++)t[e]=r[e];return t},B=function(){throw new Error("no PRNG")},T=new Uint8Array(16),F=new Uint8Array(32);F[0]=9;var Q=o(),xf=o([1]),Gf=o([56129,1]),Uf=o([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),Rf=o([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),V=o([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),Tf=o([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),bf=o([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function Pf(r,e,t,f){r[e]=t>>24&255,r[e+1]=t>>16&255,r[e+2]=t>>8&255,r[e+3]=t&255,r[e+4]=f>>24&255,r[e+5]=f>>16&255,r[e+6]=f>>8&255,r[e+7]=f&255}function Mf(r,e,t,f,a){var i,x=0;for(i=0;i<a;i++)x|=r[e+i]^t[f+i];return(1&x-1>>>8)-1}function Wf(r,e,t,f){return Mf(r,e,t,f,16)}function Lf(r,e,t,f){return Mf(r,e,t,f,32)}function df(r,e,t,f){for(var a=f[0]&255|(f[1]&255)<<8|(f[2]&255)<<16|(f[3]&255)<<24,i=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,x=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,d=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,p=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,m=f[4]&255|(f[5]&255)<<8|(f[6]&255)<<16|(f[7]&255)<<24,g=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,k=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,E=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,M=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,I=f[8]&255|(f[9]&255)<<8|(f[10]&255)<<16|(f[11]&255)<<24,O=t[16]&255|(t[17]&255)<<8|(t[18]&255)<<16|(t[19]&255)<<24,$=t[20]&255|(t[21]&255)<<8|(t[22]&255)<<16|(t[23]&255)<<24,j=t[24]&255|(t[25]&255)<<8|(t[26]&255)<<16|(t[27]&255)<<24,z=t[28]&255|(t[29]&255)<<8|(t[30]&255)<<16|(t[31]&255)<<24,Y=f[12]&255|(f[13]&255)<<8|(f[14]&255)<<16|(f[15]&255)<<24,A=a,C=i,w=x,U=d,S=p,y=m,s=g,c=k,b=E,l=M,u=I,v=O,P=$,R=j,L=z,W=Y,n,D=0;D<20;D+=2)n=A+P|0,S^=n<<7|n>>>25,n=S+A|0,b^=n<<9|n>>>23,n=b+S|0,P^=n<<13|n>>>19,n=P+b|0,A^=n<<18|n>>>14,n=y+C|0,l^=n<<7|n>>>25,n=l+y|0,R^=n<<9|n>>>23,n=R+l|0,C^=n<<13|n>>>19,n=C+R|0,y^=n<<18|n>>>14,n=u+s|0,L^=n<<7|n>>>25,n=L+u|0,w^=n<<9|n>>>23,n=w+L|0,s^=n<<13|n>>>19,n=s+w|0,u^=n<<18|n>>>14,n=W+v|0,U^=n<<7|n>>>25,n=U+W|0,c^=n<<9|n>>>23,n=c+U|0,v^=n<<13|n>>>19,n=v+c|0,W^=n<<18|n>>>14,n=A+U|0,C^=n<<7|n>>>25,n=C+A|0,w^=n<<9|n>>>23,n=w+C|0,U^=n<<13|n>>>19,n=U+w|0,A^=n<<18|n>>>14,n=y+S|0,s^=n<<7|n>>>25,n=s+y|0,c^=n<<9|n>>>23,n=c+s|0,S^=n<<13|n>>>19,n=S+c|0,y^=n<<18|n>>>14,n=u+l|0,v^=n<<7|n>>>25,n=v+u|0,b^=n<<9|n>>>23,n=b+v|0,l^=n<<13|n>>>19,n=l+b|0,u^=n<<18|n>>>14,n=W+L|0,P^=n<<7|n>>>25,n=P+W|0,R^=n<<9|n>>>23,n=R+P|0,L^=n<<13|n>>>19,n=L+R|0,W^=n<<18|n>>>14;A=A+a|0,C=C+i|0,w=w+x|0,U=U+d|0,S=S+p|0,y=y+m|0,s=s+g|0,c=c+k|0,b=b+E|0,l=l+M|0,u=u+I|0,v=v+O|0,P=P+$|0,R=R+j|0,L=L+z|0,W=W+Y|0,r[0]=A>>>0&255,r[1]=A>>>8&255,r[2]=A>>>16&255,r[3]=A>>>24&255,r[4]=C>>>0&255,r[5]=C>>>8&255,r[6]=C>>>16&255,r[7]=C>>>24&255,r[8]=w>>>0&255,r[9]=w>>>8&255,r[10]=w>>>16&255,r[11]=w>>>24&255,r[12]=U>>>0&255,r[13]=U>>>8&255,r[14]=U>>>16&255,r[15]=U>>>24&255,r[16]=S>>>0&255,r[17]=S>>>8&255,r[18]=S>>>16&255,r[19]=S>>>24&255,r[20]=y>>>0&255,r[21]=y>>>8&255,r[22]=y>>>16&255,r[23]=y>>>24&255,r[24]=s>>>0&255,r[25]=s>>>8&255,r[26]=s>>>16&255,r[27]=s>>>24&255,r[28]=c>>>0&255,r[29]=c>>>8&255,r[30]=c>>>16&255,r[31]=c>>>24&255,r[32]=b>>>0&255,r[33]=b>>>8&255,r[34]=b>>>16&255,r[35]=b>>>24&255,r[36]=l>>>0&255,r[37]=l>>>8&255,r[38]=l>>>16&255,r[39]=l>>>24&255,r[40]=u>>>0&255,r[41]=u>>>8&255,r[42]=u>>>16&255,r[43]=u>>>24&255,r[44]=v>>>0&255,r[45]=v>>>8&255,r[46]=v>>>16&255,r[47]=v>>>24&255,r[48]=P>>>0&255,r[49]=P>>>8&255,r[50]=P>>>16&255,r[51]=P>>>24&255,r[52]=R>>>0&255,r[53]=R>>>8&255,r[54]=R>>>16&255,r[55]=R>>>24&255,r[56]=L>>>0&255,r[57]=L>>>8&255,r[58]=L>>>16&255,r[59]=L>>>24&255,r[60]=W>>>0&255,r[61]=W>>>8&255,r[62]=W>>>16&255,r[63]=W>>>24&255}function Nf(r,e,t,f){for(var a=f[0]&255|(f[1]&255)<<8|(f[2]&255)<<16|(f[3]&255)<<24,i=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,x=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,d=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,p=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,m=f[4]&255|(f[5]&255)<<8|(f[6]&255)<<16|(f[7]&255)<<24,g=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,k=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,E=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,M=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,I=f[8]&255|(f[9]&255)<<8|(f[10]&255)<<16|(f[11]&255)<<24,O=t[16]&255|(t[17]&255)<<8|(t[18]&255)<<16|(t[19]&255)<<24,$=t[20]&255|(t[21]&255)<<8|(t[22]&255)<<16|(t[23]&255)<<24,j=t[24]&255|(t[25]&255)<<8|(t[26]&255)<<16|(t[27]&255)<<24,z=t[28]&255|(t[29]&255)<<8|(t[30]&255)<<16|(t[31]&255)<<24,Y=f[12]&255|(f[13]&255)<<8|(f[14]&255)<<16|(f[15]&255)<<24,A=a,C=i,w=x,U=d,S=p,y=m,s=g,c=k,b=E,l=M,u=I,v=O,P=$,R=j,L=z,W=Y,n,D=0;D<20;D+=2)n=A+P|0,S^=n<<7|n>>>25,n=S+A|0,b^=n<<9|n>>>23,n=b+S|0,P^=n<<13|n>>>19,n=P+b|0,A^=n<<18|n>>>14,n=y+C|0,l^=n<<7|n>>>25,n=l+y|0,R^=n<<9|n>>>23,n=R+l|0,C^=n<<13|n>>>19,n=C+R|0,y^=n<<18|n>>>14,n=u+s|0,L^=n<<7|n>>>25,n=L+u|0,w^=n<<9|n>>>23,n=w+L|0,s^=n<<13|n>>>19,n=s+w|0,u^=n<<18|n>>>14,n=W+v|0,U^=n<<7|n>>>25,n=U+W|0,c^=n<<9|n>>>23,n=c+U|0,v^=n<<13|n>>>19,n=v+c|0,W^=n<<18|n>>>14,n=A+U|0,C^=n<<7|n>>>25,n=C+A|0,w^=n<<9|n>>>23,n=w+C|0,U^=n<<13|n>>>19,n=U+w|0,A^=n<<18|n>>>14,n=y+S|0,s^=n<<7|n>>>25,n=s+y|0,c^=n<<9|n>>>23,n=c+s|0,S^=n<<13|n>>>19,n=S+c|0,y^=n<<18|n>>>14,n=u+l|0,v^=n<<7|n>>>25,n=v+u|0,b^=n<<9|n>>>23,n=b+v|0,l^=n<<13|n>>>19,n=l+b|0,u^=n<<18|n>>>14,n=W+L|0,P^=n<<7|n>>>25,n=P+W|0,R^=n<<9|n>>>23,n=R+P|0,L^=n<<13|n>>>19,n=L+R|0,W^=n<<18|n>>>14;r[0]=A>>>0&255,r[1]=A>>>8&255,r[2]=A>>>16&255,r[3]=A>>>24&255,r[4]=y>>>0&255,r[5]=y>>>8&255,r[6]=y>>>16&255,r[7]=y>>>24&255,r[8]=u>>>0&255,r[9]=u>>>8&255,r[10]=u>>>16&255,r[11]=u>>>24&255,r[12]=W>>>0&255,r[13]=W>>>8&255,r[14]=W>>>16&255,r[15]=W>>>24&255,r[16]=s>>>0&255,r[17]=s>>>8&255,r[18]=s>>>16&255,r[19]=s>>>24&255,r[20]=c>>>0&255,r[21]=c>>>8&255,r[22]=c>>>16&255,r[23]=c>>>24&255,r[24]=b>>>0&255,r[25]=b>>>8&255,r[26]=b>>>16&255,r[27]=b>>>24&255,r[28]=l>>>0&255,r[29]=l>>>8&255,r[30]=l>>>16&255,r[31]=l>>>24&255}function of(r,e,t,f){df(r,e,t,f)}function Sf(r,e,t,f){Nf(r,e,t,f)}var mf=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function Rr(r,e,t,f,a,i,x){var d=new Uint8Array(16),p=new Uint8Array(64),m,g;for(g=0;g<16;g++)d[g]=0;for(g=0;g<8;g++)d[g]=i[g];for(;a>=64;){for(of(p,d,x,mf),g=0;g<64;g++)r[e+g]=t[f+g]^p[g];for(m=1,g=8;g<16;g++)m=m+(d[g]&255)|0,d[g]=m&255,m>>>=8;a-=64,e+=64,f+=64}if(a>0)for(of(p,d,x,mf),g=0;g<a;g++)r[e+g]=t[f+g]^p[g];return 0}function Wr(r,e,t,f,a){var i=new Uint8Array(16),x=new Uint8Array(64),d,p;for(p=0;p<16;p++)i[p]=0;for(p=0;p<8;p++)i[p]=f[p];for(;t>=64;){for(of(x,i,a,mf),p=0;p<64;p++)r[e+p]=x[p];for(d=1,p=8;p<16;p++)d=d+(i[p]&255)|0,i[p]=d&255,d>>>=8;t-=64,e+=64}if(t>0)for(of(x,i,a,mf),p=0;p<t;p++)r[e+p]=x[p];return 0}function Lr(r,e,t,f,a){var i=new Uint8Array(32);Sf(i,f,a,mf);for(var x=new Uint8Array(8),d=0;d<8;d++)x[d]=f[d+16];return Wr(r,e,t,x,i)}function xr(r,e,t,f,a,i,x){var d=new Uint8Array(32);Sf(d,i,x,mf);for(var p=new Uint8Array(8),m=0;m<8;m++)p[m]=i[m+16];return Rr(r,e,t,f,a,p,d)}var Xf=function(r){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var e,t,f,a,i,x,d,p;e=r[0]&255|(r[1]&255)<<8,this.r[0]=e&8191,t=r[2]&255|(r[3]&255)<<8,this.r[1]=(e>>>13|t<<3)&8191,f=r[4]&255|(r[5]&255)<<8,this.r[2]=(t>>>10|f<<6)&7939,a=r[6]&255|(r[7]&255)<<8,this.r[3]=(f>>>7|a<<9)&8191,i=r[8]&255|(r[9]&255)<<8,this.r[4]=(a>>>4|i<<12)&255,this.r[5]=i>>>1&8190,x=r[10]&255|(r[11]&255)<<8,this.r[6]=(i>>>14|x<<2)&8191,d=r[12]&255|(r[13]&255)<<8,this.r[7]=(x>>>11|d<<5)&8065,p=r[14]&255|(r[15]&255)<<8,this.r[8]=(d>>>8|p<<8)&8191,this.r[9]=p>>>5&127,this.pad[0]=r[16]&255|(r[17]&255)<<8,this.pad[1]=r[18]&255|(r[19]&255)<<8,this.pad[2]=r[20]&255|(r[21]&255)<<8,this.pad[3]=r[22]&255|(r[23]&255)<<8,this.pad[4]=r[24]&255|(r[25]&255)<<8,this.pad[5]=r[26]&255|(r[27]&255)<<8,this.pad[6]=r[28]&255|(r[29]&255)<<8,this.pad[7]=r[30]&255|(r[31]&255)<<8};Xf.prototype.blocks=function(r,e,t){for(var f=this.fin?0:2048,a,i,x,d,p,m,g,k,E,M,I,O,$,j,z,Y,A,C,w,U=this.h[0],S=this.h[1],y=this.h[2],s=this.h[3],c=this.h[4],b=this.h[5],l=this.h[6],u=this.h[7],v=this.h[8],P=this.h[9],R=this.r[0],L=this.r[1],W=this.r[2],n=this.r[3],D=this.r[4],H=this.r[5],G=this.r[6],N=this.r[7],K=this.r[8],Z=this.r[9];t>=16;)a=r[e+0]&255|(r[e+1]&255)<<8,U+=a&8191,i=r[e+2]&255|(r[e+3]&255)<<8,S+=(a>>>13|i<<3)&8191,x=r[e+4]&255|(r[e+5]&255)<<8,y+=(i>>>10|x<<6)&8191,d=r[e+6]&255|(r[e+7]&255)<<8,s+=(x>>>7|d<<9)&8191,p=r[e+8]&255|(r[e+9]&255)<<8,c+=(d>>>4|p<<12)&8191,b+=p>>>1&8191,m=r[e+10]&255|(r[e+11]&255)<<8,l+=(p>>>14|m<<2)&8191,g=r[e+12]&255|(r[e+13]&255)<<8,u+=(m>>>11|g<<5)&8191,k=r[e+14]&255|(r[e+15]&255)<<8,v+=(g>>>8|k<<8)&8191,P+=k>>>5|f,E=0,M=E,M+=U*R,M+=S*(5*Z),M+=y*(5*K),M+=s*(5*N),M+=c*(5*G),E=M>>>13,M&=8191,M+=b*(5*H),M+=l*(5*D),M+=u*(5*n),M+=v*(5*W),M+=P*(5*L),E+=M>>>13,M&=8191,I=E,I+=U*L,I+=S*R,I+=y*(5*Z),I+=s*(5*K),I+=c*(5*N),E=I>>>13,I&=8191,I+=b*(5*G),I+=l*(5*H),I+=u*(5*D),I+=v*(5*n),I+=P*(5*W),E+=I>>>13,I&=8191,O=E,O+=U*W,O+=S*L,O+=y*R,O+=s*(5*Z),O+=c*(5*K),E=O>>>13,O&=8191,O+=b*(5*N),O+=l*(5*G),O+=u*(5*H),O+=v*(5*D),O+=P*(5*n),E+=O>>>13,O&=8191,$=E,$+=U*n,$+=S*W,$+=y*L,$+=s*R,$+=c*(5*Z),E=$>>>13,$&=8191,$+=b*(5*K),$+=l*(5*N),$+=u*(5*G),$+=v*(5*H),$+=P*(5*D),E+=$>>>13,$&=8191,j=E,j+=U*D,j+=S*n,j+=y*W,j+=s*L,j+=c*R,E=j>>>13,j&=8191,j+=b*(5*Z),j+=l*(5*K),j+=u*(5*N),j+=v*(5*G),j+=P*(5*H),E+=j>>>13,j&=8191,z=E,z+=U*H,z+=S*D,z+=y*n,z+=s*W,z+=c*L,E=z>>>13,z&=8191,z+=b*R,z+=l*(5*Z),z+=u*(5*K),z+=v*(5*N),z+=P*(5*G),E+=z>>>13,z&=8191,Y=E,Y+=U*G,Y+=S*H,Y+=y*D,Y+=s*n,Y+=c*W,E=Y>>>13,Y&=8191,Y+=b*L,Y+=l*R,Y+=u*(5*Z),Y+=v*(5*K),Y+=P*(5*N),E+=Y>>>13,Y&=8191,A=E,A+=U*N,A+=S*G,A+=y*H,A+=s*D,A+=c*n,E=A>>>13,A&=8191,A+=b*W,A+=l*L,A+=u*R,A+=v*(5*Z),A+=P*(5*K),E+=A>>>13,A&=8191,C=E,C+=U*K,C+=S*N,C+=y*G,C+=s*H,C+=c*D,E=C>>>13,C&=8191,C+=b*n,C+=l*W,C+=u*L,C+=v*R,C+=P*(5*Z),E+=C>>>13,C&=8191,w=E,w+=U*Z,w+=S*K,w+=y*N,w+=s*G,w+=c*H,E=w>>>13,w&=8191,w+=b*D,w+=l*n,w+=u*W,w+=v*L,w+=P*R,E+=w>>>13,w&=8191,E=(E<<2)+E|0,E=E+M|0,M=E&8191,E=E>>>13,I+=E,U=M,S=I,y=O,s=$,c=j,b=z,l=Y,u=A,v=C,P=w,e+=16,t-=16;this.h[0]=U,this.h[1]=S,this.h[2]=y,this.h[3]=s,this.h[4]=c,this.h[5]=b,this.h[6]=l,this.h[7]=u,this.h[8]=v,this.h[9]=P},Xf.prototype.finish=function(r,e){var t=new Uint16Array(10),f,a,i,x;if(this.leftover){for(x=this.leftover,this.buffer[x++]=1;x<16;x++)this.buffer[x]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(f=this.h[1]>>>13,this.h[1]&=8191,x=2;x<10;x++)this.h[x]+=f,f=this.h[x]>>>13,this.h[x]&=8191;for(this.h[0]+=f*5,f=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=f,f=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=f,t[0]=this.h[0]+5,f=t[0]>>>13,t[0]&=8191,x=1;x<10;x++)t[x]=this.h[x]+f,f=t[x]>>>13,t[x]&=8191;for(t[9]-=8192,a=(f^1)-1,x=0;x<10;x++)t[x]&=a;for(a=~a,x=0;x<10;x++)this.h[x]=this.h[x]&a|t[x];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,i=this.h[0]+this.pad[0],this.h[0]=i&65535,x=1;x<8;x++)i=(this.h[x]+this.pad[x]|0)+(i>>>16)|0,this.h[x]=i&65535;r[e+0]=this.h[0]>>>0&255,r[e+1]=this.h[0]>>>8&255,r[e+2]=this.h[1]>>>0&255,r[e+3]=this.h[1]>>>8&255,r[e+4]=this.h[2]>>>0&255,r[e+5]=this.h[2]>>>8&255,r[e+6]=this.h[3]>>>0&255,r[e+7]=this.h[3]>>>8&255,r[e+8]=this.h[4]>>>0&255,r[e+9]=this.h[4]>>>8&255,r[e+10]=this.h[5]>>>0&255,r[e+11]=this.h[5]>>>8&255,r[e+12]=this.h[6]>>>0&255,r[e+13]=this.h[6]>>>8&255,r[e+14]=this.h[7]>>>0&255,r[e+15]=this.h[7]>>>8&255},Xf.prototype.update=function(r,e,t){var f,a;if(this.leftover){for(a=16-this.leftover,a>t&&(a=t),f=0;f<a;f++)this.buffer[this.leftover+f]=r[e+f];if(t-=a,e+=a,this.leftover+=a,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(t>=16&&(a=t-t%16,this.blocks(r,e,a),e+=a,t-=a),t){for(f=0;f<t;f++)this.buffer[this.leftover+f]=r[e+f];this.leftover+=t}};function or(r,e,t,f,a,i){var x=new Xf(i);return x.update(t,f,a),x.finish(r,e),0}function Nr(r,e,t,f,a,i){var x=new Uint8Array(16);return or(x,0,t,f,a,i),Wf(r,e,x,0)}function sr(r,e,t,f,a){var i;if(t<32)return-1;for(xr(r,0,e,0,t,f,a),or(r,16,r,32,t-32,r),i=0;i<16;i++)r[i]=0;return 0}function cr(r,e,t,f,a){var i,x=new Uint8Array(32);if(t<32||(Lr(x,0,32,f,a),Nr(e,16,e,32,t-32,x)!==0))return-1;for(xr(r,0,e,0,t,f,a),i=0;i<32;i++)r[i]=0;return 0}function wf(r,e){var t;for(t=0;t<16;t++)r[t]=e[t]|0}function hr(r){var e,t,f=1;for(e=0;e<16;e++)t=r[e]+f+65535,f=Math.floor(t/65536),r[e]=t-f*65536;r[0]+=f-1+37*(f-1)}function If(r,e,t){for(var f,a=~(t-1),i=0;i<16;i++)f=a&(r[i]^e[i]),r[i]^=f,e[i]^=f}function jf(r,e){var t,f,a,i=o(),x=o();for(t=0;t<16;t++)x[t]=e[t];for(hr(x),hr(x),hr(x),f=0;f<2;f++){for(i[0]=x[0]-65517,t=1;t<15;t++)i[t]=x[t]-65535-(i[t-1]>>16&1),i[t-1]&=65535;i[15]=x[15]-32767-(i[14]>>16&1),a=i[15]>>16&1,i[14]&=65535,If(x,i,1-a)}for(t=0;t<16;t++)r[2*t]=x[t]&255,r[2*t+1]=x[t]>>8}function Dr(r,e){var t=new Uint8Array(32),f=new Uint8Array(32);return jf(t,r),jf(f,e),Lf(t,0,f,0)}function Fr(r){var e=new Uint8Array(32);return jf(e,r),e[0]&1}function lr(r,e){var t;for(t=0;t<16;t++)r[t]=e[2*t]+(e[2*t+1]<<8);r[15]&=32767}function pf(r,e,t){for(var f=0;f<16;f++)r[f]=e[f]+t[f]}function yf(r,e,t){for(var f=0;f<16;f++)r[f]=e[f]-t[f]}function q(r,e,t){var f,a,i=0,x=0,d=0,p=0,m=0,g=0,k=0,E=0,M=0,I=0,O=0,$=0,j=0,z=0,Y=0,A=0,C=0,w=0,U=0,S=0,y=0,s=0,c=0,b=0,l=0,u=0,v=0,P=0,R=0,L=0,W=0,n=t[0],D=t[1],H=t[2],G=t[3],N=t[4],K=t[5],Z=t[6],ef=t[7],J=t[8],ff=t[9],rf=t[10],tf=t[11],nf=t[12],sf=t[13],cf=t[14],hf=t[15];f=e[0],i+=f*n,x+=f*D,d+=f*H,p+=f*G,m+=f*N,g+=f*K,k+=f*Z,E+=f*ef,M+=f*J,I+=f*ff,O+=f*rf,$+=f*tf,j+=f*nf,z+=f*sf,Y+=f*cf,A+=f*hf,f=e[1],x+=f*n,d+=f*D,p+=f*H,m+=f*G,g+=f*N,k+=f*K,E+=f*Z,M+=f*ef,I+=f*J,O+=f*ff,$+=f*rf,j+=f*tf,z+=f*nf,Y+=f*sf,A+=f*cf,C+=f*hf,f=e[2],d+=f*n,p+=f*D,m+=f*H,g+=f*G,k+=f*N,E+=f*K,M+=f*Z,I+=f*ef,O+=f*J,$+=f*ff,j+=f*rf,z+=f*tf,Y+=f*nf,A+=f*sf,C+=f*cf,w+=f*hf,f=e[3],p+=f*n,m+=f*D,g+=f*H,k+=f*G,E+=f*N,M+=f*K,I+=f*Z,O+=f*ef,$+=f*J,j+=f*ff,z+=f*rf,Y+=f*tf,A+=f*nf,C+=f*sf,w+=f*cf,U+=f*hf,f=e[4],m+=f*n,g+=f*D,k+=f*H,E+=f*G,M+=f*N,I+=f*K,O+=f*Z,$+=f*ef,j+=f*J,z+=f*ff,Y+=f*rf,A+=f*tf,C+=f*nf,w+=f*sf,U+=f*cf,S+=f*hf,f=e[5],g+=f*n,k+=f*D,E+=f*H,M+=f*G,I+=f*N,O+=f*K,$+=f*Z,j+=f*ef,z+=f*J,Y+=f*ff,A+=f*rf,C+=f*tf,w+=f*nf,U+=f*sf,S+=f*cf,y+=f*hf,f=e[6],k+=f*n,E+=f*D,M+=f*H,I+=f*G,O+=f*N,$+=f*K,j+=f*Z,z+=f*ef,Y+=f*J,A+=f*ff,C+=f*rf,w+=f*tf,U+=f*nf,S+=f*sf,y+=f*cf,s+=f*hf,f=e[7],E+=f*n,M+=f*D,I+=f*H,O+=f*G,$+=f*N,j+=f*K,z+=f*Z,Y+=f*ef,A+=f*J,C+=f*ff,w+=f*rf,U+=f*tf,S+=f*nf,y+=f*sf,s+=f*cf,c+=f*hf,f=e[8],M+=f*n,I+=f*D,O+=f*H,$+=f*G,j+=f*N,z+=f*K,Y+=f*Z,A+=f*ef,C+=f*J,w+=f*ff,U+=f*rf,S+=f*tf,y+=f*nf,s+=f*sf,c+=f*cf,b+=f*hf,f=e[9],I+=f*n,O+=f*D,$+=f*H,j+=f*G,z+=f*N,Y+=f*K,A+=f*Z,C+=f*ef,w+=f*J,U+=f*ff,S+=f*rf,y+=f*tf,s+=f*nf,c+=f*sf,b+=f*cf,l+=f*hf,f=e[10],O+=f*n,$+=f*D,j+=f*H,z+=f*G,Y+=f*N,A+=f*K,C+=f*Z,w+=f*ef,U+=f*J,S+=f*ff,y+=f*rf,s+=f*tf,c+=f*nf,b+=f*sf,l+=f*cf,u+=f*hf,f=e[11],$+=f*n,j+=f*D,z+=f*H,Y+=f*G,A+=f*N,C+=f*K,w+=f*Z,U+=f*ef,S+=f*J,y+=f*ff,s+=f*rf,c+=f*tf,b+=f*nf,l+=f*sf,u+=f*cf,v+=f*hf,f=e[12],j+=f*n,z+=f*D,Y+=f*H,A+=f*G,C+=f*N,w+=f*K,U+=f*Z,S+=f*ef,y+=f*J,s+=f*ff,c+=f*rf,b+=f*tf,l+=f*nf,u+=f*sf,v+=f*cf,P+=f*hf,f=e[13],z+=f*n,Y+=f*D,A+=f*H,C+=f*G,w+=f*N,U+=f*K,S+=f*Z,y+=f*ef,s+=f*J,c+=f*ff,b+=f*rf,l+=f*tf,u+=f*nf,v+=f*sf,P+=f*cf,R+=f*hf,f=e[14],Y+=f*n,A+=f*D,C+=f*H,w+=f*G,U+=f*N,S+=f*K,y+=f*Z,s+=f*ef,c+=f*J,b+=f*ff,l+=f*rf,u+=f*tf,v+=f*nf,P+=f*sf,R+=f*cf,L+=f*hf,f=e[15],A+=f*n,C+=f*D,w+=f*H,U+=f*G,S+=f*N,y+=f*K,s+=f*Z,c+=f*ef,b+=f*J,l+=f*ff,u+=f*rf,v+=f*tf,P+=f*nf,R+=f*sf,L+=f*cf,W+=f*hf,i+=38*C,x+=38*w,d+=38*U,p+=38*S,m+=38*y,g+=38*s,k+=38*c,E+=38*b,M+=38*l,I+=38*u,O+=38*v,$+=38*P,j+=38*R,z+=38*L,Y+=38*W,a=1,f=i+a+65535,a=Math.floor(f/65536),i=f-a*65536,f=x+a+65535,a=Math.floor(f/65536),x=f-a*65536,f=d+a+65535,a=Math.floor(f/65536),d=f-a*65536,f=p+a+65535,a=Math.floor(f/65536),p=f-a*65536,f=m+a+65535,a=Math.floor(f/65536),m=f-a*65536,f=g+a+65535,a=Math.floor(f/65536),g=f-a*65536,f=k+a+65535,a=Math.floor(f/65536),k=f-a*65536,f=E+a+65535,a=Math.floor(f/65536),E=f-a*65536,f=M+a+65535,a=Math.floor(f/65536),M=f-a*65536,f=I+a+65535,a=Math.floor(f/65536),I=f-a*65536,f=O+a+65535,a=Math.floor(f/65536),O=f-a*65536,f=$+a+65535,a=Math.floor(f/65536),$=f-a*65536,f=j+a+65535,a=Math.floor(f/65536),j=f-a*65536,f=z+a+65535,a=Math.floor(f/65536),z=f-a*65536,f=Y+a+65535,a=Math.floor(f/65536),Y=f-a*65536,f=A+a+65535,a=Math.floor(f/65536),A=f-a*65536,i+=a-1+37*(a-1),a=1,f=i+a+65535,a=Math.floor(f/65536),i=f-a*65536,f=x+a+65535,a=Math.floor(f/65536),x=f-a*65536,f=d+a+65535,a=Math.floor(f/65536),d=f-a*65536,f=p+a+65535,a=Math.floor(f/65536),p=f-a*65536,f=m+a+65535,a=Math.floor(f/65536),m=f-a*65536,f=g+a+65535,a=Math.floor(f/65536),g=f-a*65536,f=k+a+65535,a=Math.floor(f/65536),k=f-a*65536,f=E+a+65535,a=Math.floor(f/65536),E=f-a*65536,f=M+a+65535,a=Math.floor(f/65536),M=f-a*65536,f=I+a+65535,a=Math.floor(f/65536),I=f-a*65536,f=O+a+65535,a=Math.floor(f/65536),O=f-a*65536,f=$+a+65535,a=Math.floor(f/65536),$=f-a*65536,f=j+a+65535,a=Math.floor(f/65536),j=f-a*65536,f=z+a+65535,a=Math.floor(f/65536),z=f-a*65536,f=Y+a+65535,a=Math.floor(f/65536),Y=f-a*65536,f=A+a+65535,a=Math.floor(f/65536),A=f-a*65536,i+=a-1+37*(a-1),r[0]=i,r[1]=x,r[2]=d,r[3]=p,r[4]=m,r[5]=g,r[6]=k,r[7]=E,r[8]=M,r[9]=I,r[10]=O,r[11]=$,r[12]=j,r[13]=z,r[14]=Y,r[15]=A}function vf(r,e){q(r,e,e)}function qr(r,e){var t=o(),f;for(f=0;f<16;f++)t[f]=e[f];for(f=253;f>=0;f--)vf(t,t),f!==2&&f!==4&&q(t,t,e);for(f=0;f<16;f++)r[f]=t[f]}function Kr(r,e){var t=o(),f;for(f=0;f<16;f++)t[f]=e[f];for(f=250;f>=0;f--)vf(t,t),f!==1&&q(t,t,e);for(f=0;f<16;f++)r[f]=t[f]}function Vf(r,e,t){var f=new Uint8Array(32),a=new Float64Array(80),i,x,d=o(),p=o(),m=o(),g=o(),k=o(),E=o();for(x=0;x<31;x++)f[x]=e[x];for(f[31]=e[31]&127|64,f[0]&=248,lr(a,t),x=0;x<16;x++)p[x]=a[x],g[x]=d[x]=m[x]=0;for(d[0]=g[0]=1,x=254;x>=0;--x)i=f[x>>>3]>>>(x&7)&1,If(d,p,i),If(m,g,i),pf(k,d,m),yf(d,d,m),pf(m,p,g),yf(p,p,g),vf(g,k),vf(E,d),q(d,m,d),q(m,p,k),pf(k,d,m),yf(d,d,m),vf(p,d),yf(m,g,E),q(d,m,Gf),pf(d,d,g),q(m,m,d),q(d,g,E),q(g,p,a),vf(p,k),If(d,p,i),If(m,g,i);for(x=0;x<16;x++)a[x+16]=d[x],a[x+32]=m[x],a[x+48]=p[x],a[x+64]=g[x];var M=a.subarray(32),I=a.subarray(16);return qr(M,M),q(I,I,M),jf(r,I),0}function Jf(r,e){return Vf(r,e,F)}function Zr(r,e){return B(e,32),Jf(r,e)}function Qf(r,e,t){var f=new Uint8Array(32);return Vf(f,t,e),Sf(r,T,f,mf)}var kr=sr,wt=cr;function Et(r,e,t,f,a,i){var x=new Uint8Array(32);return Qf(x,a,i),kr(r,e,t,f,x)}function At(r,e,t,f,a,i){var x=new Uint8Array(32);return Qf(x,a,i),wt(r,e,t,f,x)}var Hr=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Gr(r,e,t,f){for(var a=new Int32Array(16),i=new Int32Array(16),x,d,p,m,g,k,E,M,I,O,$,j,z,Y,A,C,w,U,S,y,s,c,b,l,u,v,P=r[0],R=r[1],L=r[2],W=r[3],n=r[4],D=r[5],H=r[6],G=r[7],N=e[0],K=e[1],Z=e[2],ef=e[3],J=e[4],ff=e[5],rf=e[6],tf=e[7],nf=0;f>=128;){for(S=0;S<16;S++)y=8*S+nf,a[S]=t[y+0]<<24|t[y+1]<<16|t[y+2]<<8|t[y+3],i[S]=t[y+4]<<24|t[y+5]<<16|t[y+6]<<8|t[y+7];for(S=0;S<80;S++)if(x=P,d=R,p=L,m=W,g=n,k=D,E=H,M=G,I=N,O=K,$=Z,j=ef,z=J,Y=ff,A=rf,C=tf,s=G,c=tf,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=(n>>>14|J<<18)^(n>>>18|J<<14)^(J>>>9|n<<23),c=(J>>>14|n<<18)^(J>>>18|n<<14)^(n>>>9|J<<23),b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,s=n&D^~n&H,c=J&ff^~J&rf,b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,s=Hr[S*2],c=Hr[S*2+1],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,s=a[S%16],c=i[S%16],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,w=u&65535|v<<16,U=b&65535|l<<16,s=w,c=U,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=(P>>>28|N<<4)^(N>>>2|P<<30)^(N>>>7|P<<25),c=(N>>>28|P<<4)^(P>>>2|N<<30)^(P>>>7|N<<25),b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,s=P&R^P&L^R&L,c=N&K^N&Z^K&Z,b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,M=u&65535|v<<16,C=b&65535|l<<16,s=m,c=j,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=w,c=U,b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,m=u&65535|v<<16,j=b&65535|l<<16,R=x,L=d,W=p,n=m,D=g,H=k,G=E,P=M,K=I,Z=O,ef=$,J=j,ff=z,rf=Y,tf=A,N=C,S%16===15)for(y=0;y<16;y++)s=a[y],c=i[y],b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=a[(y+9)%16],c=i[(y+9)%16],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,w=a[(y+1)%16],U=i[(y+1)%16],s=(w>>>1|U<<31)^(w>>>8|U<<24)^w>>>7,c=(U>>>1|w<<31)^(U>>>8|w<<24)^(U>>>7|w<<25),b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,w=a[(y+14)%16],U=i[(y+14)%16],s=(w>>>19|U<<13)^(U>>>29|w<<3)^w>>>6,c=(U>>>19|w<<13)^(w>>>29|U<<3)^(U>>>6|w<<26),b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,a[y]=u&65535|v<<16,i[y]=b&65535|l<<16;s=P,c=N,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[0],c=e[0],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[0]=P=u&65535|v<<16,e[0]=N=b&65535|l<<16,s=R,c=K,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[1],c=e[1],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[1]=R=u&65535|v<<16,e[1]=K=b&65535|l<<16,s=L,c=Z,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[2],c=e[2],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[2]=L=u&65535|v<<16,e[2]=Z=b&65535|l<<16,s=W,c=ef,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[3],c=e[3],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[3]=W=u&65535|v<<16,e[3]=ef=b&65535|l<<16,s=n,c=J,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[4],c=e[4],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[4]=n=u&65535|v<<16,e[4]=J=b&65535|l<<16,s=D,c=ff,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[5],c=e[5],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[5]=D=u&65535|v<<16,e[5]=ff=b&65535|l<<16,s=H,c=rf,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[6],c=e[6],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[6]=H=u&65535|v<<16,e[6]=rf=b&65535|l<<16,s=G,c=tf,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[7],c=e[7],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[7]=G=u&65535|v<<16,e[7]=tf=b&65535|l<<16,nf+=128,f-=128}return f}function Cf(r,e,t){var f=new Int32Array(8),a=new Int32Array(8),i=new Uint8Array(256),x,d=t;for(f[0]=1779033703,f[1]=3144134277,f[2]=1013904242,f[3]=2773480762,f[4]=1359893119,f[5]=2600822924,f[6]=528734635,f[7]=1541459225,a[0]=4089235720,a[1]=2227873595,a[2]=4271175723,a[3]=1595750129,a[4]=2917565137,a[5]=725511199,a[6]=4215389547,a[7]=327033209,Gr(f,a,e,t),t%=128,x=0;x<t;x++)i[x]=e[d-t+x];for(i[t]=128,t=256-128*(t<112?1:0),i[t-9]=0,Pf(i,t-8,d/536870912|0,d<<3),Gr(f,a,i,t),x=0;x<8;x++)Pf(r,8*x,f[x],a[x]);return 0}function fr(r,e){var t=o(),f=o(),a=o(),i=o(),x=o(),d=o(),p=o(),m=o(),g=o();yf(t,r[1],r[0]),yf(g,e[1],e[0]),q(t,t,g),pf(f,r[0],r[1]),pf(g,e[0],e[1]),q(f,f,g),q(a,r[3],e[3]),q(a,a,Rf),q(i,r[2],e[2]),pf(i,i,i),yf(x,f,t),yf(d,i,a),pf(p,i,a),pf(m,f,t),q(r[0],x,d),q(r[1],m,p),q(r[2],p,d),q(r[3],x,m)}function Xr(r,e,t){var f;for(f=0;f<4;f++)If(r[f],e[f],t)}function dr(r,e){var t=o(),f=o(),a=o();qr(a,e[2]),q(t,e[0],a),q(f,e[1],a),jf(r,f),r[31]^=Fr(t)<<7}function ur(r,e,t){var f,a;for(wf(r[0],Q),wf(r[1],xf),wf(r[2],xf),wf(r[3],Q),a=255;a>=0;--a)f=t[a/8|0]>>(a&7)&1,Xr(r,e,f),fr(e,r),fr(r,r),Xr(r,e,f)}function rr(r,e){var t=[o(),o(),o(),o()];wf(t[0],V),wf(t[1],Tf),wf(t[2],xf),q(t[3],V,Tf),ur(r,t,e)}function br(r,e,t){var f=new Uint8Array(64),a=[o(),o(),o(),o()],i;for(t||B(e,32),Cf(f,e,32),f[0]&=248,f[31]&=127,f[31]|=64,rr(a,f),dr(r,a),i=0;i<32;i++)e[i+32]=r[i];return 0}var tr=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function vr(r,e){var t,f,a,i;for(f=63;f>=32;--f){for(t=0,a=f-32,i=f-12;a<i;++a)e[a]+=t-16*e[f]*tr[a-(f-32)],t=Math.floor((e[a]+128)/256),e[a]-=t*256;e[a]+=t,e[f]=0}for(t=0,a=0;a<32;a++)e[a]+=t-(e[31]>>4)*tr[a],t=e[a]>>8,e[a]&=255;for(a=0;a<32;a++)e[a]-=t*tr[a];for(f=0;f<32;f++)e[f+1]+=e[f]>>8,r[f]=e[f]&255}function pr(r){var e=new Float64Array(64),t;for(t=0;t<64;t++)e[t]=r[t];for(t=0;t<64;t++)r[t]=0;vr(r,e)}function Vr(r,e,t,f){var a=new Uint8Array(64),i=new Uint8Array(64),x=new Uint8Array(64),d,p,m=new Float64Array(64),g=[o(),o(),o(),o()];Cf(a,f,32),a[0]&=248,a[31]&=127,a[31]|=64;var k=t+64;for(d=0;d<t;d++)r[64+d]=e[d];for(d=0;d<32;d++)r[32+d]=a[32+d];for(Cf(x,r.subarray(32),t+32),pr(x),rr(g,x),dr(r,g),d=32;d<64;d++)r[d]=f[d];for(Cf(i,r,t+64),pr(i),d=0;d<64;d++)m[d]=0;for(d=0;d<32;d++)m[d]=x[d];for(d=0;d<32;d++)for(p=0;p<32;p++)m[d+p]+=i[d]*a[p];return vr(r.subarray(32),m),k}function Ut(r,e){var t=o(),f=o(),a=o(),i=o(),x=o(),d=o(),p=o();return wf(r[2],xf),lr(r[1],e),vf(a,r[1]),q(i,a,Uf),yf(a,a,r[2]),pf(i,r[2],i),vf(x,i),vf(d,x),q(p,d,x),q(t,p,a),q(t,t,i),Kr(t,t),q(t,t,a),q(t,t,i),q(t,t,i),q(r[0],t,i),vf(f,r[0]),q(f,f,i),Dr(f,a)&&q(r[0],r[0],bf),vf(f,r[0]),q(f,f,i),Dr(f,a)?-1:(Fr(r[0])===e[31]>>7&&yf(r[0],Q,r[0]),q(r[3],r[0],r[1]),0)}function yr(r,e,t,f){var a,i=new Uint8Array(32),x=new Uint8Array(64),d=[o(),o(),o(),o()],p=[o(),o(),o(),o()];if(t<64||Ut(p,f))return-1;for(a=0;a<t;a++)r[a]=e[a];for(a=0;a<32;a++)r[a+32]=f[a];if(Cf(x,r,t),pr(x),ur(d,p,x),rr(p,e.subarray(32)),fr(d,p),dr(i,d),t-=64,Lf(e,0,i,0)){for(a=0;a<t;a++)r[a]=0;return-1}for(a=0;a<t;a++)r[a]=e[a+64];return t}var _r=32,er=24,Df=32,Yf=16,Ff=32,ar=32,qf=32,Kf=32,gr=32,Jr=er,St=Df,mt=Yf,Ef=64,Bf=32,zf=64,wr=32,Er=64;h.lowlevel={crypto_core_hsalsa20:Sf,crypto_stream_xor:xr,crypto_stream:Lr,crypto_stream_salsa20_xor:Rr,crypto_stream_salsa20:Wr,crypto_onetimeauth:or,crypto_onetimeauth_verify:Nr,crypto_verify_16:Wf,crypto_verify_32:Lf,crypto_secretbox:sr,crypto_secretbox_open:cr,crypto_scalarmult:Vf,crypto_scalarmult_base:Jf,crypto_box_beforenm:Qf,crypto_box_afternm:kr,crypto_box:Et,crypto_box_open:At,crypto_box_keypair:Zr,crypto_hash:Cf,crypto_sign:Vr,crypto_sign_keypair:br,crypto_sign_open:yr,crypto_secretbox_KEYBYTES:_r,crypto_secretbox_NONCEBYTES:er,crypto_secretbox_ZEROBYTES:Df,crypto_secretbox_BOXZEROBYTES:Yf,crypto_scalarmult_BYTES:Ff,crypto_scalarmult_SCALARBYTES:ar,crypto_box_PUBLICKEYBYTES:qf,crypto_box_SECRETKEYBYTES:Kf,crypto_box_BEFORENMBYTES:gr,crypto_box_NONCEBYTES:Jr,crypto_box_ZEROBYTES:St,crypto_box_BOXZEROBYTES:mt,crypto_sign_BYTES:Ef,crypto_sign_PUBLICKEYBYTES:Bf,crypto_sign_SECRETKEYBYTES:zf,crypto_sign_SEEDBYTES:wr,crypto_hash_BYTES:Er,gf:o,D:Uf,L:tr,pack25519:jf,unpack25519:lr,M:q,A:pf,S:vf,Z:yf,pow2523:Kr,add:fr,set25519:wf,modL:vr,scalarmult:ur,scalarbase:rr};function Qr(r,e){if(r.length!==_r)throw new Error("bad key size");if(e.length!==er)throw new Error("bad nonce size")}function Ct(r,e){if(r.length!==qf)throw new Error("bad public key size");if(e.length!==Kf)throw new Error("bad secret key size")}function uf(){for(var r=0;r<arguments.length;r++)if(!(arguments[r]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function ft(r){for(var e=0;e<r.length;e++)r[e]=0}h.randomBytes=function(r){var e=new Uint8Array(r);return B(e,r),e},h.secretbox=function(r,e,t){uf(r,e,t),Qr(t,e);for(var f=new Uint8Array(Df+r.length),a=new Uint8Array(f.length),i=0;i<r.length;i++)f[i+Df]=r[i];return sr(a,f,f.length,e,t),a.subarray(Yf)},h.secretbox.open=function(r,e,t){uf(r,e,t),Qr(t,e);for(var f=new Uint8Array(Yf+r.length),a=new Uint8Array(f.length),i=0;i<r.length;i++)f[i+Yf]=r[i];return f.length<32||cr(a,f,f.length,e,t)!==0?null:a.subarray(Df)},h.secretbox.keyLength=_r,h.secretbox.nonceLength=er,h.secretbox.overheadLength=Yf,h.scalarMult=function(r,e){if(uf(r,e),r.length!==ar)throw new Error("bad n size");if(e.length!==Ff)throw new Error("bad p size");var t=new Uint8Array(Ff);return Vf(t,r,e),t},h.scalarMult.base=function(r){if(uf(r),r.length!==ar)throw new Error("bad n size");var e=new Uint8Array(Ff);return Jf(e,r),e},h.scalarMult.scalarLength=ar,h.scalarMult.groupElementLength=Ff,h.box=function(r,e,t,f){var a=h.box.before(t,f);return h.secretbox(r,e,a)},h.box.before=function(r,e){uf(r,e),Ct(r,e);var t=new Uint8Array(gr);return Qf(t,r,e),t},h.box.after=h.secretbox,h.box.open=function(r,e,t,f){var a=h.box.before(t,f);return h.secretbox.open(r,e,a)},h.box.open.after=h.secretbox.open,h.box.keyPair=function(){var r=new Uint8Array(qf),e=new Uint8Array(Kf);return Zr(r,e),{publicKey:r,secretKey:e}},h.box.keyPair.fromSecretKey=function(r){if(uf(r),r.length!==Kf)throw new Error("bad secret key size");var e=new Uint8Array(qf);return Jf(e,r),{publicKey:e,secretKey:new Uint8Array(r)}},h.box.publicKeyLength=qf,h.box.secretKeyLength=Kf,h.box.sharedKeyLength=gr,h.box.nonceLength=Jr,h.box.overheadLength=h.secretbox.overheadLength,h.sign=function(r,e){if(uf(r,e),e.length!==zf)throw new Error("bad secret key size");var t=new Uint8Array(Ef+r.length);return Vr(t,r,r.length,e),t},h.sign.open=function(r,e){if(uf(r,e),e.length!==Bf)throw new Error("bad public key size");var t=new Uint8Array(r.length),f=yr(t,r,r.length,e);if(f<0)return null;for(var a=new Uint8Array(f),i=0;i<a.length;i++)a[i]=t[i];return a},h.sign.detached=function(r,e){for(var t=h.sign(r,e),f=new Uint8Array(Ef),a=0;a<f.length;a++)f[a]=t[a];return f},h.sign.detached.verify=function(r,e,t){if(uf(r,e,t),e.length!==Ef)throw new Error("bad signature size");if(t.length!==Bf)throw new Error("bad public key size");var f=new Uint8Array(Ef+r.length),a=new Uint8Array(Ef+r.length),i;for(i=0;i<Ef;i++)f[i]=e[i];for(i=0;i<r.length;i++)f[i+Ef]=r[i];return yr(a,f,f.length,t)>=0},h.sign.keyPair=function(){var r=new Uint8Array(Bf),e=new Uint8Array(zf);return br(r,e),{publicKey:r,secretKey:e}},h.sign.keyPair.fromSecretKey=function(r){if(uf(r),r.length!==zf)throw new Error("bad secret key size");for(var e=new Uint8Array(Bf),t=0;t<e.length;t++)e[t]=r[32+t];return{publicKey:e,secretKey:new Uint8Array(r)}},h.sign.keyPair.fromSeed=function(r){if(uf(r),r.length!==wr)throw new Error("bad seed size");for(var e=new Uint8Array(Bf),t=new Uint8Array(zf),f=0;f<32;f++)t[f]=r[f];return br(e,t,!0),{publicKey:e,secretKey:t}},h.sign.publicKeyLength=Bf,h.sign.secretKeyLength=zf,h.sign.seedLength=wr,h.sign.signatureLength=Ef,h.hash=function(r){uf(r);var e=new Uint8Array(Er);return Cf(e,r,r.length),e},h.hash.hashLength=Er,h.verify=function(r,e){return uf(r,e),r.length===0||e.length===0||r.length!==e.length?!1:Mf(r,0,e,0,r.length)===0},h.setPRNG=function(r){B=r},(function(){var r=typeof self<"u"?self.crypto||self.msCrypto:null;if(r&&r.getRandomValues){var e=65536;h.setPRNG(function(t,f){var a,i=new Uint8Array(f);for(a=0;a<f;a+=e)r.getRandomValues(i.subarray(a,a+Math.min(f-a,e)));for(a=0;a<f;a++)t[a]=i[a];ft(i)})}else typeof Rt<"u"&&(r=Nt,r&&r.randomBytes&&h.setPRNG(function(t,f){var a,i=r.randomBytes(f);for(a=0;a<f;a++)t[a]=i[a];ft(i)}))})()})(_.exports?_.exports:self.nacl=self.nacl||{})})(Ar)),Ar.exports}Dt();var ir={exports:{}},Ft=ir.exports,et;function qt(){return et||(et=1,(function(_){(function(h,o){_.exports?_.exports=o():(h.nacl||(h.nacl={}),h.nacl.util=o())})(Ft,function(){var h={};function o(B){if(!/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(B))throw new TypeError("invalid encoding")}return h.decodeUTF8=function(B){if(typeof B!="string")throw new TypeError("expected string");var T,F=unescape(encodeURIComponent(B)),Q=new Uint8Array(F.length);for(T=0;T<F.length;T++)Q[T]=F.charCodeAt(T);return Q},h.encodeUTF8=function(B){var T,F=[];for(T=0;T<B.length;T++)F.push(String.fromCharCode(B[T]));return decodeURIComponent(escape(F.join("")))},typeof atob>"u"?typeof Buffer.from<"u"?(h.encodeBase64=function(B){return Buffer.from(B).toString("base64")},h.decodeBase64=function(B){return o(B),new Uint8Array(Array.prototype.slice.call(Buffer.from(B,"base64"),0))}):(h.encodeBase64=function(B){return new Buffer(B).toString("base64")},h.decodeBase64=function(B){return o(B),new Uint8Array(Array.prototype.slice.call(new Buffer(B,"base64"),0))}):(h.encodeBase64=function(B){var T,F=[],Q=B.length;for(T=0;T<Q;T++)F.push(String.fromCharCode(B[T]));return btoa(F.join(""))},h.decodeBase64=function(B){o(B);var T,F=atob(B),Q=new Uint8Array(F.length);for(T=0;T<F.length;T++)Q[T]=F.charCodeAt(T);return Q}),h})})(ir)),ir.exports}qt();var Sr=(_=>(_.WALLET_KERNEL="wallet-kernel",_.PARTICIPANT="participant",_.FIREBLOCKS="fireblocks",_))(Sr||{}),Kt=xt({provider:Tt(Sr),properties:Bt(Mt(),Pt()).optional()});xt({drivers:It(Kt).optional()});var Zt=Object.create,mr=Object.defineProperty,kt=Object.getOwnPropertyDescriptor,ot=(_,h)=>(h=Symbol[_])?h:Symbol.for("Symbol."+_),Of=_=>{throw TypeError(_)},Ht=(_,h,o)=>h in _?mr(_,h,{enumerable:!0,configurable:!0,writable:!0,value:o}):_[h]=o,at=(_,h)=>mr(_,"name",{value:h,configurable:!0}),Gt=_=>[,,,Zt(_?.[ot("metadata")]??null)],st=["class","method","getter","setter","accessor","field","value","get","set"],Hf=_=>_!==void 0&&typeof _!="function"?Of("Function expected"):_,Xt=(_,h,o,B,T)=>({kind:st[_],name:h,metadata:B,addInitializer:F=>o._?Of("Already initialized"):T.push(Hf(F||null))}),Vt=(_,h)=>Ht(h,ot("metadata"),_[3]),af=(_,h,o,B)=>{for(var T=0,F=_[h>>1],Q=F&&F.length;T<Q;T++)h&1?F[T].call(o):B=F[T].call(o,B);return B},_f=(_,h,o,B,T,F)=>{var Q,xf,Gf,Uf,Rf,V=h&7,Tf=!!(h&8),bf=!!(h&16),Pf=V>3?_.length+1:V?Tf?1:2:0,Mf=st[V+5],Wf=V>3&&(_[Pf-1]=[]),Lf=_[Pf]||(_[Pf]=[]),df=V&&(!bf&&!Tf&&(T=T.prototype),V<5&&(V>3||!bf)&&kt(V<4?T:{get[o](){return nt(this,F)},set[o](of){return it(this,F,of)}},o));V?bf&&V<4&&at(F,(V>2?"set ":V>1?"get ":"")+o):at(T,o);for(var Nf=B.length-1;Nf>=0;Nf--)Uf=Xt(V,o,Gf={},_[3],Lf),V&&(Uf.static=Tf,Uf.private=bf,Rf=Uf.access={has:bf?of=>Jt(T,of):of=>o in of},V^3&&(Rf.get=bf?of=>(V^1?nt:Qt)(of,T,V^4?F:df.get):of=>of[o]),V>2&&(Rf.set=bf?(of,Sf)=>it(of,T,Sf,V^4?F:df.set):(of,Sf)=>of[o]=Sf)),xf=(0,B[Nf])(V?V<4?bf?F:df[Mf]:V>4?void 0:{get:df.get,set:df.set}:T,Uf),Gf._=1,V^4||xf===void 0?Hf(xf)&&(V>4?Wf.unshift(xf):V?bf?F=xf:df[Mf]=xf:T=xf):typeof xf!="object"||xf===null?Of("Object expected"):(Hf(Q=xf.get)&&(df.get=Q),Hf(Q=xf.set)&&(df.set=Q),Hf(Q=xf.init)&&Wf.unshift(Q));return V||Vt(_,T),df&&mr(T,o,df),bf?V^4?F:df:T},Cr=(_,h,o)=>h.has(_)||Of("Cannot "+o),Jt=(_,h)=>Object(h)!==h?Of('Cannot use the "in" operator on this value'):_.has(h),nt=(_,h,o)=>(Cr(_,h,"read from private field"),o?o.call(_):h.get(_)),gf=(_,h,o)=>h.has(_)?Of("Cannot add the same private member more than once"):h instanceof WeakSet?h.add(_):h.set(_,o),it=(_,h,o,B)=>(Cr(_,h,"write to private field"),B?B.call(_,o):h.set(_,o),o),Qt=(_,h,o)=>(Cr(_,h,"access private method"),o),ct,ht,lt,dt,ut,bt,vt,pt,yt,_t,Ur,gt,X,Br,Tr,Pr,Mr,Ir,jr,Yr,zr,$r,Or;gt=[zt("user-ui-wallets")];class lf extends(Ur=Yt,_t=[$f()],yt=[$f()],pt=[$f()],vt=[$f()],bt=[$f()],ut=[$f()],dt=[nr("#party-id-hint")],lt=[nr("#signing-provider-id")],ht=[nr("#network-id")],ct=[nr("#primary")],Ur){constructor(){super(...arguments),gf(this,Br,af(X,8,this,Object.values(Sr))),af(X,11,this),gf(this,Tr,af(X,12,this,[])),af(X,15,this),gf(this,Pr,af(X,16,this,[])),af(X,19,this),gf(this,Mr,af(X,20,this)),af(X,23,this),gf(this,Ir,af(X,24,this,!1)),af(X,27,this),gf(this,jr,af(X,28,this,!1)),af(X,31,this),gf(this,Yr,af(X,32,this,null)),af(X,35,this),gf(this,zr,af(X,36,this,null)),af(X,39,this),gf(this,$r,af(X,40,this,null)),af(X,43,this),gf(this,Or,af(X,44,this,null)),af(X,47,this)}render(){const h=this.wallets.reduce((o,B)=>(B.status==="allocated"?o.verifiedWallets.push(B):o.unverifiedWallets.push(B),o),{verifiedWallets:[],unverifiedWallets:[]});return Af`
|
|
1
|
+
import{o as xt,r as Bt,n as Tt,f as Mt,d as Pt,g as It,x as Af,c as Zf,s as kf,w as rt,a as jt,i as Yt,t as Ot}from"./index-EdAN1_qe.js";import{r as zf}from"./state-DcvVyWZr.js";const zt=(y,h,o)=>(o.configurable=!0,o.enumerable=!0,Reflect.decorate&&typeof h!="object"&&Object.defineProperty(y,h,o),o);function nr(y,h){return(o,B,T)=>{const F=Q=>Q.renderRoot?.querySelector(y)??null;return zt(o,B,{get(){return F(this)}})}}function $t(y){if(Object.prototype.hasOwnProperty.call(y,"__esModule"))return y;var h=y.default;if(typeof h=="function"){var o=function B(){var T=!1;try{T=this instanceof B}catch{}return T?Reflect.construct(h,arguments,this.constructor):h.apply(this,arguments)};o.prototype=h.prototype}else o={};return Object.defineProperty(o,"__esModule",{value:!0}),Object.keys(y).forEach(function(B){var T=Object.getOwnPropertyDescriptor(y,B);Object.defineProperty(o,B,T.get?T:{enumerable:!0,get:function(){return y[B]}})}),o}function Rt(y){throw new Error('Could not dynamically require "'+y+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Ar={exports:{}};const Wt={},Lt=Object.freeze(Object.defineProperty({__proto__:null,default:Wt},Symbol.toStringTag,{value:"Module"})),Nt=$t(Lt);var tt;function Dt(){return tt||(tt=1,(function(y){(function(h){var o=function(r){var e,t=new Float64Array(16);if(r)for(e=0;e<r.length;e++)t[e]=r[e];return t},B=function(){throw new Error("no PRNG")},T=new Uint8Array(16),F=new Uint8Array(32);F[0]=9;var Q=o(),xf=o([1]),Gf=o([56129,1]),Uf=o([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),Rf=o([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),V=o([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),Tf=o([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),bf=o([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function Mf(r,e,t,f){r[e]=t>>24&255,r[e+1]=t>>16&255,r[e+2]=t>>8&255,r[e+3]=t&255,r[e+4]=f>>24&255,r[e+5]=f>>16&255,r[e+6]=f>>8&255,r[e+7]=f&255}function Pf(r,e,t,f,a){var i,x=0;for(i=0;i<a;i++)x|=r[e+i]^t[f+i];return(1&x-1>>>8)-1}function Wf(r,e,t,f){return Pf(r,e,t,f,16)}function Lf(r,e,t,f){return Pf(r,e,t,f,32)}function df(r,e,t,f){for(var a=f[0]&255|(f[1]&255)<<8|(f[2]&255)<<16|(f[3]&255)<<24,i=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,x=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,d=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,p=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,m=f[4]&255|(f[5]&255)<<8|(f[6]&255)<<16|(f[7]&255)<<24,g=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,k=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,E=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,P=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,I=f[8]&255|(f[9]&255)<<8|(f[10]&255)<<16|(f[11]&255)<<24,$=t[16]&255|(t[17]&255)<<8|(t[18]&255)<<16|(t[19]&255)<<24,z=t[20]&255|(t[21]&255)<<8|(t[22]&255)<<16|(t[23]&255)<<24,j=t[24]&255|(t[25]&255)<<8|(t[26]&255)<<16|(t[27]&255)<<24,O=t[28]&255|(t[29]&255)<<8|(t[30]&255)<<16|(t[31]&255)<<24,Y=f[12]&255|(f[13]&255)<<8|(f[14]&255)<<16|(f[15]&255)<<24,A=a,C=i,w=x,U=d,S=p,_=m,s=g,c=k,b=E,l=P,u=I,v=$,M=z,R=j,L=O,W=Y,n,D=0;D<20;D+=2)n=A+M|0,S^=n<<7|n>>>25,n=S+A|0,b^=n<<9|n>>>23,n=b+S|0,M^=n<<13|n>>>19,n=M+b|0,A^=n<<18|n>>>14,n=_+C|0,l^=n<<7|n>>>25,n=l+_|0,R^=n<<9|n>>>23,n=R+l|0,C^=n<<13|n>>>19,n=C+R|0,_^=n<<18|n>>>14,n=u+s|0,L^=n<<7|n>>>25,n=L+u|0,w^=n<<9|n>>>23,n=w+L|0,s^=n<<13|n>>>19,n=s+w|0,u^=n<<18|n>>>14,n=W+v|0,U^=n<<7|n>>>25,n=U+W|0,c^=n<<9|n>>>23,n=c+U|0,v^=n<<13|n>>>19,n=v+c|0,W^=n<<18|n>>>14,n=A+U|0,C^=n<<7|n>>>25,n=C+A|0,w^=n<<9|n>>>23,n=w+C|0,U^=n<<13|n>>>19,n=U+w|0,A^=n<<18|n>>>14,n=_+S|0,s^=n<<7|n>>>25,n=s+_|0,c^=n<<9|n>>>23,n=c+s|0,S^=n<<13|n>>>19,n=S+c|0,_^=n<<18|n>>>14,n=u+l|0,v^=n<<7|n>>>25,n=v+u|0,b^=n<<9|n>>>23,n=b+v|0,l^=n<<13|n>>>19,n=l+b|0,u^=n<<18|n>>>14,n=W+L|0,M^=n<<7|n>>>25,n=M+W|0,R^=n<<9|n>>>23,n=R+M|0,L^=n<<13|n>>>19,n=L+R|0,W^=n<<18|n>>>14;A=A+a|0,C=C+i|0,w=w+x|0,U=U+d|0,S=S+p|0,_=_+m|0,s=s+g|0,c=c+k|0,b=b+E|0,l=l+P|0,u=u+I|0,v=v+$|0,M=M+z|0,R=R+j|0,L=L+O|0,W=W+Y|0,r[0]=A>>>0&255,r[1]=A>>>8&255,r[2]=A>>>16&255,r[3]=A>>>24&255,r[4]=C>>>0&255,r[5]=C>>>8&255,r[6]=C>>>16&255,r[7]=C>>>24&255,r[8]=w>>>0&255,r[9]=w>>>8&255,r[10]=w>>>16&255,r[11]=w>>>24&255,r[12]=U>>>0&255,r[13]=U>>>8&255,r[14]=U>>>16&255,r[15]=U>>>24&255,r[16]=S>>>0&255,r[17]=S>>>8&255,r[18]=S>>>16&255,r[19]=S>>>24&255,r[20]=_>>>0&255,r[21]=_>>>8&255,r[22]=_>>>16&255,r[23]=_>>>24&255,r[24]=s>>>0&255,r[25]=s>>>8&255,r[26]=s>>>16&255,r[27]=s>>>24&255,r[28]=c>>>0&255,r[29]=c>>>8&255,r[30]=c>>>16&255,r[31]=c>>>24&255,r[32]=b>>>0&255,r[33]=b>>>8&255,r[34]=b>>>16&255,r[35]=b>>>24&255,r[36]=l>>>0&255,r[37]=l>>>8&255,r[38]=l>>>16&255,r[39]=l>>>24&255,r[40]=u>>>0&255,r[41]=u>>>8&255,r[42]=u>>>16&255,r[43]=u>>>24&255,r[44]=v>>>0&255,r[45]=v>>>8&255,r[46]=v>>>16&255,r[47]=v>>>24&255,r[48]=M>>>0&255,r[49]=M>>>8&255,r[50]=M>>>16&255,r[51]=M>>>24&255,r[52]=R>>>0&255,r[53]=R>>>8&255,r[54]=R>>>16&255,r[55]=R>>>24&255,r[56]=L>>>0&255,r[57]=L>>>8&255,r[58]=L>>>16&255,r[59]=L>>>24&255,r[60]=W>>>0&255,r[61]=W>>>8&255,r[62]=W>>>16&255,r[63]=W>>>24&255}function Nf(r,e,t,f){for(var a=f[0]&255|(f[1]&255)<<8|(f[2]&255)<<16|(f[3]&255)<<24,i=t[0]&255|(t[1]&255)<<8|(t[2]&255)<<16|(t[3]&255)<<24,x=t[4]&255|(t[5]&255)<<8|(t[6]&255)<<16|(t[7]&255)<<24,d=t[8]&255|(t[9]&255)<<8|(t[10]&255)<<16|(t[11]&255)<<24,p=t[12]&255|(t[13]&255)<<8|(t[14]&255)<<16|(t[15]&255)<<24,m=f[4]&255|(f[5]&255)<<8|(f[6]&255)<<16|(f[7]&255)<<24,g=e[0]&255|(e[1]&255)<<8|(e[2]&255)<<16|(e[3]&255)<<24,k=e[4]&255|(e[5]&255)<<8|(e[6]&255)<<16|(e[7]&255)<<24,E=e[8]&255|(e[9]&255)<<8|(e[10]&255)<<16|(e[11]&255)<<24,P=e[12]&255|(e[13]&255)<<8|(e[14]&255)<<16|(e[15]&255)<<24,I=f[8]&255|(f[9]&255)<<8|(f[10]&255)<<16|(f[11]&255)<<24,$=t[16]&255|(t[17]&255)<<8|(t[18]&255)<<16|(t[19]&255)<<24,z=t[20]&255|(t[21]&255)<<8|(t[22]&255)<<16|(t[23]&255)<<24,j=t[24]&255|(t[25]&255)<<8|(t[26]&255)<<16|(t[27]&255)<<24,O=t[28]&255|(t[29]&255)<<8|(t[30]&255)<<16|(t[31]&255)<<24,Y=f[12]&255|(f[13]&255)<<8|(f[14]&255)<<16|(f[15]&255)<<24,A=a,C=i,w=x,U=d,S=p,_=m,s=g,c=k,b=E,l=P,u=I,v=$,M=z,R=j,L=O,W=Y,n,D=0;D<20;D+=2)n=A+M|0,S^=n<<7|n>>>25,n=S+A|0,b^=n<<9|n>>>23,n=b+S|0,M^=n<<13|n>>>19,n=M+b|0,A^=n<<18|n>>>14,n=_+C|0,l^=n<<7|n>>>25,n=l+_|0,R^=n<<9|n>>>23,n=R+l|0,C^=n<<13|n>>>19,n=C+R|0,_^=n<<18|n>>>14,n=u+s|0,L^=n<<7|n>>>25,n=L+u|0,w^=n<<9|n>>>23,n=w+L|0,s^=n<<13|n>>>19,n=s+w|0,u^=n<<18|n>>>14,n=W+v|0,U^=n<<7|n>>>25,n=U+W|0,c^=n<<9|n>>>23,n=c+U|0,v^=n<<13|n>>>19,n=v+c|0,W^=n<<18|n>>>14,n=A+U|0,C^=n<<7|n>>>25,n=C+A|0,w^=n<<9|n>>>23,n=w+C|0,U^=n<<13|n>>>19,n=U+w|0,A^=n<<18|n>>>14,n=_+S|0,s^=n<<7|n>>>25,n=s+_|0,c^=n<<9|n>>>23,n=c+s|0,S^=n<<13|n>>>19,n=S+c|0,_^=n<<18|n>>>14,n=u+l|0,v^=n<<7|n>>>25,n=v+u|0,b^=n<<9|n>>>23,n=b+v|0,l^=n<<13|n>>>19,n=l+b|0,u^=n<<18|n>>>14,n=W+L|0,M^=n<<7|n>>>25,n=M+W|0,R^=n<<9|n>>>23,n=R+M|0,L^=n<<13|n>>>19,n=L+R|0,W^=n<<18|n>>>14;r[0]=A>>>0&255,r[1]=A>>>8&255,r[2]=A>>>16&255,r[3]=A>>>24&255,r[4]=_>>>0&255,r[5]=_>>>8&255,r[6]=_>>>16&255,r[7]=_>>>24&255,r[8]=u>>>0&255,r[9]=u>>>8&255,r[10]=u>>>16&255,r[11]=u>>>24&255,r[12]=W>>>0&255,r[13]=W>>>8&255,r[14]=W>>>16&255,r[15]=W>>>24&255,r[16]=s>>>0&255,r[17]=s>>>8&255,r[18]=s>>>16&255,r[19]=s>>>24&255,r[20]=c>>>0&255,r[21]=c>>>8&255,r[22]=c>>>16&255,r[23]=c>>>24&255,r[24]=b>>>0&255,r[25]=b>>>8&255,r[26]=b>>>16&255,r[27]=b>>>24&255,r[28]=l>>>0&255,r[29]=l>>>8&255,r[30]=l>>>16&255,r[31]=l>>>24&255}function of(r,e,t,f){df(r,e,t,f)}function Sf(r,e,t,f){Nf(r,e,t,f)}var mf=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function Rr(r,e,t,f,a,i,x){var d=new Uint8Array(16),p=new Uint8Array(64),m,g;for(g=0;g<16;g++)d[g]=0;for(g=0;g<8;g++)d[g]=i[g];for(;a>=64;){for(of(p,d,x,mf),g=0;g<64;g++)r[e+g]=t[f+g]^p[g];for(m=1,g=8;g<16;g++)m=m+(d[g]&255)|0,d[g]=m&255,m>>>=8;a-=64,e+=64,f+=64}if(a>0)for(of(p,d,x,mf),g=0;g<a;g++)r[e+g]=t[f+g]^p[g];return 0}function Wr(r,e,t,f,a){var i=new Uint8Array(16),x=new Uint8Array(64),d,p;for(p=0;p<16;p++)i[p]=0;for(p=0;p<8;p++)i[p]=f[p];for(;t>=64;){for(of(x,i,a,mf),p=0;p<64;p++)r[e+p]=x[p];for(d=1,p=8;p<16;p++)d=d+(i[p]&255)|0,i[p]=d&255,d>>>=8;t-=64,e+=64}if(t>0)for(of(x,i,a,mf),p=0;p<t;p++)r[e+p]=x[p];return 0}function Lr(r,e,t,f,a){var i=new Uint8Array(32);Sf(i,f,a,mf);for(var x=new Uint8Array(8),d=0;d<8;d++)x[d]=f[d+16];return Wr(r,e,t,x,i)}function xr(r,e,t,f,a,i,x){var d=new Uint8Array(32);Sf(d,i,x,mf);for(var p=new Uint8Array(8),m=0;m<8;m++)p[m]=i[m+16];return Rr(r,e,t,f,a,p,d)}var Xf=function(r){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var e,t,f,a,i,x,d,p;e=r[0]&255|(r[1]&255)<<8,this.r[0]=e&8191,t=r[2]&255|(r[3]&255)<<8,this.r[1]=(e>>>13|t<<3)&8191,f=r[4]&255|(r[5]&255)<<8,this.r[2]=(t>>>10|f<<6)&7939,a=r[6]&255|(r[7]&255)<<8,this.r[3]=(f>>>7|a<<9)&8191,i=r[8]&255|(r[9]&255)<<8,this.r[4]=(a>>>4|i<<12)&255,this.r[5]=i>>>1&8190,x=r[10]&255|(r[11]&255)<<8,this.r[6]=(i>>>14|x<<2)&8191,d=r[12]&255|(r[13]&255)<<8,this.r[7]=(x>>>11|d<<5)&8065,p=r[14]&255|(r[15]&255)<<8,this.r[8]=(d>>>8|p<<8)&8191,this.r[9]=p>>>5&127,this.pad[0]=r[16]&255|(r[17]&255)<<8,this.pad[1]=r[18]&255|(r[19]&255)<<8,this.pad[2]=r[20]&255|(r[21]&255)<<8,this.pad[3]=r[22]&255|(r[23]&255)<<8,this.pad[4]=r[24]&255|(r[25]&255)<<8,this.pad[5]=r[26]&255|(r[27]&255)<<8,this.pad[6]=r[28]&255|(r[29]&255)<<8,this.pad[7]=r[30]&255|(r[31]&255)<<8};Xf.prototype.blocks=function(r,e,t){for(var f=this.fin?0:2048,a,i,x,d,p,m,g,k,E,P,I,$,z,j,O,Y,A,C,w,U=this.h[0],S=this.h[1],_=this.h[2],s=this.h[3],c=this.h[4],b=this.h[5],l=this.h[6],u=this.h[7],v=this.h[8],M=this.h[9],R=this.r[0],L=this.r[1],W=this.r[2],n=this.r[3],D=this.r[4],H=this.r[5],G=this.r[6],N=this.r[7],q=this.r[8],Z=this.r[9];t>=16;)a=r[e+0]&255|(r[e+1]&255)<<8,U+=a&8191,i=r[e+2]&255|(r[e+3]&255)<<8,S+=(a>>>13|i<<3)&8191,x=r[e+4]&255|(r[e+5]&255)<<8,_+=(i>>>10|x<<6)&8191,d=r[e+6]&255|(r[e+7]&255)<<8,s+=(x>>>7|d<<9)&8191,p=r[e+8]&255|(r[e+9]&255)<<8,c+=(d>>>4|p<<12)&8191,b+=p>>>1&8191,m=r[e+10]&255|(r[e+11]&255)<<8,l+=(p>>>14|m<<2)&8191,g=r[e+12]&255|(r[e+13]&255)<<8,u+=(m>>>11|g<<5)&8191,k=r[e+14]&255|(r[e+15]&255)<<8,v+=(g>>>8|k<<8)&8191,M+=k>>>5|f,E=0,P=E,P+=U*R,P+=S*(5*Z),P+=_*(5*q),P+=s*(5*N),P+=c*(5*G),E=P>>>13,P&=8191,P+=b*(5*H),P+=l*(5*D),P+=u*(5*n),P+=v*(5*W),P+=M*(5*L),E+=P>>>13,P&=8191,I=E,I+=U*L,I+=S*R,I+=_*(5*Z),I+=s*(5*q),I+=c*(5*N),E=I>>>13,I&=8191,I+=b*(5*G),I+=l*(5*H),I+=u*(5*D),I+=v*(5*n),I+=M*(5*W),E+=I>>>13,I&=8191,$=E,$+=U*W,$+=S*L,$+=_*R,$+=s*(5*Z),$+=c*(5*q),E=$>>>13,$&=8191,$+=b*(5*N),$+=l*(5*G),$+=u*(5*H),$+=v*(5*D),$+=M*(5*n),E+=$>>>13,$&=8191,z=E,z+=U*n,z+=S*W,z+=_*L,z+=s*R,z+=c*(5*Z),E=z>>>13,z&=8191,z+=b*(5*q),z+=l*(5*N),z+=u*(5*G),z+=v*(5*H),z+=M*(5*D),E+=z>>>13,z&=8191,j=E,j+=U*D,j+=S*n,j+=_*W,j+=s*L,j+=c*R,E=j>>>13,j&=8191,j+=b*(5*Z),j+=l*(5*q),j+=u*(5*N),j+=v*(5*G),j+=M*(5*H),E+=j>>>13,j&=8191,O=E,O+=U*H,O+=S*D,O+=_*n,O+=s*W,O+=c*L,E=O>>>13,O&=8191,O+=b*R,O+=l*(5*Z),O+=u*(5*q),O+=v*(5*N),O+=M*(5*G),E+=O>>>13,O&=8191,Y=E,Y+=U*G,Y+=S*H,Y+=_*D,Y+=s*n,Y+=c*W,E=Y>>>13,Y&=8191,Y+=b*L,Y+=l*R,Y+=u*(5*Z),Y+=v*(5*q),Y+=M*(5*N),E+=Y>>>13,Y&=8191,A=E,A+=U*N,A+=S*G,A+=_*H,A+=s*D,A+=c*n,E=A>>>13,A&=8191,A+=b*W,A+=l*L,A+=u*R,A+=v*(5*Z),A+=M*(5*q),E+=A>>>13,A&=8191,C=E,C+=U*q,C+=S*N,C+=_*G,C+=s*H,C+=c*D,E=C>>>13,C&=8191,C+=b*n,C+=l*W,C+=u*L,C+=v*R,C+=M*(5*Z),E+=C>>>13,C&=8191,w=E,w+=U*Z,w+=S*q,w+=_*N,w+=s*G,w+=c*H,E=w>>>13,w&=8191,w+=b*D,w+=l*n,w+=u*W,w+=v*L,w+=M*R,E+=w>>>13,w&=8191,E=(E<<2)+E|0,E=E+P|0,P=E&8191,E=E>>>13,I+=E,U=P,S=I,_=$,s=z,c=j,b=O,l=Y,u=A,v=C,M=w,e+=16,t-=16;this.h[0]=U,this.h[1]=S,this.h[2]=_,this.h[3]=s,this.h[4]=c,this.h[5]=b,this.h[6]=l,this.h[7]=u,this.h[8]=v,this.h[9]=M},Xf.prototype.finish=function(r,e){var t=new Uint16Array(10),f,a,i,x;if(this.leftover){for(x=this.leftover,this.buffer[x++]=1;x<16;x++)this.buffer[x]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(f=this.h[1]>>>13,this.h[1]&=8191,x=2;x<10;x++)this.h[x]+=f,f=this.h[x]>>>13,this.h[x]&=8191;for(this.h[0]+=f*5,f=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=f,f=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=f,t[0]=this.h[0]+5,f=t[0]>>>13,t[0]&=8191,x=1;x<10;x++)t[x]=this.h[x]+f,f=t[x]>>>13,t[x]&=8191;for(t[9]-=8192,a=(f^1)-1,x=0;x<10;x++)t[x]&=a;for(a=~a,x=0;x<10;x++)this.h[x]=this.h[x]&a|t[x];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,i=this.h[0]+this.pad[0],this.h[0]=i&65535,x=1;x<8;x++)i=(this.h[x]+this.pad[x]|0)+(i>>>16)|0,this.h[x]=i&65535;r[e+0]=this.h[0]>>>0&255,r[e+1]=this.h[0]>>>8&255,r[e+2]=this.h[1]>>>0&255,r[e+3]=this.h[1]>>>8&255,r[e+4]=this.h[2]>>>0&255,r[e+5]=this.h[2]>>>8&255,r[e+6]=this.h[3]>>>0&255,r[e+7]=this.h[3]>>>8&255,r[e+8]=this.h[4]>>>0&255,r[e+9]=this.h[4]>>>8&255,r[e+10]=this.h[5]>>>0&255,r[e+11]=this.h[5]>>>8&255,r[e+12]=this.h[6]>>>0&255,r[e+13]=this.h[6]>>>8&255,r[e+14]=this.h[7]>>>0&255,r[e+15]=this.h[7]>>>8&255},Xf.prototype.update=function(r,e,t){var f,a;if(this.leftover){for(a=16-this.leftover,a>t&&(a=t),f=0;f<a;f++)this.buffer[this.leftover+f]=r[e+f];if(t-=a,e+=a,this.leftover+=a,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(t>=16&&(a=t-t%16,this.blocks(r,e,a),e+=a,t-=a),t){for(f=0;f<t;f++)this.buffer[this.leftover+f]=r[e+f];this.leftover+=t}};function or(r,e,t,f,a,i){var x=new Xf(i);return x.update(t,f,a),x.finish(r,e),0}function Nr(r,e,t,f,a,i){var x=new Uint8Array(16);return or(x,0,t,f,a,i),Wf(r,e,x,0)}function sr(r,e,t,f,a){var i;if(t<32)return-1;for(xr(r,0,e,0,t,f,a),or(r,16,r,32,t-32,r),i=0;i<16;i++)r[i]=0;return 0}function cr(r,e,t,f,a){var i,x=new Uint8Array(32);if(t<32||(Lr(x,0,32,f,a),Nr(e,16,e,32,t-32,x)!==0))return-1;for(xr(r,0,e,0,t,f,a),i=0;i<32;i++)r[i]=0;return 0}function wf(r,e){var t;for(t=0;t<16;t++)r[t]=e[t]|0}function hr(r){var e,t,f=1;for(e=0;e<16;e++)t=r[e]+f+65535,f=Math.floor(t/65536),r[e]=t-f*65536;r[0]+=f-1+37*(f-1)}function If(r,e,t){for(var f,a=~(t-1),i=0;i<16;i++)f=a&(r[i]^e[i]),r[i]^=f,e[i]^=f}function jf(r,e){var t,f,a,i=o(),x=o();for(t=0;t<16;t++)x[t]=e[t];for(hr(x),hr(x),hr(x),f=0;f<2;f++){for(i[0]=x[0]-65517,t=1;t<15;t++)i[t]=x[t]-65535-(i[t-1]>>16&1),i[t-1]&=65535;i[15]=x[15]-32767-(i[14]>>16&1),a=i[15]>>16&1,i[14]&=65535,If(x,i,1-a)}for(t=0;t<16;t++)r[2*t]=x[t]&255,r[2*t+1]=x[t]>>8}function Dr(r,e){var t=new Uint8Array(32),f=new Uint8Array(32);return jf(t,r),jf(f,e),Lf(t,0,f,0)}function Fr(r){var e=new Uint8Array(32);return jf(e,r),e[0]&1}function lr(r,e){var t;for(t=0;t<16;t++)r[t]=e[2*t]+(e[2*t+1]<<8);r[15]&=32767}function pf(r,e,t){for(var f=0;f<16;f++)r[f]=e[f]+t[f]}function yf(r,e,t){for(var f=0;f<16;f++)r[f]=e[f]-t[f]}function K(r,e,t){var f,a,i=0,x=0,d=0,p=0,m=0,g=0,k=0,E=0,P=0,I=0,$=0,z=0,j=0,O=0,Y=0,A=0,C=0,w=0,U=0,S=0,_=0,s=0,c=0,b=0,l=0,u=0,v=0,M=0,R=0,L=0,W=0,n=t[0],D=t[1],H=t[2],G=t[3],N=t[4],q=t[5],Z=t[6],ef=t[7],J=t[8],ff=t[9],rf=t[10],tf=t[11],nf=t[12],sf=t[13],cf=t[14],hf=t[15];f=e[0],i+=f*n,x+=f*D,d+=f*H,p+=f*G,m+=f*N,g+=f*q,k+=f*Z,E+=f*ef,P+=f*J,I+=f*ff,$+=f*rf,z+=f*tf,j+=f*nf,O+=f*sf,Y+=f*cf,A+=f*hf,f=e[1],x+=f*n,d+=f*D,p+=f*H,m+=f*G,g+=f*N,k+=f*q,E+=f*Z,P+=f*ef,I+=f*J,$+=f*ff,z+=f*rf,j+=f*tf,O+=f*nf,Y+=f*sf,A+=f*cf,C+=f*hf,f=e[2],d+=f*n,p+=f*D,m+=f*H,g+=f*G,k+=f*N,E+=f*q,P+=f*Z,I+=f*ef,$+=f*J,z+=f*ff,j+=f*rf,O+=f*tf,Y+=f*nf,A+=f*sf,C+=f*cf,w+=f*hf,f=e[3],p+=f*n,m+=f*D,g+=f*H,k+=f*G,E+=f*N,P+=f*q,I+=f*Z,$+=f*ef,z+=f*J,j+=f*ff,O+=f*rf,Y+=f*tf,A+=f*nf,C+=f*sf,w+=f*cf,U+=f*hf,f=e[4],m+=f*n,g+=f*D,k+=f*H,E+=f*G,P+=f*N,I+=f*q,$+=f*Z,z+=f*ef,j+=f*J,O+=f*ff,Y+=f*rf,A+=f*tf,C+=f*nf,w+=f*sf,U+=f*cf,S+=f*hf,f=e[5],g+=f*n,k+=f*D,E+=f*H,P+=f*G,I+=f*N,$+=f*q,z+=f*Z,j+=f*ef,O+=f*J,Y+=f*ff,A+=f*rf,C+=f*tf,w+=f*nf,U+=f*sf,S+=f*cf,_+=f*hf,f=e[6],k+=f*n,E+=f*D,P+=f*H,I+=f*G,$+=f*N,z+=f*q,j+=f*Z,O+=f*ef,Y+=f*J,A+=f*ff,C+=f*rf,w+=f*tf,U+=f*nf,S+=f*sf,_+=f*cf,s+=f*hf,f=e[7],E+=f*n,P+=f*D,I+=f*H,$+=f*G,z+=f*N,j+=f*q,O+=f*Z,Y+=f*ef,A+=f*J,C+=f*ff,w+=f*rf,U+=f*tf,S+=f*nf,_+=f*sf,s+=f*cf,c+=f*hf,f=e[8],P+=f*n,I+=f*D,$+=f*H,z+=f*G,j+=f*N,O+=f*q,Y+=f*Z,A+=f*ef,C+=f*J,w+=f*ff,U+=f*rf,S+=f*tf,_+=f*nf,s+=f*sf,c+=f*cf,b+=f*hf,f=e[9],I+=f*n,$+=f*D,z+=f*H,j+=f*G,O+=f*N,Y+=f*q,A+=f*Z,C+=f*ef,w+=f*J,U+=f*ff,S+=f*rf,_+=f*tf,s+=f*nf,c+=f*sf,b+=f*cf,l+=f*hf,f=e[10],$+=f*n,z+=f*D,j+=f*H,O+=f*G,Y+=f*N,A+=f*q,C+=f*Z,w+=f*ef,U+=f*J,S+=f*ff,_+=f*rf,s+=f*tf,c+=f*nf,b+=f*sf,l+=f*cf,u+=f*hf,f=e[11],z+=f*n,j+=f*D,O+=f*H,Y+=f*G,A+=f*N,C+=f*q,w+=f*Z,U+=f*ef,S+=f*J,_+=f*ff,s+=f*rf,c+=f*tf,b+=f*nf,l+=f*sf,u+=f*cf,v+=f*hf,f=e[12],j+=f*n,O+=f*D,Y+=f*H,A+=f*G,C+=f*N,w+=f*q,U+=f*Z,S+=f*ef,_+=f*J,s+=f*ff,c+=f*rf,b+=f*tf,l+=f*nf,u+=f*sf,v+=f*cf,M+=f*hf,f=e[13],O+=f*n,Y+=f*D,A+=f*H,C+=f*G,w+=f*N,U+=f*q,S+=f*Z,_+=f*ef,s+=f*J,c+=f*ff,b+=f*rf,l+=f*tf,u+=f*nf,v+=f*sf,M+=f*cf,R+=f*hf,f=e[14],Y+=f*n,A+=f*D,C+=f*H,w+=f*G,U+=f*N,S+=f*q,_+=f*Z,s+=f*ef,c+=f*J,b+=f*ff,l+=f*rf,u+=f*tf,v+=f*nf,M+=f*sf,R+=f*cf,L+=f*hf,f=e[15],A+=f*n,C+=f*D,w+=f*H,U+=f*G,S+=f*N,_+=f*q,s+=f*Z,c+=f*ef,b+=f*J,l+=f*ff,u+=f*rf,v+=f*tf,M+=f*nf,R+=f*sf,L+=f*cf,W+=f*hf,i+=38*C,x+=38*w,d+=38*U,p+=38*S,m+=38*_,g+=38*s,k+=38*c,E+=38*b,P+=38*l,I+=38*u,$+=38*v,z+=38*M,j+=38*R,O+=38*L,Y+=38*W,a=1,f=i+a+65535,a=Math.floor(f/65536),i=f-a*65536,f=x+a+65535,a=Math.floor(f/65536),x=f-a*65536,f=d+a+65535,a=Math.floor(f/65536),d=f-a*65536,f=p+a+65535,a=Math.floor(f/65536),p=f-a*65536,f=m+a+65535,a=Math.floor(f/65536),m=f-a*65536,f=g+a+65535,a=Math.floor(f/65536),g=f-a*65536,f=k+a+65535,a=Math.floor(f/65536),k=f-a*65536,f=E+a+65535,a=Math.floor(f/65536),E=f-a*65536,f=P+a+65535,a=Math.floor(f/65536),P=f-a*65536,f=I+a+65535,a=Math.floor(f/65536),I=f-a*65536,f=$+a+65535,a=Math.floor(f/65536),$=f-a*65536,f=z+a+65535,a=Math.floor(f/65536),z=f-a*65536,f=j+a+65535,a=Math.floor(f/65536),j=f-a*65536,f=O+a+65535,a=Math.floor(f/65536),O=f-a*65536,f=Y+a+65535,a=Math.floor(f/65536),Y=f-a*65536,f=A+a+65535,a=Math.floor(f/65536),A=f-a*65536,i+=a-1+37*(a-1),a=1,f=i+a+65535,a=Math.floor(f/65536),i=f-a*65536,f=x+a+65535,a=Math.floor(f/65536),x=f-a*65536,f=d+a+65535,a=Math.floor(f/65536),d=f-a*65536,f=p+a+65535,a=Math.floor(f/65536),p=f-a*65536,f=m+a+65535,a=Math.floor(f/65536),m=f-a*65536,f=g+a+65535,a=Math.floor(f/65536),g=f-a*65536,f=k+a+65535,a=Math.floor(f/65536),k=f-a*65536,f=E+a+65535,a=Math.floor(f/65536),E=f-a*65536,f=P+a+65535,a=Math.floor(f/65536),P=f-a*65536,f=I+a+65535,a=Math.floor(f/65536),I=f-a*65536,f=$+a+65535,a=Math.floor(f/65536),$=f-a*65536,f=z+a+65535,a=Math.floor(f/65536),z=f-a*65536,f=j+a+65535,a=Math.floor(f/65536),j=f-a*65536,f=O+a+65535,a=Math.floor(f/65536),O=f-a*65536,f=Y+a+65535,a=Math.floor(f/65536),Y=f-a*65536,f=A+a+65535,a=Math.floor(f/65536),A=f-a*65536,i+=a-1+37*(a-1),r[0]=i,r[1]=x,r[2]=d,r[3]=p,r[4]=m,r[5]=g,r[6]=k,r[7]=E,r[8]=P,r[9]=I,r[10]=$,r[11]=z,r[12]=j,r[13]=O,r[14]=Y,r[15]=A}function vf(r,e){K(r,e,e)}function Kr(r,e){var t=o(),f;for(f=0;f<16;f++)t[f]=e[f];for(f=253;f>=0;f--)vf(t,t),f!==2&&f!==4&&K(t,t,e);for(f=0;f<16;f++)r[f]=t[f]}function qr(r,e){var t=o(),f;for(f=0;f<16;f++)t[f]=e[f];for(f=250;f>=0;f--)vf(t,t),f!==1&&K(t,t,e);for(f=0;f<16;f++)r[f]=t[f]}function Vf(r,e,t){var f=new Uint8Array(32),a=new Float64Array(80),i,x,d=o(),p=o(),m=o(),g=o(),k=o(),E=o();for(x=0;x<31;x++)f[x]=e[x];for(f[31]=e[31]&127|64,f[0]&=248,lr(a,t),x=0;x<16;x++)p[x]=a[x],g[x]=d[x]=m[x]=0;for(d[0]=g[0]=1,x=254;x>=0;--x)i=f[x>>>3]>>>(x&7)&1,If(d,p,i),If(m,g,i),pf(k,d,m),yf(d,d,m),pf(m,p,g),yf(p,p,g),vf(g,k),vf(E,d),K(d,m,d),K(m,p,k),pf(k,d,m),yf(d,d,m),vf(p,d),yf(m,g,E),K(d,m,Gf),pf(d,d,g),K(m,m,d),K(d,g,E),K(g,p,a),vf(p,k),If(d,p,i),If(m,g,i);for(x=0;x<16;x++)a[x+16]=d[x],a[x+32]=m[x],a[x+48]=p[x],a[x+64]=g[x];var P=a.subarray(32),I=a.subarray(16);return Kr(P,P),K(I,I,P),jf(r,I),0}function Jf(r,e){return Vf(r,e,F)}function Zr(r,e){return B(e,32),Jf(r,e)}function Qf(r,e,t){var f=new Uint8Array(32);return Vf(f,t,e),Sf(r,T,f,mf)}var kr=sr,wt=cr;function Et(r,e,t,f,a,i){var x=new Uint8Array(32);return Qf(x,a,i),kr(r,e,t,f,x)}function At(r,e,t,f,a,i){var x=new Uint8Array(32);return Qf(x,a,i),wt(r,e,t,f,x)}var Hr=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Gr(r,e,t,f){for(var a=new Int32Array(16),i=new Int32Array(16),x,d,p,m,g,k,E,P,I,$,z,j,O,Y,A,C,w,U,S,_,s,c,b,l,u,v,M=r[0],R=r[1],L=r[2],W=r[3],n=r[4],D=r[5],H=r[6],G=r[7],N=e[0],q=e[1],Z=e[2],ef=e[3],J=e[4],ff=e[5],rf=e[6],tf=e[7],nf=0;f>=128;){for(S=0;S<16;S++)_=8*S+nf,a[S]=t[_+0]<<24|t[_+1]<<16|t[_+2]<<8|t[_+3],i[S]=t[_+4]<<24|t[_+5]<<16|t[_+6]<<8|t[_+7];for(S=0;S<80;S++)if(x=M,d=R,p=L,m=W,g=n,k=D,E=H,P=G,I=N,$=q,z=Z,j=ef,O=J,Y=ff,A=rf,C=tf,s=G,c=tf,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=(n>>>14|J<<18)^(n>>>18|J<<14)^(J>>>9|n<<23),c=(J>>>14|n<<18)^(J>>>18|n<<14)^(n>>>9|J<<23),b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,s=n&D^~n&H,c=J&ff^~J&rf,b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,s=Hr[S*2],c=Hr[S*2+1],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,s=a[S%16],c=i[S%16],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,w=u&65535|v<<16,U=b&65535|l<<16,s=w,c=U,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=(M>>>28|N<<4)^(N>>>2|M<<30)^(N>>>7|M<<25),c=(N>>>28|M<<4)^(M>>>2|N<<30)^(M>>>7|N<<25),b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,s=M&R^M&L^R&L,c=N&q^N&Z^q&Z,b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,P=u&65535|v<<16,C=b&65535|l<<16,s=m,c=j,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=w,c=U,b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,m=u&65535|v<<16,j=b&65535|l<<16,R=x,L=d,W=p,n=m,D=g,H=k,G=E,M=P,q=I,Z=$,ef=z,J=j,ff=O,rf=Y,tf=A,N=C,S%16===15)for(_=0;_<16;_++)s=a[_],c=i[_],b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=a[(_+9)%16],c=i[(_+9)%16],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,w=a[(_+1)%16],U=i[(_+1)%16],s=(w>>>1|U<<31)^(w>>>8|U<<24)^w>>>7,c=(U>>>1|w<<31)^(U>>>8|w<<24)^(U>>>7|w<<25),b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,w=a[(_+14)%16],U=i[(_+14)%16],s=(w>>>19|U<<13)^(U>>>29|w<<3)^w>>>6,c=(U>>>19|w<<13)^(w>>>29|U<<3)^(U>>>6|w<<26),b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,a[_]=u&65535|v<<16,i[_]=b&65535|l<<16;s=M,c=N,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[0],c=e[0],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[0]=M=u&65535|v<<16,e[0]=N=b&65535|l<<16,s=R,c=q,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[1],c=e[1],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[1]=R=u&65535|v<<16,e[1]=q=b&65535|l<<16,s=L,c=Z,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[2],c=e[2],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[2]=L=u&65535|v<<16,e[2]=Z=b&65535|l<<16,s=W,c=ef,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[3],c=e[3],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[3]=W=u&65535|v<<16,e[3]=ef=b&65535|l<<16,s=n,c=J,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[4],c=e[4],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[4]=n=u&65535|v<<16,e[4]=J=b&65535|l<<16,s=D,c=ff,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[5],c=e[5],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[5]=D=u&65535|v<<16,e[5]=ff=b&65535|l<<16,s=H,c=rf,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[6],c=e[6],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[6]=H=u&65535|v<<16,e[6]=rf=b&65535|l<<16,s=G,c=tf,b=c&65535,l=c>>>16,u=s&65535,v=s>>>16,s=r[7],c=e[7],b+=c&65535,l+=c>>>16,u+=s&65535,v+=s>>>16,l+=b>>>16,u+=l>>>16,v+=u>>>16,r[7]=G=u&65535|v<<16,e[7]=tf=b&65535|l<<16,nf+=128,f-=128}return f}function Cf(r,e,t){var f=new Int32Array(8),a=new Int32Array(8),i=new Uint8Array(256),x,d=t;for(f[0]=1779033703,f[1]=3144134277,f[2]=1013904242,f[3]=2773480762,f[4]=1359893119,f[5]=2600822924,f[6]=528734635,f[7]=1541459225,a[0]=4089235720,a[1]=2227873595,a[2]=4271175723,a[3]=1595750129,a[4]=2917565137,a[5]=725511199,a[6]=4215389547,a[7]=327033209,Gr(f,a,e,t),t%=128,x=0;x<t;x++)i[x]=e[d-t+x];for(i[t]=128,t=256-128*(t<112?1:0),i[t-9]=0,Mf(i,t-8,d/536870912|0,d<<3),Gr(f,a,i,t),x=0;x<8;x++)Mf(r,8*x,f[x],a[x]);return 0}function fr(r,e){var t=o(),f=o(),a=o(),i=o(),x=o(),d=o(),p=o(),m=o(),g=o();yf(t,r[1],r[0]),yf(g,e[1],e[0]),K(t,t,g),pf(f,r[0],r[1]),pf(g,e[0],e[1]),K(f,f,g),K(a,r[3],e[3]),K(a,a,Rf),K(i,r[2],e[2]),pf(i,i,i),yf(x,f,t),yf(d,i,a),pf(p,i,a),pf(m,f,t),K(r[0],x,d),K(r[1],m,p),K(r[2],p,d),K(r[3],x,m)}function Xr(r,e,t){var f;for(f=0;f<4;f++)If(r[f],e[f],t)}function dr(r,e){var t=o(),f=o(),a=o();Kr(a,e[2]),K(t,e[0],a),K(f,e[1],a),jf(r,f),r[31]^=Fr(t)<<7}function ur(r,e,t){var f,a;for(wf(r[0],Q),wf(r[1],xf),wf(r[2],xf),wf(r[3],Q),a=255;a>=0;--a)f=t[a/8|0]>>(a&7)&1,Xr(r,e,f),fr(e,r),fr(r,r),Xr(r,e,f)}function rr(r,e){var t=[o(),o(),o(),o()];wf(t[0],V),wf(t[1],Tf),wf(t[2],xf),K(t[3],V,Tf),ur(r,t,e)}function br(r,e,t){var f=new Uint8Array(64),a=[o(),o(),o(),o()],i;for(t||B(e,32),Cf(f,e,32),f[0]&=248,f[31]&=127,f[31]|=64,rr(a,f),dr(r,a),i=0;i<32;i++)e[i+32]=r[i];return 0}var tr=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function vr(r,e){var t,f,a,i;for(f=63;f>=32;--f){for(t=0,a=f-32,i=f-12;a<i;++a)e[a]+=t-16*e[f]*tr[a-(f-32)],t=Math.floor((e[a]+128)/256),e[a]-=t*256;e[a]+=t,e[f]=0}for(t=0,a=0;a<32;a++)e[a]+=t-(e[31]>>4)*tr[a],t=e[a]>>8,e[a]&=255;for(a=0;a<32;a++)e[a]-=t*tr[a];for(f=0;f<32;f++)e[f+1]+=e[f]>>8,r[f]=e[f]&255}function pr(r){var e=new Float64Array(64),t;for(t=0;t<64;t++)e[t]=r[t];for(t=0;t<64;t++)r[t]=0;vr(r,e)}function Vr(r,e,t,f){var a=new Uint8Array(64),i=new Uint8Array(64),x=new Uint8Array(64),d,p,m=new Float64Array(64),g=[o(),o(),o(),o()];Cf(a,f,32),a[0]&=248,a[31]&=127,a[31]|=64;var k=t+64;for(d=0;d<t;d++)r[64+d]=e[d];for(d=0;d<32;d++)r[32+d]=a[32+d];for(Cf(x,r.subarray(32),t+32),pr(x),rr(g,x),dr(r,g),d=32;d<64;d++)r[d]=f[d];for(Cf(i,r,t+64),pr(i),d=0;d<64;d++)m[d]=0;for(d=0;d<32;d++)m[d]=x[d];for(d=0;d<32;d++)for(p=0;p<32;p++)m[d+p]+=i[d]*a[p];return vr(r.subarray(32),m),k}function Ut(r,e){var t=o(),f=o(),a=o(),i=o(),x=o(),d=o(),p=o();return wf(r[2],xf),lr(r[1],e),vf(a,r[1]),K(i,a,Uf),yf(a,a,r[2]),pf(i,r[2],i),vf(x,i),vf(d,x),K(p,d,x),K(t,p,a),K(t,t,i),qr(t,t),K(t,t,a),K(t,t,i),K(t,t,i),K(r[0],t,i),vf(f,r[0]),K(f,f,i),Dr(f,a)&&K(r[0],r[0],bf),vf(f,r[0]),K(f,f,i),Dr(f,a)?-1:(Fr(r[0])===e[31]>>7&&yf(r[0],Q,r[0]),K(r[3],r[0],r[1]),0)}function yr(r,e,t,f){var a,i=new Uint8Array(32),x=new Uint8Array(64),d=[o(),o(),o(),o()],p=[o(),o(),o(),o()];if(t<64||Ut(p,f))return-1;for(a=0;a<t;a++)r[a]=e[a];for(a=0;a<32;a++)r[a+32]=f[a];if(Cf(x,r,t),pr(x),ur(d,p,x),rr(p,e.subarray(32)),fr(d,p),dr(i,d),t-=64,Lf(e,0,i,0)){for(a=0;a<t;a++)r[a]=0;return-1}for(a=0;a<t;a++)r[a]=e[a+64];return t}var _r=32,er=24,Df=32,Yf=16,Ff=32,ar=32,Kf=32,qf=32,gr=32,Jr=er,St=Df,mt=Yf,Ef=64,Bf=32,Of=64,wr=32,Er=64;h.lowlevel={crypto_core_hsalsa20:Sf,crypto_stream_xor:xr,crypto_stream:Lr,crypto_stream_salsa20_xor:Rr,crypto_stream_salsa20:Wr,crypto_onetimeauth:or,crypto_onetimeauth_verify:Nr,crypto_verify_16:Wf,crypto_verify_32:Lf,crypto_secretbox:sr,crypto_secretbox_open:cr,crypto_scalarmult:Vf,crypto_scalarmult_base:Jf,crypto_box_beforenm:Qf,crypto_box_afternm:kr,crypto_box:Et,crypto_box_open:At,crypto_box_keypair:Zr,crypto_hash:Cf,crypto_sign:Vr,crypto_sign_keypair:br,crypto_sign_open:yr,crypto_secretbox_KEYBYTES:_r,crypto_secretbox_NONCEBYTES:er,crypto_secretbox_ZEROBYTES:Df,crypto_secretbox_BOXZEROBYTES:Yf,crypto_scalarmult_BYTES:Ff,crypto_scalarmult_SCALARBYTES:ar,crypto_box_PUBLICKEYBYTES:Kf,crypto_box_SECRETKEYBYTES:qf,crypto_box_BEFORENMBYTES:gr,crypto_box_NONCEBYTES:Jr,crypto_box_ZEROBYTES:St,crypto_box_BOXZEROBYTES:mt,crypto_sign_BYTES:Ef,crypto_sign_PUBLICKEYBYTES:Bf,crypto_sign_SECRETKEYBYTES:Of,crypto_sign_SEEDBYTES:wr,crypto_hash_BYTES:Er,gf:o,D:Uf,L:tr,pack25519:jf,unpack25519:lr,M:K,A:pf,S:vf,Z:yf,pow2523:qr,add:fr,set25519:wf,modL:vr,scalarmult:ur,scalarbase:rr};function Qr(r,e){if(r.length!==_r)throw new Error("bad key size");if(e.length!==er)throw new Error("bad nonce size")}function Ct(r,e){if(r.length!==Kf)throw new Error("bad public key size");if(e.length!==qf)throw new Error("bad secret key size")}function uf(){for(var r=0;r<arguments.length;r++)if(!(arguments[r]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function ft(r){for(var e=0;e<r.length;e++)r[e]=0}h.randomBytes=function(r){var e=new Uint8Array(r);return B(e,r),e},h.secretbox=function(r,e,t){uf(r,e,t),Qr(t,e);for(var f=new Uint8Array(Df+r.length),a=new Uint8Array(f.length),i=0;i<r.length;i++)f[i+Df]=r[i];return sr(a,f,f.length,e,t),a.subarray(Yf)},h.secretbox.open=function(r,e,t){uf(r,e,t),Qr(t,e);for(var f=new Uint8Array(Yf+r.length),a=new Uint8Array(f.length),i=0;i<r.length;i++)f[i+Yf]=r[i];return f.length<32||cr(a,f,f.length,e,t)!==0?null:a.subarray(Df)},h.secretbox.keyLength=_r,h.secretbox.nonceLength=er,h.secretbox.overheadLength=Yf,h.scalarMult=function(r,e){if(uf(r,e),r.length!==ar)throw new Error("bad n size");if(e.length!==Ff)throw new Error("bad p size");var t=new Uint8Array(Ff);return Vf(t,r,e),t},h.scalarMult.base=function(r){if(uf(r),r.length!==ar)throw new Error("bad n size");var e=new Uint8Array(Ff);return Jf(e,r),e},h.scalarMult.scalarLength=ar,h.scalarMult.groupElementLength=Ff,h.box=function(r,e,t,f){var a=h.box.before(t,f);return h.secretbox(r,e,a)},h.box.before=function(r,e){uf(r,e),Ct(r,e);var t=new Uint8Array(gr);return Qf(t,r,e),t},h.box.after=h.secretbox,h.box.open=function(r,e,t,f){var a=h.box.before(t,f);return h.secretbox.open(r,e,a)},h.box.open.after=h.secretbox.open,h.box.keyPair=function(){var r=new Uint8Array(Kf),e=new Uint8Array(qf);return Zr(r,e),{publicKey:r,secretKey:e}},h.box.keyPair.fromSecretKey=function(r){if(uf(r),r.length!==qf)throw new Error("bad secret key size");var e=new Uint8Array(Kf);return Jf(e,r),{publicKey:e,secretKey:new Uint8Array(r)}},h.box.publicKeyLength=Kf,h.box.secretKeyLength=qf,h.box.sharedKeyLength=gr,h.box.nonceLength=Jr,h.box.overheadLength=h.secretbox.overheadLength,h.sign=function(r,e){if(uf(r,e),e.length!==Of)throw new Error("bad secret key size");var t=new Uint8Array(Ef+r.length);return Vr(t,r,r.length,e),t},h.sign.open=function(r,e){if(uf(r,e),e.length!==Bf)throw new Error("bad public key size");var t=new Uint8Array(r.length),f=yr(t,r,r.length,e);if(f<0)return null;for(var a=new Uint8Array(f),i=0;i<a.length;i++)a[i]=t[i];return a},h.sign.detached=function(r,e){for(var t=h.sign(r,e),f=new Uint8Array(Ef),a=0;a<f.length;a++)f[a]=t[a];return f},h.sign.detached.verify=function(r,e,t){if(uf(r,e,t),e.length!==Ef)throw new Error("bad signature size");if(t.length!==Bf)throw new Error("bad public key size");var f=new Uint8Array(Ef+r.length),a=new Uint8Array(Ef+r.length),i;for(i=0;i<Ef;i++)f[i]=e[i];for(i=0;i<r.length;i++)f[i+Ef]=r[i];return yr(a,f,f.length,t)>=0},h.sign.keyPair=function(){var r=new Uint8Array(Bf),e=new Uint8Array(Of);return br(r,e),{publicKey:r,secretKey:e}},h.sign.keyPair.fromSecretKey=function(r){if(uf(r),r.length!==Of)throw new Error("bad secret key size");for(var e=new Uint8Array(Bf),t=0;t<e.length;t++)e[t]=r[32+t];return{publicKey:e,secretKey:new Uint8Array(r)}},h.sign.keyPair.fromSeed=function(r){if(uf(r),r.length!==wr)throw new Error("bad seed size");for(var e=new Uint8Array(Bf),t=new Uint8Array(Of),f=0;f<32;f++)t[f]=r[f];return br(e,t,!0),{publicKey:e,secretKey:t}},h.sign.publicKeyLength=Bf,h.sign.secretKeyLength=Of,h.sign.seedLength=wr,h.sign.signatureLength=Ef,h.hash=function(r){uf(r);var e=new Uint8Array(Er);return Cf(e,r,r.length),e},h.hash.hashLength=Er,h.verify=function(r,e){return uf(r,e),r.length===0||e.length===0||r.length!==e.length?!1:Pf(r,0,e,0,r.length)===0},h.setPRNG=function(r){B=r},(function(){var r=typeof self<"u"?self.crypto||self.msCrypto:null;if(r&&r.getRandomValues){var e=65536;h.setPRNG(function(t,f){var a,i=new Uint8Array(f);for(a=0;a<f;a+=e)r.getRandomValues(i.subarray(a,a+Math.min(f-a,e)));for(a=0;a<f;a++)t[a]=i[a];ft(i)})}else typeof Rt<"u"&&(r=Nt,r&&r.randomBytes&&h.setPRNG(function(t,f){var a,i=r.randomBytes(f);for(a=0;a<f;a++)t[a]=i[a];ft(i)}))})()})(y.exports?y.exports:self.nacl=self.nacl||{})})(Ar)),Ar.exports}Dt();var ir={exports:{}},Ft=ir.exports,et;function Kt(){return et||(et=1,(function(y){(function(h,o){y.exports?y.exports=o():(h.nacl||(h.nacl={}),h.nacl.util=o())})(Ft,function(){var h={};function o(B){if(!/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(B))throw new TypeError("invalid encoding")}return h.decodeUTF8=function(B){if(typeof B!="string")throw new TypeError("expected string");var T,F=unescape(encodeURIComponent(B)),Q=new Uint8Array(F.length);for(T=0;T<F.length;T++)Q[T]=F.charCodeAt(T);return Q},h.encodeUTF8=function(B){var T,F=[];for(T=0;T<B.length;T++)F.push(String.fromCharCode(B[T]));return decodeURIComponent(escape(F.join("")))},typeof atob>"u"?typeof Buffer.from<"u"?(h.encodeBase64=function(B){return Buffer.from(B).toString("base64")},h.decodeBase64=function(B){return o(B),new Uint8Array(Array.prototype.slice.call(Buffer.from(B,"base64"),0))}):(h.encodeBase64=function(B){return new Buffer(B).toString("base64")},h.decodeBase64=function(B){return o(B),new Uint8Array(Array.prototype.slice.call(new Buffer(B,"base64"),0))}):(h.encodeBase64=function(B){var T,F=[],Q=B.length;for(T=0;T<Q;T++)F.push(String.fromCharCode(B[T]));return btoa(F.join(""))},h.decodeBase64=function(B){o(B);var T,F=atob(B),Q=new Uint8Array(F.length);for(T=0;T<F.length;T++)Q[T]=F.charCodeAt(T);return Q}),h})})(ir)),ir.exports}Kt();var Sr=(y=>(y.WALLET_KERNEL="wallet-kernel",y.PARTICIPANT="participant",y.FIREBLOCKS="fireblocks",y.BLOCKDAEMON="blockdaemon",y))(Sr||{}),qt=xt({provider:Tt(Sr),properties:Bt(Pt(),Mt()).optional()});xt({drivers:It(qt).optional()});var Zt=Object.create,mr=Object.defineProperty,kt=Object.getOwnPropertyDescriptor,ot=(y,h)=>(h=Symbol[y])?h:Symbol.for("Symbol."+y),$f=y=>{throw TypeError(y)},Ht=(y,h,o)=>h in y?mr(y,h,{enumerable:!0,configurable:!0,writable:!0,value:o}):y[h]=o,at=(y,h)=>mr(y,"name",{value:h,configurable:!0}),Gt=y=>[,,,Zt(y?.[ot("metadata")]??null)],st=["class","method","getter","setter","accessor","field","value","get","set"],Hf=y=>y!==void 0&&typeof y!="function"?$f("Function expected"):y,Xt=(y,h,o,B,T)=>({kind:st[y],name:h,metadata:B,addInitializer:F=>o._?$f("Already initialized"):T.push(Hf(F||null))}),Vt=(y,h)=>Ht(h,ot("metadata"),y[3]),af=(y,h,o,B)=>{for(var T=0,F=y[h>>1],Q=F&&F.length;T<Q;T++)h&1?F[T].call(o):B=F[T].call(o,B);return B},_f=(y,h,o,B,T,F)=>{var Q,xf,Gf,Uf,Rf,V=h&7,Tf=!!(h&8),bf=!!(h&16),Mf=V>3?y.length+1:V?Tf?1:2:0,Pf=st[V+5],Wf=V>3&&(y[Mf-1]=[]),Lf=y[Mf]||(y[Mf]=[]),df=V&&(!bf&&!Tf&&(T=T.prototype),V<5&&(V>3||!bf)&&kt(V<4?T:{get[o](){return nt(this,F)},set[o](of){return it(this,F,of)}},o));V?bf&&V<4&&at(F,(V>2?"set ":V>1?"get ":"")+o):at(T,o);for(var Nf=B.length-1;Nf>=0;Nf--)Uf=Xt(V,o,Gf={},y[3],Lf),V&&(Uf.static=Tf,Uf.private=bf,Rf=Uf.access={has:bf?of=>Jt(T,of):of=>o in of},V^3&&(Rf.get=bf?of=>(V^1?nt:Qt)(of,T,V^4?F:df.get):of=>of[o]),V>2&&(Rf.set=bf?(of,Sf)=>it(of,T,Sf,V^4?F:df.set):(of,Sf)=>of[o]=Sf)),xf=(0,B[Nf])(V?V<4?bf?F:df[Pf]:V>4?void 0:{get:df.get,set:df.set}:T,Uf),Gf._=1,V^4||xf===void 0?Hf(xf)&&(V>4?Wf.unshift(xf):V?bf?F=xf:df[Pf]=xf:T=xf):typeof xf!="object"||xf===null?$f("Object expected"):(Hf(Q=xf.get)&&(df.get=Q),Hf(Q=xf.set)&&(df.set=Q),Hf(Q=xf.init)&&Wf.unshift(Q));return V||Vt(y,T),df&&mr(T,o,df),bf?V^4?F:df:T},Cr=(y,h,o)=>h.has(y)||$f("Cannot "+o),Jt=(y,h)=>Object(h)!==h?$f('Cannot use the "in" operator on this value'):y.has(h),nt=(y,h,o)=>(Cr(y,h,"read from private field"),o?o.call(y):h.get(y)),gf=(y,h,o)=>h.has(y)?$f("Cannot add the same private member more than once"):h instanceof WeakSet?h.add(y):h.set(y,o),it=(y,h,o,B)=>(Cr(y,h,"write to private field"),B?B.call(y,o):h.set(y,o),o),Qt=(y,h,o)=>(Cr(y,h,"access private method"),o),ct,ht,lt,dt,ut,bt,vt,pt,yt,_t,Ur,gt,X,Br,Tr,Mr,Pr,Ir,jr,Yr,Or,zr,$r;gt=[Ot("user-ui-wallets")];class lf extends(Ur=Yt,_t=[zf()],yt=[zf()],pt=[zf()],vt=[zf()],bt=[zf()],ut=[zf()],dt=[nr("#party-id-hint")],lt=[nr("#signing-provider-id")],ht=[nr("#network-id")],ct=[nr("#primary")],Ur){constructor(){super(...arguments),gf(this,Br,af(X,8,this,Object.values(Sr))),af(X,11,this),gf(this,Tr,af(X,12,this,[])),af(X,15,this),gf(this,Mr,af(X,16,this,[])),af(X,19,this),gf(this,Pr,af(X,20,this)),af(X,23,this),gf(this,Ir,af(X,24,this,!1)),af(X,27,this),gf(this,jr,af(X,28,this,!1)),af(X,31,this),gf(this,Yr,af(X,32,this,null)),af(X,35,this),gf(this,Or,af(X,36,this,null)),af(X,39,this),gf(this,zr,af(X,40,this,null)),af(X,43,this),gf(this,$r,af(X,44,this,null)),af(X,47,this)}render(){const h=this.wallets.reduce((o,B)=>(B.status==="allocated"?o.verifiedWallets.push(B):o.unverifiedWallets.push(B),o),{verifiedWallets:[],unverifiedWallets:[]});return Af`
|
|
2
2
|
<div class="header">
|
|
3
3
|
<h1>Wallets</h1>
|
|
4
4
|
<button
|
|
@@ -140,7 +140,7 @@ import{o as xt,r as Bt,n as Tt,f as Pt,d as Mt,g as It,x as Af,c as Zf,s as kf,w
|
|
|
140
140
|
</div>
|
|
141
141
|
`)}
|
|
142
142
|
</div>
|
|
143
|
-
`}connectedCallback(){super.connectedCallback(),this.updateWallets(),this.updateNetworks()}async updateNetworks(){(await Zf(kf.accessToken.get())).request("listNetworks").then(({networks:o})=>{this.networks=o.map(B=>B.id)})}async updateWallets(){(await Zf(kf.accessToken.get())).request("listWallets",[]).then(o=>{this.wallets=o||[]})}async _setPrimary(h){await(await Zf(kf.accessToken.get())).request("setPrimaryWallet",{partyId:h.partyId}),this.updateWallets()}_copyPartyId(h){navigator.clipboard.writeText(h)}async _onCreateWalletSubmit(h){h.preventDefault(),this.loading=!0;const o=this._partyHintInput?.value||"",B=this._primaryCheckbox?.checked||!1,T=this._signingProviderSelect?.value||"",F=this._networkSelect?.value||"";try{const Q={primary:B,partyHint:o,networkId:F,signingProviderId:T};await(await Zf(kf.accessToken.get())).request("createWallet",Q)}catch(Q){rt(Q)}this.loading=!1,this._partyHintInput&&(this._partyHintInput.value=""),this.updateWallets()}async _allocateParty(h){this.loading=!0;try{await(await Zf(kf.accessToken.get())).request("createWallet",{primary:h.primary,partyHint:h.hint,networkId:h.networkId,signingProviderId:h.signingProviderId,signingProviderContext:{partyId:h.partyId,externalTxId:h.externalTxId||"",topologyTransactions:h.topologyTransactions||"",namespace:h.namespace}})}catch(o){rt(o)}this.loading=!1,this.updateWallets()}}X=Gt(Ur);Br=new WeakMap;Tr=new WeakMap;
|
|
143
|
+
`}connectedCallback(){super.connectedCallback(),this.updateWallets(),this.updateNetworks()}async updateNetworks(){(await Zf(kf.accessToken.get())).request("listNetworks").then(({networks:o})=>{this.networks=o.map(B=>B.id)})}async updateWallets(){(await Zf(kf.accessToken.get())).request("listWallets",[]).then(o=>{this.wallets=o||[]})}async _setPrimary(h){await(await Zf(kf.accessToken.get())).request("setPrimaryWallet",{partyId:h.partyId}),this.updateWallets()}_copyPartyId(h){navigator.clipboard.writeText(h)}async _onCreateWalletSubmit(h){h.preventDefault(),this.loading=!0;const o=this._partyHintInput?.value||"",B=this._primaryCheckbox?.checked||!1,T=this._signingProviderSelect?.value||"",F=this._networkSelect?.value||"";try{const Q={primary:B,partyHint:o,networkId:F,signingProviderId:T};await(await Zf(kf.accessToken.get())).request("createWallet",Q)}catch(Q){rt(Q)}this.loading=!1,this._partyHintInput&&(this._partyHintInput.value=""),this.updateWallets()}async _allocateParty(h){this.loading=!0;try{await(await Zf(kf.accessToken.get())).request("createWallet",{primary:h.primary,partyHint:h.hint,networkId:h.networkId,signingProviderId:h.signingProviderId,signingProviderContext:{partyId:h.partyId,externalTxId:h.externalTxId||"",topologyTransactions:h.topologyTransactions||"",namespace:h.namespace}})}catch(o){rt(o)}this.loading=!1,this.updateWallets()}}X=Gt(Ur);Br=new WeakMap;Tr=new WeakMap;Mr=new WeakMap;Pr=new WeakMap;Ir=new WeakMap;jr=new WeakMap;Yr=new WeakMap;Or=new WeakMap;zr=new WeakMap;$r=new WeakMap;_f(X,4,"signingProviders",_t,lf,Br);_f(X,4,"networks",yt,lf,Tr);_f(X,4,"wallets",pt,lf,Mr);_f(X,4,"createdParty",vt,lf,Pr);_f(X,4,"loading",bt,lf,Ir);_f(X,4,"showCreateCard",ut,lf,jr);_f(X,4,"_partyHintInput",dt,lf,Yr);_f(X,4,"_signingProviderSelect",lt,lf,Or);_f(X,4,"_networkSelect",ht,lf,zr);_f(X,4,"_primaryCheckbox",ct,lf,$r);lf=_f(X,0,"UserUiWallets",gt,lf);lf.styles=jt`
|
|
144
144
|
:host {
|
|
145
145
|
display: block;
|
|
146
146
|
box-sizing: border-box;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<title>Wallet Kernel – Wallets</title>
|
|
6
|
-
<script type="module" crossorigin src="/assets/wallets-
|
|
6
|
+
<script type="module" crossorigin src="/assets/wallets-CWsA4fnj.js"></script>
|
|
7
7
|
<link rel="modulepreload" crossorigin href="/assets/index-EdAN1_qe.js">
|
|
8
8
|
<link rel="modulepreload" crossorigin href="/assets/state-DcvVyWZr.js">
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-CgbJtyud.css">
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canton-network/wallet-gateway-remote",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "A server-side Wallet Gateway implementation over HTTP",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -32,21 +32,22 @@
|
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@canton-network/core-ledger-client": "^0.
|
|
36
|
-
"@canton-network/core-rpc-errors": "^0.
|
|
37
|
-
"@canton-network/core-signing-
|
|
38
|
-
"@canton-network/core-signing-
|
|
39
|
-
"@canton-network/core-signing-
|
|
40
|
-
"@canton-network/core-signing-
|
|
41
|
-
"@canton-network/core-signing-
|
|
42
|
-
"@canton-network/core-
|
|
43
|
-
"@canton-network/core-
|
|
44
|
-
"@canton-network/core-
|
|
45
|
-
"@canton-network/core-wallet-
|
|
46
|
-
"@canton-network/core-wallet-
|
|
47
|
-
"@canton-network/core-wallet-store
|
|
48
|
-
"@canton-network/core-wallet-
|
|
49
|
-
"@canton-network/core-wallet-
|
|
35
|
+
"@canton-network/core-ledger-client": "^0.23.0",
|
|
36
|
+
"@canton-network/core-rpc-errors": "^0.12.0",
|
|
37
|
+
"@canton-network/core-signing-blockdaemon": "^0.15.0",
|
|
38
|
+
"@canton-network/core-signing-fireblocks": "^0.16.0",
|
|
39
|
+
"@canton-network/core-signing-internal": "^0.17.0",
|
|
40
|
+
"@canton-network/core-signing-lib": "^0.18.0",
|
|
41
|
+
"@canton-network/core-signing-participant": "^0.17.0",
|
|
42
|
+
"@canton-network/core-signing-store-sql": "^0.18.0",
|
|
43
|
+
"@canton-network/core-tx-visualizer": "^0.16.0",
|
|
44
|
+
"@canton-network/core-types": "^0.15.0",
|
|
45
|
+
"@canton-network/core-wallet-auth": "^0.16.0",
|
|
46
|
+
"@canton-network/core-wallet-dapp-rpc-client": "^0.18.0",
|
|
47
|
+
"@canton-network/core-wallet-store": "^0.18.0",
|
|
48
|
+
"@canton-network/core-wallet-store-sql": "^0.18.0",
|
|
49
|
+
"@canton-network/core-wallet-ui-components": "^0.18.0",
|
|
50
|
+
"@canton-network/core-wallet-user-rpc-client": "^0.18.0",
|
|
50
51
|
"@commander-js/extra-typings": "^14.0.0",
|
|
51
52
|
"commander": "^14.0.2",
|
|
52
53
|
"cors": "^2.8.5",
|
|
@@ -63,7 +64,7 @@
|
|
|
63
64
|
"zod": "^4.1.13"
|
|
64
65
|
},
|
|
65
66
|
"devDependencies": {
|
|
66
|
-
"@canton-network/core-wallet-store-inmemory": "^0.
|
|
67
|
+
"@canton-network/core-wallet-store-inmemory": "^0.19.0",
|
|
67
68
|
"@jest/globals": "^30.2.0",
|
|
68
69
|
"@swc/core": "^1.15.3",
|
|
69
70
|
"@swc/jest": "^0.2.39",
|