@ledgerhq/hw-app-eth 6.13.0 → 6.15.2

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.
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ exports.__esModule = true;
14
+ exports.getLoadConfig = void 0;
15
+ var defaultLoadConfig = {
16
+ nftExplorerBaseURL: null,
17
+ pluginBaseURL: "https://cdn.live.ledger.com",
18
+ extraPlugins: null
19
+ };
20
+ function getLoadConfig(userLoadConfig) {
21
+ return __assign(__assign({}, defaultLoadConfig), userLoadConfig);
22
+ }
23
+ exports.getLoadConfig = getLoadConfig;
24
+ //# sourceMappingURL=loadConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadConfig.js","sourceRoot":"","sources":["../src/loadConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAWA,IAAM,iBAAiB,GAAG;IACxB,kBAAkB,EAAE,IAAI;IACxB,aAAa,EAAE,6BAA6B;IAC5C,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,SAAgB,aAAa,CAAC,cAA2B;IACvD,6BACK,iBAAiB,GACjB,cAAc,EACjB;AACJ,CAAC;AALD,sCAKC"}
package/lib/nfts.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ /// <reference types="node" />
2
+ import type { LoadConfig } from "./loadConfig";
3
+ declare type NftInfo = {
4
+ contractAddress: string;
5
+ collectionName: string;
6
+ data: Buffer;
7
+ };
8
+ export declare const getNFTInfo: (contractAddress: string, chainId: number, userLoadConfig: LoadConfig) => Promise<NftInfo | undefined>;
9
+ export declare const loadNftPlugin: (contractAddress: string, selector: string, chainId: number, userLoadConfig: LoadConfig) => Promise<string | undefined>;
10
+ export {};
11
+ //# sourceMappingURL=nfts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nfts.d.ts","sourceRoot":"","sources":["../src/nfts.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,aAAK,OAAO,GAAG;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAMF,eAAO,MAAM,UAAU,oBACJ,MAAM,WACd,MAAM,kBACC,UAAU,KACzB,QAAQ,OAAO,GAAG,SAAS,CAqB7B,CAAC;AAEF,eAAO,MAAM,aAAa,oBACP,MAAM,YACb,MAAM,WACP,MAAM,kBACC,UAAU,KACzB,QAAQ,MAAM,GAAG,SAAS,CAgB5B,CAAC"}
package/lib/nfts.js ADDED
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ exports.__esModule = true;
42
+ exports.loadNftPlugin = exports.getNFTInfo = void 0;
43
+ var axios_1 = __importDefault(require("axios"));
44
+ var loadConfig_1 = require("./loadConfig");
45
+ var logs_1 = require("@ledgerhq/logs");
46
+ var getNFTInfo = function (contractAddress, chainId, userLoadConfig) { return __awaiter(void 0, void 0, void 0, function () {
47
+ var nftExplorerBaseURL, url, response, payload, collectionNameLength, collectionName;
48
+ return __generator(this, function (_a) {
49
+ switch (_a.label) {
50
+ case 0:
51
+ nftExplorerBaseURL = (0, loadConfig_1.getLoadConfig)(userLoadConfig).nftExplorerBaseURL;
52
+ if (!nftExplorerBaseURL)
53
+ return [2 /*return*/];
54
+ url = nftExplorerBaseURL + "/" + chainId + "/contracts/" + contractAddress;
55
+ return [4 /*yield*/, axios_1["default"]
56
+ .get(url)
57
+ .then(function (r) { return r.data; })["catch"](function (e) {
58
+ (0, logs_1.log)("error", "could not fetch from " + url + ": " + String(e));
59
+ return null;
60
+ })];
61
+ case 1:
62
+ response = _a.sent();
63
+ if (!response)
64
+ return [2 /*return*/];
65
+ payload = response["payload"];
66
+ collectionNameLength = Number(payload.slice(2, 3));
67
+ collectionName = payload.slice(3, 3 + collectionNameLength).toString();
68
+ return [2 /*return*/, {
69
+ contractAddress: contractAddress,
70
+ collectionName: collectionName,
71
+ data: Buffer.from(payload, "hex")
72
+ }];
73
+ }
74
+ });
75
+ }); };
76
+ exports.getNFTInfo = getNFTInfo;
77
+ var loadNftPlugin = function (contractAddress, selector, chainId, userLoadConfig) { return __awaiter(void 0, void 0, void 0, function () {
78
+ var nftExplorerBaseURL, url, response, payload;
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
81
+ case 0:
82
+ nftExplorerBaseURL = (0, loadConfig_1.getLoadConfig)(userLoadConfig).nftExplorerBaseURL;
83
+ if (!nftExplorerBaseURL)
84
+ return [2 /*return*/];
85
+ url = nftExplorerBaseURL + "/" + chainId + "/contracts/" + contractAddress + "/plugin/selector?selector=" + selector;
86
+ return [4 /*yield*/, axios_1["default"]
87
+ .get(url)
88
+ .then(function (r) { return r.data; })["catch"](function (e) {
89
+ (0, logs_1.log)("error", "could not fetch from " + url + ": " + String(e));
90
+ return null;
91
+ })];
92
+ case 1:
93
+ response = _a.sent();
94
+ if (!response)
95
+ return [2 /*return*/];
96
+ payload = response["payload"];
97
+ return [2 /*return*/, payload];
98
+ }
99
+ });
100
+ }); };
101
+ exports.loadNftPlugin = loadNftPlugin;
102
+ //# sourceMappingURL=nfts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nfts.js","sourceRoot":"","sources":["../src/nfts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAC1B,2CAA6C;AAE7C,uCAAqC;AAY9B,IAAM,UAAU,GAAG,UACxB,eAAuB,EACvB,OAAe,EACf,cAA0B;;;;;gBAElB,kBAAkB,GAAK,IAAA,0BAAa,EAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAM,kBAAkB,SAAI,OAAO,mBAAc,eAAiB,CAAC;gBAC3D,qBAAM,kBAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,UAAC,CAAC;wBACP,IAAA,UAAG,EAAC,OAAO,EAAE,uBAAuB,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,EAAA;;gBANE,QAAQ,GAAG,SAMb;gBACJ,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAEhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC9B,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACnD,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC7E,sBAAO;wBACL,eAAe,EAAE,eAAe;wBAChC,cAAc,EAAE,cAAc;wBAC9B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;qBAClC,EAAC;;;KACH,CAAC;AAzBW,QAAA,UAAU,cAyBrB;AAEK,IAAM,aAAa,GAAG,UAC3B,eAAuB,EACvB,QAAgB,EAChB,OAAe,EACf,cAA0B;;;;;gBAElB,kBAAkB,GAAK,IAAA,0BAAa,EAAC,cAAc,CAAC,mBAAlC,CAAmC;gBAC7D,IAAI,CAAC,kBAAkB;oBAAE,sBAAO;gBAC1B,GAAG,GAAM,kBAAkB,SAAI,OAAO,mBAAc,eAAe,kCAA6B,QAAU,CAAC;gBAEhG,qBAAM,kBAAK;yBACzB,GAAG,CAAkB,GAAG,CAAC;yBACzB,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CACnB,OAAK,CAAA,CAAC,UAAC,CAAC;wBACP,IAAA,UAAG,EAAC,OAAO,EAAE,uBAAuB,GAAG,GAAG,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/D,OAAO,IAAI,CAAC;oBACd,CAAC,CAAC,EAAA;;gBANE,QAAQ,GAAG,SAMb;gBACJ,IAAI,CAAC,QAAQ;oBAAE,sBAAO;gBAEhB,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACpC,sBAAO,OAAO,EAAC;;;KAChB,CAAC;AArBW,QAAA,aAAa,iBAqBxB"}
package/lib-es/Eth.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import type Transport from "@ledgerhq/hw-transport";
3
3
  import { BigNumber } from "bignumber.js";
4
- import type { PluginsLoadConfig } from "./contracts";
4
+ import type { LoadConfig } from "./loadConfig";
5
5
  export declare type StarkQuantizationType = "eth" | "erc20" | "erc721" | "erc20mintable" | "erc721mintable";
6
6
  /**
7
7
  * Ethereum API
@@ -12,9 +12,9 @@ export declare type StarkQuantizationType = "eth" | "erc20" | "erc721" | "erc20m
12
12
  */
13
13
  export default class Eth {
14
14
  transport: Transport;
15
- pluginsLoadConfig: PluginsLoadConfig;
16
- setPluginsLoadConfig(pluginsLoadConfig: PluginsLoadConfig): void;
17
- constructor(transport: Transport, scrambleKey?: string, pluginsLoadConfig?: PluginsLoadConfig);
15
+ loadConfig: LoadConfig;
16
+ setLoadConfig(loadConfig: LoadConfig): void;
17
+ constructor(transport: Transport, scrambleKey?: string, loadConfig?: LoadConfig);
18
18
  /**
19
19
  * get Ethereum address for a given BIP 32 path.
20
20
  * @param path a path in BIP 32 format
@@ -239,11 +239,18 @@ export default class Eth {
239
239
  */
240
240
  eth2SetWithdrawalIndex(withdrawalIndex: number): Promise<boolean>;
241
241
  /**
242
- * Set the name of the plugin that should be used to parse the next transaction
242
+ * Set the name of the external plugin that should be used to parse the next transaction
243
243
  *
244
244
  * @param pluginName string containing the name of the plugin, must have length between 1 and 30 bytes
245
245
  * @return True if the method was executed successfully
246
246
  */
247
247
  setExternalPlugin(pluginName: string, contractAddress: string, selector: string): Promise<boolean>;
248
+ /**
249
+ * Set the plugin (internal or external) that should be used to parse the next transaction
250
+ *
251
+ * @param data string containing the payload and signature that will be parsed and verified by the device.
252
+ * @return True if the method was executed successfully
253
+ */
254
+ setPlugin(data: string): Promise<boolean>;
248
255
  }
249
256
  //# sourceMappingURL=Eth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Eth.d.ts","sourceRoot":"","sources":["../src/Eth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Eth.d.ts","sourceRoot":"","sources":["../src/Eth.ts"],"names":[],"mappings":"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"}
package/lib-es/Eth.js CHANGED
@@ -69,6 +69,7 @@ import { BigNumber } from "bignumber.js";
69
69
  import { ethers } from "ethers";
70
70
  import { byContractAddressAndChainId } from "./erc20";
71
71
  import { loadInfosForContractMethod } from "./contracts";
72
+ import { getNFTInfo, loadNftPlugin } from "./nfts";
72
73
  var starkQuantizationTypeMap = {
73
74
  eth: 1,
74
75
  erc20: 2,
@@ -98,11 +99,11 @@ var remapTransactionRelatedErrors = function (e) {
98
99
  * const eth = new Eth(transport)
99
100
  */
100
101
  var Eth = /** @class */ (function () {
101
- function Eth(transport, scrambleKey, pluginsLoadConfig) {
102
+ function Eth(transport, scrambleKey, loadConfig) {
102
103
  if (scrambleKey === void 0) { scrambleKey = "w0w"; }
103
- if (pluginsLoadConfig === void 0) { pluginsLoadConfig = {}; }
104
+ if (loadConfig === void 0) { loadConfig = {}; }
104
105
  this.transport = transport;
105
- this.pluginsLoadConfig = pluginsLoadConfig;
106
+ this.loadConfig = loadConfig;
106
107
  transport.decorateAppAPIMethods(this, [
107
108
  "getAddress",
108
109
  "provideERC20TokenInformation",
@@ -121,10 +122,11 @@ var Eth = /** @class */ (function () {
121
122
  "eth2GetPublicKey",
122
123
  "eth2SetWithdrawalIndex",
123
124
  "setExternalPlugin",
125
+ "setPlugin",
124
126
  ], scrambleKey);
125
127
  }
126
- Eth.prototype.setPluginsLoadConfig = function (pluginsLoadConfig) {
127
- this.pluginsLoadConfig = pluginsLoadConfig;
128
+ Eth.prototype.setLoadConfig = function (loadConfig) {
129
+ this.loadConfig = loadConfig;
128
130
  };
129
131
  /**
130
132
  * get Ethereum address for a given BIP 32 path.
@@ -187,7 +189,7 @@ var Eth = /** @class */ (function () {
187
189
  */
188
190
  Eth.prototype.signTransaction = function (path, rawTxHex) {
189
191
  return __awaiter(this, void 0, void 0, function () {
190
- var paths, offset, rawTx, VALID_TYPES, txType, rlpData, toSend, response, rlpTx, vrsOffset, chainId, chainIdTruncated, rlpDecoded, decodedTx, rlpVrs, sizeOfListLen, chainIdSrc, chainIdTruncatedBuf, _loop_1, provideForContract, selector, infos, plugin, payload, signature, erc20OfInterest, abi, contract, args, erc20OfInterest_1, erc20OfInterest_1_1, address, e_1_1;
192
+ var paths, offset, rawTx, VALID_TYPES, txType, rlpData, toSend, response, rlpTx, vrsOffset, chainId, chainIdTruncated, rlpDecoded, decodedTx, rlpVrs, sizeOfListLen, chainIdSrc, chainIdTruncatedBuf, _loop_1, provideForContract, selector, nftPluginPayload, infos, plugin, payload, signature, erc20OfInterest, abi, contract, args, erc20OfInterest_1, erc20OfInterest_1_1, address, e_1_1;
191
193
  var e_1, _a;
192
194
  var _this = this;
193
195
  return __generator(this, function (_b) {
@@ -284,49 +286,68 @@ var Eth = /** @class */ (function () {
284
286
  _loop_1();
285
287
  }
286
288
  provideForContract = function (address) { return __awaiter(_this, void 0, void 0, function () {
287
- var erc20Info;
289
+ var nftInfo, erc20Info;
288
290
  return __generator(this, function (_a) {
289
291
  switch (_a.label) {
290
- case 0:
292
+ case 0: return [4 /*yield*/, getNFTInfo(address, chainIdTruncated, this.loadConfig)];
293
+ case 1:
294
+ nftInfo = _a.sent();
295
+ if (!nftInfo) return [3 /*break*/, 3];
296
+ log("ethereum", "loading nft info for " +
297
+ nftInfo.contractAddress +
298
+ " (" +
299
+ nftInfo.collectionName +
300
+ ")");
301
+ return [4 /*yield*/, provideNFTInformation(this.transport, nftInfo.data)];
302
+ case 2:
303
+ _a.sent();
304
+ return [3 /*break*/, 5];
305
+ case 3:
291
306
  erc20Info = byContractAddressAndChainId(address, chainIdTruncated);
292
- if (!erc20Info) return [3 /*break*/, 2];
307
+ if (!erc20Info) return [3 /*break*/, 5];
293
308
  log("ethereum", "loading erc20token info for " +
294
309
  erc20Info.contractAddress +
295
310
  " (" +
296
311
  erc20Info.ticker +
297
312
  ")");
298
313
  return [4 /*yield*/, provideERC20TokenInformation(this.transport, erc20Info.data)];
299
- case 1:
314
+ case 4:
300
315
  _a.sent();
301
- _a.label = 2;
302
- case 2: return [2 /*return*/];
316
+ _a.label = 5;
317
+ case 5: return [2 /*return*/];
303
318
  }
304
319
  });
305
320
  }); };
306
- if (!(decodedTx.data.length >= 10)) return [3 /*break*/, 15];
321
+ if (!(decodedTx.data.length >= 10)) return [3 /*break*/, 17];
307
322
  selector = decodedTx.data.substring(0, 10);
308
- return [4 /*yield*/, loadInfosForContractMethod(decodedTx.to, selector, chainIdTruncated, this.pluginsLoadConfig)];
323
+ return [4 /*yield*/, loadNftPlugin(decodedTx.to, selector, chainIdTruncated, this.loadConfig)];
309
324
  case 1:
325
+ nftPluginPayload = _b.sent();
326
+ if (!nftPluginPayload) return [3 /*break*/, 2];
327
+ setPlugin(this.transport, nftPluginPayload);
328
+ return [3 /*break*/, 15];
329
+ case 2: return [4 /*yield*/, loadInfosForContractMethod(decodedTx.to, selector, chainIdTruncated, this.loadConfig)];
330
+ case 3:
310
331
  infos = _b.sent();
311
- if (!infos) return [3 /*break*/, 12];
332
+ if (!infos) return [3 /*break*/, 14];
312
333
  plugin = infos.plugin, payload = infos.payload, signature = infos.signature, erc20OfInterest = infos.erc20OfInterest, abi = infos.abi;
313
- if (!plugin) return [3 /*break*/, 3];
334
+ if (!plugin) return [3 /*break*/, 5];
314
335
  log("ethereum", "loading plugin for " + selector);
315
336
  return [4 /*yield*/, setExternalPlugin(this.transport, payload, signature)];
316
- case 2:
337
+ case 4:
317
338
  _b.sent();
318
- _b.label = 3;
319
- case 3:
320
- if (!(erc20OfInterest && erc20OfInterest.length && abi)) return [3 /*break*/, 11];
339
+ _b.label = 5;
340
+ case 5:
341
+ if (!(erc20OfInterest && erc20OfInterest.length && abi)) return [3 /*break*/, 13];
321
342
  contract = new ethers.utils.Interface(abi);
322
343
  args = contract.parseTransaction(decodedTx).args;
323
- _b.label = 4;
324
- case 4:
325
- _b.trys.push([4, 9, 10, 11]);
344
+ _b.label = 6;
345
+ case 6:
346
+ _b.trys.push([6, 11, 12, 13]);
326
347
  erc20OfInterest_1 = __values(erc20OfInterest), erc20OfInterest_1_1 = erc20OfInterest_1.next();
327
- _b.label = 5;
328
- case 5:
329
- if (!!erc20OfInterest_1_1.done) return [3 /*break*/, 8];
348
+ _b.label = 7;
349
+ case 7:
350
+ if (!!erc20OfInterest_1_1.done) return [3 /*break*/, 10];
330
351
  path = erc20OfInterest_1_1.value;
331
352
  address = path.split(".").reduce(function (value, seg) {
332
353
  if (seg === "-1" && Array.isArray(value)) {
@@ -335,32 +356,32 @@ var Eth = /** @class */ (function () {
335
356
  return value[seg];
336
357
  }, args);
337
358
  return [4 /*yield*/, provideForContract(address)];
338
- case 6:
359
+ case 8:
339
360
  _b.sent();
340
- _b.label = 7;
341
- case 7:
342
- erc20OfInterest_1_1 = erc20OfInterest_1.next();
343
- return [3 /*break*/, 5];
344
- case 8: return [3 /*break*/, 11];
361
+ _b.label = 9;
345
362
  case 9:
363
+ erc20OfInterest_1_1 = erc20OfInterest_1.next();
364
+ return [3 /*break*/, 7];
365
+ case 10: return [3 /*break*/, 13];
366
+ case 11:
346
367
  e_1_1 = _b.sent();
347
368
  e_1 = { error: e_1_1 };
348
- return [3 /*break*/, 11];
349
- case 10:
369
+ return [3 /*break*/, 13];
370
+ case 12:
350
371
  try {
351
372
  if (erc20OfInterest_1_1 && !erc20OfInterest_1_1.done && (_a = erc20OfInterest_1["return"])) _a.call(erc20OfInterest_1);
352
373
  }
353
374
  finally { if (e_1) throw e_1.error; }
354
375
  return [7 /*endfinally*/];
355
- case 11: return [3 /*break*/, 13];
356
- case 12:
357
- log("ethereum", "no infos for selector " + selector);
358
- _b.label = 13;
359
- case 13: return [4 /*yield*/, provideForContract(decodedTx.to)];
376
+ case 13: return [3 /*break*/, 15];
360
377
  case 14:
361
- _b.sent();
378
+ log("ethereum", "no infos for selector " + selector);
362
379
  _b.label = 15;
363
- case 15: return [2 /*return*/, foreach(toSend, function (data, i) {
380
+ case 15: return [4 /*yield*/, provideForContract(decodedTx.to)];
381
+ case 16:
382
+ _b.sent();
383
+ _b.label = 17;
384
+ case 17: return [2 /*return*/, foreach(toSend, function (data, i) {
364
385
  return _this.transport
365
386
  .send(0xe0, 0x04, i === 0 ? 0x00 : 0x80, 0x00, data)
366
387
  .then(function (apduResponse) {
@@ -968,7 +989,7 @@ var Eth = /** @class */ (function () {
968
989
  });
969
990
  };
970
991
  /**
971
- * Set the name of the plugin that should be used to parse the next transaction
992
+ * Set the name of the external plugin that should be used to parse the next transaction
972
993
  *
973
994
  * @param pluginName string containing the name of the plugin, must have length between 1 and 30 bytes
974
995
  * @return True if the method was executed successfully
@@ -976,6 +997,15 @@ var Eth = /** @class */ (function () {
976
997
  Eth.prototype.setExternalPlugin = function (pluginName, contractAddress, selector) {
977
998
  return setExternalPlugin(this.transport, pluginName, selector);
978
999
  };
1000
+ /**
1001
+ * Set the plugin (internal or external) that should be used to parse the next transaction
1002
+ *
1003
+ * @param data string containing the payload and signature that will be parsed and verified by the device.
1004
+ * @return True if the method was executed successfully
1005
+ */
1006
+ Eth.prototype.setPlugin = function (data) {
1007
+ return setPlugin(this.transport, data);
1008
+ };
979
1009
  return Eth;
980
1010
  }());
981
1011
  export default Eth;
@@ -990,6 +1020,11 @@ function provideERC20TokenInformation(transport, data) {
990
1020
  throw e;
991
1021
  });
992
1022
  }
1023
+ function provideNFTInformation(transport, data) {
1024
+ return transport.send(0xe0, 0x14, 0x00, 0x00, data).then(function () { return true; }, function (e) {
1025
+ throw e;
1026
+ });
1027
+ }
993
1028
  function setExternalPlugin(transport, payload, signature) {
994
1029
  var payloadBuffer = Buffer.from(payload, "hex");
995
1030
  var signatureBuffer = Buffer.from(signature, "hex");
@@ -1010,4 +1045,22 @@ function setExternalPlugin(transport, payload, signature) {
1010
1045
  throw e;
1011
1046
  });
1012
1047
  }
1048
+ function setPlugin(transport, data) {
1049
+ var buffer = Buffer.from(data, "hex");
1050
+ return transport.send(0xe0, 0x16, 0x00, 0x00, buffer).then(function () { return true; }, function (e) {
1051
+ if (e && e.statusCode === 0x6a80) {
1052
+ // this case happen when the plugin name is too short or too long
1053
+ return false;
1054
+ }
1055
+ else if (e && e.statusCode === 0x6984) {
1056
+ // this case happen when the plugin requested is not installed on the device
1057
+ return false;
1058
+ }
1059
+ else if (e && e.statusCode === 0x6d00) {
1060
+ // this case happen for older version of ETH app
1061
+ return false;
1062
+ }
1063
+ throw e;
1064
+ });
1065
+ }
1013
1066
  //# sourceMappingURL=Eth.js.map
package/lib-es/Eth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Eth.js","sourceRoot":"","sources":["../src/Eth.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;kFAekF;AAClF,cAAc;AACd,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AASzD,IAAM,wBAAwB,GAAG;IAC/B,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;CAClB,CAAC;AAEF,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,cAAc,CACrB,GAA8B;IAE9B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED,IAAM,6BAA6B,GAAG,UAAC,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE;QAChC,OAAO,IAAI,8BAA8B,CACvC,2EAA2E,CAC5E,CAAC;KACH;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF;;;;;;GAMG;AAEH;IAQE,aACE,SAAoB,EACpB,WAAmB,EACnB,iBAAyC;QADzC,4BAAA,EAAA,mBAAmB;QACnB,kCAAA,EAAA,sBAAyC;QAEzC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,SAAS,CAAC,qBAAqB,CAC7B,IAAI,EACJ;YACE,YAAY;YACZ,8BAA8B;YAC9B,iBAAiB;YACjB,qBAAqB;YACrB,qBAAqB;YACrB,yBAAyB;YACzB,mBAAmB;YACnB,gBAAgB;YAChB,mBAAmB;YACnB,mBAAmB;YACnB,sBAAsB;YACtB,qBAAqB;YACrB,wBAAwB;YACxB,iBAAiB;YACjB,kBAAkB;YAClB,wBAAwB;YACxB,mBAAmB;SACpB,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;IAlCD,kCAAoB,GAApB,UAAqB,iBAAoC;QACvD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC7C,CAAC;IAkCD;;;;;;;;OAQG;IACH,wBAAU,GAAV,UACE,IAAY,EACZ,WAAqB,EACrB,aAAuB;QAMvB,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;YAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CACH,IAAI,EACJ,IAAI,EACJ,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACzB,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAC3B,MAAM,CACP;aACA,IAAI,CAAC,UAAC,QAAQ;YACb,IAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpC,IAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;YAEpD,OAAO;gBACL,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjE,OAAO,EACL,IAAI;oBACJ,QAAQ;yBACL,KAAK,CACJ,CAAC,GAAG,eAAe,GAAG,CAAC,EACvB,CAAC,GAAG,eAAe,GAAG,CAAC,GAAG,aAAa,CACxC;yBACA,QAAQ,CAAC,OAAO,CAAC;gBACtB,SAAS,EAAE,aAAa;oBACtB,CAAC,CAAC,QAAQ;yBACL,KAAK,CACJ,CAAC,GAAG,eAAe,GAAG,CAAC,GAAG,aAAa,EACvC,CAAC,GAAG,eAAe,GAAG,CAAC,GAAG,aAAa,GAAG,EAAE,CAC7C;yBACA,QAAQ,CAAC,KAAK,CAAC;oBACpB,CAAC,CAAC,SAAS;aACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,0CAA4B,GAA5B,UAA6B,EAA0B;YAAxB,IAAI,UAAA;QACjC,OAAO,4BAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACG,6BAAe,GAArB,UACE,IAAY,EACZ,QAAgB;;;;;;;;wBAMV,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;wBAC1B,MAAM,GAAG,CAAC,CAAC;wBAET,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;wBACrC,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACrB,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC1D,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAEpE,MAAM,GAAa,EAAE,CAAC;wBAGtB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG;4BACrD,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;wBAAhC,CAAgC,CACjC,CAAC;wBAEE,SAAS,GAAG,CAAC,CAAC;wBACd,OAAO,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;wBAC3B,gBAAgB,GAAG,CAAC,CAAC;wBAEnB,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;wBAGpD,IAAI,MAAM,KAAK,CAAC,EAAE;4BAChB,UAAU;4BACV,SAAS,GAAG;gCACV,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gCACnB,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;gCACjB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;6BAClB,CAAC;yBACH;6BAAM,IAAI,MAAM,KAAK,CAAC,EAAE;4BACvB,UAAU;4BACV,SAAS,GAAG;gCACV,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gCACnB,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;gCACjB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;6BAClB,CAAC;yBACH;6BAAM;4BACL,YAAY;4BACZ,SAAS,GAAG;gCACV,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;gCACnB,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;gCACjB,mCAAmC;gCACnC,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC;6BAClE,CAAC;yBACH;wBAED,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;4BACjC,MAAM,GAAG,MAAM,CAAC,IAAI,CACxB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EACjD,KAAK,CACN,CAAC;4BAEF,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;4BAE/C,sFAAsF;4BACtF,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE;gCACpB,sDAAsD;gCACtD,SAAS,EAAE,CAAC;gCAGN,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;gCAEvC,qDAAqD;gCACrD,SAAS,IAAI,aAAa,GAAG,CAAC,CAAC;6BAChC;yBACF;wBAEK,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC;wBACrC,IAAI,UAAU,EAAE;4BACd,wDAAwD;4BACxD,OAAO,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;4BAClD,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC5C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gCACzB,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;6BACtC;iCAAM;gCACL,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;6BAC7D;4BACD,gBAAgB,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;yBACxD;;4BAGC,IAAM,YAAY,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;4BACrE,IAAI,SAAS,GACX,MAAM,GAAG,YAAY,GAAG,KAAK,CAAC,MAAM;gCAClC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM;gCACvB,CAAC,CAAC,YAAY,CAAC;4BAEnB,IAAI,SAAS,IAAI,CAAC,IAAI,MAAM,GAAG,SAAS,IAAI,SAAS,EAAE;gCACrD,0EAA0E;gCAC1E,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;6BACnC;4BAED,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAC5D,CAAC;4BAEF,IAAI,MAAM,KAAK,CAAC,EAAE;gCAChB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;gCACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;oCAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;gCAC/C,CAAC,CAAC,CAAC;gCACH,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;6BACtE;iCAAM;gCACL,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;6BACnD;4BAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;4BACpB,MAAM,IAAI,SAAS,CAAC;;wBA3BtB,OAAO,MAAM,KAAK,KAAK,CAAC,MAAM;;yBA4B7B;wBAEK,kBAAkB,GAAG,UAAO,OAAO;;;;;wCACjC,SAAS,GAAG,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;6CACrE,SAAS,EAAT,wBAAS;wCACX,GAAG,CACD,UAAU,EACV,8BAA8B;4CAC5B,SAAS,CAAC,eAAe;4CACzB,IAAI;4CACJ,SAAS,CAAC,MAAM;4CAChB,GAAG,CACN,CAAC;wCACF,qBAAM,4BAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,EAAA;;wCAAlE,SAAkE,CAAC;;;;;6BAEtE,CAAC;6BAEE,CAAA,SAAS,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAA,EAA3B,yBAA2B;wBACvB,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACnC,qBAAM,0BAA0B,CAC5C,SAAS,CAAC,EAAE,EACZ,QAAQ,EACR,gBAAgB,EAChB,IAAI,CAAC,iBAAiB,CACvB,EAAA;;wBALK,KAAK,GAAG,SAKb;6BAEG,KAAK,EAAL,yBAAK;wBACC,MAAM,GAA+C,KAAK,OAApD,EAAE,OAAO,GAAsC,KAAK,QAA3C,EAAE,SAAS,GAA2B,KAAK,UAAhC,EAAE,eAAe,GAAU,KAAK,gBAAf,EAAE,GAAG,GAAK,KAAK,IAAV,CAAW;6BAE/D,MAAM,EAAN,wBAAM;wBACR,GAAG,CAAC,UAAU,EAAE,qBAAqB,GAAG,QAAQ,CAAC,CAAC;wBAClD,qBAAM,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,EAAA;;wBAA3D,SAA2D,CAAC;;;6BAG1D,CAAA,eAAe,IAAI,eAAe,CAAC,MAAM,IAAI,GAAG,CAAA,EAAhD,yBAAgD;wBAC5C,QAAQ,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;wBAC3C,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;;;;wBAE1C,oBAAA,SAAA,eAAe,CAAA;;;;wBAAvB,IAAI,4BAAA;wBACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,KAAK,EAAE,GAAG;4BAChD,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gCACxC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;6BAChC;4BACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;wBACpB,CAAC,EAAE,IAAI,CAAC,CAAC;wBACT,qBAAM,kBAAkB,CAAC,OAAO,CAAC,EAAA;;wBAAjC,SAAiC,CAAC;;;;;;;;;;;;;;;;;;wBAItC,GAAG,CAAC,UAAU,EAAE,wBAAwB,GAAG,QAAQ,CAAC,CAAC;;6BAGvD,qBAAM,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;;6BAGzC,sBAAO,OAAO,CAAC,MAAM,EAAE,UAAC,IAAI,EAAE,CAAC;4BAC7B,OAAA,KAAI,CAAC,SAAS;iCACX,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;iCACnD,IAAI,CAAC,UAAC,YAAY;gCACjB,QAAQ,GAAG,YAAY,CAAC;4BAC1B,CAAC,CAAC;wBAJJ,CAII,CACL,CAAC,IAAI,CACJ;4BACE,IAAM,aAAa,GAAW,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BACtD,IAAI,CAAC,GAAG,EAAE,CAAC;4BAEX,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;gCACxD,IAAM,cAAc,GAAG,CAAC,gBAAgB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;gCAEzD,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,cAAc,CAAC,CAAC;gCAE5D,IAAI,MAAM,IAAI,IAAI,EAAE;oCAClB,sDAAsD;oCACtD,CAAC,GAAG,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;iCACvC;qCAAM;oCACL,8CAA8C;oCAC9C,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iCAC7D;6BACF;iCAAM;gCACL,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;6BAChC;4BAED,2EAA2E;4BAC3E,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE;gCACrB,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;6BACb;4BAED,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BACpD,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;4BAC9D,OAAO;gCACL,CAAC,GAAA;gCACD,CAAC,GAAA;gCACD,CAAC,GAAA;6BACF,CAAC;wBACJ,CAAC,EACD,UAAC,CAAC;4BACA,MAAM,6BAA6B,CAAC,CAAC,CAAC,CAAC;wBACzC,CAAC,CACF,EAAC;;;;KACH;IAED;OACG;IACH,iCAAmB,GAAnB;QAOE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ;YAC/D,OAAO;gBACL,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;gBACxC,0BAA0B,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;gBAC9C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;gBAChC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;gBACpC,OAAO,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC;aAClE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,iCAAmB,GAAnB,UACE,IAAY,EACZ,UAAkB;QAFpB,iBA4DC;QApDC,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC;;YAGX,IAAM,YAAY,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACzE,IAAM,SAAS,GACb,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM;gBACpC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM;gBACzB,CAAC,CAAC,YAAY,CAAC;YACnB,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;YAEF,IAAI,MAAM,KAAK,CAAC,EAAE;gBAChB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;gBACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;oBAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CACV,MAAM,EACN,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EACxB,MAAM,EACN,MAAM,GAAG,SAAS,CACnB,CAAC;aACH;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;aACrD;YAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,MAAM,IAAI,SAAS,CAAC;;QA3BtB,OAAO,MAAM,KAAK,OAAO,CAAC,MAAM;;SA4B/B;QAED,OAAO,OAAO,CAAC,MAAM,EAAE,UAAC,IAAI,EAAE,CAAC;YAC7B,OAAA,KAAI,CAAC,SAAS;iBACX,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;iBACnD,IAAI,CAAC,UAAC,YAAY;gBACjB,QAAQ,GAAG,YAAY,CAAC;YAC1B,CAAC,CAAC;QAJJ,CAII,CACL,CAAC,IAAI,CAAC;YACL,IAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC,GAAA;gBACD,CAAC,GAAA;gBACD,CAAC,GAAA;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,qCAAuB,GAAvB,UACE,IAAY,EACZ,kBAA0B,EAC1B,oBAA4B;QAM5B,IAAM,eAAe,GAAG,SAAS,CAAC,kBAAkB,CAAC,CAAC;QACtD,IAAM,UAAU,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;QACnD,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;YAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,MAAM,IAAI,EAAE,CAAC;QACb,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACpC,IAAI,CAAC,UAAC,QAAQ;YACb,IAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC,GAAA;gBACD,CAAC,GAAA;gBACD,CAAC,GAAA;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,+BAAiB,GAAjB,UAAkB,IAAY,EAAE,WAAqB;QACnD,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;YAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACzD,IAAI,CAAC,UAAC,QAAQ;YACb,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,4BAAc,GAAd,UACE,IAAY,EACZ,kBAAsC,EACtC,kBAA6B,EAC7B,uBAA2C,EAC3C,uBAAkC,EAClC,WAAmB,EACnB,gBAAwB,EACxB,UAAqB,EACrB,SAAoB,EACpB,KAAa,EACb,SAAiB;QAEjB,IAAM,qBAAqB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAM,0BAA0B,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAC3E,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAChE,CAAC,CACF,CAAC;QACF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;YAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAE9B,IAAI,qBAAqB,EAAE;YACzB,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC5C;QAED,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CACxE,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,0BAA0B,EAAE;YAC9B,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACjD;QAED,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EACtD,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvB,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAChE,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAC/D,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACpC,IAAI,CAAC,UAAC,QAAQ;YACb,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC,GAAA;gBACD,CAAC,GAAA;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,+BAAiB,GAAjB,UACE,IAAY,EACZ,kBAAsC,EACtC,sBAA6C,EAC7C,kBAAyC,EACzC,2BAAkD,EAClD,uBAA2C,EAC3C,2BAAkD,EAClD,uBAA8C,EAC9C,gCAAuD,EACvD,WAAmB,EACnB,gBAAwB,EACxB,UAAqB,EACrB,SAAoB,EACpB,KAAa,EACb,SAAiB;QAEjB,IAAM,qBAAqB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACjE,IAAM,0BAA0B,GAAG,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAE3E,IAAI,CAAC,CAAC,sBAAsB,IAAI,wBAAwB,CAAC,EAAE;YACzD,MAAM,IAAI,KAAK,CACb,wDAAwD;gBACtD,sBAAsB,CACzB,CAAC;SACH;QAED,IAAI,CAAC,CAAC,2BAA2B,IAAI,wBAAwB,CAAC,EAAE;YAC9D,MAAM,IAAI,KAAK,CACb,6DAA6D;gBAC3D,2BAA2B,CAC9B,CAAC;SACH;QAED,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,CAAC;YACC,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC;YACD,EAAE;YACF,EAAE;YACF,EAAE;YACF,CAAC;YACD,EAAE;YACF,EAAE;YACF,EAAE;YACF,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC,EACH,CAAC,CACF,CAAC;QACF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;YAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,wBAAwB,CAAC,sBAAsB,CAAC,CAAC;QAClE,MAAM,EAAE,CAAC;QAET,IAAI,qBAAqB,EAAE;YACzB,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC5C;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,kBAAkB,EAAE;YACtB,MAAM,CAAC,IAAI,CACT,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EACjD,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACxB;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,2BAA2B,EAAE;YAC/B,MAAM,CAAC,IAAI,CACT,2BAA2B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAC1D,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACxB;QAED,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,MAAM,CAAC,GAAG,wBAAwB,CAAC,2BAA2B,CAAC,CAAC;QACvE,MAAM,EAAE,CAAC;QAET,IAAI,0BAA0B,EAAE;YAC9B,0BAA0B,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACjD;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,uBAAuB,EAAE;YAC3B,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EACtD,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACxB;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,gCAAgC,EAAE;YACpC,MAAM,CAAC,IAAI,CACT,gCAAgC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAC/D,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACxB;QAED,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAChE,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAC/D,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACpC,IAAI,CAAC,UAAC,QAAQ;YACb,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC,GAAA;gBACD,CAAC,GAAA;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,+BAAiB,GAAjB,UACE,IAAY,EACZ,oBAAwC,EACxC,oBAA+B,EAC/B,eAAuB,EACvB,WAAmB,EACnB,gBAAwB,EACxB,cAAyB,EACzB,KAAa,EACb,SAAiB;QAEjB,IAAM,uBAAuB,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACrE,IAAM,kBAAkB,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QACtD,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EACvD,CAAC,CACF,CAAC;QACF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;YAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAE9B,IAAI,uBAAuB,EAAE;YAC3B,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC9C;QAED,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CACT,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EACnD,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvB,MAAM,IAAI,EAAE,CAAC;QACb,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CACpE,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACpC,IAAI,CAAC,UAAC,QAAQ;YACb,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC,GAAA;gBACD,CAAC,GAAA;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,kCAAoB,GAApB,UACE,IAAY,EACZ,oBAAwC,EACxC,wBAA+C,EAC/C,oBAA2C,EAC3C,6BAAoD,EACpD,eAAuB,EACvB,WAAmB,EACnB,gBAAwB,EACxB,cAAyB,EACzB,KAAa,EACb,SAAiB,EACjB,0BAAmC,EACnC,uBAAmC;QAEnC,IAAM,uBAAuB,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACrE,IAAM,kBAAkB,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QACtD,IAAM,6BAA6B,GAAG,cAAc,CAClD,0BAA0B,CAC3B,CAAC;QAEF,IAAI,CAAC,CAAC,wBAAwB,IAAI,wBAAwB,CAAC,EAAE;YAC3D,MAAM,IAAI,KAAK,CACb,oDAAoD;gBAClD,wBAAwB,CAC3B,CAAC;SACH;QAED,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CACzB,CAAC;YACC,KAAK,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC;YACD,EAAE;YACF,EAAE;YACF,EAAE;YACF,EAAE;YACF,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC;YACD,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC,CACF,CAAC;QACF,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;YAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,wBAAwB,CAAC,wBAAwB,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC;QAET,IAAI,uBAAuB,EAAE;YAC3B,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC9C;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,oBAAoB,EAAE;YACxB,MAAM,CAAC,IAAI,CACT,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EACnD,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACxB;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,6BAA6B,EAAE;YACjC,MAAM,CAAC,IAAI,CACT,6BAA6B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAC5D,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACxB;QAED,MAAM,IAAI,EAAE,CAAC;QACb,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,IAAI,EAAE,CAAC;QACb,MAAM,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CACpE,MAAM,EACN,MAAM,CACP,CAAC;QACF,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,MAAM,IAAI,CAAC,CAAC;QACZ,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAExC,IAAI,6BAA6B,IAAI,uBAAuB,EAAE;YAC5D,MAAM,IAAI,CAAC,CAAC;YACZ,MAAM,CAAC,IAAI,CACT,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EACtD,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvB,MAAM,IAAI,EAAE,CAAC;YACb,6BAA6B,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACpD;QAED,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CACH,IAAI,EACJ,IAAI,EACJ,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAC3C,IAAI,EACJ,MAAM,CACP;aACA,IAAI,CAAC,UAAC,QAAQ;YACb,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC,GAAA;gBACD,CAAC,GAAA;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,iCAAmB,GAAnB,UACE,iBAAqC,EACrC,qBAAgC;QAEhC,IAAM,oBAAoB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC/D,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAExC,IAAI,oBAAoB,EAAE;YACxB,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;SACtC;QAED,MAAM,CAAC,IAAI,CACT,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EACpD,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7D,cAAM,OAAA,IAAI,EAAJ,CAAI,EACV,UAAC,CAAC;YACA,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE;gBAChC,gFAAgF;gBAChF,OAAO,KAAK,CAAC;aACd;YAED,MAAM,CAAC,CAAC;QACV,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,oCAAsB,GAAtB,UACE,iBAAqC,EACrC,yBAAgD,EAChD,qBAAiC,EACjC,8BAA0C;QAE1C,IAAM,oBAAoB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAE/D,IAAI,CAAC,CAAC,yBAAyB,IAAI,wBAAwB,CAAC,EAAE;YAC5D,MAAM,IAAI,KAAK,CACb,sDAAsD;gBACpD,yBAAyB,CAC5B,CAAC;SACH;QAED,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,IAAI,oBAAoB,EAAE;YACxB,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC3C;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,qBAAqB,EAAE;YACzB,MAAM,CAAC,IAAI,CACT,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EACpD,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACxB;QAED,MAAM,IAAI,EAAE,CAAC;QAEb,IAAI,8BAA8B,EAAE;YAClC,MAAM,CAAC,IAAI,CACT,8BAA8B,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAC7D,KAAK,CACN,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACxB;QAED,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CACH,IAAI,EACJ,IAAI,EACJ,wBAAwB,CAAC,yBAAyB,CAAC,EACnD,IAAI,EACJ,MAAM,CACP;aACA,IAAI,CACH,cAAM,OAAA,IAAI,EAAJ,CAAI,EACV,UAAC,CAAC;YACA,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE;gBAChC,gFAAgF;gBAChF,OAAO,KAAK,CAAC;aACd;YAED,MAAM,CAAC,CAAC;QACV,CAAC,CACF,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACH,6BAAe,GAAf,UACE,IAAY,EACZ,IAAY;QAEZ,IAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;YAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACpC,IAAI,CAAC,UAAC,QAAQ;YACb,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpD,IAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,OAAO;gBACL,CAAC,GAAA;gBACD,CAAC,GAAA;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,8BAAgB,GAAhB,UACE,IAAY,EACZ,WAAqB;QAIrB,IAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,KAAK,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,KAAK;YAC3B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS;aAClB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;aACzD,IAAI,CAAC,UAAC,QAAQ;YACb,OAAO;gBACL,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;aACjD,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;OAOG;IACH,oCAAsB,GAAtB,UAAuB,eAAuB;QAC5C,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAC7D,cAAM,OAAA,IAAI,EAAJ,CAAI,EACV,UAAC,CAAC;YACA,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE;gBAChC,qEAAqE;gBACrE,OAAO,KAAK,CAAC;aACd;YAED,MAAM,CAAC,CAAC;QACV,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,+BAAiB,GAAjB,UACE,UAAkB,EAClB,eAAuB,EACvB,QAAgB;QAEhB,OAAO,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IACH,UAAC;AAAD,CAAC,AAlpCD,IAkpCC;;AAED,mBAAmB;AAEnB,SAAS,4BAA4B,CACnC,SAAoB,EACpB,IAAY;IAEZ,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CACtD,cAAM,OAAA,IAAI,EAAJ,CAAI,EACV,UAAC,CAAC;QACA,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE;YAChC,sIAAsI;YACtI,4DAA4D;YAC5D,OAAO,KAAK,CAAC;SACd;QACD,MAAM,CAAC,CAAC;IACV,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAoB,EACpB,OAAe,EACf,SAAiB;IAEjB,IAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAClD,IAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtD,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;IAC/D,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CACxD,cAAM,OAAA,IAAI,EAAJ,CAAI,EACV,UAAC,CAAC;QACA,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE;YAChC,iEAAiE;YACjE,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE;YACvC,4EAA4E;YAC5E,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,MAAM,EAAE;YACvC,gDAAgD;YAChD,OAAO,KAAK,CAAC;SACd;QACD,MAAM,CAAC,CAAC;IACV,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Eth.js","sourceRoot":"","sources":["../src/Eth.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { LoadConfig } from "./loadConfig";
1
2
  declare type ContractMethod = {
2
3
  payload: string;
3
4
  signature: string;
@@ -5,13 +6,9 @@ declare type ContractMethod = {
5
6
  erc20OfInterest: string[];
6
7
  abi: any;
7
8
  };
8
- export declare type PluginsLoadConfig = {
9
- baseURL?: string | null;
10
- extraPlugins?: any | null;
11
- };
12
9
  /**
13
10
  * Retrieve the metadatas a given contract address and a method selector
14
11
  */
15
- export declare const loadInfosForContractMethod: (contractAddress: string, selector: string, chainId: number, userPluginsLoadConfig: PluginsLoadConfig) => Promise<ContractMethod | undefined>;
12
+ export declare const loadInfosForContractMethod: (contractAddress: string, selector: string, chainId: number, userLoadConfig: LoadConfig) => Promise<ContractMethod | undefined>;
16
13
  export {};
17
14
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAEA,aAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC;CACV,CAAC;AAGF,oBAAY,iBAAiB,GAAG;IAG9B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,YAAY,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CAC3B,CAAC;AAOF;;GAEG;AACH,eAAO,MAAM,0BAA0B,oBACpB,MAAM,YACb,MAAM,WACP,MAAM,yBACQ,iBAAiB,KACvC,QAAQ,cAAc,GAAG,SAAS,CA2CpC,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,aAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC;CACV,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,0BAA0B,oBACpB,MAAM,YACb,MAAM,WACP,MAAM,kBACC,UAAU,KACzB,QAAQ,cAAc,GAAG,SAAS,CAsCpC,CAAC"}