@1inch/solidity-utils 5.1.0 → 5.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/contracts/libraries/ECDSA.sol +3 -3
  2. package/dist/src/utils.d.ts +46 -4
  3. package/dist/src/utils.js +76 -2
  4. package/dist/src/utils.js.map +1 -1
  5. package/dist/typechain-types/@0xsequence/create3/contracts/Create3.d.ts +20 -0
  6. package/dist/typechain-types/@0xsequence/create3/contracts/Create3.js +3 -0
  7. package/dist/typechain-types/@0xsequence/create3/contracts/Create3.js.map +1 -0
  8. package/dist/typechain-types/@0xsequence/create3/contracts/index.d.ts +1 -0
  9. package/dist/typechain-types/@0xsequence/create3/contracts/index.js +3 -0
  10. package/dist/typechain-types/@0xsequence/create3/contracts/index.js.map +1 -0
  11. package/dist/typechain-types/@0xsequence/create3/index.d.ts +2 -0
  12. package/dist/typechain-types/@0xsequence/create3/index.js +3 -0
  13. package/dist/typechain-types/@0xsequence/create3/index.js.map +1 -0
  14. package/dist/typechain-types/@0xsequence/index.d.ts +2 -0
  15. package/dist/typechain-types/@0xsequence/index.js +3 -0
  16. package/dist/typechain-types/@0xsequence/index.js.map +1 -0
  17. package/dist/typechain-types/contracts/tests/mocks/Create3Mock.d.ts +39 -0
  18. package/dist/typechain-types/contracts/tests/mocks/Create3Mock.js +3 -0
  19. package/dist/typechain-types/contracts/tests/mocks/Create3Mock.js.map +1 -0
  20. package/dist/typechain-types/contracts/tests/mocks/index.d.ts +1 -0
  21. package/dist/typechain-types/factories/@0xsequence/create3/contracts/Create3__factory.d.ts +34 -0
  22. package/dist/typechain-types/factories/@0xsequence/create3/contracts/Create3__factory.js +55 -0
  23. package/dist/typechain-types/factories/@0xsequence/create3/contracts/Create3__factory.js.map +1 -0
  24. package/dist/typechain-types/factories/@0xsequence/create3/contracts/index.d.ts +1 -0
  25. package/dist/typechain-types/factories/@0xsequence/create3/contracts/index.js +9 -0
  26. package/dist/typechain-types/factories/@0xsequence/create3/contracts/index.js.map +1 -0
  27. package/dist/typechain-types/factories/@0xsequence/create3/index.d.ts +1 -0
  28. package/dist/typechain-types/factories/@0xsequence/create3/index.js +9 -0
  29. package/dist/typechain-types/factories/@0xsequence/create3/index.js.map +1 -0
  30. package/dist/typechain-types/factories/@0xsequence/index.d.ts +1 -0
  31. package/dist/typechain-types/factories/@0xsequence/index.js +9 -0
  32. package/dist/typechain-types/factories/@0xsequence/index.js.map +1 -0
  33. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.d.ts +1 -1
  34. package/dist/typechain-types/factories/contracts/tests/ECDSATest__factory.js +1 -1
  35. package/dist/typechain-types/factories/contracts/tests/mocks/Create3Mock__factory.d.ts +66 -0
  36. package/dist/typechain-types/factories/contracts/tests/mocks/Create3Mock__factory.js +98 -0
  37. package/dist/typechain-types/factories/contracts/tests/mocks/Create3Mock__factory.js.map +1 -0
  38. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.d.ts +1 -1
  39. package/dist/typechain-types/factories/contracts/tests/mocks/ERC1271WalletMock__factory.js +1 -1
  40. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.d.ts +1 -1
  41. package/dist/typechain-types/factories/contracts/tests/mocks/TokenWithBySig__factory.js +1 -1
  42. package/dist/typechain-types/factories/contracts/tests/mocks/index.d.ts +1 -0
  43. package/dist/typechain-types/factories/contracts/tests/mocks/index.js +3 -1
  44. package/dist/typechain-types/factories/contracts/tests/mocks/index.js.map +1 -1
  45. package/dist/typechain-types/factories/index.d.ts +1 -0
  46. package/dist/typechain-types/factories/index.js +2 -1
  47. package/dist/typechain-types/factories/index.js.map +1 -1
  48. package/dist/typechain-types/index.d.ts +6 -0
  49. package/dist/typechain-types/index.js +6 -2
  50. package/dist/typechain-types/index.js.map +1 -1
  51. package/package.json +2 -1
@@ -0,0 +1,66 @@
1
+ import { ContractFactory, ContractTransactionResponse } from "ethers";
2
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
3
+ import type { NonPayableOverrides } from "../../../../common";
4
+ import type { Create3Mock, Create3MockInterface } from "../../../../contracts/tests/mocks/Create3Mock";
5
+ type Create3MockConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
+ export declare class Create3Mock__factory extends ContractFactory {
7
+ constructor(...args: Create3MockConstructorParams);
8
+ getDeployTransaction(overrides?: NonPayableOverrides & {
9
+ from?: string;
10
+ }): Promise<ContractDeployTransaction>;
11
+ deploy(overrides?: NonPayableOverrides & {
12
+ from?: string;
13
+ }): Promise<Create3Mock & {
14
+ deploymentTransaction(): ContractTransactionResponse;
15
+ }>;
16
+ connect(runner: ContractRunner | null): Create3Mock__factory;
17
+ static readonly bytecode = "0x6080806040523460155761051a908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063bb34534c146100de5763cdcb760a1461002f575f80fd5b346100da5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5760243567ffffffffffffffff8082116100da57366023830112156100da5781600401359081116100da5736602482840101116100da576100a76100af9160246100d69401610201565b6004356103f8565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b5f80fd5b346100da5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da57602061011a600435610236565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761018157604052565b610138565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761018157604052565b67ffffffffffffffff811161018157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9061020b816101c7565b916102196040519384610186565b81835236828201116100da57815f92602092838601378301015290565b6040519060208201907fff0000000000000000000000000000000000000000000000000000000000000082523060601b602184015260358301527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f605583015260558252608082019180831067ffffffffffffffff84111761018157827f010000000000000000000000000000000000000000000000000000000000000060b66103639461037c9660405284519020937fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060a08201957fd694000000000000000000000000000000000000000000000000000000000000875260601b1660a282015201526017815261034781610165565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b604051906040820182811067ffffffffffffffff82111761018157604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d156103f3573d906103da826101c7565b916103e86040519384610186565b82523d5f602084013e565b606090565b919061040261037f565b9261040c81610236565b93843b6104ba576020815191015ff573ffffffffffffffffffffffffffffffffffffffff81161561049057815f92918360208194519301915af161044e6103c9565b50158015610487575b61045d57565b60046040517f53de54b9000000000000000000000000000000000000000000000000000000008152fd5b50813b15610457565b60046040517fbbd2fe87000000000000000000000000000000000000000000000000000000008152fd5b60046040517fcd43efa1000000000000000000000000000000000000000000000000000000008152fdfea264697066735822122024d5ab2db26034059d4b0c11ec10761b28d49093b980ad58857a79d08158202664736f6c63430008190033";
18
+ static readonly abi: readonly [{
19
+ readonly inputs: readonly [];
20
+ readonly name: "ErrorCreatingContract";
21
+ readonly type: "error";
22
+ }, {
23
+ readonly inputs: readonly [];
24
+ readonly name: "ErrorCreatingProxy";
25
+ readonly type: "error";
26
+ }, {
27
+ readonly inputs: readonly [];
28
+ readonly name: "TargetAlreadyExists";
29
+ readonly type: "error";
30
+ }, {
31
+ readonly inputs: readonly [{
32
+ readonly internalType: "bytes32";
33
+ readonly name: "salt";
34
+ readonly type: "bytes32";
35
+ }];
36
+ readonly name: "addressOf";
37
+ readonly outputs: readonly [{
38
+ readonly internalType: "address";
39
+ readonly name: "";
40
+ readonly type: "address";
41
+ }];
42
+ readonly stateMutability: "view";
43
+ readonly type: "function";
44
+ }, {
45
+ readonly inputs: readonly [{
46
+ readonly internalType: "bytes32";
47
+ readonly name: "salt";
48
+ readonly type: "bytes32";
49
+ }, {
50
+ readonly internalType: "bytes";
51
+ readonly name: "code";
52
+ readonly type: "bytes";
53
+ }];
54
+ readonly name: "deploy";
55
+ readonly outputs: readonly [{
56
+ readonly internalType: "address";
57
+ readonly name: "";
58
+ readonly type: "address";
59
+ }];
60
+ readonly stateMutability: "nonpayable";
61
+ readonly type: "function";
62
+ }];
63
+ static createInterface(): Create3MockInterface;
64
+ static connect(address: string, runner?: ContractRunner | null): Create3Mock;
65
+ }
66
+ export {};
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Create3Mock__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [],
11
+ name: "ErrorCreatingContract",
12
+ type: "error",
13
+ },
14
+ {
15
+ inputs: [],
16
+ name: "ErrorCreatingProxy",
17
+ type: "error",
18
+ },
19
+ {
20
+ inputs: [],
21
+ name: "TargetAlreadyExists",
22
+ type: "error",
23
+ },
24
+ {
25
+ inputs: [
26
+ {
27
+ internalType: "bytes32",
28
+ name: "salt",
29
+ type: "bytes32",
30
+ },
31
+ ],
32
+ name: "addressOf",
33
+ outputs: [
34
+ {
35
+ internalType: "address",
36
+ name: "",
37
+ type: "address",
38
+ },
39
+ ],
40
+ stateMutability: "view",
41
+ type: "function",
42
+ },
43
+ {
44
+ inputs: [
45
+ {
46
+ internalType: "bytes32",
47
+ name: "salt",
48
+ type: "bytes32",
49
+ },
50
+ {
51
+ internalType: "bytes",
52
+ name: "code",
53
+ type: "bytes",
54
+ },
55
+ ],
56
+ name: "deploy",
57
+ outputs: [
58
+ {
59
+ internalType: "address",
60
+ name: "",
61
+ type: "address",
62
+ },
63
+ ],
64
+ stateMutability: "nonpayable",
65
+ type: "function",
66
+ },
67
+ ];
68
+ const _bytecode = "0x6080806040523460155761051a908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063bb34534c146100de5763cdcb760a1461002f575f80fd5b346100da5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da5760243567ffffffffffffffff8082116100da57366023830112156100da5781600401359081116100da5736602482840101116100da576100a76100af9160246100d69401610201565b6004356103f8565b60405173ffffffffffffffffffffffffffffffffffffffff90911681529081906020820190565b0390f35b5f80fd5b346100da5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100da57602061011a600435610236565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761018157604052565b610138565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761018157604052565b67ffffffffffffffff811161018157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9061020b816101c7565b916102196040519384610186565b81835236828201116100da57815f92602092838601378301015290565b6040519060208201907fff0000000000000000000000000000000000000000000000000000000000000082523060601b602184015260358301527f21c35dbe1b344a2488cf3321d6ce542f8e9f305544ff09e4993a62319a497c1f605583015260558252608082019180831067ffffffffffffffff84111761018157827f010000000000000000000000000000000000000000000000000000000000000060b66103639461037c9660405284519020937fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060a08201957fd694000000000000000000000000000000000000000000000000000000000000875260601b1660a282015201526017815261034781610165565b51902073ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b90565b604051906040820182811067ffffffffffffffff82111761018157604052601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b3d156103f3573d906103da826101c7565b916103e86040519384610186565b82523d5f602084013e565b606090565b919061040261037f565b9261040c81610236565b93843b6104ba576020815191015ff573ffffffffffffffffffffffffffffffffffffffff81161561049057815f92918360208194519301915af161044e6103c9565b50158015610487575b61045d57565b60046040517f53de54b9000000000000000000000000000000000000000000000000000000008152fd5b50813b15610457565b60046040517fbbd2fe87000000000000000000000000000000000000000000000000000000008152fd5b60046040517fcd43efa1000000000000000000000000000000000000000000000000000000008152fdfea264697066735822122024d5ab2db26034059d4b0c11ec10761b28d49093b980ad58857a79d08158202664736f6c63430008190033";
69
+ const isSuperArgs = (xs) => xs.length > 1;
70
+ class Create3Mock__factory extends ethers_1.ContractFactory {
71
+ constructor(...args) {
72
+ if (isSuperArgs(args)) {
73
+ super(...args);
74
+ }
75
+ else {
76
+ super(_abi, _bytecode, args[0]);
77
+ }
78
+ }
79
+ getDeployTransaction(overrides) {
80
+ return super.getDeployTransaction(overrides || {});
81
+ }
82
+ deploy(overrides) {
83
+ return super.deploy(overrides || {});
84
+ }
85
+ connect(runner) {
86
+ return super.connect(runner);
87
+ }
88
+ static createInterface() {
89
+ return new ethers_1.Interface(_abi);
90
+ }
91
+ static connect(address, runner) {
92
+ return new ethers_1.Contract(address, _abi, runner);
93
+ }
94
+ }
95
+ exports.Create3Mock__factory = Create3Mock__factory;
96
+ Create3Mock__factory.bytecode = _bytecode;
97
+ Create3Mock__factory.abi = _abi;
98
+ //# sourceMappingURL=Create3Mock__factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Create3Mock__factory.js","sourceRoot":"","sources":["../../../../../../typechain-types/factories/contracts/tests/mocks/Create3Mock__factory.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,mCAKgB;AAQhB,MAAM,IAAI,GAAG;IACX;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,OAAO;KACd;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAChB;SACF;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,MAAM,SAAS,GACb,4mFAA4mF,CAAC;AAM/mF,MAAM,WAAW,GAAG,CAClB,EAAgC,EACqB,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAExE,MAAa,oBAAqB,SAAQ,wBAAe;IACvD,YAAY,GAAG,IAAkC;QAC/C,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAEQ,oBAAoB,CAC3B,SAAmD;QAEnD,OAAO,KAAK,CAAC,oBAAoB,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IACrD,CAAC;IACQ,MAAM,CAAC,SAAmD;QACjE,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAIlC,CAAC;IACJ,CAAC;IACQ,OAAO,CAAC,MAA6B;QAC5C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAyB,CAAC;IACvD,CAAC;IAID,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,kBAAS,CAAC,IAAI,CAAyB,CAAC;IACrD,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,OAAe,EAAE,MAA8B;QAC5D,OAAO,IAAI,iBAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAA2B,CAAC;IACvE,CAAC;;AAhCH,oDAiCC;AARiB,6BAAQ,GAAG,SAAS,CAAC;AACrB,wBAAG,GAAG,IAAI,CAAC"}
@@ -14,7 +14,7 @@ export declare class ERC1271WalletMock__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): ERC1271WalletMock__factory;
17
- static readonly bytecode = "0x60803460b457601f61053638819003918201601f19168301916001600160401b0383118484101760b85780849260209460405283398101031260b457516001600160a01b03908181169081900360b4578015609c575f80546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361046990816100cd8239f35b604051631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040908082526004361015610014575f80fd5b5f3560e01c9081631626ba7e1461021a57508063715018a6146101805780638da5cb5b1461012f5763f2fde38b1461004a575f80fd5b3461012b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576004359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012b576100a56103e3565b82156100fc57505f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b602490517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152fd5b5f80fd5b503461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760209073ffffffffffffffffffffffffffffffffffffffff5f54169051908152f35b3461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576101b66103e3565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461012b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760243567ffffffffffffffff80821161012b573660238301121561012b57816004013590811161012b576024820191366024838301011161012b576020945f9381938487826041146103cc57505060401461038857505050505f805b610340575b5073ffffffffffffffffffffffffffffffffffffffff805f54169116145f14610318577fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000915b5191168152f35b7fffffffff000000000000000000000000000000000000000000000000000000005f91610311565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1606082015110156102aa5783915060805f91600435815282805260015afa505f51836102aa565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60609188604487960135918260ff1c601b018287015289860137169101526102a5565b939094849250606401355f1a8982015201376102a5565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361040357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fdfea2646970667358221220281d479cd028aff1653edd92bd7ae6c785004d98b7048471fbfd82f8fa69c2dd64736f6c63430008190033";
17
+ static readonly bytecode = "0x60803460b457601f61053638819003918201601f19168301916001600160401b0383118484101760b85780849260209460405283398101031260b457516001600160a01b03908181169081900360b4578015609c575f80546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361046990816100cd8239f35b604051631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040908082526004361015610014575f80fd5b5f3560e01c9081631626ba7e1461021a57508063715018a6146101805780638da5cb5b1461012f5763f2fde38b1461004a575f80fd5b3461012b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576004359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012b576100a56103e3565b82156100fc57505f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b602490517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152fd5b5f80fd5b503461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760209073ffffffffffffffffffffffffffffffffffffffff5f54169051908152f35b3461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576101b66103e3565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461012b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760243567ffffffffffffffff80821161012b573660238301121561012b57816004013590811161012b576024820191366024838301011161012b576020945f9381938487826041146103cc57505060401461038857505050505f805b610340575b5073ffffffffffffffffffffffffffffffffffffffff805f54169116145f14610318577fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000915b5191168152f35b7fffffffff000000000000000000000000000000000000000000000000000000005f91610311565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1606082015110156102aa5783915060805f91600435815282805260015afa505f51836102aa565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60609188604487960135918260ff1c601b018287015289860137169101526102a5565b939094849250606401355f1a8982015201376102a5565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361040357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fdfea2646970667358221220db34eda27b02768ba4391a0670538c6ce0254c59bd0c1d73b71113793e49fd3364736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "address";
@@ -116,7 +116,7 @@ const _abi = [
116
116
  type: "function",
117
117
  },
118
118
  ];
119
- const _bytecode = "0x60803460b457601f61053638819003918201601f19168301916001600160401b0383118484101760b85780849260209460405283398101031260b457516001600160a01b03908181169081900360b4578015609c575f80546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361046990816100cd8239f35b604051631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040908082526004361015610014575f80fd5b5f3560e01c9081631626ba7e1461021a57508063715018a6146101805780638da5cb5b1461012f5763f2fde38b1461004a575f80fd5b3461012b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576004359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012b576100a56103e3565b82156100fc57505f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b602490517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152fd5b5f80fd5b503461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760209073ffffffffffffffffffffffffffffffffffffffff5f54169051908152f35b3461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576101b66103e3565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461012b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760243567ffffffffffffffff80821161012b573660238301121561012b57816004013590811161012b576024820191366024838301011161012b576020945f9381938487826041146103cc57505060401461038857505050505f805b610340575b5073ffffffffffffffffffffffffffffffffffffffff805f54169116145f14610318577fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000915b5191168152f35b7fffffffff000000000000000000000000000000000000000000000000000000005f91610311565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1606082015110156102aa5783915060805f91600435815282805260015afa505f51836102aa565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60609188604487960135918260ff1c601b018287015289860137169101526102a5565b939094849250606401355f1a8982015201376102a5565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361040357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fdfea2646970667358221220281d479cd028aff1653edd92bd7ae6c785004d98b7048471fbfd82f8fa69c2dd64736f6c63430008190033";
119
+ const _bytecode = "0x60803460b457601f61053638819003918201601f19168301916001600160401b0383118484101760b85780849260209460405283398101031260b457516001600160a01b03908181169081900360b4578015609c575f80546001600160a01b03198116831782556040519316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a361046990816100cd8239f35b604051631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040908082526004361015610014575f80fd5b5f3560e01c9081631626ba7e1461021a57508063715018a6146101805780638da5cb5b1461012f5763f2fde38b1461004a575f80fd5b3461012b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576004359073ffffffffffffffffffffffffffffffffffffffff9081831680930361012b576100a56103e3565b82156100fc57505f54827fffffffffffffffffffffffff00000000000000000000000000000000000000008216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b602490517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152fd5b5f80fd5b503461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760209073ffffffffffffffffffffffffffffffffffffffff5f54169051908152f35b3461012b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b576101b66103e3565b5f73ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461012b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261012b5760243567ffffffffffffffff80821161012b573660238301121561012b57816004013590811161012b576024820191366024838301011161012b576020945f9381938487826041146103cc57505060401461038857505050505f805b610340575b5073ffffffffffffffffffffffffffffffffffffffff805f54169116145f14610318577fffffffff000000000000000000000000000000000000000000000000000000007f1626ba7e00000000000000000000000000000000000000000000000000000000915b5191168152f35b7fffffffff000000000000000000000000000000000000000000000000000000005f91610311565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1606082015110156102aa5783915060805f91600435815282805260015afa505f51836102aa565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60609188604487960135918260ff1c601b018287015289860137169101526102a5565b939094849250606401355f1a8982015201376102a5565b73ffffffffffffffffffffffffffffffffffffffff5f5416330361040357565b60246040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152fdfea2646970667358221220db34eda27b02768ba4391a0670538c6ce0254c59bd0c1d73b71113793e49fd3364736f6c63430008190033";
120
120
  const isSuperArgs = (xs) => xs.length > 1;
121
121
  class ERC1271WalletMock__factory extends ethers_1.ContractFactory {
122
122
  constructor(...args) {
@@ -14,7 +14,7 @@ export declare class TokenWithBySig__factory extends ContractFactory {
14
14
  deploymentTransaction(): ContractTransactionResponse;
15
15
  }>;
16
16
  connect(runner: ContractRunner | null): TokenWithBySig__factory;
17
- static readonly bytecode = "0x61016060408181523461042457612a5f803803809161001e8286610428565b84398201916060818403126104245780516001600160401b039290838111610424578461004c91840161044b565b9160209081810151858111610424578661006791830161044b565b95838201518681116104245761007d920161044b565b9083518581116103475760038054906001928383811c9316801561041a575b8584101461040657601f928381116103c3575b508085848211600114610366575f9161035b575b505f1982841b1c191690841b1781555b885191888311610347576004998a548581811c9116801561033d575b8782101461032a578281116102e7575b5085918411600114610285579383949184925f9561027a575b50501b925f19911b1c19161786555b33156102645760058054336001600160a01b0319821681179092556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3610178846104a0565b9261012093845261018883610628565b94610140958652828151910120928360e05282815191012096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761025157508590525190206080523060c0526122fa93846107658539608051846121d2015260a0518461229e015260c051846121a3015260e051846122210152518361224701525182610867015251816108910152f35b604190634e487b7160e01b5f525260245ffd5b8251631e4fbdf760e01b81525f81880152602490fd5b015193505f80610118565b9190601f198416928b5f5284875f20945f5b89898383106102d057505050106102b7575b50505050811b018655610127565b01519060f8845f19921b161c191690555f8080806102a9565b868601518955909701969485019488935001610297565b8b5f52865f208380870160051c820192898810610321575b0160051c019086905b8281106103165750506100ff565b5f8155018690610308565b925081926102ff565b60228c634e487b7160e01b5f525260245ffd5b90607f16906100ef565b634e487b7160e01b5f52604160045260245ffd5b90508801515f6100c3565b859250601f19821690845f52875f20915f5b898d8383106103ae575050508311610397575b5050811b0181556100d3565b8a01515f1983861b60f8161c191690555f8061038b565b84015185558996909401939283019201610378565b825f52855f208480840160051c8201928885106103fd575b0160051c019085905b8281106103f25750506100af565b5f81550185906103e4565b925081926103db565b634e487b7160e01b5f52602260045260245ffd5b92607f169261009c565b5f80fd5b601f909101601f19168101906001600160401b0382119082101761034757604052565b81601f82011215610424578051906001600160401b038211610347576040519261047f601f8401601f191660200185610428565b8284526020838301011161042457815f9260208093018386015e8301015290565b8051602090818110156105165750601f8251116104d857808251920151908083106104ca57501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b906001600160401b03821161034757600654926001938481811c9116801561061e575b8382101461040657601f81116105ea575b5081601f841160011461058657509282939183925f9461057b575b50501b915f199060031b1c19161760065560ff90565b015192505f80610565565b919083601f19811660065f52845f20945f905b888383106105d057505050106105b8575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f80806105aa565b858701518855909601959485019487935090810190610599565b60065f5284601f845f20920160051c820191601f860160051c015b82811061061357505061054a565b5f8155018590610605565b90607f1690610539565b8051602090818110156106525750601f8251116104d857808251920151908083106104ca57501790565b906001600160401b03821161034757600754926001938481811c9116801561075a575b8382101461040657601f8111610726575b5081601f84116001146106c257509282939183925f946106b7575b50501b915f199060031b1c19161760075560ff90565b015192505f806106a1565b919083601f19811660075f52845f20945f905b8883831061070c57505050106106f4575b505050811b0160075560ff90565b01515f1960f88460031b161c191690555f80806106e6565b8587015188559096019594850194879350908101906106d5565b60075f5284601f845f20920160051c820191601f860160051c015b82811061074f575050610686565b5f8155018590610741565b90607f169061067556fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816306fdde03146114b75750806308b8ae3e14611439578063095ea7b3146113295780630acebbb3146112b757806318160ddd1461127b57806323b872dd146110ca5780632ca6f77114610e065780632dffc93814610dae578063313ce56714610d755780633408e47014610d3d57806334dd202614610ca25780633cc67ac714610c28578063404f551d14610b7c57806340c10f1914610aa057806370a0823114610a3f578063715018a6146109a357806384b0196e146108335780638c3adb0a146107b85780638d7e4ea0146107545780638da5cb5b1461070257806395d89b41146105df5780639dc29fac14610498578063a9059cbb14610443578063dd62ed3e146103ce578063e032e04f14610368578063eb24bae41461022f5763f2fde38b14610149575f80fd5b3461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610180611605565b90610189611e00565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101fc575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610262611605565b9160243567ffffffffffffffff60443581811161022b57610286903690860161164b565b919060643591821161022b576102b5926102a66102af933690890161164b565b505036916117df565b30611db9565b926102be611e66565b9473ffffffffffffffffffffffffffffffffffffffff809116913083036103415750948260809261033d976103157f91d424c26d66241302801829dc5d75ac3b3036414855f2088205e8f2705c051b963386611901565b865193168352336020840152858301526060820152a1519182916020835260208301906115c2565b0390f35b84517fa0f3feea000000000000000000000000000000000000000000000000000000008152fd5b823461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff6103b8611605565b165f526401000000088252805f20549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090610408611605565b610410611628565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090610491610480611605565b6024359061048c611e66565b611901565b5160018152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576104d0611605565b90602435926104dd611e00565b73ffffffffffffffffffffffffffffffffffffffff83169283156105b057835f525f602052825f205491858310610551575f857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020898881898688528785520381872055816002540360025551908152a3005b6105ac868486519485947fe450d38c000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b0390fd5b505f60249251917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b503461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57815191825f835461061e81611679565b90818452602095600191876001821691825f146106bd575050600114610661575b50505061033d9291610652910385611713565b519282849384528301906115c2565b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106106a5575050508201018161065261033d61063f565b8054848a01860152889550879490930192810161068c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610652915061033d905061063f565b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b50903461022b577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9160208336011261022b5780359267ffffffffffffffff841161022b578290843603011261022b576020926107b1910161184f565b9051908152f35b503461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57359063ffffffff821680920361022b5761082f9073ffffffffffffffffffffffffffffffffffffffff610819611e66565b165f526401000000086020525f20918254611815565b9055005b503461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5761088b7f0000000000000000000000000000000000000000000000000000000000000000611f9a565b916108b57f00000000000000000000000000000000000000000000000000000000000000006120cf565b815191602091602084019484861067ffffffffffffffff871117610977575061092c826020928761091f99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a01906115c2565b91888303908901526115c2565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061096057505050500390f35b835185528695509381019392810192600101610951565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b3461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576109d9611e00565b5f73ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff610a8f611605565b165f525f8252805f20549051908152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610ad8611605565b9073ffffffffffffffffffffffffffffffffffffffff60243592610afa611e00565b16928315610b4e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610b355f95600254611815565b60025585855284835280852082815401905551908152a3005b5f60249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b503461022b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57357fffffffff00000000000000000000000000000000000000000000000000000000811680910361022b576024359163ffffffff831680930361022b5761082f9173ffffffffffffffffffffffffffffffffffffffff610c09611e66565b165f52640100000009602052815f20905f526020525f20918254611815565b503461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760ff600191359273ffffffffffffffffffffffffffffffffffffffff610c7c611e66565b165f5264010000000a602052805f208460081c5f526020525f2092161b81541790555f80f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610cd9611605565b906024357fffffffff00000000000000000000000000000000000000000000000000000000811680910361022b5773ffffffffffffffffffffffffffffffffffffffff602093165f526401000000098352815f20905f528252805f20549051908152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209051468152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576020905160128152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090517f9ed1889e2180e1ec4f2d7816d43eb41f27d0bbbce4557680ecf32626c070c8648152f35b50907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9060608236011261022b57610e3c611605565b9160243567ffffffffffffffff80821161022b578382870193833603011261022b5760443590811161022b57610e75903690870161164b565b9083359264ffffffffff8460d01c1642116110a257610e92611e66565b69ffffffffffffffffffff808660801c16908115928315611096575b5050501561106e576024610ecf910193610ec88587611754565b9189611a6b565b156110465790610ee891610ee28561184f565b87611c30565b1561101e576102af610f54610f5b92600894855463ffffffff98898260a01c1691825f14610ffe57740100000000000000000000000000000000000000000188557f80000000000000000000000000000000000000000000000000000000000000001790870155611754565b36916117df565b928154908160a01c16805f14610fd75761033d9550600114610fae577fffffffffffffffffffffffff00000000000000000000000000000000000000000190555b519182916020835260208301906115c2565b507f80000000000000000000000000000000000000000000000000000000000000009055610f9c565b857f06a2af9e000000000000000000000000000000000000000000000000000000005f525ffd5b507401000000000000000000000000000000000000000017875550611754565b8483517f356a4418000000000000000000000000000000000000000000000000000000008152fd5b8685517fd9c6386f000000000000000000000000000000000000000000000000000000008152fd5b8786517f3b06dcfb000000000000000000000000000000000000000000000000000000008152fd5b161490505f8080610eae565b8786517f559895a3000000000000000000000000000000000000000000000000000000008152fd5b503461022b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57611102611605565b61110a611628565b9060443592611117611e66565b9073ffffffffffffffffffffffffffffffffffffffff9081841690815f526001602052875f2092841692835f52602052875f2054937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8503611182575b6020896104918a8a8a611901565b87851061121f575081156111f05782156111c157505f908152600160209081528782209282529182528681209286900390925583916104919080611174565b6024905f8951917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8951917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b906105ac88868b519485947ffb8f41b2000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576020906002549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff611306611605565b165f5264010000000a8252805f2060243560081c5f528252805f20549051908152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57611361611605565b6024359073ffffffffffffffffffffffffffffffffffffffff80611383611e66565b1691821561140a57169182156113db5760208095507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f5260018252855f20855f52825280865f20558551908152a35160018152f35b6024855f8651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024865f8751917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090611473611605565b9073ffffffffffffffffffffffffffffffffffffffff60243592165f5264010000000a8352805f208260081c5f528352600160ff825f2054925193161b1615158152f35b833461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760035490825f6114f584611679565b808352602094600190866001821691825f14611582575050600114611527575b505061033d9291610652910385611713565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b82841061156a5750505082010181610652611515565b8054848a018601528895508794909301928101611554565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506106529050611515565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361022b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361022b57565b9181601f8401121561022b5782359167ffffffffffffffff831161022b576020838186019501011161022b57565b90600182811c921680156116c0575b602083101461169357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611688565b6040810190811067ffffffffffffffff8211176116e657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176116e657604052565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561022b570180359067ffffffffffffffff821161022b5760200191813603831361022b57565b67ffffffffffffffff81116116e657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926117eb826117a5565b916117f96040519384611713565b82948184528183011161022b578281602093845f960137010152565b9190820180921161182257565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b61185f610f546020830183611754565b60208151910120906040519160208301917f9ed1889e2180e1ec4f2d7816d43eb41f27d0bbbce4557680ecf32626c070c8648352356040840152606083015260608252608082019180831067ffffffffffffffff8411176116e6576042926040525190206118cb61218c565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b9173ffffffffffffffffffffffffffffffffffffffff808416928315611a0e57169283156119de57825f525f60205260405f2054908282106119865750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118225760010190565b9190928360fe1c9160028311611c06576003831015611bd9576fffffffffffffffffffffffffffffffff8516918315611ba25760018414611b0d57505050600214611ab65750505f90565b73ffffffffffffffffffffffffffffffffffffffff165f5264010000000a60205260405f206effffffffffffffffffffffffffffff8260081c165f5260205260405f2090600160ff835492161b8117809255141590565b92509273ffffffffffffffffffffffffffffffffffffffff919450165f5264010000000960205260405f2091357fffffffff000000000000000000000000000000000000000000000000000000009181838093169160048110611b8c575b50509050165f5260205260405f2090815491611b8683611a3e565b90551490565b8391925060040360031b1b161681905f80611b6b565b505092505073ffffffffffffffffffffffffffffffffffffffff165f5264010000000860205260405f2090815491611b8683611a3e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60046040517f5f640821000000000000000000000000000000000000000000000000000000008152fd5b90919273ffffffffffffffffffffffffffffffffffffffff91828116928315611daf57604093848414918215611da4575b82611cd7575b5050611ccd57602092825f9384978351937f1626ba7e0000000000000000000000000000000000000000000000000000000098898652600486015260248501528160448501526064840137606401915afa611cc0575090565b5f51143d60201416919050565b5050505050600190565b9091505f85518580604114611d8c57604014611d4757505f805b611d00575b5016145f80611c67565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a160608201511015611cf65760209150608081895f935282805260015afa505f515f611cf6565b807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208b01358060ff1c601b01602084015260208c8b850137166060820152611cf1565b50868901355f1a602082015280878a81830137611cf1565b604185149250611c61565b5050505050505f90565b5f80611df593602081519101845af43d15611df8573d91611dd9836117a5565b92611de76040519485611713565b83523d5f602085013e611efa565b90565b606091611efa565b73ffffffffffffffffffffffffffffffffffffffff806005541681611e23611e66565b1603611e2c5750565b602490611e37611e66565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815291166004820152fd5b63ffffffff60085460a01c168015611ef5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818111611822576401000000001115611ecb576007015473ffffffffffffffffffffffffffffffffffffffff1690565b60046040517f4e23d035000000000000000000000000000000000000000000000000000000008152fd5b503390565b90611f395750805115611f0f57805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b81511580611f91575b611f4a575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15611f42565b60ff8114611ff05760ff811690601f8211611fc65760405191611fbc836116ca565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654815f61200283611679565b8083529260209060019081811690811561208c575060011461202d575b5050611df592500382611713565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b8284106120745750611df59450505081016020015f8061201f565b85548785018301529485019486945092810192612059565b905060209350611df59592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f8061201f565b60ff81146120f15760ff811690601f8211611fc65760405191611fbc836116ca565b50604051600754815f61210383611679565b8083529260209060019081811690811561208c575060011461212d575050611df592500382611713565b91509260075f527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688935f925b8284106121745750611df59450505081016020015f8061201f565b85548785018301529485019486945092810192612159565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630148061229b575b156121f4577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176116e65760405251902090565b507f000000000000000000000000000000000000000000000000000000000000000046146121cb56fea2646970667358221220225d4fab8f5755a0bc717ec61516865e32baac7ce8fd7d92db7409581f38160364736f6c63430008190033";
17
+ static readonly bytecode = "0x61016060408181523461042457612a5f803803809161001e8286610428565b84398201916060818403126104245780516001600160401b039290838111610424578461004c91840161044b565b9160209081810151858111610424578661006791830161044b565b95838201518681116104245761007d920161044b565b9083518581116103475760038054906001928383811c9316801561041a575b8584101461040657601f928381116103c3575b508085848211600114610366575f9161035b575b505f1982841b1c191690841b1781555b885191888311610347576004998a548581811c9116801561033d575b8782101461032a578281116102e7575b5085918411600114610285579383949184925f9561027a575b50501b925f19911b1c19161786555b33156102645760058054336001600160a01b0319821681179092556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3610178846104a0565b9261012093845261018883610628565b94610140958652828151910120928360e05282815191012096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761025157508590525190206080523060c0526122fa93846107658539608051846121d2015260a0518461229e015260c051846121a3015260e051846122210152518361224701525182610867015251816108910152f35b604190634e487b7160e01b5f525260245ffd5b8251631e4fbdf760e01b81525f81880152602490fd5b015193505f80610118565b9190601f198416928b5f5284875f20945f5b89898383106102d057505050106102b7575b50505050811b018655610127565b01519060f8845f19921b161c191690555f8080806102a9565b868601518955909701969485019488935001610297565b8b5f52865f208380870160051c820192898810610321575b0160051c019086905b8281106103165750506100ff565b5f8155018690610308565b925081926102ff565b60228c634e487b7160e01b5f525260245ffd5b90607f16906100ef565b634e487b7160e01b5f52604160045260245ffd5b90508801515f6100c3565b859250601f19821690845f52875f20915f5b898d8383106103ae575050508311610397575b5050811b0181556100d3565b8a01515f1983861b60f8161c191690555f8061038b565b84015185558996909401939283019201610378565b825f52855f208480840160051c8201928885106103fd575b0160051c019085905b8281106103f25750506100af565b5f81550185906103e4565b925081926103db565b634e487b7160e01b5f52602260045260245ffd5b92607f169261009c565b5f80fd5b601f909101601f19168101906001600160401b0382119082101761034757604052565b81601f82011215610424578051906001600160401b038211610347576040519261047f601f8401601f191660200185610428565b8284526020838301011161042457815f9260208093018386015e8301015290565b8051602090818110156105165750601f8251116104d857808251920151908083106104ca57501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b906001600160401b03821161034757600654926001938481811c9116801561061e575b8382101461040657601f81116105ea575b5081601f841160011461058657509282939183925f9461057b575b50501b915f199060031b1c19161760065560ff90565b015192505f80610565565b919083601f19811660065f52845f20945f905b888383106105d057505050106105b8575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f80806105aa565b858701518855909601959485019487935090810190610599565b60065f5284601f845f20920160051c820191601f860160051c015b82811061061357505061054a565b5f8155018590610605565b90607f1690610539565b8051602090818110156106525750601f8251116104d857808251920151908083106104ca57501790565b906001600160401b03821161034757600754926001938481811c9116801561075a575b8382101461040657601f8111610726575b5081601f84116001146106c257509282939183925f946106b7575b50501b915f199060031b1c19161760075560ff90565b015192505f806106a1565b919083601f19811660075f52845f20945f905b8883831061070c57505050106106f4575b505050811b0160075560ff90565b01515f1960f88460031b161c191690555f80806106e6565b8587015188559096019594850194879350908101906106d5565b60075f5284601f845f20920160051c820191601f860160051c015b82811061074f575050610686565b5f8155018590610741565b90607f169061067556fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816306fdde03146114b75750806308b8ae3e14611439578063095ea7b3146113295780630acebbb3146112b757806318160ddd1461127b57806323b872dd146110ca5780632ca6f77114610e065780632dffc93814610dae578063313ce56714610d755780633408e47014610d3d57806334dd202614610ca25780633cc67ac714610c28578063404f551d14610b7c57806340c10f1914610aa057806370a0823114610a3f578063715018a6146109a357806384b0196e146108335780638c3adb0a146107b85780638d7e4ea0146107545780638da5cb5b1461070257806395d89b41146105df5780639dc29fac14610498578063a9059cbb14610443578063dd62ed3e146103ce578063e032e04f14610368578063eb24bae41461022f5763f2fde38b14610149575f80fd5b3461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610180611605565b90610189611e00565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101fc575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610262611605565b9160243567ffffffffffffffff60443581811161022b57610286903690860161164b565b919060643591821161022b576102b5926102a66102af933690890161164b565b505036916117df565b30611db9565b926102be611e66565b9473ffffffffffffffffffffffffffffffffffffffff809116913083036103415750948260809261033d976103157f91d424c26d66241302801829dc5d75ac3b3036414855f2088205e8f2705c051b963386611901565b865193168352336020840152858301526060820152a1519182916020835260208301906115c2565b0390f35b84517fa0f3feea000000000000000000000000000000000000000000000000000000008152fd5b823461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff6103b8611605565b165f526401000000088252805f20549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090610408611605565b610410611628565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090610491610480611605565b6024359061048c611e66565b611901565b5160018152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576104d0611605565b90602435926104dd611e00565b73ffffffffffffffffffffffffffffffffffffffff83169283156105b057835f525f602052825f205491858310610551575f857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020898881898688528785520381872055816002540360025551908152a3005b6105ac868486519485947fe450d38c000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b0390fd5b505f60249251917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b503461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57815191825f835461061e81611679565b90818452602095600191876001821691825f146106bd575050600114610661575b50505061033d9291610652910385611713565b519282849384528301906115c2565b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106106a5575050508201018161065261033d61063f565b8054848a01860152889550879490930192810161068c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610652915061033d905061063f565b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b50903461022b577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9160208336011261022b5780359267ffffffffffffffff841161022b578290843603011261022b576020926107b1910161184f565b9051908152f35b503461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57359063ffffffff821680920361022b5761082f9073ffffffffffffffffffffffffffffffffffffffff610819611e66565b165f526401000000086020525f20918254611815565b9055005b503461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5761088b7f0000000000000000000000000000000000000000000000000000000000000000611f9a565b916108b57f00000000000000000000000000000000000000000000000000000000000000006120cf565b815191602091602084019484861067ffffffffffffffff871117610977575061092c826020928761091f99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a01906115c2565b91888303908901526115c2565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061096057505050500390f35b835185528695509381019392810192600101610951565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b3461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576109d9611e00565b5f73ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff610a8f611605565b165f525f8252805f20549051908152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610ad8611605565b9073ffffffffffffffffffffffffffffffffffffffff60243592610afa611e00565b16928315610b4e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610b355f95600254611815565b60025585855284835280852082815401905551908152a3005b5f60249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b503461022b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57357fffffffff00000000000000000000000000000000000000000000000000000000811680910361022b576024359163ffffffff831680930361022b5761082f9173ffffffffffffffffffffffffffffffffffffffff610c09611e66565b165f52640100000009602052815f20905f526020525f20918254611815565b503461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760ff600191359273ffffffffffffffffffffffffffffffffffffffff610c7c611e66565b165f5264010000000a602052805f208460081c5f526020525f2092161b81541790555f80f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610cd9611605565b906024357fffffffff00000000000000000000000000000000000000000000000000000000811680910361022b5773ffffffffffffffffffffffffffffffffffffffff602093165f526401000000098352815f20905f528252805f20549051908152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209051468152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576020905160128152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090517f9ed1889e2180e1ec4f2d7816d43eb41f27d0bbbce4557680ecf32626c070c8648152f35b50907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9060608236011261022b57610e3c611605565b9160243567ffffffffffffffff80821161022b578382870193833603011261022b5760443590811161022b57610e75903690870161164b565b9083359264ffffffffff8460d01c1642116110a257610e92611e66565b69ffffffffffffffffffff808660801c16908115928315611096575b5050501561106e576024610ecf910193610ec88587611754565b9189611a6b565b156110465790610ee891610ee28561184f565b87611c30565b1561101e576102af610f54610f5b92600894855463ffffffff98898260a01c1691825f14610ffe57740100000000000000000000000000000000000000000188557f80000000000000000000000000000000000000000000000000000000000000001790870155611754565b36916117df565b928154908160a01c16805f14610fd75761033d9550600114610fae577fffffffffffffffffffffffff00000000000000000000000000000000000000000190555b519182916020835260208301906115c2565b507f80000000000000000000000000000000000000000000000000000000000000009055610f9c565b857f06a2af9e000000000000000000000000000000000000000000000000000000005f525ffd5b507401000000000000000000000000000000000000000017875550611754565b8483517f356a4418000000000000000000000000000000000000000000000000000000008152fd5b8685517fd9c6386f000000000000000000000000000000000000000000000000000000008152fd5b8786517f3b06dcfb000000000000000000000000000000000000000000000000000000008152fd5b161490505f8080610eae565b8786517f559895a3000000000000000000000000000000000000000000000000000000008152fd5b503461022b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57611102611605565b61110a611628565b9060443592611117611e66565b9073ffffffffffffffffffffffffffffffffffffffff9081841690815f526001602052875f2092841692835f52602052875f2054937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8503611182575b6020896104918a8a8a611901565b87851061121f575081156111f05782156111c157505f908152600160209081528782209282529182528681209286900390925583916104919080611174565b6024905f8951917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8951917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b906105ac88868b519485947ffb8f41b2000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576020906002549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff611306611605565b165f5264010000000a8252805f2060243560081c5f528252805f20549051908152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57611361611605565b6024359073ffffffffffffffffffffffffffffffffffffffff80611383611e66565b1691821561140a57169182156113db5760208095507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f5260018252855f20855f52825280865f20558551908152a35160018152f35b6024855f8651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024865f8751917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090611473611605565b9073ffffffffffffffffffffffffffffffffffffffff60243592165f5264010000000a8352805f208260081c5f528352600160ff825f2054925193161b1615158152f35b833461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760035490825f6114f584611679565b808352602094600190866001821691825f14611582575050600114611527575b505061033d9291610652910385611713565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b82841061156a5750505082010181610652611515565b8054848a018601528895508794909301928101611554565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506106529050611515565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361022b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361022b57565b9181601f8401121561022b5782359167ffffffffffffffff831161022b576020838186019501011161022b57565b90600182811c921680156116c0575b602083101461169357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611688565b6040810190811067ffffffffffffffff8211176116e657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176116e657604052565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561022b570180359067ffffffffffffffff821161022b5760200191813603831361022b57565b67ffffffffffffffff81116116e657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926117eb826117a5565b916117f96040519384611713565b82948184528183011161022b578281602093845f960137010152565b9190820180921161182257565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b61185f610f546020830183611754565b60208151910120906040519160208301917f9ed1889e2180e1ec4f2d7816d43eb41f27d0bbbce4557680ecf32626c070c8648352356040840152606083015260608252608082019180831067ffffffffffffffff8411176116e6576042926040525190206118cb61218c565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b9173ffffffffffffffffffffffffffffffffffffffff808416928315611a0e57169283156119de57825f525f60205260405f2054908282106119865750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118225760010190565b9190928360fe1c9160028311611c06576003831015611bd9576fffffffffffffffffffffffffffffffff8516918315611ba25760018414611b0d57505050600214611ab65750505f90565b73ffffffffffffffffffffffffffffffffffffffff165f5264010000000a60205260405f206effffffffffffffffffffffffffffff8260081c165f5260205260405f2090600160ff835492161b8117809255141590565b92509273ffffffffffffffffffffffffffffffffffffffff919450165f5264010000000960205260405f2091357fffffffff000000000000000000000000000000000000000000000000000000009181838093169160048110611b8c575b50509050165f5260205260405f2090815491611b8683611a3e565b90551490565b8391925060040360031b1b161681905f80611b6b565b505092505073ffffffffffffffffffffffffffffffffffffffff165f5264010000000860205260405f2090815491611b8683611a3e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60046040517f5f640821000000000000000000000000000000000000000000000000000000008152fd5b90919273ffffffffffffffffffffffffffffffffffffffff91828116928315611daf57604093848414918215611da4575b82611cd7575b5050611ccd57602092825f9384978351937f1626ba7e0000000000000000000000000000000000000000000000000000000098898652600486015260248501528160448501526064840137606401915afa611cc0575090565b5f51143d60201416919050565b5050505050600190565b9091505f85518580604114611d8c57604014611d4757505f805b611d00575b5016145f80611c67565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a160608201511015611cf65760209150608081895f935282805260015afa505f515f611cf6565b807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208b01358060ff1c601b01602084015260208c8b850137166060820152611cf1565b50868901355f1a602082015280878a81830137611cf1565b604185149250611c61565b5050505050505f90565b5f80611df593602081519101845af43d15611df8573d91611dd9836117a5565b92611de76040519485611713565b83523d5f602085013e611efa565b90565b606091611efa565b73ffffffffffffffffffffffffffffffffffffffff806005541681611e23611e66565b1603611e2c5750565b602490611e37611e66565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815291166004820152fd5b63ffffffff60085460a01c168015611ef5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818111611822576401000000001115611ecb576007015473ffffffffffffffffffffffffffffffffffffffff1690565b60046040517f4e23d035000000000000000000000000000000000000000000000000000000008152fd5b503390565b90611f395750805115611f0f57805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b81511580611f91575b611f4a575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15611f42565b60ff8114611ff05760ff811690601f8211611fc65760405191611fbc836116ca565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654815f61200283611679565b8083529260209060019081811690811561208c575060011461202d575b5050611df592500382611713565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b8284106120745750611df59450505081016020015f8061201f565b85548785018301529485019486945092810192612059565b905060209350611df59592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f8061201f565b60ff81146120f15760ff811690601f8211611fc65760405191611fbc836116ca565b50604051600754815f61210383611679565b8083529260209060019081811690811561208c575060011461212d575050611df592500382611713565b91509260075f527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688935f925b8284106121745750611df59450505081016020015f8061201f565b85548785018301529485019486945092810192612159565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630148061229b575b156121f4577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176116e65760405251902090565b507f000000000000000000000000000000000000000000000000000000000000000046146121cb56fea26469706673582212209e664f3d8f846fd814aa2f3619c0d32d453be3a7b09b032dba83c4006ba2488564736f6c63430008190033";
18
18
  static readonly abi: readonly [{
19
19
  readonly inputs: readonly [{
20
20
  readonly internalType: "string";
@@ -860,7 +860,7 @@ const _abi = [
860
860
  type: "function",
861
861
  },
862
862
  ];
863
- const _bytecode = "0x61016060408181523461042457612a5f803803809161001e8286610428565b84398201916060818403126104245780516001600160401b039290838111610424578461004c91840161044b565b9160209081810151858111610424578661006791830161044b565b95838201518681116104245761007d920161044b565b9083518581116103475760038054906001928383811c9316801561041a575b8584101461040657601f928381116103c3575b508085848211600114610366575f9161035b575b505f1982841b1c191690841b1781555b885191888311610347576004998a548581811c9116801561033d575b8782101461032a578281116102e7575b5085918411600114610285579383949184925f9561027a575b50501b925f19911b1c19161786555b33156102645760058054336001600160a01b0319821681179092556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3610178846104a0565b9261012093845261018883610628565b94610140958652828151910120928360e05282815191012096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761025157508590525190206080523060c0526122fa93846107658539608051846121d2015260a0518461229e015260c051846121a3015260e051846122210152518361224701525182610867015251816108910152f35b604190634e487b7160e01b5f525260245ffd5b8251631e4fbdf760e01b81525f81880152602490fd5b015193505f80610118565b9190601f198416928b5f5284875f20945f5b89898383106102d057505050106102b7575b50505050811b018655610127565b01519060f8845f19921b161c191690555f8080806102a9565b868601518955909701969485019488935001610297565b8b5f52865f208380870160051c820192898810610321575b0160051c019086905b8281106103165750506100ff565b5f8155018690610308565b925081926102ff565b60228c634e487b7160e01b5f525260245ffd5b90607f16906100ef565b634e487b7160e01b5f52604160045260245ffd5b90508801515f6100c3565b859250601f19821690845f52875f20915f5b898d8383106103ae575050508311610397575b5050811b0181556100d3565b8a01515f1983861b60f8161c191690555f8061038b565b84015185558996909401939283019201610378565b825f52855f208480840160051c8201928885106103fd575b0160051c019085905b8281106103f25750506100af565b5f81550185906103e4565b925081926103db565b634e487b7160e01b5f52602260045260245ffd5b92607f169261009c565b5f80fd5b601f909101601f19168101906001600160401b0382119082101761034757604052565b81601f82011215610424578051906001600160401b038211610347576040519261047f601f8401601f191660200185610428565b8284526020838301011161042457815f9260208093018386015e8301015290565b8051602090818110156105165750601f8251116104d857808251920151908083106104ca57501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b906001600160401b03821161034757600654926001938481811c9116801561061e575b8382101461040657601f81116105ea575b5081601f841160011461058657509282939183925f9461057b575b50501b915f199060031b1c19161760065560ff90565b015192505f80610565565b919083601f19811660065f52845f20945f905b888383106105d057505050106105b8575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f80806105aa565b858701518855909601959485019487935090810190610599565b60065f5284601f845f20920160051c820191601f860160051c015b82811061061357505061054a565b5f8155018590610605565b90607f1690610539565b8051602090818110156106525750601f8251116104d857808251920151908083106104ca57501790565b906001600160401b03821161034757600754926001938481811c9116801561075a575b8382101461040657601f8111610726575b5081601f84116001146106c257509282939183925f946106b7575b50501b915f199060031b1c19161760075560ff90565b015192505f806106a1565b919083601f19811660075f52845f20945f905b8883831061070c57505050106106f4575b505050811b0160075560ff90565b01515f1960f88460031b161c191690555f80806106e6565b8587015188559096019594850194879350908101906106d5565b60075f5284601f845f20920160051c820191601f860160051c015b82811061074f575050610686565b5f8155018590610741565b90607f169061067556fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816306fdde03146114b75750806308b8ae3e14611439578063095ea7b3146113295780630acebbb3146112b757806318160ddd1461127b57806323b872dd146110ca5780632ca6f77114610e065780632dffc93814610dae578063313ce56714610d755780633408e47014610d3d57806334dd202614610ca25780633cc67ac714610c28578063404f551d14610b7c57806340c10f1914610aa057806370a0823114610a3f578063715018a6146109a357806384b0196e146108335780638c3adb0a146107b85780638d7e4ea0146107545780638da5cb5b1461070257806395d89b41146105df5780639dc29fac14610498578063a9059cbb14610443578063dd62ed3e146103ce578063e032e04f14610368578063eb24bae41461022f5763f2fde38b14610149575f80fd5b3461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610180611605565b90610189611e00565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101fc575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610262611605565b9160243567ffffffffffffffff60443581811161022b57610286903690860161164b565b919060643591821161022b576102b5926102a66102af933690890161164b565b505036916117df565b30611db9565b926102be611e66565b9473ffffffffffffffffffffffffffffffffffffffff809116913083036103415750948260809261033d976103157f91d424c26d66241302801829dc5d75ac3b3036414855f2088205e8f2705c051b963386611901565b865193168352336020840152858301526060820152a1519182916020835260208301906115c2565b0390f35b84517fa0f3feea000000000000000000000000000000000000000000000000000000008152fd5b823461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff6103b8611605565b165f526401000000088252805f20549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090610408611605565b610410611628565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090610491610480611605565b6024359061048c611e66565b611901565b5160018152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576104d0611605565b90602435926104dd611e00565b73ffffffffffffffffffffffffffffffffffffffff83169283156105b057835f525f602052825f205491858310610551575f857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020898881898688528785520381872055816002540360025551908152a3005b6105ac868486519485947fe450d38c000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b0390fd5b505f60249251917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b503461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57815191825f835461061e81611679565b90818452602095600191876001821691825f146106bd575050600114610661575b50505061033d9291610652910385611713565b519282849384528301906115c2565b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106106a5575050508201018161065261033d61063f565b8054848a01860152889550879490930192810161068c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610652915061033d905061063f565b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b50903461022b577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9160208336011261022b5780359267ffffffffffffffff841161022b578290843603011261022b576020926107b1910161184f565b9051908152f35b503461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57359063ffffffff821680920361022b5761082f9073ffffffffffffffffffffffffffffffffffffffff610819611e66565b165f526401000000086020525f20918254611815565b9055005b503461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5761088b7f0000000000000000000000000000000000000000000000000000000000000000611f9a565b916108b57f00000000000000000000000000000000000000000000000000000000000000006120cf565b815191602091602084019484861067ffffffffffffffff871117610977575061092c826020928761091f99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a01906115c2565b91888303908901526115c2565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061096057505050500390f35b835185528695509381019392810192600101610951565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b3461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576109d9611e00565b5f73ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff610a8f611605565b165f525f8252805f20549051908152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610ad8611605565b9073ffffffffffffffffffffffffffffffffffffffff60243592610afa611e00565b16928315610b4e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610b355f95600254611815565b60025585855284835280852082815401905551908152a3005b5f60249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b503461022b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57357fffffffff00000000000000000000000000000000000000000000000000000000811680910361022b576024359163ffffffff831680930361022b5761082f9173ffffffffffffffffffffffffffffffffffffffff610c09611e66565b165f52640100000009602052815f20905f526020525f20918254611815565b503461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760ff600191359273ffffffffffffffffffffffffffffffffffffffff610c7c611e66565b165f5264010000000a602052805f208460081c5f526020525f2092161b81541790555f80f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610cd9611605565b906024357fffffffff00000000000000000000000000000000000000000000000000000000811680910361022b5773ffffffffffffffffffffffffffffffffffffffff602093165f526401000000098352815f20905f528252805f20549051908152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209051468152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576020905160128152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090517f9ed1889e2180e1ec4f2d7816d43eb41f27d0bbbce4557680ecf32626c070c8648152f35b50907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9060608236011261022b57610e3c611605565b9160243567ffffffffffffffff80821161022b578382870193833603011261022b5760443590811161022b57610e75903690870161164b565b9083359264ffffffffff8460d01c1642116110a257610e92611e66565b69ffffffffffffffffffff808660801c16908115928315611096575b5050501561106e576024610ecf910193610ec88587611754565b9189611a6b565b156110465790610ee891610ee28561184f565b87611c30565b1561101e576102af610f54610f5b92600894855463ffffffff98898260a01c1691825f14610ffe57740100000000000000000000000000000000000000000188557f80000000000000000000000000000000000000000000000000000000000000001790870155611754565b36916117df565b928154908160a01c16805f14610fd75761033d9550600114610fae577fffffffffffffffffffffffff00000000000000000000000000000000000000000190555b519182916020835260208301906115c2565b507f80000000000000000000000000000000000000000000000000000000000000009055610f9c565b857f06a2af9e000000000000000000000000000000000000000000000000000000005f525ffd5b507401000000000000000000000000000000000000000017875550611754565b8483517f356a4418000000000000000000000000000000000000000000000000000000008152fd5b8685517fd9c6386f000000000000000000000000000000000000000000000000000000008152fd5b8786517f3b06dcfb000000000000000000000000000000000000000000000000000000008152fd5b161490505f8080610eae565b8786517f559895a3000000000000000000000000000000000000000000000000000000008152fd5b503461022b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57611102611605565b61110a611628565b9060443592611117611e66565b9073ffffffffffffffffffffffffffffffffffffffff9081841690815f526001602052875f2092841692835f52602052875f2054937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8503611182575b6020896104918a8a8a611901565b87851061121f575081156111f05782156111c157505f908152600160209081528782209282529182528681209286900390925583916104919080611174565b6024905f8951917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8951917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b906105ac88868b519485947ffb8f41b2000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576020906002549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff611306611605565b165f5264010000000a8252805f2060243560081c5f528252805f20549051908152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57611361611605565b6024359073ffffffffffffffffffffffffffffffffffffffff80611383611e66565b1691821561140a57169182156113db5760208095507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f5260018252855f20855f52825280865f20558551908152a35160018152f35b6024855f8651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024865f8751917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090611473611605565b9073ffffffffffffffffffffffffffffffffffffffff60243592165f5264010000000a8352805f208260081c5f528352600160ff825f2054925193161b1615158152f35b833461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760035490825f6114f584611679565b808352602094600190866001821691825f14611582575050600114611527575b505061033d9291610652910385611713565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b82841061156a5750505082010181610652611515565b8054848a018601528895508794909301928101611554565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506106529050611515565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361022b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361022b57565b9181601f8401121561022b5782359167ffffffffffffffff831161022b576020838186019501011161022b57565b90600182811c921680156116c0575b602083101461169357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611688565b6040810190811067ffffffffffffffff8211176116e657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176116e657604052565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561022b570180359067ffffffffffffffff821161022b5760200191813603831361022b57565b67ffffffffffffffff81116116e657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926117eb826117a5565b916117f96040519384611713565b82948184528183011161022b578281602093845f960137010152565b9190820180921161182257565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b61185f610f546020830183611754565b60208151910120906040519160208301917f9ed1889e2180e1ec4f2d7816d43eb41f27d0bbbce4557680ecf32626c070c8648352356040840152606083015260608252608082019180831067ffffffffffffffff8411176116e6576042926040525190206118cb61218c565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b9173ffffffffffffffffffffffffffffffffffffffff808416928315611a0e57169283156119de57825f525f60205260405f2054908282106119865750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118225760010190565b9190928360fe1c9160028311611c06576003831015611bd9576fffffffffffffffffffffffffffffffff8516918315611ba25760018414611b0d57505050600214611ab65750505f90565b73ffffffffffffffffffffffffffffffffffffffff165f5264010000000a60205260405f206effffffffffffffffffffffffffffff8260081c165f5260205260405f2090600160ff835492161b8117809255141590565b92509273ffffffffffffffffffffffffffffffffffffffff919450165f5264010000000960205260405f2091357fffffffff000000000000000000000000000000000000000000000000000000009181838093169160048110611b8c575b50509050165f5260205260405f2090815491611b8683611a3e565b90551490565b8391925060040360031b1b161681905f80611b6b565b505092505073ffffffffffffffffffffffffffffffffffffffff165f5264010000000860205260405f2090815491611b8683611a3e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60046040517f5f640821000000000000000000000000000000000000000000000000000000008152fd5b90919273ffffffffffffffffffffffffffffffffffffffff91828116928315611daf57604093848414918215611da4575b82611cd7575b5050611ccd57602092825f9384978351937f1626ba7e0000000000000000000000000000000000000000000000000000000098898652600486015260248501528160448501526064840137606401915afa611cc0575090565b5f51143d60201416919050565b5050505050600190565b9091505f85518580604114611d8c57604014611d4757505f805b611d00575b5016145f80611c67565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a160608201511015611cf65760209150608081895f935282805260015afa505f515f611cf6565b807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208b01358060ff1c601b01602084015260208c8b850137166060820152611cf1565b50868901355f1a602082015280878a81830137611cf1565b604185149250611c61565b5050505050505f90565b5f80611df593602081519101845af43d15611df8573d91611dd9836117a5565b92611de76040519485611713565b83523d5f602085013e611efa565b90565b606091611efa565b73ffffffffffffffffffffffffffffffffffffffff806005541681611e23611e66565b1603611e2c5750565b602490611e37611e66565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815291166004820152fd5b63ffffffff60085460a01c168015611ef5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818111611822576401000000001115611ecb576007015473ffffffffffffffffffffffffffffffffffffffff1690565b60046040517f4e23d035000000000000000000000000000000000000000000000000000000008152fd5b503390565b90611f395750805115611f0f57805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b81511580611f91575b611f4a575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15611f42565b60ff8114611ff05760ff811690601f8211611fc65760405191611fbc836116ca565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654815f61200283611679565b8083529260209060019081811690811561208c575060011461202d575b5050611df592500382611713565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b8284106120745750611df59450505081016020015f8061201f565b85548785018301529485019486945092810192612059565b905060209350611df59592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f8061201f565b60ff81146120f15760ff811690601f8211611fc65760405191611fbc836116ca565b50604051600754815f61210383611679565b8083529260209060019081811690811561208c575060011461212d575050611df592500382611713565b91509260075f527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688935f925b8284106121745750611df59450505081016020015f8061201f565b85548785018301529485019486945092810192612159565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630148061229b575b156121f4577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176116e65760405251902090565b507f000000000000000000000000000000000000000000000000000000000000000046146121cb56fea2646970667358221220225d4fab8f5755a0bc717ec61516865e32baac7ce8fd7d92db7409581f38160364736f6c63430008190033";
863
+ const _bytecode = "0x61016060408181523461042457612a5f803803809161001e8286610428565b84398201916060818403126104245780516001600160401b039290838111610424578461004c91840161044b565b9160209081810151858111610424578661006791830161044b565b95838201518681116104245761007d920161044b565b9083518581116103475760038054906001928383811c9316801561041a575b8584101461040657601f928381116103c3575b508085848211600114610366575f9161035b575b505f1982841b1c191690841b1781555b885191888311610347576004998a548581811c9116801561033d575b8782101461032a578281116102e7575b5085918411600114610285579383949184925f9561027a575b50501b925f19911b1c19161786555b33156102645760058054336001600160a01b0319821681179092556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3610178846104a0565b9261012093845261018883610628565b94610140958652828151910120928360e05282815191012096610100978089524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c08301968388109088111761025157508590525190206080523060c0526122fa93846107658539608051846121d2015260a0518461229e015260c051846121a3015260e051846122210152518361224701525182610867015251816108910152f35b604190634e487b7160e01b5f525260245ffd5b8251631e4fbdf760e01b81525f81880152602490fd5b015193505f80610118565b9190601f198416928b5f5284875f20945f5b89898383106102d057505050106102b7575b50505050811b018655610127565b01519060f8845f19921b161c191690555f8080806102a9565b868601518955909701969485019488935001610297565b8b5f52865f208380870160051c820192898810610321575b0160051c019086905b8281106103165750506100ff565b5f8155018690610308565b925081926102ff565b60228c634e487b7160e01b5f525260245ffd5b90607f16906100ef565b634e487b7160e01b5f52604160045260245ffd5b90508801515f6100c3565b859250601f19821690845f52875f20915f5b898d8383106103ae575050508311610397575b5050811b0181556100d3565b8a01515f1983861b60f8161c191690555f8061038b565b84015185558996909401939283019201610378565b825f52855f208480840160051c8201928885106103fd575b0160051c019085905b8281106103f25750506100af565b5f81550185906103e4565b925081926103db565b634e487b7160e01b5f52602260045260245ffd5b92607f169261009c565b5f80fd5b601f909101601f19168101906001600160401b0382119082101761034757604052565b81601f82011215610424578051906001600160401b038211610347576040519261047f601f8401601f191660200185610428565b8284526020838301011161042457815f9260208093018386015e8301015290565b8051602090818110156105165750601f8251116104d857808251920151908083106104ca57501790565b825f19910360031b1b161790565b60448260405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b906001600160401b03821161034757600654926001938481811c9116801561061e575b8382101461040657601f81116105ea575b5081601f841160011461058657509282939183925f9461057b575b50501b915f199060031b1c19161760065560ff90565b015192505f80610565565b919083601f19811660065f52845f20945f905b888383106105d057505050106105b8575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f80806105aa565b858701518855909601959485019487935090810190610599565b60065f5284601f845f20920160051c820191601f860160051c015b82811061061357505061054a565b5f8155018590610605565b90607f1690610539565b8051602090818110156106525750601f8251116104d857808251920151908083106104ca57501790565b906001600160401b03821161034757600754926001938481811c9116801561075a575b8382101461040657601f8111610726575b5081601f84116001146106c257509282939183925f946106b7575b50501b915f199060031b1c19161760075560ff90565b015192505f806106a1565b919083601f19811660075f52845f20945f905b8883831061070c57505050106106f4575b505050811b0160075560ff90565b01515f1960f88460031b161c191690555f80806106e6565b8587015188559096019594850194879350908101906106d5565b60075f5284601f845f20920160051c820191601f860160051c015b82811061074f575050610686565b5f8155018590610741565b90607f169061067556fe608060409080825260049081361015610016575f80fd5b5f3560e01c90816306fdde03146114b75750806308b8ae3e14611439578063095ea7b3146113295780630acebbb3146112b757806318160ddd1461127b57806323b872dd146110ca5780632ca6f77114610e065780632dffc93814610dae578063313ce56714610d755780633408e47014610d3d57806334dd202614610ca25780633cc67ac714610c28578063404f551d14610b7c57806340c10f1914610aa057806370a0823114610a3f578063715018a6146109a357806384b0196e146108335780638c3adb0a146107b85780638d7e4ea0146107545780638da5cb5b1461070257806395d89b41146105df5780639dc29fac14610498578063a9059cbb14610443578063dd62ed3e146103ce578063e032e04f14610368578063eb24bae41461022f5763f2fde38b14610149575f80fd5b3461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610180611605565b90610189611e00565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101fc575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f60249251917f1e4fbdf7000000000000000000000000000000000000000000000000000000008352820152fd5b5f80fd5b5060807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610262611605565b9160243567ffffffffffffffff60443581811161022b57610286903690860161164b565b919060643591821161022b576102b5926102a66102af933690890161164b565b505036916117df565b30611db9565b926102be611e66565b9473ffffffffffffffffffffffffffffffffffffffff809116913083036103415750948260809261033d976103157f91d424c26d66241302801829dc5d75ac3b3036414855f2088205e8f2705c051b963386611901565b865193168352336020840152858301526060820152a1519182916020835260208301906115c2565b0390f35b84517fa0f3feea000000000000000000000000000000000000000000000000000000008152fd5b823461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff6103b8611605565b165f526401000000088252805f20549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090610408611605565b610410611628565b9073ffffffffffffffffffffffffffffffffffffffff8091165f5260018452825f2091165f528252805f20549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090610491610480611605565b6024359061048c611e66565b611901565b5160018152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576104d0611605565b90602435926104dd611e00565b73ffffffffffffffffffffffffffffffffffffffff83169283156105b057835f525f602052825f205491858310610551575f857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020898881898688528785520381872055816002540360025551908152a3005b6105ac868486519485947fe450d38c000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b0390fd5b505f60249251917f96c6fd1e000000000000000000000000000000000000000000000000000000008352820152fd5b503461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57815191825f835461061e81611679565b90818452602095600191876001821691825f146106bd575050600114610661575b50505061033d9291610652910385611713565b519282849384528301906115c2565b5f90815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106106a5575050508201018161065261033d61063f565b8054848a01860152889550879490930192810161068c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610652915061033d905061063f565b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b50903461022b577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9160208336011261022b5780359267ffffffffffffffff841161022b578290843603011261022b576020926107b1910161184f565b9051908152f35b503461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57359063ffffffff821680920361022b5761082f9073ffffffffffffffffffffffffffffffffffffffff610819611e66565b165f526401000000086020525f20918254611815565b9055005b503461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5761088b7f0000000000000000000000000000000000000000000000000000000000000000611f9a565b916108b57f00000000000000000000000000000000000000000000000000000000000000006120cf565b815191602091602084019484861067ffffffffffffffff871117610977575061092c826020928761091f99989795525f855281519889987f0f000000000000000000000000000000000000000000000000000000000000008a5260e0868b015260e08a01906115c2565b91888303908901526115c2565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061096057505050500390f35b835185528695509381019392810192600101610951565b6041907f4e487b71000000000000000000000000000000000000000000000000000000005f525260245ffd5b3461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576109d9611e00565b5f73ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b823461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff610a8f611605565b165f525f8252805f20549051908152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610ad8611605565b9073ffffffffffffffffffffffffffffffffffffffff60243592610afa611e00565b16928315610b4e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610b355f95600254611815565b60025585855284835280852082815401905551908152a3005b5f60249251917fec442f05000000000000000000000000000000000000000000000000000000008352820152fd5b503461022b57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57357fffffffff00000000000000000000000000000000000000000000000000000000811680910361022b576024359163ffffffff831680930361022b5761082f9173ffffffffffffffffffffffffffffffffffffffff610c09611e66565b165f52640100000009602052815f20905f526020525f20918254611815565b503461022b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760ff600191359273ffffffffffffffffffffffffffffffffffffffff610c7c611e66565b165f5264010000000a602052805f208460081c5f526020525f2092161b81541790555f80f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57610cd9611605565b906024357fffffffff00000000000000000000000000000000000000000000000000000000811680910361022b5773ffffffffffffffffffffffffffffffffffffffff602093165f526401000000098352815f20905f528252805f20549051908152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209051468152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576020905160128152f35b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090517f9ed1889e2180e1ec4f2d7816d43eb41f27d0bbbce4557680ecf32626c070c8648152f35b50907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9060608236011261022b57610e3c611605565b9160243567ffffffffffffffff80821161022b578382870193833603011261022b5760443590811161022b57610e75903690870161164b565b9083359264ffffffffff8460d01c1642116110a257610e92611e66565b69ffffffffffffffffffff808660801c16908115928315611096575b5050501561106e576024610ecf910193610ec88587611754565b9189611a6b565b156110465790610ee891610ee28561184f565b87611c30565b1561101e576102af610f54610f5b92600894855463ffffffff98898260a01c1691825f14610ffe57740100000000000000000000000000000000000000000188557f80000000000000000000000000000000000000000000000000000000000000001790870155611754565b36916117df565b928154908160a01c16805f14610fd75761033d9550600114610fae577fffffffffffffffffffffffff00000000000000000000000000000000000000000190555b519182916020835260208301906115c2565b507f80000000000000000000000000000000000000000000000000000000000000009055610f9c565b857f06a2af9e000000000000000000000000000000000000000000000000000000005f525ffd5b507401000000000000000000000000000000000000000017875550611754565b8483517f356a4418000000000000000000000000000000000000000000000000000000008152fd5b8685517fd9c6386f000000000000000000000000000000000000000000000000000000008152fd5b8786517f3b06dcfb000000000000000000000000000000000000000000000000000000008152fd5b161490505f8080610eae565b8786517f559895a3000000000000000000000000000000000000000000000000000000008152fd5b503461022b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57611102611605565b61110a611628565b9060443592611117611e66565b9073ffffffffffffffffffffffffffffffffffffffff9081841690815f526001602052875f2092841692835f52602052875f2054937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8503611182575b6020896104918a8a8a611901565b87851061121f575081156111f05782156111c157505f908152600160209081528782209282529182528681209286900390925583916104919080611174565b6024905f8951917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024905f8951917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b906105ac88868b519485947ffb8f41b2000000000000000000000000000000000000000000000000000000008652850160409194939273ffffffffffffffffffffffffffffffffffffffff606083019616825260208201520152565b823461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b576020906002549051908152f35b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760209073ffffffffffffffffffffffffffffffffffffffff611306611605565b165f5264010000000a8252805f2060243560081c5f528252805f20549051908152f35b50903461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57611361611605565b6024359073ffffffffffffffffffffffffffffffffffffffff80611383611e66565b1691821561140a57169182156113db5760208095507f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591835f5260018252855f20855f52825280865f20558551908152a35160018152f35b6024855f8651917f94280d62000000000000000000000000000000000000000000000000000000008352820152fd5b6024865f8751917fe602df05000000000000000000000000000000000000000000000000000000008352820152fd5b823461022b57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b57602090611473611605565b9073ffffffffffffffffffffffffffffffffffffffff60243592165f5264010000000a8352805f208260081c5f528352600160ff825f2054925193161b1615158152f35b833461022b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022b5760035490825f6114f584611679565b808352602094600190866001821691825f14611582575050600114611527575b505061033d9291610652910385611713565b9085925060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f925b82841061156a5750505082010181610652611515565b8054848a018601528895508794909301928101611554565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168682015292151560051b850190920192508391506106529050611515565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361022b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361022b57565b9181601f8401121561022b5782359167ffffffffffffffff831161022b576020838186019501011161022b57565b90600182811c921680156116c0575b602083101461169357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611688565b6040810190811067ffffffffffffffff8211176116e657604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176116e657604052565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561022b570180359067ffffffffffffffff821161022b5760200191813603831361022b57565b67ffffffffffffffff81116116e657601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926117eb826117a5565b916117f96040519384611713565b82948184528183011161022b578281602093845f960137010152565b9190820180921161182257565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b61185f610f546020830183611754565b60208151910120906040519160208301917f9ed1889e2180e1ec4f2d7816d43eb41f27d0bbbce4557680ecf32626c070c8648352356040840152606083015260608252608082019180831067ffffffffffffffff8411176116e6576042926040525190206118cb61218c565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b9173ffffffffffffffffffffffffffffffffffffffff808416928315611a0e57169283156119de57825f525f60205260405f2054908282106119865750817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f5260405f20818154019055604051908152a3565b6040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff919091166004820152602481019190915260448101829052606490fd5b60246040517fec442f050000000000000000000000000000000000000000000000000000000081525f6004820152fd5b60246040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081525f6004820152fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146118225760010190565b9190928360fe1c9160028311611c06576003831015611bd9576fffffffffffffffffffffffffffffffff8516918315611ba25760018414611b0d57505050600214611ab65750505f90565b73ffffffffffffffffffffffffffffffffffffffff165f5264010000000a60205260405f206effffffffffffffffffffffffffffff8260081c165f5260205260405f2090600160ff835492161b8117809255141590565b92509273ffffffffffffffffffffffffffffffffffffffff919450165f5264010000000960205260405f2091357fffffffff000000000000000000000000000000000000000000000000000000009181838093169160048110611b8c575b50509050165f5260205260405f2090815491611b8683611a3e565b90551490565b8391925060040360031b1b161681905f80611b6b565b505092505073ffffffffffffffffffffffffffffffffffffffff165f5264010000000860205260405f2090815491611b8683611a3e565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b60046040517f5f640821000000000000000000000000000000000000000000000000000000008152fd5b90919273ffffffffffffffffffffffffffffffffffffffff91828116928315611daf57604093848414918215611da4575b82611cd7575b5050611ccd57602092825f9384978351937f1626ba7e0000000000000000000000000000000000000000000000000000000098898652600486015260248501528160448501526064840137606401915afa611cc0575090565b5f51143d60201416919050565b5050505050600190565b9091505f85518580604114611d8c57604014611d4757505f805b611d00575b5016145f80611c67565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a160608201511015611cf65760209150608081895f935282805260015afa505f515f611cf6565b807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60208b01358060ff1c601b01602084015260208c8b850137166060820152611cf1565b50868901355f1a602082015280878a81830137611cf1565b604185149250611c61565b5050505050505f90565b5f80611df593602081519101845af43d15611df8573d91611dd9836117a5565b92611de76040519485611713565b83523d5f602085013e611efa565b90565b606091611efa565b73ffffffffffffffffffffffffffffffffffffffff806005541681611e23611e66565b1603611e2c5750565b602490611e37611e66565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815291166004820152fd5b63ffffffff60085460a01c168015611ef5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818111611822576401000000001115611ecb576007015473ffffffffffffffffffffffffffffffffffffffff1690565b60046040517f4e23d035000000000000000000000000000000000000000000000000000000008152fd5b503390565b90611f395750805115611f0f57805190602001fd5b60046040517f1425ea42000000000000000000000000000000000000000000000000000000008152fd5b81511580611f91575b611f4a575090565b60249073ffffffffffffffffffffffffffffffffffffffff604051917f9996b315000000000000000000000000000000000000000000000000000000008352166004820152fd5b50803b15611f42565b60ff8114611ff05760ff811690601f8211611fc65760405191611fbc836116ca565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654815f61200283611679565b8083529260209060019081811690811561208c575060011461202d575b5050611df592500382611713565b91509260065f527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f935f925b8284106120745750611df59450505081016020015f8061201f565b85548785018301529485019486945092810192612059565b905060209350611df59592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201015f8061201f565b60ff81146120f15760ff811690601f8211611fc65760405191611fbc836116ca565b50604051600754815f61210383611679565b8083529260209060019081811690811561208c575060011461212d575050611df592500382611713565b91509260075f527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688935f925b8284106121745750611df59450505081016020015f8061201f565b85548785018301529485019486945092810192612159565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630148061229b575b156121f4577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176116e65760405251902090565b507f000000000000000000000000000000000000000000000000000000000000000046146121cb56fea26469706673582212209e664f3d8f846fd814aa2f3619c0d32d453be3a7b09b032dba83c4006ba2488564736f6c63430008190033";
864
864
  const isSuperArgs = (xs) => xs.length > 1;
865
865
  class TokenWithBySig__factory extends ethers_1.ContractFactory {
866
866
  constructor(...args) {
@@ -6,6 +6,7 @@ export { AddressSetMock__factory } from "./AddressSetMock__factory";
6
6
  export { BySigTraitsMock__factory } from "./BySigTraitsMock__factory";
7
7
  export { BytesMemoryMock__factory } from "./BytesMemoryMock__factory";
8
8
  export { BytesStorageMock__factory } from "./BytesStorageMock__factory";
9
+ export { Create3Mock__factory } from "./Create3Mock__factory";
9
10
  export { DaiLikePermitMock__factory } from "./DaiLikePermitMock__factory";
10
11
  export { ERC1271WalletMock__factory } from "./ERC1271WalletMock__factory";
11
12
  export { EthReceiverMock__factory } from "./EthReceiverMock__factory";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WethReceiverMock__factory = exports.WETH__factory = exports.USDCLikePermitMock__factory = exports.TokenWithBySig__factory = exports.PermitableMock__factory = exports.PermitAndCallMock__factory = exports.EthSenderMock__factory = exports.EthReceiverMock__factory = exports.ERC1271WalletMock__factory = exports.DaiLikePermitMock__factory = exports.BytesStorageMock__factory = exports.BytesMemoryMock__factory = exports.BySigTraitsMock__factory = exports.AddressSetMock__factory = exports.AddressLibMock__factory = exports.AddressArrayMock__factory = exports.uniErc20HelperSol = exports.safeErc20HelperSol = void 0;
3
+ exports.WethReceiverMock__factory = exports.WETH__factory = exports.USDCLikePermitMock__factory = exports.TokenWithBySig__factory = exports.PermitableMock__factory = exports.PermitAndCallMock__factory = exports.EthSenderMock__factory = exports.EthReceiverMock__factory = exports.ERC1271WalletMock__factory = exports.DaiLikePermitMock__factory = exports.Create3Mock__factory = exports.BytesStorageMock__factory = exports.BytesMemoryMock__factory = exports.BySigTraitsMock__factory = exports.AddressSetMock__factory = exports.AddressLibMock__factory = exports.AddressArrayMock__factory = exports.uniErc20HelperSol = exports.safeErc20HelperSol = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /* Autogenerated file. Do not edit manually. */
6
6
  /* tslint:disable */
@@ -19,6 +19,8 @@ var BytesMemoryMock__factory_1 = require("./BytesMemoryMock__factory");
19
19
  Object.defineProperty(exports, "BytesMemoryMock__factory", { enumerable: true, get: function () { return BytesMemoryMock__factory_1.BytesMemoryMock__factory; } });
20
20
  var BytesStorageMock__factory_1 = require("./BytesStorageMock__factory");
21
21
  Object.defineProperty(exports, "BytesStorageMock__factory", { enumerable: true, get: function () { return BytesStorageMock__factory_1.BytesStorageMock__factory; } });
22
+ var Create3Mock__factory_1 = require("./Create3Mock__factory");
23
+ Object.defineProperty(exports, "Create3Mock__factory", { enumerable: true, get: function () { return Create3Mock__factory_1.Create3Mock__factory; } });
22
24
  var DaiLikePermitMock__factory_1 = require("./DaiLikePermitMock__factory");
23
25
  Object.defineProperty(exports, "DaiLikePermitMock__factory", { enumerable: true, get: function () { return DaiLikePermitMock__factory_1.DaiLikePermitMock__factory; } });
24
26
  var ERC1271WalletMock__factory_1 = require("./ERC1271WalletMock__factory");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../typechain-types/factories/contracts/tests/mocks/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,oFAA4D;AAC5D,kFAA0D;AAC1D,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AACpC,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../typechain-types/factories/contracts/tests/mocks/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,oFAA4D;AAC5D,kFAA0D;AAC1D,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA;AAClC,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,2EAA0E;AAAjE,wIAAA,0BAA0B,OAAA;AACnC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,qEAAoE;AAA3D,kIAAA,uBAAuB,OAAA;AAChC,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AACpC,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,yEAAwE;AAA/D,sIAAA,yBAAyB,OAAA"}
@@ -1,2 +1,3 @@
1
+ export * as _0Xsequence from "./@0xsequence";
1
2
  export * as openzeppelin from "./@openzeppelin";
2
3
  export * as contracts from "./contracts";
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.contracts = exports.openzeppelin = void 0;
3
+ exports.contracts = exports.openzeppelin = exports._0Xsequence = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  /* Autogenerated file. Do not edit manually. */
6
6
  /* tslint:disable */
7
7
  /* eslint-disable */
8
+ exports._0Xsequence = tslib_1.__importStar(require("./@0xsequence"));
8
9
  exports.openzeppelin = tslib_1.__importStar(require("./@openzeppelin"));
9
10
  exports.contracts = tslib_1.__importStar(require("./contracts"));
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../typechain-types/factories/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,wEAAgD;AAChD,iEAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../typechain-types/factories/index.ts"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAC/C,oBAAoB;AACpB,oBAAoB;AACpB,qEAA6C;AAC7C,wEAAgD;AAChD,iEAAyC"}
@@ -1,8 +1,12 @@
1
+ import type * as _0Xsequence from "./@0xsequence";
2
+ export type { _0Xsequence };
1
3
  import type * as openzeppelin from "./@openzeppelin";
2
4
  export type { openzeppelin };
3
5
  import type * as contracts from "./contracts";
4
6
  export type { contracts };
5
7
  export * as factories from "./factories";
8
+ export type { Create3 } from "./@0xsequence/create3/contracts/Create3";
9
+ export { Create3__factory } from "./factories/@0xsequence/create3/contracts/Create3__factory";
6
10
  export type { Ownable } from "./@openzeppelin/contracts/access/Ownable";
7
11
  export { Ownable__factory } from "./factories/@openzeppelin/contracts/access/Ownable__factory";
8
12
  export type { IERC1155Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors";
@@ -97,6 +101,8 @@ export type { BytesMemoryMock } from "./contracts/tests/mocks/BytesMemoryMock";
97
101
  export { BytesMemoryMock__factory } from "./factories/contracts/tests/mocks/BytesMemoryMock__factory";
98
102
  export type { BytesStorageMock } from "./contracts/tests/mocks/BytesStorageMock";
99
103
  export { BytesStorageMock__factory } from "./factories/contracts/tests/mocks/BytesStorageMock__factory";
104
+ export type { Create3Mock } from "./contracts/tests/mocks/Create3Mock";
105
+ export { Create3Mock__factory } from "./factories/contracts/tests/mocks/Create3Mock__factory";
100
106
  export type { DaiLikePermitMock } from "./contracts/tests/mocks/DaiLikePermitMock";
101
107
  export { DaiLikePermitMock__factory } from "./factories/contracts/tests/mocks/DaiLikePermitMock__factory";
102
108
  export type { ERC1271WalletMock } from "./contracts/tests/mocks/ERC1271WalletMock";
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ERC1271WalletMock__factory = exports.DaiLikePermitMock__factory = exports.BytesStorageMock__factory = exports.BytesMemoryMock__factory = exports.BySigTraitsMock__factory = exports.AddressSetMock__factory = exports.AddressLibMock__factory = exports.AddressArrayMock__factory = exports.ECDSATest__factory = exports.TokenMock__factory = exports.TokenCustomDecimalsMock__factory = exports.SelfdestructEthSenderMock__factory = exports.ERC20PermitMock__factory = exports.SelfdestructEthSender__factory = exports.PermitAndCall__factory = exports.OnlyWethReceiver__factory = exports.EthReceiver__factory = exports.BySig__factory = exports.UniERC20__factory = exports.SafeERC20__factory = exports.RevertReasonParser__factory = exports.BytesStorage__factory = exports.BytesMemory__factory = exports.BySigTraits__factory = exports.AddressArray__factory = exports.IWETH__factory = exports.IPermit2__factory = exports.IERC7597Permit__factory = exports.IERC20MetadataUppercase__factory = exports.IDaiLikePermit__factory = exports.ICreate3Deployer__factory = exports.Strings__factory = exports.ShortStrings__factory = exports.Nonces__factory = exports.Math__factory = exports.EIP712__factory = exports.ECDSA__factory = exports.Address__factory = exports.IERC20__factory = exports.IERC20Permit__factory = exports.IERC20Metadata__factory = exports.ERC20Permit__factory = exports.ERC20__factory = exports.IERC5267__factory = exports.IERC1271__factory = exports.IERC721Errors__factory = exports.IERC20Errors__factory = exports.IERC1155Errors__factory = exports.Ownable__factory = exports.factories = void 0;
4
- exports.StringUtilTest__factory = exports.RevertReasonParserTest__factory = exports.WethReceiverMock__factory = exports.WETH__factory = exports.USDCLikePermitMock__factory = exports.UniERC20Wrapper__factory = exports.IUniERC20Wrapper__factory = exports.ETHBadReceiver__factory = exports.ERC20Capitals__factory = exports.ERC20bytes32Capitals__factory = exports.ERC20bytes32__factory = exports.TokenWithBySig__factory = exports.SafeWETHWrapper__factory = exports.SafeERC20Wrapper__factory = exports.Permit2ReturnTrueMock__factory = exports.ERC20WithSafeBalance__factory = exports.ERC20ThroughZeroApprove__factory = exports.ERC20ReturnTrueMock__factory = exports.ERC20ReturnFalseMock__factory = exports.ERC20PermitNoRevertMock__factory = exports.ERC20NoReturnMock__factory = exports.PermitAndCallMock__factory = exports.PermitableMock__factory = exports.EthSenderMock__factory = exports.EthReceiverMock__factory = void 0;
3
+ exports.Create3Mock__factory = exports.BytesStorageMock__factory = exports.BytesMemoryMock__factory = exports.BySigTraitsMock__factory = exports.AddressSetMock__factory = exports.AddressLibMock__factory = exports.AddressArrayMock__factory = exports.ECDSATest__factory = exports.TokenMock__factory = exports.TokenCustomDecimalsMock__factory = exports.SelfdestructEthSenderMock__factory = exports.ERC20PermitMock__factory = exports.SelfdestructEthSender__factory = exports.PermitAndCall__factory = exports.OnlyWethReceiver__factory = exports.EthReceiver__factory = exports.BySig__factory = exports.UniERC20__factory = exports.SafeERC20__factory = exports.RevertReasonParser__factory = exports.BytesStorage__factory = exports.BytesMemory__factory = exports.BySigTraits__factory = exports.AddressArray__factory = exports.IWETH__factory = exports.IPermit2__factory = exports.IERC7597Permit__factory = exports.IERC20MetadataUppercase__factory = exports.IDaiLikePermit__factory = exports.ICreate3Deployer__factory = exports.Strings__factory = exports.ShortStrings__factory = exports.Nonces__factory = exports.Math__factory = exports.EIP712__factory = exports.ECDSA__factory = exports.Address__factory = exports.IERC20__factory = exports.IERC20Permit__factory = exports.IERC20Metadata__factory = exports.ERC20Permit__factory = exports.ERC20__factory = exports.IERC5267__factory = exports.IERC1271__factory = exports.IERC721Errors__factory = exports.IERC20Errors__factory = exports.IERC1155Errors__factory = exports.Ownable__factory = exports.Create3__factory = exports.factories = void 0;
4
+ exports.StringUtilTest__factory = exports.RevertReasonParserTest__factory = exports.WethReceiverMock__factory = exports.WETH__factory = exports.USDCLikePermitMock__factory = exports.UniERC20Wrapper__factory = exports.IUniERC20Wrapper__factory = exports.ETHBadReceiver__factory = exports.ERC20Capitals__factory = exports.ERC20bytes32Capitals__factory = exports.ERC20bytes32__factory = exports.TokenWithBySig__factory = exports.SafeWETHWrapper__factory = exports.SafeERC20Wrapper__factory = exports.Permit2ReturnTrueMock__factory = exports.ERC20WithSafeBalance__factory = exports.ERC20ThroughZeroApprove__factory = exports.ERC20ReturnTrueMock__factory = exports.ERC20ReturnFalseMock__factory = exports.ERC20PermitNoRevertMock__factory = exports.ERC20NoReturnMock__factory = exports.PermitAndCallMock__factory = exports.PermitableMock__factory = exports.EthSenderMock__factory = exports.EthReceiverMock__factory = exports.ERC1271WalletMock__factory = exports.DaiLikePermitMock__factory = void 0;
5
5
  const tslib_1 = require("tslib");
6
6
  exports.factories = tslib_1.__importStar(require("./factories"));
7
+ var Create3__factory_1 = require("./factories/@0xsequence/create3/contracts/Create3__factory");
8
+ Object.defineProperty(exports, "Create3__factory", { enumerable: true, get: function () { return Create3__factory_1.Create3__factory; } });
7
9
  var Ownable__factory_1 = require("./factories/@openzeppelin/contracts/access/Ownable__factory");
8
10
  Object.defineProperty(exports, "Ownable__factory", { enumerable: true, get: function () { return Ownable__factory_1.Ownable__factory; } });
9
11
  var IERC1155Errors__factory_1 = require("./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory");
@@ -98,6 +100,8 @@ var BytesMemoryMock__factory_1 = require("./factories/contracts/tests/mocks/Byte
98
100
  Object.defineProperty(exports, "BytesMemoryMock__factory", { enumerable: true, get: function () { return BytesMemoryMock__factory_1.BytesMemoryMock__factory; } });
99
101
  var BytesStorageMock__factory_1 = require("./factories/contracts/tests/mocks/BytesStorageMock__factory");
100
102
  Object.defineProperty(exports, "BytesStorageMock__factory", { enumerable: true, get: function () { return BytesStorageMock__factory_1.BytesStorageMock__factory; } });
103
+ var Create3Mock__factory_1 = require("./factories/contracts/tests/mocks/Create3Mock__factory");
104
+ Object.defineProperty(exports, "Create3Mock__factory", { enumerable: true, get: function () { return Create3Mock__factory_1.Create3Mock__factory; } });
101
105
  var DaiLikePermitMock__factory_1 = require("./factories/contracts/tests/mocks/DaiLikePermitMock__factory");
102
106
  Object.defineProperty(exports, "DaiLikePermitMock__factory", { enumerable: true, get: function () { return DaiLikePermitMock__factory_1.DaiLikePermitMock__factory; } });
103
107
  var ERC1271WalletMock__factory_1 = require("./factories/contracts/tests/mocks/ERC1271WalletMock__factory");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../typechain-types/index.ts"],"names":[],"mappings":";;;;;AAOA,iEAAyC;AAEzC,gGAA+F;AAAtF,oHAAA,gBAAgB,OAAA;AAEzB,qIAAoI;AAA3H,kIAAA,uBAAuB,OAAA;AAEhC,iIAAgI;AAAvH,8HAAA,qBAAqB,OAAA;AAE9B,mIAAkI;AAAzH,gIAAA,sBAAsB,OAAA;AAE/B,sGAAqG;AAA5F,sHAAA,iBAAiB,OAAA;AAE1B,sGAAqG;AAA5F,sHAAA,iBAAiB,OAAA;AAE1B,iGAAgG;AAAvF,gHAAA,cAAc,OAAA;AAEvB,wHAAuH;AAA9G,4HAAA,oBAAoB,OAAA;AAE7B,8HAA6H;AAApH,kIAAA,uBAAuB,OAAA;AAEhC,0HAAyH;AAAhH,8HAAA,qBAAqB,OAAA;AAE9B,mGAAkG;AAAzF,kHAAA,eAAe,OAAA;AAExB,+FAA8F;AAArF,oHAAA,gBAAgB,OAAA;AAEzB,wGAAuG;AAA9F,gHAAA,cAAc,OAAA;AAEvB,0GAAyG;AAAhG,kHAAA,eAAe,OAAA;AAExB,8FAA6F;AAApF,8GAAA,aAAa,OAAA;AAEtB,6FAA4F;AAAnF,kHAAA,eAAe,OAAA;AAExB,yGAAwG;AAA/F,8HAAA,qBAAqB,OAAA;AAE9B,+FAA8F;AAArF,oHAAA,gBAAgB,OAAA;AAEzB,wGAAuG;AAA9F,sIAAA,yBAAyB,OAAA;AAElC,oGAAmG;AAA1F,kIAAA,uBAAuB,OAAA;AAEhC,sHAAqH;AAA5G,oJAAA,gCAAgC,OAAA;AAEzC,oGAAmG;AAA1F,kIAAA,uBAAuB,OAAA;AAEhC,wFAAuF;AAA9E,sHAAA,iBAAiB,OAAA;AAE1B,kFAAiF;AAAxE,gHAAA,cAAc,OAAA;AAEvB,+FAA8F;AAArF,8HAAA,qBAAqB,OAAA;AAE9B,6FAA4F;AAAnF,4HAAA,oBAAoB,OAAA;AAE7B,6FAA4F;AAAnF,4HAAA,oBAAoB,OAAA;AAE7B,+FAA8F;AAArF,8HAAA,qBAAqB,OAAA;AAE9B,2GAA0G;AAAjG,0IAAA,2BAA2B,OAAA;AAEpC,yFAAwF;AAA/E,wHAAA,kBAAkB,OAAA;AAE3B,uFAAsF;AAA7E,sHAAA,iBAAiB,OAAA;AAE1B,8EAA6E;AAApE,gHAAA,cAAc,OAAA;AAEvB,0FAAyF;AAAhF,4HAAA,oBAAoB,OAAA;AAE7B,oGAAmG;AAA1F,sIAAA,yBAAyB,OAAA;AAElC,8FAA6F;AAApF,gIAAA,sBAAsB,OAAA;AAE/B,8GAA6G;AAApG,gJAAA,8BAA8B,OAAA;AAEvC,iGAAgG;AAAvF,oIAAA,wBAAwB,OAAA;AAEjC,qHAAoH;AAA3G,wJAAA,kCAAkC,OAAA;AAE3C,iHAAgH;AAAvG,oJAAA,gCAAgC,OAAA;AAEzC,qFAAoF;AAA3E,wHAAA,kBAAkB,OAAA;AAE3B,qFAAoF;AAA3E,wHAAA,kBAAkB,OAAA;AAE3B,yGAAwG;AAA/F,sIAAA,yBAAyB,OAAA;AAElC,qGAAoG;AAA3F,kIAAA,uBAAuB,OAAA;AAEhC,qGAAoG;AAA3F,kIAAA,uBAAuB,OAAA;AAEhC,uGAAsG;AAA7F,oIAAA,wBAAwB,OAAA;AAEjC,uGAAsG;AAA7F,oIAAA,wBAAwB,OAAA;AAEjC,yGAAwG;AAA/F,sIAAA,yBAAyB,OAAA;AAElC,2GAA0G;AAAjG,wIAAA,0BAA0B,OAAA;AAEnC,2GAA0G;AAAjG,wIAAA,0BAA0B,OAAA;AAEnC,uGAAsG;AAA7F,oIAAA,wBAAwB,OAAA;AAEjC,mGAAkG;AAAzF,gIAAA,sBAAsB,OAAA;AAE/B,qGAAoG;AAA3F,kIAAA,uBAAuB,OAAA;AAEhC,2GAA0G;AAAjG,wIAAA,0BAA0B,OAAA;AAEnC,+HAA8H;AAArH,wIAAA,0BAA0B,OAAA;AAEnC,2IAA0I;AAAjI,oJAAA,gCAAgC,OAAA;AAEzC,qIAAoI;AAA3H,8IAAA,6BAA6B,OAAA;AAEtC,mIAAkI;AAAzH,4IAAA,4BAA4B,OAAA;AAErC,2IAA0I;AAAjI,oJAAA,gCAAgC,OAAA;AAEzC,qIAAoI;AAA3H,8IAAA,6BAA6B,OAAA;AAEtC,uIAAsI;AAA7H,gJAAA,8BAA8B,OAAA;AAEvC,6HAA4H;AAAnH,sIAAA,yBAAyB,OAAA;AAElC,2HAA0H;AAAjH,oIAAA,wBAAwB,OAAA;AAEjC,qGAAoG;AAA3F,kIAAA,uBAAuB,OAAA;AAEhC,oHAAmH;AAA1G,8HAAA,qBAAqB,OAAA;AAE9B,oIAAmI;AAA1H,8IAAA,6BAA6B,OAAA;AAEtC,sHAAqH;AAA5G,gIAAA,sBAAsB,OAAA;AAE/B,wHAAuH;AAA9G,kIAAA,uBAAuB,OAAA;AAEhC,4HAA2H;AAAlH,sIAAA,yBAAyB,OAAA;AAElC,0HAAyH;AAAhH,oIAAA,wBAAwB,OAAA;AAEjC,6GAA4G;AAAnG,0IAAA,2BAA2B,OAAA;AAEpC,iFAAgF;AAAvE,8GAAA,aAAa,OAAA;AAEtB,yGAAwG;AAA/F,sIAAA,yBAAyB,OAAA;AAElC,+GAA8G;AAArG,kJAAA,+BAA+B,OAAA;AAExC,+FAA8F;AAArF,kIAAA,uBAAuB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../typechain-types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1inch/solidity-utils",
3
- "version": "5.1.0",
3
+ "version": "5.2.1",
4
4
  "main": "dist/src/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "exports": {
@@ -54,6 +54,7 @@
54
54
  "node-fetch": "2.7.0"
55
55
  },
56
56
  "devDependencies": {
57
+ "@0xsequence/create3": "0xsequence/create3",
57
58
  "@nomicfoundation/hardhat-chai-matchers": "2.0.6",
58
59
  "@typechain/ethers-v6": "0.5.1",
59
60
  "@typechain/hardhat": "9.1.0",