@coti-io/coti-contracts 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/contracts/access/DataPrivacyFramework/extensions/DataPrivacyFrameworkMpc.sol +112 -0
  2. package/contracts/mocks/utils/mpc/ShiftTestsContract.sol +126 -0
  3. package/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage.sol +15 -0
  4. package/contracts/token/PrivateERC721/extensions/PrivateERC721URIStorage.sol +27 -1
  5. package/contracts/utils/mpc/MpcCore.sol +40 -0
  6. package/contracts/utils/mpc/MpcInterface.sol +2 -0
  7. package/package.json +1 -1
  8. package/test/onboard/AccountOnboard.test.ts +2 -2
  9. package/test/utils/accounts.ts +2 -2
  10. package/test/utils/mpc/Precompile.test.ts +8 -0
  11. package/typechain-types/@openzeppelin/contracts/interfaces/index.ts +0 -2
  12. package/typechain-types/contracts/GasTest.ts +91 -0
  13. package/typechain-types/contracts/mocks/utils/mpc/index.ts +1 -0
  14. package/typechain-types/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage.ts +100 -0
  15. package/typechain-types/contracts/token/PrivateERC721/extensions/index.ts +1 -0
  16. package/typechain-types/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations.ts +38 -0
  17. package/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts +0 -1
  18. package/typechain-types/factories/contracts/GasTest__factory.ts +75 -0
  19. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +1 -1
  20. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
  21. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
  22. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
  23. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
  24. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
  25. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
  26. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
  27. package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
  28. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
  29. package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
  30. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
  31. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
  32. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
  33. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
  34. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
  35. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
  36. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
  37. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
  38. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
  39. package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +1 -0
  40. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +1 -1
  41. package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
  42. package/typechain-types/factories/contracts/token/PrivateERC721/extensions/IPrivateERC721URIStorage__factory.ts +55 -0
  43. package/typechain-types/factories/contracts/token/PrivateERC721/extensions/index.ts +1 -0
  44. package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
  45. package/typechain-types/factories/contracts/utils/mpc/MpcInterface.sol/ExtendedOperations__factory.ts +58 -0
  46. package/typechain-types/hardhat.d.ts +36 -54
  47. package/typechain-types/index.ts +6 -6
  48. package/contracts/onboard/README.md +0 -65
@@ -325,7 +325,7 @@ const _abi = [
325
325
  ] as const;
326
326
 
327
327
  const _bytecode =
328
- "0x608060405234801561001057600080fd5b50611bed806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063d2becd381161005b578063d2becd3814610150578063de29278914610171578063ebb571fd1461018f578063ee49a6ea146101ab57610088565b806308e9d12a1461008d5780632e544aa0146100c057806380f937bc146100f0578063acb3816914610120575b600080fd5b6100a760048036038101906100a29190611320565b6101db565b6040516100b794939291906113ce565b60405180910390f35b6100da60048036038101906100d5919061153e565b61032d565b6040516100e7919061156b565b60405180910390f35b61010a60048036038101906101059190611666565b6103bd565b6040516101179190611693565b60405180910390f35b61013a60048036038101906101359190611766565b610511565b6040516101479190611793565b60405180910390f35b6101586105ef565b60405161016894939291906113ce565b60405180910390f35b61017961064e565b60405161018691906117ae565b60405180910390f35b6101a960048036038101906101a491906118bf565b610664565b005b6101c560048036038101906101c09190611320565b61070b565b6040516101d291906117ae565b60405180910390f35b6000806000806101e9611293565b6101f4818888610664565b61020a610205826000015188610847565b6108e1565b600060016101000a81548160ff021916908360ff16021790555061023a61023582604001518861097f565b610a1a565b600060026101000a81548161ffff021916908361ffff16021790555061026f61026a82608001518860ff16610ab8565b610b55565b600060046101000a81548163ffffffff021916908363ffffffff1602179055506102a86102a38260c001518860ff16610bf3565b610c94565b600060086101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600060019054906101000a900460ff16600060029054906101000a900461ffff16600060049054906101000a900463ffffffff16600060089054906101000a900467ffffffffffffffff1694509450945094505092959194509250565b60008061033d8360000151610a1a565b905061034c8360200151610a1a565b61ffff168161ffff16148015610375575061036a8360400151610a1a565b61ffff168161ffff16145b6103b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ab906119be565b60405180910390fd5b80915050919050565b6000806103cd8360000151610c94565b90506103dc8360200151610c94565b67ffffffffffffffff168167ffffffffffffffff1614801561041d57506104068360400151610c94565b67ffffffffffffffff168167ffffffffffffffff16145b801561044857506104318360800151610c94565b67ffffffffffffffff168167ffffffffffffffff16145b8015610473575061045c8360600151610c94565b67ffffffffffffffff168167ffffffffffffffff16145b801561049e57506104878360c00151610c94565b67ffffffffffffffff168167ffffffffffffffff16145b80156104c957506104b28360a00151610c94565b67ffffffffffffffff168167ffffffffffffffff16145b610508576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104ff906119be565b60405180910390fd5b80915050919050565b6000806105218360000151610b55565b90506105308360200151610b55565b63ffffffff168163ffffffff1614801561056157506105528360400151610b55565b63ffffffff168163ffffffff16145b801561058457506105758360800151610b55565b63ffffffff168163ffffffff16145b80156105a757506105988360600151610b55565b63ffffffff168163ffffffff16145b6105e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105dd906119be565b60405180910390fd5b80915050919050565b600080600080600060019054906101000a900460ff16600060029054906101000a900461ffff16600060049054906101000a900463ffffffff16600060089054906101000a900467ffffffffffffffff16935093509350935090919293565b60008060009054906101000a900460ff16905090565b61066d82610d31565b83600001818152505061067f81610d31565b8360200181815250506106948260ff16610dd2565b8360400181815250506106a98160ff16610dd2565b8360600181815250506106be8260ff16610e74565b8360800181815250506106d38160ff16610e74565b8360a00181815250506106e88260ff16610f18565b8360c00181815250506106fd8160ff16610f18565b8360e0018181525050505050565b6000610715611293565b610720818585610664565b610736610731826000015185610fbf565b6108e1565b6000806101000a81548160ff021916908360ff160217905550610765610760826040015185611059565b610a1a565b61ffff1660008054906101000a900460ff1660ff161480156107b4575061079b61079682608001518560ff166110f4565b610b55565b63ffffffff1660008054906101000a900460ff1660ff16145b80156107f157506107d46107cf8260c001518560ff16611191565b610c94565b67ffffffffffffffff1660008054906101000a900460ff1660ff16145b610830576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082790611a2a565b60405180910390fd5b60008054906101000a900460ff1691505092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6108736001806002611232565b858560ff166040518463ffffffff1660e01b815260040161089693929190611a94565b6020604051808303816000875af11580156108b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d99190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed5616001600481111561091457610913611b24565b5b60f81b846040518363ffffffff1660e01b8152600401610935929190611b8e565b6020604051808303816000875af1158015610954573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109789190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a6109ac600260016002611232565b858560ff166040518463ffffffff1660e01b81526004016109cf93929190611a94565b6020604051808303816000875af11580156109ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a129190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed56160026004811115610a4d57610a4c611b24565b5b60f81b846040518363ffffffff1660e01b8152600401610a6e929190611b8e565b6020604051808303816000875af1158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab19190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a610ae46003806002611232565b858563ffffffff166040518463ffffffff1660e01b8152600401610b0a93929190611a94565b6020604051808303816000875af1158015610b29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b4d9190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed56160036004811115610b8857610b87611b24565b5b60f81b846040518363ffffffff1660e01b8152600401610ba9929190611b8e565b6020604051808303816000875af1158015610bc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bec9190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff16631135f71a610c1f6004806002611232565b858567ffffffffffffffff166040518463ffffffff1660e01b8152600401610c4993929190611a94565b6020604051808303816000875af1158015610c68573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8c9190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff16630cfed561600480811115610cc657610cc5611b24565b5b60f81b846040518363ffffffff1660e01b8152600401610ce7929190611b8e565b6020604051808303816000875af1158015610d06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2a9190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060016004811115610d6457610d63611b24565b5b60f81b8460ff166040518363ffffffff1660e01b8152600401610d88929190611b8e565b6020604051808303816000875af1158015610da7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcb9190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060026004811115610e0557610e04611b24565b5b60f81b8461ffff166040518363ffffffff1660e01b8152600401610e2a929190611b8e565b6020604051808303816000875af1158015610e49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6d9190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b6060036004811115610ea757610ea6611b24565b5b60f81b8463ffffffff166040518363ffffffff1660e01b8152600401610ece929190611b8e565b6020604051808303816000875af1158015610eed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f119190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff1663d9b60b60600480811115610f4a57610f49611b24565b5b60f81b8467ffffffffffffffff166040518363ffffffff1660e01b8152600401610f75929190611b8e565b6020604051808303816000875af1158015610f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb89190611af7565b9050919050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d610feb6001806002611232565b858560ff166040518463ffffffff1660e01b815260040161100e93929190611a94565b6020604051808303816000875af115801561102d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110519190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d611086600260016002611232565b858560ff166040518463ffffffff1660e01b81526004016110a993929190611a94565b6020604051808303816000875af11580156110c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ec9190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6111206003806002611232565b858563ffffffff166040518463ffffffff1660e01b815260040161114693929190611a94565b6020604051808303816000875af1158015611165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111899190611af7565b905092915050565b6000606473ffffffffffffffffffffffffffffffffffffffff166339bd1d8d6111bd6004806002611232565b858567ffffffffffffffff166040518463ffffffff1660e01b81526004016111e793929190611a94565b6020604051808303816000875af1158015611206573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061122a9190611af7565b905092915050565b600081600281111561124757611246611b24565b5b60ff16600884600481111561125f5761125e611b24565b5b61ffff16901b61ffff16601086600481111561127e5761127d611b24565b5b62ffffff16901b171760e81b90509392505050565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6000604051905090565b600080fd5b600060ff82169050919050565b6112fd816112e7565b811461130857600080fd5b50565b60008135905061131a816112f4565b92915050565b60008060408385031215611337576113366112e2565b5b60006113458582860161130b565b92505060206113568582860161130b565b9150509250929050565b611369816112e7565b82525050565b600061ffff82169050919050565b6113868161136f565b82525050565b600063ffffffff82169050919050565b6113a58161138c565b82525050565b600067ffffffffffffffff82169050919050565b6113c8816113ab565b82525050565b60006080820190506113e36000830187611360565b6113f0602083018661137d565b6113fd604083018561139c565b61140a60608301846113bf565b95945050505050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61146182611418565b810181811067ffffffffffffffff821117156114805761147f611429565b5b80604052505050565b60006114936112d8565b905061149f8282611458565b919050565b6000819050919050565b6114b7816114a4565b81146114c257600080fd5b50565b6000813590506114d4816114ae565b92915050565b6000606082840312156114f0576114ef611413565b5b6114fa6060611489565b9050600061150a848285016114c5565b600083015250602061151e848285016114c5565b6020830152506040611532848285016114c5565b60408301525092915050565b600060608284031215611554576115536112e2565b5b6000611562848285016114da565b91505092915050565b6000602082019050611580600083018461137d565b92915050565b61158f816114a4565b811461159a57600080fd5b50565b6000813590506115ac81611586565b92915050565b600060e082840312156115c8576115c7611413565b5b6115d260e0611489565b905060006115e28482850161159d565b60008301525060206115f68482850161159d565b602083015250604061160a8482850161159d565b604083015250606061161e8482850161159d565b60608301525060806116328482850161159d565b60808301525060a06116468482850161159d565b60a08301525060c061165a8482850161159d565b60c08301525092915050565b600060e0828403121561167c5761167b6112e2565b5b600061168a848285016115b2565b91505092915050565b60006020820190506116a860008301846113bf565b92915050565b6116b7816114a4565b81146116c257600080fd5b50565b6000813590506116d4816116ae565b92915050565b600060a082840312156116f0576116ef611413565b5b6116fa60a0611489565b9050600061170a848285016116c5565b600083015250602061171e848285016116c5565b6020830152506040611732848285016116c5565b6040830152506060611746848285016116c5565b606083015250608061175a848285016116c5565b60808301525092915050565b600060a0828403121561177c5761177b6112e2565b5b600061178a848285016116da565b91505092915050565b60006020820190506117a8600083018461139c565b92915050565b60006020820190506117c36000830184611360565b92915050565b6117d2816114a4565b81146117dd57600080fd5b50565b6000813590506117ef816117c9565b92915050565b6000610100828403121561180c5761180b611413565b5b611817610100611489565b90506000611827848285016117e0565b600083015250602061183b848285016117e0565b602083015250604061184f848285016114c5565b6040830152506060611863848285016114c5565b6060830152506080611877848285016116c5565b60808301525060a061188b848285016116c5565b60a08301525060c061189f8482850161159d565b60c08301525060e06118b38482850161159d565b60e08301525092915050565b600080600061014084860312156118d9576118d86112e2565b5b60006118e7868287016117f5565b9350506101006118f98682870161130b565b92505061012061190b8682870161130b565b9150509250925092565b600082825260208201905092915050565b7f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960008201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260208201527f6573756c74730000000000000000000000000000000000000000000000000000604082015250565b60006119a8604683611915565b91506119b382611926565b606082019050919050565b600060208201905081810360008301526119d78161199b565b9050919050565b7f73687254657374206661696c6564000000000000000000000000000000000000600082015250565b6000611a14600e83611915565b9150611a1f826119de565b602082019050919050565b60006020820190508181036000830152611a4381611a07565b9050919050565b60007fffffff000000000000000000000000000000000000000000000000000000000082169050919050565b611a7f81611a4a565b82525050565b611a8e816114a4565b82525050565b6000606082019050611aa96000830186611a76565b611ab66020830185611a85565b611ac36040830184611a85565b949350505050565b611ad4816114a4565b8114611adf57600080fd5b50565b600081519050611af181611acb565b92915050565b600060208284031215611b0d57611b0c6112e2565b5b6000611b1b84828501611ae2565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b611b8881611b53565b82525050565b6000604082019050611ba36000830185611b7f565b611bb06020830184611a85565b939250505056fea264697066735822122027ca7562dcc8d324ee7815187867cdd8cd05499eb10752fd419879d853c7516664736f6c63430008140033";
328
+ "0x608060405234801561001057600080fd5b506112a0806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063d2becd381161005b578063d2becd381461015b578063de2927891461019c578063ebb571fd146101b5578063ee49a6ea146101ca57600080fd5b806308e9d12a1461008d5780632e544aa0146100e157806380f937bc14610107578063acb3816914610133575b600080fd5b6100a061009b366004610f36565b6101dd565b6040805160ff909516855261ffff909316602085015263ffffffff9091169183019190915267ffffffffffffffff1660608201526080015b60405180910390f35b6100f46100ef366004610fba565b61037f565b60405161ffff90911681526020016100d8565b61011a61011536600461103d565b610484565b60405167ffffffffffffffff90911681526020016100d8565b6101466101413660046110e8565b610641565b60405163ffffffff90911681526020016100d8565b600054610100810460ff169062010000810461ffff1690640100000000810463ffffffff169068010000000000000000900467ffffffffffffffff166100a0565b60005460ff165b60405160ff90911681526020016100d8565b6101c86101c336600461117f565b610788565b005b6101a36101d8366004610f36565b61080f565b60008060008061022b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610236818888610788565b61024c610247826000015188610996565b610a5f565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010060ff9384160217905560408201516102989161029391908916610afc565b610b80565b600060026101000a81548161ffff021916908361ffff1602179055506102cd6102c882608001518860ff16610b90565b610c16565b600060046101000a81548163ffffffff021916908363ffffffff1602179055506103066103018260c001518860ff16610c26565b610cb0565b600080547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff93841681029190911791829055610100820460ff169a62010000830461ffff169a50640100000000830463ffffffff169950910490911695509350505050565b60008061038f8360000151610b80565b905061039e8360200151610b80565b61ffff168161ffff161480156103c757506103bc8360400151610b80565b61ffff168161ffff16145b61047e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c74730000000000000000000000000000000000000000000000000000608482015260a4015b60405180910390fd5b92915050565b6000806104948360000151610cb0565b90506104a38360200151610cb0565b67ffffffffffffffff168167ffffffffffffffff161480156104e457506104cd8360400151610cb0565b67ffffffffffffffff168167ffffffffffffffff16145b801561050f57506104f88360800151610cb0565b67ffffffffffffffff168167ffffffffffffffff16145b801561053a57506105238360600151610cb0565b67ffffffffffffffff168167ffffffffffffffff16145b8015610565575061054e8360c00151610cb0565b67ffffffffffffffff168167ffffffffffffffff16145b80156103c757506105798360a00151610cb0565b67ffffffffffffffff168167ffffffffffffffff161461047e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c74730000000000000000000000000000000000000000000000000000608482015260a401610475565b6000806106518360000151610c16565b90506106608360200151610c16565b63ffffffff168163ffffffff1614801561069157506106828360400151610c16565b63ffffffff168163ffffffff16145b80156106b457506106a58360800151610c16565b63ffffffff168163ffffffff16145b80156103c757506106c88360600151610c16565b63ffffffff168163ffffffff161461047e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152604660248201527f64656372797074416e64436f6d70617265416c6c526573756c74733a2046616960448201527f6c656420746f206465637279707420616e6420636f6d7061726520616c6c207260648201527f6573756c74730000000000000000000000000000000000000000000000000000608482015260a401610475565b61079182610cc0565b835261079c81610cc0565b60208401526107ad60ff8316610d29565b60408401526107be60ff8216610d29565b60608401526107cf60ff8316610d93565b60808401526107e060ff8216610d93565b60a08401526107f160ff8316610dff565b60c084015261080260ff8216610dff565b60e0909301929092525050565b600061085960405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610864818585610788565b610875610247826000015185610e6f565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92831617905560408201516108b89161029391908616610e85565b60005460ff1661ffff919091161480156108f257506108e16102c882608001518560ff16610e9b565b60005460ff1663ffffffff91909116145b8015610922575061090d6103018260c001518560ff16610eb1565b60005460ff1667ffffffffffffffff91909116145b610988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f73687254657374206661696c65640000000000000000000000000000000000006044820152606401610475565b505060005460ff1692915050565b60006064631135f71a6109ac6001806002610ec3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260ff851660448201526064015b6020604051808303816000875af1158015610a34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a589190611222565b9392505050565b60006064630cfed56160015b60f81b846040518363ffffffff1660e01b8152600401610ab99291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015610ad8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047e9190611222565b60006064631135f71a610b126002600181610ec3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905261ffff85166044820152606401610a15565b60006064630cfed5616002610a6b565b60006064631135f71a610ba66003806002610ec3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905263ffffffff85166044820152606401610a15565b60006064630cfed5616003610a6b565b60006064631135f71a610c3c6004806002610ec3565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905267ffffffffffffffff85166044820152606401610a15565b60006064630cfed5616004610a6b565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401610ab9565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401610ab9565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401610ab9565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401610ab9565b600060646339bd1d8d6109ac6001806002610ec3565b600060646339bd1d8d610b126002600181610ec3565b600060646339bd1d8d610ba66003806002610ec3565b600060646339bd1d8d610c3c60048060025b6000816002811115610ed757610ed761123b565b60ff166008846004811115610eee57610eee61123b565b61ffff16901b61ffff166010866004811115610f0c57610f0c61123b565b62ffffff16901b171760e81b949350505050565b803560ff81168114610f3157600080fd5b919050565b60008060408385031215610f4957600080fd5b610f5283610f20565b9150610f6060208401610f20565b90509250929050565b604051610100810167ffffffffffffffff81118282101715610fb4577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b600060608284031215610fcc57600080fd5b6040516060810181811067ffffffffffffffff82111715611016577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508235815260208301356020820152604083013560408201528091505092915050565b600060e0828403121561104f57600080fd5b60405160e0810181811067ffffffffffffffff82111715611099577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015260c083013560c08201528091505092915050565b600060a082840312156110fa57600080fd5b60405160a0810181811067ffffffffffffffff82111715611144577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525082358152602083013560208201526040830135604082015260608301356060820152608083013560808201528091505092915050565b600080600083850361014081121561119657600080fd5b610100808212156111a657600080fd5b6111ae610f69565b9150853582526020860135602083015260408601356040830152606086013560608301526080860135608083015260a086013560a083015260c086013560c083015260e086013560e0830152819450611208818701610f20565b935050506112196101208501610f20565b90509250925092565b60006020828403121561123457600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220788e3cce9b136e416d79286b2cd5720cbe2f466106ff84734c5e9ba3b65a02f964736f6c63430008130033";
329
329
 
330
330
  type ShiftTestsContractConstructorParams =
331
331
  | [signer?: Signer]
@@ -209,7 +209,7 @@ const _abi = [
209
209
  ] as const;
210
210
 
211
211
  const _bytecode =
212
- "0x608060405234801561001057600080fd5b5061194c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638a4ef8541161005b5780638a4ef854146100e857806395bf7bb1146100f0578063acbe845214610103578063f9ce33a91461012057600080fd5b806314f6161f1461008d57806335435c00146100ab57806376ae56a5146100c057806378f7d733146100d5575b600080fd5b610095610133565b6040516100a291906110cb565b60405180910390f35b6100be6100b9366004611133565b6101a1565b005b6100c86101dc565b6040516100a291906111d4565b6100be6100e3366004611133565b61026a565b6100be61029a565b6100be6100fe3660046111e7565b61031a565b6003546101109060ff1681565b60405190151581526020016100a2565b6100be61012e366004611259565b610385565b6040805160208101909152606081526040805160008054602081810284018501855283018181529293919284929091849184018282801561019357602002820191906000526020600020905b81548152602001906001019080831161017f575b505050505081525050905090565b60006101b46101af836114cb565b610413565b90506101bf81610597565b805180516001916101d59183916020019061106b565b5050505050565b600280546101e9906115bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610215906115bb565b80156102625780601f1061023757610100808354040283529160200191610262565b820191906000526020600020905b81548152906001019060200180831161024557829003601f168201915b505050505081565b60006102786101af836114cb565b90506102848133610667565b805180516000916101d59183916020019061106b565b6040805160018054602081810284018501855283018181526000946102fe9493928492918491908401828280156102f057602002820191906000526020600020905b8154815260200190600101908083116102dc575b50505050508152505061073b565b905061030981610803565b6002906103169082611653565b5050565b600061035b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c592505050565b90506103678133610667565b8051805160009161037d9183916020019061106b565b505050505050565b60006103936101af856114cb565b905060006103a36101af856114cb565b9050600083156103be576103b78383610a4a565b90506103d3565b6103d06103cb8484610b13565b610bd4565b90505b6103dc81610c70565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055505050505050565b604080516020810190915260608152602082015151825151518114610498576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d50435f434f52453a20494e56414c49445f494e5055545f5445585400000000604482015260640160405180910390fd5b600060405180602001604052808367ffffffffffffffff8111156104be576104be6112d6565b6040519080825280602002602001820160405280156104e7578160200160208202803683370190505b50905260408051808201909152600081526060602082015290915060005b8381101561058d578551518051829081106105225761052261176d565b60209081029190910181015183528601518051829081106105455761054561176d565b6020026020010151826020018190525061055e82610d01565b83518051839081106105725761057261176d565b6020908102919091010152610586816117cb565b9050610505565b5090949350505050565b6040805160208101909152606081528151516040805160208101909152600090808367ffffffffffffffff8111156105d1576105d16112d6565b6040519080825280602002602001820160405280156105fa578160200160208202803683370190505b509052905060005b8281101561065f57610630856000015182815181106106235761062361176d565b6020026020010151610d6a565b82518051839081106106445761064461176d565b6020908102919091010152610658816117cb565b9050610602565b509392505050565b6040805160208101909152606081528251516040805160208101909152600090808367ffffffffffffffff8111156106a1576106a16112d6565b6040519080825280602002602001820160405280156106ca578160200160208202803683370190505b509052905060005b8281101561073057610701866000015182815181106106f3576106f361176d565b602002602001015186610d7a565b82518051839081106107155761071561176d565b6020908102919091010152610729816117cb565b90506106d2565b509150505b92915050565b6040805160208101909152606081528151516040805160208101909152600090808367ffffffffffffffff811115610775576107756112d6565b60405190808252806020026020018201604052801561079e578160200160208202803683370190505b509052905060005b8281101561065f576107d4856000015182815181106107c7576107c761176d565b6020026020010151610e66565b82518051839081106107e8576107e861176d565b60209081029190910101526107fc816117cb565b90506107a6565b8051516060906000610816826008611803565b67ffffffffffffffff81111561082e5761082e6112d6565b6040519080825280601f01601f191660200182016040528015610858576020820181803683370190505b50905060008060005b848110156108ba5761088f876000015182815181106108825761088261176d565b6020026020010151610e76565b60c01b84830160200181905292506108a860088361181a565b91506108b3816117cb565b9050610861565b509195945050505050565b60408051602081019091526060815281518290600060086108e783600761181a565b6108f1919061185c565b9050600060405180602001604052808367ffffffffffffffff811115610919576109196112d6565b604051908082528060200260200182016040528015610942578160200160208202803683370190505b50905290506000805b610956846008611803565b811015610a3e57610968600882611870565b600003610978576000915061099b565b60088277ffffffffffffffffffffffffffffffffffffffffffffffff1916901b91505b848110156109e65760388682815181106109b7576109b761176d565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016901c91909117905b6109f1600882611870565b600703610a2e57610a048260c01c610e86565b8351610a1160088461185c565b81518110610a2157610a2161176d565b6020026020010181815250505b610a37816117cb565b905061094b565b50909695505050505050565b815151815151600091908114610a6c57610a646000610ef6565b915050610735565b6000610ab48560000151600081518110610a8857610a8861176d565b60200260200101518560000151600081518110610aa757610aa761176d565b6020026020010151610f55565b905060015b8281101561073057610b0182610afc88600001518481518110610ade57610ade61176d565b602002602001015188600001518581518110610aa757610aa761176d565b610fd5565b9150610b0c816117cb565b9050610ab9565b815151815151600091908114610b2d57610a646001610ef6565b6000610b758560000151600081518110610b4957610b4961176d565b60200260200101518560000151600081518110610b6857610b6861176d565b6020026020010151610fe9565b905060015b8281101561073057610bc282610bbd88600001518481518110610b9f57610b9f61176d565b602002602001015188600001518581518110610b6857610b6861176d565b610ffe565b9150610bcd816117cb565b9050610b7a565b60006064631d79e49a825b60f81b846040518363ffffffff1660e01b8152600401610c2d9291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015610c4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073591906118b3565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015610cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf891906118b3565b15159392505050565b805160208201516040517fe4f36e1000000000000000000000000000000000000000000000000000000000815260009260649263e4f36e1092610c2d927f04000000000000000000000000000000000000000000000000000000000000009290916004016118cc565b6000606463c50c9c026004610bdf565b60408051606083901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208201528151601481830301815260348201928390527f3c6f0e6800000000000000000000000000000000000000000000000000000000909252600091606491633c6f0e6891610e1c917f04000000000000000000000000000000000000000000000000000000000000009188916038016118cc565b6020604051808303816000875af1158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5f91906118b3565b9392505050565b6000606463d2c135e56004610bdf565b60006064630cfed5616004610bdf565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401610c2d565b60008082610f05576000610f08565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b6090604401610e1c565b60006064637c12a1eb610f6a6004808561100e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260448101859052606401610e1c565b6000606463fe9c73d1610f6a83808061100e565b600060646342094c56610f6a6004808561100e565b6000606463fb7da35f610f6a8380805b600081600281111561102257611022611884565b60ff16600884600481111561103957611039611884565b61ffff16901b61ffff16601086600481111561105757611057611884565b62ffffff16901b171760e81b949350505050565b8280548282559060005260206000209081019282156110a6579160200282015b828111156110a657825182559160200191906001019061108b565b506110b29291506110b6565b5090565b5b808211156110b257600081556001016110b7565b6020808252825182820182905280516040840181905260009291820190839060608601905b8083101561111057835182529284019260019290920191908401906110f0565b509695505050505050565b60006040828403121561112d57600080fd5b50919050565b60006020828403121561114557600080fd5b813567ffffffffffffffff81111561115c57600080fd5b6111688482850161111b565b949350505050565b6000815180845260005b818110156111965760208185018101518683018201520161117a565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610e5f6020830184611170565b600080602083850312156111fa57600080fd5b823567ffffffffffffffff8082111561121257600080fd5b818501915085601f83011261122657600080fd5b81358181111561123557600080fd5b86602082850101111561124757600080fd5b60209290920196919550909350505050565b60008060006060848603121561126e57600080fd5b833567ffffffffffffffff8082111561128657600080fd5b6112928783880161111b565b945060208601359150808211156112a857600080fd5b506112b58682870161111b565b925050604084013580151581146112cb57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611328576113286112d6565b60405290565b6040516020810167ffffffffffffffff81118282101715611328576113286112d6565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611398576113986112d6565b604052919050565b600067ffffffffffffffff8211156113ba576113ba6112d6565b5060051b60200190565b6000601f83818401126113d657600080fd5b823560206113eb6113e6836113a0565b611351565b82815260059290921b8501810191818101908784111561140a57600080fd5b8287015b848110156114bf57803567ffffffffffffffff8082111561142f5760008081fd5b818a0191508a603f8301126114445760008081fd5b8582013560408282111561145a5761145a6112d6565b611489887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c85011601611351565b92508183528c818386010111156114a05760008081fd5b818185018985013750600090820187015284525091830191830161140e565b50979650505050505050565b6000604082360312156114dd57600080fd5b6114e5611305565b823567ffffffffffffffff808211156114fd57600080fd5b8185019150602080833603121561151357600080fd5b61151b61132e565b83358381111561152a57600080fd5b939093019236601f85011261153e57600080fd5b833561154c6113e6826113a0565b81815260059190911b8501830190838101903683111561156b57600080fd5b958401955b8287101561158957863582529584019590840190611570565b835250508452858101359250818311156115a257600080fd5b6115ae368488016113c4565b9084015250909392505050565b600181811c908216806115cf57607f821691505b60208210810361112d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f82111561164e57600081815260208120601f850160051c8101602086101561162f5750805b601f850160051c820191505b8181101561037d5782815560010161163b565b505050565b815167ffffffffffffffff81111561166d5761166d6112d6565b6116818161167b84546115bb565b84611608565b602080601f8311600181146116d4576000841561169e5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561037d565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561172157888601518255948401946001909101908401611702565b508582101561175d57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117fc576117fc61179c565b5060010190565b80820281158282048414176107355761073561179c565b808201808211156107355761073561179c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261186b5761186b61182d565b500490565b60008261187f5761187f61182d565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082840312156118c557600080fd5b5051919050565b7fff000000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061190d6060830184611170565b9594505050505056fea26469706673582212207e58f5ac9d7c9997ef0c931422961c39f2ee93069696c0549f0b13750d5061ac64736f6c63430008130033";
212
+ "0x608060405234801561001057600080fd5b5061194c806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638a4ef8541161005b5780638a4ef854146100e857806395bf7bb1146100f0578063acbe845214610103578063f9ce33a91461012057600080fd5b806314f6161f1461008d57806335435c00146100ab57806376ae56a5146100c057806378f7d733146100d5575b600080fd5b610095610133565b6040516100a291906110cb565b60405180910390f35b6100be6100b9366004611133565b6101a1565b005b6100c86101dc565b6040516100a291906111d4565b6100be6100e3366004611133565b61026a565b6100be61029a565b6100be6100fe3660046111e7565b61031a565b6003546101109060ff1681565b60405190151581526020016100a2565b6100be61012e366004611259565b610385565b6040805160208101909152606081526040805160008054602081810284018501855283018181529293919284929091849184018282801561019357602002820191906000526020600020905b81548152602001906001019080831161017f575b505050505081525050905090565b60006101b46101af836114cb565b610413565b90506101bf81610597565b805180516001916101d59183916020019061106b565b5050505050565b600280546101e9906115bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610215906115bb565b80156102625780601f1061023757610100808354040283529160200191610262565b820191906000526020600020905b81548152906001019060200180831161024557829003601f168201915b505050505081565b60006102786101af836114cb565b90506102848133610667565b805180516000916101d59183916020019061106b565b6040805160018054602081810284018501855283018181526000946102fe9493928492918491908401828280156102f057602002820191906000526020600020905b8154815260200190600101908083116102dc575b50505050508152505061073b565b905061030981610803565b6002906103169082611653565b5050565b600061035b83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c592505050565b90506103678133610667565b8051805160009161037d9183916020019061106b565b505050505050565b60006103936101af856114cb565b905060006103a36101af856114cb565b9050600083156103be576103b78383610a4a565b90506103d3565b6103d06103cb8484610b13565b610bd4565b90505b6103dc81610c70565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055505050505050565b604080516020810190915260608152602082015151825151518114610498576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4d50435f434f52453a20494e56414c49445f494e5055545f5445585400000000604482015260640160405180910390fd5b600060405180602001604052808367ffffffffffffffff8111156104be576104be6112d6565b6040519080825280602002602001820160405280156104e7578160200160208202803683370190505b50905260408051808201909152600081526060602082015290915060005b8381101561058d578551518051829081106105225761052261176d565b60209081029190910181015183528601518051829081106105455761054561176d565b6020026020010151826020018190525061055e82610d01565b83518051839081106105725761057261176d565b6020908102919091010152610586816117cb565b9050610505565b5090949350505050565b6040805160208101909152606081528151516040805160208101909152600090808367ffffffffffffffff8111156105d1576105d16112d6565b6040519080825280602002602001820160405280156105fa578160200160208202803683370190505b509052905060005b8281101561065f57610630856000015182815181106106235761062361176d565b6020026020010151610d6a565b82518051839081106106445761064461176d565b6020908102919091010152610658816117cb565b9050610602565b509392505050565b6040805160208101909152606081528251516040805160208101909152600090808367ffffffffffffffff8111156106a1576106a16112d6565b6040519080825280602002602001820160405280156106ca578160200160208202803683370190505b509052905060005b8281101561073057610701866000015182815181106106f3576106f361176d565b602002602001015186610d7a565b82518051839081106107155761071561176d565b6020908102919091010152610729816117cb565b90506106d2565b509150505b92915050565b6040805160208101909152606081528151516040805160208101909152600090808367ffffffffffffffff811115610775576107756112d6565b60405190808252806020026020018201604052801561079e578160200160208202803683370190505b509052905060005b8281101561065f576107d4856000015182815181106107c7576107c761176d565b6020026020010151610e66565b82518051839081106107e8576107e861176d565b60209081029190910101526107fc816117cb565b90506107a6565b8051516060906000610816826008611803565b67ffffffffffffffff81111561082e5761082e6112d6565b6040519080825280601f01601f191660200182016040528015610858576020820181803683370190505b50905060008060005b848110156108ba5761088f876000015182815181106108825761088261176d565b6020026020010151610e76565b60c01b84830160200181905292506108a860088361181a565b91506108b3816117cb565b9050610861565b509195945050505050565b60408051602081019091526060815281518290600060086108e783600761181a565b6108f1919061185c565b9050600060405180602001604052808367ffffffffffffffff811115610919576109196112d6565b604051908082528060200260200182016040528015610942578160200160208202803683370190505b50905290506000805b610956846008611803565b811015610a3e57610968600882611870565b600003610978576000915061099b565b60088277ffffffffffffffffffffffffffffffffffffffffffffffff1916901b91505b848110156109e65760388682815181106109b7576109b761176d565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016901c91909117905b6109f1600882611870565b600703610a2e57610a048260c01c610e86565b8351610a1160088461185c565b81518110610a2157610a2161176d565b6020026020010181815250505b610a37816117cb565b905061094b565b50909695505050505050565b815151815151600091908114610a6c57610a646000610ef6565b915050610735565b6000610ab48560000151600081518110610a8857610a8861176d565b60200260200101518560000151600081518110610aa757610aa761176d565b6020026020010151610f55565b905060015b8281101561073057610b0182610afc88600001518481518110610ade57610ade61176d565b602002602001015188600001518581518110610aa757610aa761176d565b610fd5565b9150610b0c816117cb565b9050610ab9565b815151815151600091908114610b2d57610a646001610ef6565b6000610b758560000151600081518110610b4957610b4961176d565b60200260200101518560000151600081518110610b6857610b6861176d565b6020026020010151610fe9565b905060015b8281101561073057610bc282610bbd88600001518481518110610b9f57610b9f61176d565b602002602001015188600001518581518110610b6857610b6861176d565b610ffe565b9150610bcd816117cb565b9050610b7a565b60006064631d79e49a825b60f81b846040518363ffffffff1660e01b8152600401610c2d9291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015610c4c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073591906118b3565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015610cd4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf891906118b3565b15159392505050565b805160208201516040517fe4f36e1000000000000000000000000000000000000000000000000000000000815260009260649263e4f36e1092610c2d927f04000000000000000000000000000000000000000000000000000000000000009290916004016118cc565b6000606463c50c9c026004610bdf565b60408051606083901b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001660208201528151601481830301815260348201928390527f3c6f0e6800000000000000000000000000000000000000000000000000000000909252600091606491633c6f0e6891610e1c917f04000000000000000000000000000000000000000000000000000000000000009188916038016118cc565b6020604051808303816000875af1158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5f91906118b3565b9392505050565b6000606463d2c135e56004610bdf565b60006064630cfed5616004610bdf565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401610c2d565b60008082610f05576000610f08565b60015b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081526000600482015260ff9190911660248201819052915060649063d9b60b6090604401610e1c565b60006064637c12a1eb610f6a6004808561100e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260448101859052606401610e1c565b6000606463fe9c73d1610f6a83808061100e565b600060646342094c56610f6a6004808561100e565b6000606463fb7da35f610f6a8380805b600081600281111561102257611022611884565b60ff16600884600481111561103957611039611884565b61ffff16901b61ffff16601086600481111561105757611057611884565b62ffffff16901b171760e81b949350505050565b8280548282559060005260206000209081019282156110a6579160200282015b828111156110a657825182559160200191906001019061108b565b506110b29291506110b6565b5090565b5b808211156110b257600081556001016110b7565b6020808252825182820182905280516040840181905260009291820190839060608601905b8083101561111057835182529284019260019290920191908401906110f0565b509695505050505050565b60006040828403121561112d57600080fd5b50919050565b60006020828403121561114557600080fd5b813567ffffffffffffffff81111561115c57600080fd5b6111688482850161111b565b949350505050565b6000815180845260005b818110156111965760208185018101518683018201520161117a565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081526000610e5f6020830184611170565b600080602083850312156111fa57600080fd5b823567ffffffffffffffff8082111561121257600080fd5b818501915085601f83011261122657600080fd5b81358181111561123557600080fd5b86602082850101111561124757600080fd5b60209290920196919550909350505050565b60008060006060848603121561126e57600080fd5b833567ffffffffffffffff8082111561128657600080fd5b6112928783880161111b565b945060208601359150808211156112a857600080fd5b506112b58682870161111b565b925050604084013580151581146112cb57600080fd5b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715611328576113286112d6565b60405290565b6040516020810167ffffffffffffffff81118282101715611328576113286112d6565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715611398576113986112d6565b604052919050565b600067ffffffffffffffff8211156113ba576113ba6112d6565b5060051b60200190565b6000601f83818401126113d657600080fd5b823560206113eb6113e6836113a0565b611351565b82815260059290921b8501810191818101908784111561140a57600080fd5b8287015b848110156114bf57803567ffffffffffffffff8082111561142f5760008081fd5b818a0191508a603f8301126114445760008081fd5b8582013560408282111561145a5761145a6112d6565b611489887fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08c85011601611351565b92508183528c818386010111156114a05760008081fd5b818185018985013750600090820187015284525091830191830161140e565b50979650505050505050565b6000604082360312156114dd57600080fd5b6114e5611305565b823567ffffffffffffffff808211156114fd57600080fd5b8185019150602080833603121561151357600080fd5b61151b61132e565b83358381111561152a57600080fd5b939093019236601f85011261153e57600080fd5b833561154c6113e6826113a0565b81815260059190911b8501830190838101903683111561156b57600080fd5b958401955b8287101561158957863582529584019590840190611570565b835250508452858101359250818311156115a257600080fd5b6115ae368488016113c4565b9084015250909392505050565b600181811c908216806115cf57607f821691505b60208210810361112d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b601f82111561164e57600081815260208120601f850160051c8101602086101561162f5750805b601f850160051c820191505b8181101561037d5782815560010161163b565b505050565b815167ffffffffffffffff81111561166d5761166d6112d6565b6116818161167b84546115bb565b84611608565b602080601f8311600181146116d4576000841561169e5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561037d565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561172157888601518255948401946001909101908401611702565b508582101561175d57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036117fc576117fc61179c565b5060010190565b80820281158282048414176107355761073561179c565b808201808211156107355761073561179c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261186b5761186b61182d565b500490565b60008261187f5761187f61182d565b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082840312156118c557600080fd5b5051919050565b7fff000000000000000000000000000000000000000000000000000000000000008416815282602082015260606040820152600061190d6060830184611170565b9594505050505056fea26469706673582212204441cb527da59f57339e3036de7cff4caae5a7989d9786af2317afffcd74272964736f6c63430008130033";
213
213
 
214
214
  type StringTestsContractConstructorParams =
215
215
  | [signer?: Signer]
@@ -305,7 +305,7 @@ const _abi = [
305
305
  ] as const;
306
306
 
307
307
  const _bytecode =
308
- "0x608060405234801561001057600080fd5b506116ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806352fdcece1161005057806352fdcece146100c1578063df6d2101146100d4578063ea8fe3d5146100e757600080fd5b806319902cb11461006c5780634717f97c14610081575b600080fd5b61007f61007a3660046114b2565b6100fa565b005b60005460ff80821691610100810482169162010000909104165b6040805160ff948516815293909216602084015215159082015260600160405180910390f35b61007f6100cf3660046114b2565b61065b565b61009b6100e23660046115bf565b610823565b61007f6100f53660046114b2565b610a40565b60008060006101158860c001518960e001518660ff16610d88565b92509250925061012483610e51565b67ffffffffffffffff168760ff16148015610153575061014382610e51565b67ffffffffffffffff168660ff16145b801561016a575061016381610ef4565b1515851515145b6101c55760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084015b60405180910390fd5b6101db88600001518960e001518660ff16610f85565b919450925090506101eb83610e51565b67ffffffffffffffff168760ff1614801561021a575061020a82610e51565b67ffffffffffffffff168660ff16145b8015610231575061022a81610ef4565b1515851515145b6102875760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b61029d8860c0015189602001518660ff16610fa1565b919450925090506102ad83610e51565b67ffffffffffffffff168760ff161480156102dc57506102cc82610e51565b67ffffffffffffffff168660ff16145b80156102f357506102ec81610ef4565b1515851515145b6103495760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b61035f88604001518960e001518660ff16610fbd565b9194509250905061036f83610e51565b67ffffffffffffffff168760ff1614801561039e575061038e82610e51565b67ffffffffffffffff168660ff16145b80156103b557506103ae81610ef4565b1515851515145b61040b5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b6104218860c0015189606001518660ff16610fda565b9194509250905061043183610e51565b67ffffffffffffffff168760ff16148015610460575061045082610e51565b67ffffffffffffffff168660ff16145b8015610477575061047081610ef4565b1515851515145b6104cd5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b6104e388608001518960e001518660ff16610ff7565b919450925090506104f383610e51565b67ffffffffffffffff168760ff16148015610522575061051282610e51565b67ffffffffffffffff168660ff16145b8015610539575061053281610ef4565b1515851515145b61058f5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b6105a58860c001518960a001518660ff16611014565b919450925090506105b583610e51565b67ffffffffffffffff168760ff161480156105e457506105d482610e51565b67ffffffffffffffff168660ff16145b80156105fb57506105f481610ef4565b1515851515145b6106515760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b5050505050505050565b6000806000610676886040015189606001518660ff16611031565b925092509250610685836110a3565b61ffff168760ff161480156106a8575061069e826110a3565b61ffff168660ff16145b80156106bf57506106b881610ef4565b1515851515145b6107155760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b61072b886000015189606001518660ff166110b3565b9194509250905061073b836110a3565b61ffff168760ff1614801561075e5750610754826110a3565b61ffff168660ff16145b8015610775575061076e81610ef4565b1515851515145b6107cb5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b6107e1886040015189602001518660ff166110cf565b919450925090506107f1836110a3565b61ffff168760ff161480156105e4575061080a826110a3565b61ffff168660ff161480156105fb57506105f481610ef4565b600080600061087060405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610879876110eb565b8152610884866110eb565b602082015261089560ff8816611154565b60408201526108a660ff8716611154565b60608201526108b760ff88166111be565b60808201526108c860ff87166111be565b60a08201526108d960ff881661122a565b60c08201526108ea60ff871661122a565b60e08201528051602082015160009182918291610907918a61129a565b9250925092506109168361130a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790556109518261130a565b600060016101000a81548160ff021916908360ff16021790555061097481610ef4565b60008054911515620100009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff84168117928390556109cf93889360ff928316918316919091179261010082048316929104168c61065b565b6000546109f490859060ff80821691610100810482169162010000909104168c610a40565b600054610a1990859060ff80821691610100810482169162010000909104168c6100fa565b505060005460ff8082169a610100830482169a506201000090920416975095505050505050565b6000806000610a5b88608001518960a001518660ff1661131a565b925092509250610a6a8361138e565b63ffffffff168760ff16148015610a915750610a858261138e565b63ffffffff168660ff16145b8015610aa85750610aa181610ef4565b1515851515145b610afe5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b610b1488600001518960a001518660ff1661139e565b91945092509050610b248361138e565b63ffffffff168760ff16148015610b4b5750610b3f8261138e565b63ffffffff168660ff16145b8015610b625750610b5b81610ef4565b1515851515145b610bb85760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b610bce886080015189602001518660ff166113ba565b91945092509050610bde8361138e565b63ffffffff168760ff16148015610c055750610bf98261138e565b63ffffffff168660ff16145b8015610c1c5750610c1581610ef4565b1515851515145b610c725760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b610c8888604001518960a001518660ff166113d6565b91945092509050610c988361138e565b63ffffffff168760ff16148015610cbf5750610cb38261138e565b63ffffffff168660ff16145b8015610cd65750610ccf81610ef4565b1515851515145b610d2c5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b610d42886080015189606001518660ff166113f3565b91945092509050610d528361138e565b63ffffffff168760ff161480156105e45750610d6d8261138e565b63ffffffff168660ff161480156105fb57506105f481610ef4565b6000808080808060646356c72d28610da460048080600161140c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b905267ffffffffffffffff8a1660648201526084015b6060604051808303816000875af1158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611602565b919b909a509098509650505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401610eab9291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015610eca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eee919061165f565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015610f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7c919061165f565b15159392505050565b6000808080808060646356c72d28610da460016004808261140c565b6000808080808060646356c72d28610da460046001818161140c565b6000808080808060646356c72d28610da46002600480600161140c565b6000808080808060646356c72d28610da46004600281600161140c565b6000808080808060646356c72d28610da46003600480600161140c565b6000808080808060646356c72d28610da46004600381600161140c565b6000808080808060646356c72d2861104d60028080600161140c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b905261ffff8a166064820152608401610dfc565b60006064630cfed5616002610e5d565b6000808080808060646356c72d2861104d60016002808261140c565b6000808080808060646356c72d2861104d60026001818161140c565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401610eab565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401610eab565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401610eab565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401610eab565b6000808080808060646356c72d286112b5600180808061140c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b905260ff8a166064820152608401610dfc565b60006064630cfed5616001610e5d565b6000808080808060646356c72d2861133660038080600161140c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b905263ffffffff8a166064820152608401610dfc565b60006064630cfed5616003610e5d565b6000808080808060646356c72d2861133660016003808261140c565b6000808080808060646356c72d2861133660036001818161140c565b6000808080808060646356c72d286113366002600380600161140c565b6000808080808060646356c72d28611336600360028160015b600081600281111561142057611420611630565b60ff16600884600481111561143757611437611630565b61ffff16901b61ffff16601086600481111561145557611455611630565b62ffffff16901b62ffffff16601888600481111561147557611475611630565b63ffffffff16901b17171760e01b95945050505050565b803560ff8116811461149d57600080fd5b919050565b8035801515811461149d57600080fd5b60008060008060008587036101808112156114cc57600080fd5b610100808212156114dc57600080fd5b604051915080820182811067ffffffffffffffff82111715611527577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250873582526020880135602083015260408801356040830152606088013560608301526080880135608083015260a088013560a083015260c088013560c083015260e088013560e083015281965061158481890161148c565b95505050611595610120870161148c565b92506115a461014087016114a2565b91506115b3610160870161148c565b90509295509295909350565b6000806000606084860312156115d457600080fd5b6115dd8461148c565b92506115eb6020850161148c565b91506115f96040850161148c565b90509250925092565b60008060006060848603121561161757600080fd5b8351925060208401519150604084015190509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561167157600080fd5b505191905056fea26469706673582212203c71c613d51099985ee627a32b3fb635871c0be16da2b948aa1d85d039aeaedd64736f6c63430008130033";
308
+ "0x608060405234801561001057600080fd5b506116ae806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c806352fdcece1161005057806352fdcece146100c1578063df6d2101146100d4578063ea8fe3d5146100e757600080fd5b806319902cb11461006c5780634717f97c14610081575b600080fd5b61007f61007a3660046114b2565b6100fa565b005b60005460ff80821691610100810482169162010000909104165b6040805160ff948516815293909216602084015215159082015260600160405180910390f35b61007f6100cf3660046114b2565b61065b565b61009b6100e23660046115bf565b610823565b61007f6100f53660046114b2565b610a40565b60008060006101158860c001518960e001518660ff16610d88565b92509250925061012483610e51565b67ffffffffffffffff168760ff16148015610153575061014382610e51565b67ffffffffffffffff168660ff16145b801561016a575061016381610ef4565b1515851515145b6101c55760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084015b60405180910390fd5b6101db88600001518960e001518660ff16610f85565b919450925090506101eb83610e51565b67ffffffffffffffff168760ff1614801561021a575061020a82610e51565b67ffffffffffffffff168660ff16145b8015610231575061022a81610ef4565b1515851515145b6102875760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b61029d8860c0015189602001518660ff16610fa1565b919450925090506102ad83610e51565b67ffffffffffffffff168760ff161480156102dc57506102cc82610e51565b67ffffffffffffffff168660ff16145b80156102f357506102ec81610ef4565b1515851515145b6103495760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b61035f88604001518960e001518660ff16610fbd565b9194509250905061036f83610e51565b67ffffffffffffffff168760ff1614801561039e575061038e82610e51565b67ffffffffffffffff168660ff16145b80156103b557506103ae81610ef4565b1515851515145b61040b5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b6104218860c0015189606001518660ff16610fda565b9194509250905061043183610e51565b67ffffffffffffffff168760ff16148015610460575061045082610e51565b67ffffffffffffffff168660ff16145b8015610477575061047081610ef4565b1515851515145b6104cd5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b6104e388608001518960e001518660ff16610ff7565b919450925090506104f383610e51565b67ffffffffffffffff168760ff16148015610522575061051282610e51565b67ffffffffffffffff168660ff16145b8015610539575061053281610ef4565b1515851515145b61058f5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b6105a58860c001518960a001518660ff16611014565b919450925090506105b583610e51565b67ffffffffffffffff168760ff161480156105e457506105d482610e51565b67ffffffffffffffff168660ff16145b80156105fb57506105f481610ef4565b1515851515145b6106515760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b5050505050505050565b6000806000610676886040015189606001518660ff16611031565b925092509250610685836110a3565b61ffff168760ff161480156106a8575061069e826110a3565b61ffff168660ff16145b80156106bf57506106b881610ef4565b1515851515145b6107155760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b61072b886000015189606001518660ff166110b3565b9194509250905061073b836110a3565b61ffff168760ff1614801561075e5750610754826110a3565b61ffff168660ff16145b8015610775575061076e81610ef4565b1515851515145b6107cb5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b6107e1886040015189602001518660ff166110cf565b919450925090506107f1836110a3565b61ffff168760ff161480156105e4575061080a826110a3565b61ffff168660ff161480156105fb57506105f481610ef4565b600080600061087060405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610879876110eb565b8152610884866110eb565b602082015261089560ff8816611154565b60408201526108a660ff8716611154565b60608201526108b760ff88166111be565b60808201526108c860ff87166111be565b60a08201526108d960ff881661122a565b60c08201526108ea60ff871661122a565b60e08201528051602082015160009182918291610907918a61129a565b9250925092506109168361130a565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790556109518261130a565b600060016101000a81548160ff021916908360ff16021790555061097481610ef4565b60008054911515620100009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff84168117928390556109cf93889360ff928316918316919091179261010082048316929104168c61065b565b6000546109f490859060ff80821691610100810482169162010000909104168c610a40565b600054610a1990859060ff80821691610100810482169162010000909104168c6100fa565b505060005460ff8082169a610100830482169a506201000090920416975095505050505050565b6000806000610a5b88608001518960a001518660ff1661131a565b925092509250610a6a8361138e565b63ffffffff168760ff16148015610a915750610a858261138e565b63ffffffff168660ff16145b8015610aa85750610aa181610ef4565b1515851515145b610afe5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b610b1488600001518960a001518660ff1661139e565b91945092509050610b248361138e565b63ffffffff168760ff16148015610b4b5750610b3f8261138e565b63ffffffff168660ff16145b8015610b625750610b5b81610ef4565b1515851515145b610bb85760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b610bce886080015189602001518660ff166113ba565b91945092509050610bde8361138e565b63ffffffff168760ff16148015610c055750610bf98261138e565b63ffffffff168660ff16145b8015610c1c5750610c1581610ef4565b1515851515145b610c725760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b610c8888604001518960a001518660ff166113d6565b91945092509050610c988361138e565b63ffffffff168760ff16148015610cbf5750610cb38261138e565b63ffffffff168660ff16145b8015610cd65750610ccf81610ef4565b1515851515145b610d2c5760405162461bcd60e51b815260206004820152602160248201527f7472616e73666572546573743a20636865636b207363616c6172206661696c656044820152601960fa1b60648201526084016101bc565b610d42886080015189606001518660ff166113f3565b91945092509050610d528361138e565b63ffffffff168760ff161480156105e45750610d6d8261138e565b63ffffffff168660ff161480156105fb57506105f481610ef4565b6000808080808060646356c72d28610da460048080600161140c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b905267ffffffffffffffff8a1660648201526084015b6060604051808303816000875af1158015610e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3f9190611602565b919b909a509098509650505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401610eab9291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015610eca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eee919061165f565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015610f58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7c919061165f565b15159392505050565b6000808080808060646356c72d28610da460016004808261140c565b6000808080808060646356c72d28610da460046001818161140c565b6000808080808060646356c72d28610da46002600480600161140c565b6000808080808060646356c72d28610da46004600281600161140c565b6000808080808060646356c72d28610da46003600480600161140c565b6000808080808060646356c72d28610da46004600381600161140c565b6000808080808060646356c72d2861104d60028080600161140c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b905261ffff8a166064820152608401610dfc565b60006064630cfed5616002610e5d565b6000808080808060646356c72d2861104d60016002808261140c565b6000808080808060646356c72d2861104d60026001818161140c565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401610eab565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401610eab565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401610eab565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401610eab565b6000808080808060646356c72d286112b5600180808061140c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b905260ff8a166064820152608401610dfc565b60006064630cfed5616001610e5d565b6000808080808060646356c72d2861133660038080600161140c565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b905263ffffffff8a166064820152608401610dfc565b60006064630cfed5616003610e5d565b6000808080808060646356c72d2861133660016003808261140c565b6000808080808060646356c72d2861133660036001818161140c565b6000808080808060646356c72d286113366002600380600161140c565b6000808080808060646356c72d28611336600360028160015b600081600281111561142057611420611630565b60ff16600884600481111561143757611437611630565b61ffff16901b61ffff16601086600481111561145557611455611630565b62ffffff16901b62ffffff16601888600481111561147557611475611630565b63ffffffff16901b17171760e01b95945050505050565b803560ff8116811461149d57600080fd5b919050565b8035801515811461149d57600080fd5b60008060008060008587036101808112156114cc57600080fd5b610100808212156114dc57600080fd5b604051915080820182811067ffffffffffffffff82111715611527577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b8060405250873582526020880135602083015260408801356040830152606088013560608301526080880135608083015260a088013560a083015260c088013560c083015260e088013560e083015281965061158481890161148c565b95505050611595610120870161148c565b92506115a461014087016114a2565b91506115b3610160870161148c565b90509295509295909350565b6000806000606084860312156115d457600080fd5b6115dd8461148c565b92506115eb6020850161148c565b91506115f96040850161148c565b90509250925092565b60008060006060848603121561161757600080fd5b8351925060208401519150604084015190509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561167157600080fd5b505191905056fea2646970667358221220049531c7362c5429ad849cfb2c79f0b04c0acc40a418b38f3c6ce9b0953fedc164736f6c63430008130033";
309
309
 
310
310
  type TransferScalarTestsContractConstructorParams =
311
311
  | [signer?: Signer]
@@ -386,7 +386,7 @@ const _abi = [
386
386
  ] as const;
387
387
 
388
388
  const _bytecode =
389
- "0x608060405234801561001057600080fd5b50613331806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063701251311161005057806370125131146100c1578063d7b0fe63146100d4578063f6029cb3146100e757600080fd5b80634717f97c1461006c5780636a3ae654146100ac575b600080fd5b60005460ff80821691610100810482169162010000909104165b6040805160ff948516815293909216602084015215159082015260600160405180910390f35b6100bf6100ba36600461317a565b6100fa565b005b6100866100cf366004613242565b610b69565b6100bf6100e236600461317a565b610e0a565b6100bf6100f536600461317a565b6112c6565b600080600061011688608001518960a0015189604001516126af565b9250925092506101258361276d565b63ffffffff168660ff1614801561014c57506101408261276d565b63ffffffff168560ff16145b8015610163575061015c81612810565b1515841515145b6101b45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064015b60405180910390fd5b6101cb88600001518960a0015189604001516128a1565b919450925090506101db8361276d565b63ffffffff168660ff1614801561020257506101f68261276d565b63ffffffff168560ff16145b8015610219575061021281612810565b1515841515145b6102655760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b61027c8860800151896020015189604001516128bd565b9194509250905061028c8361276d565b63ffffffff168660ff161480156102b357506102a78261276d565b63ffffffff168560ff16145b80156102ca57506102c381612810565b1515841515145b6103165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b61032d88604001518960a0015189604001516128d9565b9194509250905061033d8361276d565b63ffffffff168660ff1614801561036457506103588261276d565b63ffffffff168560ff16145b801561037b575061037481612810565b1515841515145b6103c75760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6103de8860800151896060015189604001516128f5565b919450925090506103ee8361276d565b63ffffffff168660ff1614801561041557506104098261276d565b63ffffffff168560ff16145b801561042c575061042581612810565b1515841515145b6104785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b61048f88608001518960a001518960000151612911565b9194509250905061049f8361276d565b63ffffffff168660ff161480156104c657506104ba8261276d565b63ffffffff168560ff16145b80156104dd57506104d681612810565b1515841515145b6105295760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b875160a0890151885161053d92919061292d565b9194509250905061054d8361276d565b63ffffffff168660ff1614801561057457506105688261276d565b63ffffffff168560ff16145b801561058b575061058481612810565b1515841515145b6105d75760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6105ee886080015189602001518960000151612949565b919450925090506105fe8361276d565b63ffffffff168660ff1614801561062557506106198261276d565b63ffffffff168560ff16145b801561063c575061063581612810565b1515841515145b6106885760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b61069f88604001518960a001518960000151612965565b919450925090506106af8361276d565b63ffffffff168660ff161480156106d657506106ca8261276d565b63ffffffff168560ff16145b80156106ed57506106e681612810565b1515841515145b6107395760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b610750886080015189606001518960000151612982565b919450925090506107608361276d565b63ffffffff168660ff16148015610787575061077b8261276d565b63ffffffff168560ff16145b801561079e575061079781612810565b1515841515145b6107ea5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b61080188608001518960a00151896020015161299f565b919450925090506108118361276d565b63ffffffff168660ff16148015610838575061082c8261276d565b63ffffffff168560ff16145b801561084f575061084881612810565b1515841515145b61089b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6108b288600001518960a0015189602001516129bb565b919450925090506108c28361276d565b63ffffffff168660ff161480156108e957506108dd8261276d565b63ffffffff168560ff16145b801561090057506108f981612810565b1515841515145b61094c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6109638860800151896020015189602001516129d8565b919450925090506109738361276d565b63ffffffff168660ff1614801561099a575061098e8261276d565b63ffffffff168560ff16145b80156109b157506109aa81612810565b1515841515145b6109fd5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b610a1488604001518960a0015189602001516129f5565b91945092509050610a248361276d565b63ffffffff168660ff16148015610a4b5750610a3f8261276d565b63ffffffff168560ff16145b8015610a625750610a5b81612810565b1515841515145b610aae5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b610ac5886080015189606001518960200151612a11565b91945092509050610ad58361276d565b63ffffffff168660ff16148015610afc5750610af08261276d565b63ffffffff168560ff16145b8015610b135750610b0c81612810565b1515841515145b610b5f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b5050505050505050565b6000806000610bb660405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610beb6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b610bf488612a2d565b8252610bff87612a2d565b6020830152610c1060ff8916612a96565b6040830152610c2160ff8816612a96565b6060830152610c3260ff8916612b00565b6080830152610c4360ff8816612b00565b60a0830152610c5460ff8916612b6c565b60c0830152610c6560ff8816612b6c565b60e0830152610c7386612a2d565b8152610c8160ff8716612a96565b6020820152610c9260ff8716612b00565b6040820152610ca360ff8716612b6c565b606082015260ff8616608082015281516020830151825160009283928392610ccc929190612bdc565b925092509250610cdb83612bf7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055610d1682612bf7565b600060016101000a81548160ff021916908360ff160217905550610d3981612810565b60008054911515620100009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff8416811792839055610d96938993899360ff9384169284169290921792610100820481169290910416610e0a565b600054610dbc908690869060ff80821691610100810482169162010000909104166100fa565b600054610de2908690869060ff80821691610100810482169162010000909104166112c6565b505060005460ff8082169b610100830482169b50620100009092041698509650505050505050565b6000806000610e26886040015189606001518960000151612c07565b925092509250610e3583612c23565b61ffff168660ff16148015610e585750610e4e82612c23565b61ffff168560ff16145b8015610e6f5750610e6881612810565b1515841515145b610ebb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b875160608901518851610ecf929190612c33565b91945092509050610edf83612c23565b61ffff168660ff16148015610f025750610ef882612c23565b61ffff168560ff16145b8015610f195750610f1281612810565b1515841515145b610f655760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b610f7c886040015189602001518960000151612c4f565b91945092509050610f8c83612c23565b61ffff168660ff16148015610faf5750610fa582612c23565b61ffff168560ff16145b8015610fc65750610fbf81612810565b1515841515145b6110125760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b611029886040015189606001518960200151612c6b565b9194509250905061103983612c23565b61ffff168660ff1614801561105c575061105282612c23565b61ffff168560ff16145b8015611073575061106c81612810565b1515841515145b6110bf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b6110d6886000015189606001518960200151612c86565b919450925090506110e683612c23565b61ffff168660ff1614801561110957506110ff82612c23565b61ffff168560ff16145b8015611120575061111981612810565b1515841515145b61116c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b611183886040015189602001518960200151612ca2565b9194509250905061119383612c23565b61ffff168660ff161480156111b657506111ac82612c23565b61ffff168560ff16145b80156111cd57506111c681612810565b1515841515145b6112195760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b611230886040015189606001518960000151612c07565b9194509250905061124083612c23565b61ffff168660ff16148015611263575061125982612c23565b61ffff168560ff16145b801561127a575061127381612810565b1515841515145b610b5f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b60008060006112e28860c001518960e001518960600151612cbe565b9250925092506112f183612cd9565b67ffffffffffffffff168660ff16148015611320575061131082612cd9565b67ffffffffffffffff168560ff16145b8015611337575061133081612810565b1515841515145b6113835760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b61139a88600001518960e001518960600151612ce9565b919450925090506113aa83612cd9565b67ffffffffffffffff168660ff161480156113d957506113c982612cd9565b67ffffffffffffffff168560ff16145b80156113f057506113e981612810565b1515841515145b61143c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b6114538860c0015189602001518960600151612d05565b9194509250905061146383612cd9565b67ffffffffffffffff168660ff16148015611492575061148282612cd9565b67ffffffffffffffff168560ff16145b80156114a957506114a281612810565b1515841515145b6114f55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b61150c88604001518960e001518960600151612d21565b9194509250905061151c83612cd9565b67ffffffffffffffff168660ff1614801561154b575061153b82612cd9565b67ffffffffffffffff168560ff16145b8015611562575061155b81612810565b1515841515145b6115ae5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b6115c58860c0015189606001518960600151612d3d565b919450925090506115d583612cd9565b67ffffffffffffffff168660ff1614801561160457506115f482612cd9565b67ffffffffffffffff168560ff16145b801561161b575061161481612810565b1515841515145b6116675760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b61167e88608001518960e001518960600151612d59565b9194509250905061168e83612cd9565b67ffffffffffffffff168660ff161480156116bd57506116ad82612cd9565b67ffffffffffffffff168560ff16145b80156116d457506116cd81612810565b1515841515145b6117205760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b6117378860c001518960a001518960600151612d75565b9194509250905061174783612cd9565b67ffffffffffffffff168660ff16148015611776575061176682612cd9565b67ffffffffffffffff168560ff16145b801561178d575061178681612810565b1515841515145b6117d95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b6117f08860c001518960e001518960400151612d91565b9194509250905061180083612cd9565b67ffffffffffffffff168660ff1614801561182f575061181f82612cd9565b67ffffffffffffffff168560ff16145b8015611846575061183f81612810565b1515841515145b6118925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6118a988600001518960e001518960400151612dad565b919450925090506118b983612cd9565b67ffffffffffffffff168660ff161480156118e857506118d882612cd9565b67ffffffffffffffff168560ff16145b80156118ff57506118f881612810565b1515841515145b61194b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6119628860c0015189602001518960400151612dca565b9194509250905061197283612cd9565b67ffffffffffffffff168660ff161480156119a1575061199182612cd9565b67ffffffffffffffff168560ff16145b80156119b857506119b181612810565b1515841515145b611a045760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b611a1b88604001518960e001518960400151612de7565b91945092509050611a2b83612cd9565b67ffffffffffffffff168660ff16148015611a5a5750611a4a82612cd9565b67ffffffffffffffff168560ff16145b8015611a715750611a6a81612810565b1515841515145b611abd5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b611ad48860c0015189606001518960400151612e04565b91945092509050611ae483612cd9565b67ffffffffffffffff168660ff16148015611b135750611b0382612cd9565b67ffffffffffffffff168560ff16145b8015611b2a5750611b2381612810565b1515841515145b611b765760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b611b8d88608001518960e001518960400151612e21565b91945092509050611b9d83612cd9565b67ffffffffffffffff168660ff16148015611bcc5750611bbc82612cd9565b67ffffffffffffffff168560ff16145b8015611be35750611bdc81612810565b1515841515145b611c2f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b611c468860c001518960a001518960400151612e3d565b91945092509050611c5683612cd9565b67ffffffffffffffff168660ff16148015611c855750611c7582612cd9565b67ffffffffffffffff168560ff16145b8015611c9c5750611c9581612810565b1515841515145b611ce85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b611cff8860c001518960e001518960000151612e59565b91945092509050611d0f83612cd9565b67ffffffffffffffff168660ff16148015611d3e5750611d2e82612cd9565b67ffffffffffffffff168560ff16145b8015611d555750611d4e81612810565b1515841515145b611da15760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b875160e08901518851611db5929190612e75565b91945092509050611dc583612cd9565b67ffffffffffffffff168660ff16148015611df45750611de482612cd9565b67ffffffffffffffff168560ff16145b8015611e0b5750611e0481612810565b1515841515145b611e575760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b611e6e8860c0015189602001518960000151612e91565b91945092509050611e7e83612cd9565b67ffffffffffffffff168660ff16148015611ead5750611e9d82612cd9565b67ffffffffffffffff168560ff16145b8015611ec45750611ebd81612810565b1515841515145b611f105760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b611f2788604001518960e001518960000151612ead565b91945092509050611f3783612cd9565b67ffffffffffffffff168660ff16148015611f665750611f5682612cd9565b67ffffffffffffffff168560ff16145b8015611f7d5750611f7681612810565b1515841515145b611fc95760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b611fe08860c0015189606001518960000151612eca565b91945092509050611ff083612cd9565b67ffffffffffffffff168660ff1614801561201f575061200f82612cd9565b67ffffffffffffffff168560ff16145b8015612036575061202f81612810565b1515841515145b6120825760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b61209988608001518960e001518960000151612ee7565b919450925090506120a983612cd9565b67ffffffffffffffff168660ff161480156120d857506120c882612cd9565b67ffffffffffffffff168560ff16145b80156120ef57506120e881612810565b1515841515145b61213b5760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b6121528860c001518960a001518960000151612f04565b9194509250905061216283612cd9565b67ffffffffffffffff168660ff16148015612191575061218182612cd9565b67ffffffffffffffff168560ff16145b80156121a857506121a181612810565b1515841515145b6121f45760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b61220b8860c001518960e001518960200151612f21565b9194509250905061221b83612cd9565b67ffffffffffffffff168660ff1614801561224a575061223a82612cd9565b67ffffffffffffffff168560ff16145b8015612261575061225a81612810565b1515841515145b6122ad5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b6122c488600001518960e001518960200151612f3d565b919450925090506122d483612cd9565b67ffffffffffffffff168660ff1614801561230357506122f382612cd9565b67ffffffffffffffff168560ff16145b801561231a575061231381612810565b1515841515145b6123665760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b61237d8860c0015189602001518960200151612f5a565b9194509250905061238d83612cd9565b67ffffffffffffffff168660ff161480156123bc57506123ac82612cd9565b67ffffffffffffffff168560ff16145b80156123d357506123cc81612810565b1515841515145b61241f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b61243688604001518960e001518960200151612f77565b9194509250905061244683612cd9565b67ffffffffffffffff168660ff16148015612475575061246582612cd9565b67ffffffffffffffff168560ff16145b801561248c575061248581612810565b1515841515145b6124d85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b6124ef8860c0015189606001518960200151612f93565b919450925090506124ff83612cd9565b67ffffffffffffffff168660ff1614801561252e575061251e82612cd9565b67ffffffffffffffff168560ff16145b8015612545575061253e81612810565b1515841515145b6125915760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b6125a888608001518960e001518960200151612faf565b919450925090506125b883612cd9565b67ffffffffffffffff168660ff161480156125e757506125d782612cd9565b67ffffffffffffffff168560ff16145b80156125fe57506125f781612810565b1515841515145b61264a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b6126618860c001518960a001518960200151612fcc565b9194509250905061267183612cd9565b67ffffffffffffffff168660ff16148015611263575061269082612cd9565b67ffffffffffffffff168560ff1614801561127a575061127381612810565b6000808080808060646356c72d286126ca6003808086612fe5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b9052606481018a90526084016060604051808303816000875af1158015612737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275b9190613285565b919b909a509098509650505050505050565b60006064630cfed56160035b60f81b846040518363ffffffff1660e01b81526004016127c79291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af11580156127e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061280a91906132e2565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015612874573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289891906132e2565b15159392505050565b6000808080808060646356c72d286126ca600160038086612fe5565b6000808080808060646356c72d286126ca600360018186612fe5565b6000808080808060646356c72d286126ca600260038086612fe5565b6000808080808060646356c72d286126ca600360028186612fe5565b6000808080808060646356c72d286126ca600380600186612fe5565b6000808080808060646356c72d286126ca600160038186612fe5565b6000808080808060646356c72d286126ca600360018086612fe5565b6000808080808060646356c72d286126ca60026003600186612fe5565b6000808080808060646356c72d286126ca60036002600186612fe5565b6000808080808060646356c72d286126ca600380600286612fe5565b6000808080808060646356c72d286126ca60016003600286612fe5565b6000808080808060646356c72d286126ca60036001600286612fe5565b6000808080808060646356c72d286126ca600260038186612fe5565b6000808080808060646356c72d286126ca600360028086612fe5565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b60906044016127c7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b60906044016127c7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b60906044016127c7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044016127c7565b6000808080808060646356c72d286126ca6001808086612fe5565b60006064630cfed5616001612779565b6000808080808060646356c72d286126ca600280600186612fe5565b60006064630cfed5616002612779565b6000808080808060646356c72d286126ca600160028186612fe5565b6000808080808060646356c72d286126ca600260018086612fe5565b6000808080808060646356c72d286126ca6002808086612fe5565b6000808080808060646356c72d286126ca600160028086612fe5565b6000808080808060646356c72d286126ca600260018186612fe5565b6000808080808060646356c72d286126ca6004808086612fe5565b60006064630cfed5616004612779565b6000808080808060646356c72d286126ca600160048086612fe5565b6000808080808060646356c72d286126ca600460018186612fe5565b6000808080808060646356c72d286126ca600260048086612fe5565b6000808080808060646356c72d286126ca600460028186612fe5565b6000808080808060646356c72d286126ca600360048086612fe5565b6000808080808060646356c72d286126ca600460038186612fe5565b6000808080808060646356c72d286126ca600480600386612fe5565b6000808080808060646356c72d286126ca60016004600386612fe5565b6000808080808060646356c72d286126ca60046001600386612fe5565b6000808080808060646356c72d286126ca60026004600386612fe5565b6000808080808060646356c72d286126ca60046002600386612fe5565b6000808080808060646356c72d286126ca600360048186612fe5565b6000808080808060646356c72d286126ca600460038086612fe5565b6000808080808060646356c72d286126ca600480600186612fe5565b6000808080808060646356c72d286126ca600160048186612fe5565b6000808080808060646356c72d286126ca600460018086612fe5565b6000808080808060646356c72d286126ca60026004600186612fe5565b6000808080808060646356c72d286126ca60046002600186612fe5565b6000808080808060646356c72d286126ca60036004600186612fe5565b6000808080808060646356c72d286126ca60046003600186612fe5565b6000808080808060646356c72d286126ca600480600286612fe5565b6000808080808060646356c72d286126ca60016004600286612fe5565b6000808080808060646356c72d286126ca60046001600286612fe5565b6000808080808060646356c72d286126ca600260048186612fe5565b6000808080808060646356c72d286126ca600460028086612fe5565b6000808080808060646356c72d286126ca60036004600286612fe5565b6000808080808060646356c72d286126ca600460036002865b6000816002811115612ff957612ff96132b3565b60ff166008846004811115613010576130106132b3565b61ffff16901b61ffff16601086600481111561302e5761302e6132b3565b62ffffff16901b62ffffff16601888600481111561304e5761304e6132b3565b63ffffffff16901b17171760e01b95945050505050565b604051610100810167ffffffffffffffff811182821017156130b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146130c757600080fd5b919050565b600060a082840312156130de57600080fd5b60405160a0810181811067ffffffffffffffff82111715613128577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508091508235815260208301356020820152604083013560408201526060830135606082015261315e608084016130b6565b60808201525092915050565b803580151581146130c757600080fd5b600080600080600085870361020081121561319457600080fd5b610100808212156131a457600080fd5b6131ac613065565b9150873582526020880135602083015260408801356040830152606088013560608301526080880135608083015260a088013560a083015260c088013560c083015260e088013560e083015281965061320789828a016130cc565b955050506132186101a087016130b6565b92506132276101c087016130b6565b91506132366101e0870161316a565b90509295509295909350565b60008060006060848603121561325757600080fd5b613260846130b6565b925061326e602085016130b6565b915061327c604085016130b6565b90509250925092565b60008060006060848603121561329a57600080fd5b8351925060208401519150604084015190509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082840312156132f457600080fd5b505191905056fea26469706673582212204f48bb12bccd2efcfbf76620f31e747efea23da5b13378544498b83d4a79eaaf64736f6c63430008130033";
389
+ "0x608060405234801561001057600080fd5b50613331806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063701251311161005057806370125131146100c1578063d7b0fe63146100d4578063f6029cb3146100e757600080fd5b80634717f97c1461006c5780636a3ae654146100ac575b600080fd5b60005460ff80821691610100810482169162010000909104165b6040805160ff948516815293909216602084015215159082015260600160405180910390f35b6100bf6100ba36600461317a565b6100fa565b005b6100866100cf366004613242565b610b69565b6100bf6100e236600461317a565b610e0a565b6100bf6100f536600461317a565b6112c6565b600080600061011688608001518960a0015189604001516126af565b9250925092506101258361276d565b63ffffffff168660ff1614801561014c57506101408261276d565b63ffffffff168560ff16145b8015610163575061015c81612810565b1515841515145b6101b45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064015b60405180910390fd5b6101cb88600001518960a0015189604001516128a1565b919450925090506101db8361276d565b63ffffffff168660ff1614801561020257506101f68261276d565b63ffffffff168560ff16145b8015610219575061021281612810565b1515841515145b6102655760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b61027c8860800151896020015189604001516128bd565b9194509250905061028c8361276d565b63ffffffff168660ff161480156102b357506102a78261276d565b63ffffffff168560ff16145b80156102ca57506102c381612810565b1515841515145b6103165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b61032d88604001518960a0015189604001516128d9565b9194509250905061033d8361276d565b63ffffffff168660ff1614801561036457506103588261276d565b63ffffffff168560ff16145b801561037b575061037481612810565b1515841515145b6103c75760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6103de8860800151896060015189604001516128f5565b919450925090506103ee8361276d565b63ffffffff168660ff1614801561041557506104098261276d565b63ffffffff168560ff16145b801561042c575061042581612810565b1515841515145b6104785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b61048f88608001518960a001518960000151612911565b9194509250905061049f8361276d565b63ffffffff168660ff161480156104c657506104ba8261276d565b63ffffffff168560ff16145b80156104dd57506104d681612810565b1515841515145b6105295760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b875160a0890151885161053d92919061292d565b9194509250905061054d8361276d565b63ffffffff168660ff1614801561057457506105688261276d565b63ffffffff168560ff16145b801561058b575061058481612810565b1515841515145b6105d75760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6105ee886080015189602001518960000151612949565b919450925090506105fe8361276d565b63ffffffff168660ff1614801561062557506106198261276d565b63ffffffff168560ff16145b801561063c575061063581612810565b1515841515145b6106885760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b61069f88604001518960a001518960000151612965565b919450925090506106af8361276d565b63ffffffff168660ff161480156106d657506106ca8261276d565b63ffffffff168560ff16145b80156106ed57506106e681612810565b1515841515145b6107395760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b610750886080015189606001518960000151612982565b919450925090506107608361276d565b63ffffffff168660ff16148015610787575061077b8261276d565b63ffffffff168560ff16145b801561079e575061079781612810565b1515841515145b6107ea5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b61080188608001518960a00151896020015161299f565b919450925090506108118361276d565b63ffffffff168660ff16148015610838575061082c8261276d565b63ffffffff168560ff16145b801561084f575061084881612810565b1515841515145b61089b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6108b288600001518960a0015189602001516129bb565b919450925090506108c28361276d565b63ffffffff168660ff161480156108e957506108dd8261276d565b63ffffffff168560ff16145b801561090057506108f981612810565b1515841515145b61094c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6109638860800151896020015189602001516129d8565b919450925090506109738361276d565b63ffffffff168660ff1614801561099a575061098e8261276d565b63ffffffff168560ff16145b80156109b157506109aa81612810565b1515841515145b6109fd5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b610a1488604001518960a0015189602001516129f5565b91945092509050610a248361276d565b63ffffffff168660ff16148015610a4b5750610a3f8261276d565b63ffffffff168560ff16145b8015610a625750610a5b81612810565b1515841515145b610aae5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b610ac5886080015189606001518960200151612a11565b91945092509050610ad58361276d565b63ffffffff168660ff16148015610afc5750610af08261276d565b63ffffffff168560ff16145b8015610b135750610b0c81612810565b1515841515145b610b5f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b5050505050505050565b6000806000610bb660405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610beb6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b610bf488612a2d565b8252610bff87612a2d565b6020830152610c1060ff8916612a96565b6040830152610c2160ff8816612a96565b6060830152610c3260ff8916612b00565b6080830152610c4360ff8816612b00565b60a0830152610c5460ff8916612b6c565b60c0830152610c6560ff8816612b6c565b60e0830152610c7386612a2d565b8152610c8160ff8716612a96565b6020820152610c9260ff8716612b00565b6040820152610ca360ff8716612b6c565b606082015260ff8616608082015281516020830151825160009283928392610ccc929190612bdc565b925092509250610cdb83612bf7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055610d1682612bf7565b600060016101000a81548160ff021916908360ff160217905550610d3981612810565b60008054911515620100009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff8416811792839055610d96938993899360ff9384169284169290921792610100820481169290910416610e0a565b600054610dbc908690869060ff80821691610100810482169162010000909104166100fa565b600054610de2908690869060ff80821691610100810482169162010000909104166112c6565b505060005460ff8082169b610100830482169b50620100009092041698509650505050505050565b6000806000610e26886040015189606001518960000151612c07565b925092509250610e3583612c23565b61ffff168660ff16148015610e585750610e4e82612c23565b61ffff168560ff16145b8015610e6f5750610e6881612810565b1515841515145b610ebb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b875160608901518851610ecf929190612c33565b91945092509050610edf83612c23565b61ffff168660ff16148015610f025750610ef882612c23565b61ffff168560ff16145b8015610f195750610f1281612810565b1515841515145b610f655760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b610f7c886040015189602001518960000151612c4f565b91945092509050610f8c83612c23565b61ffff168660ff16148015610faf5750610fa582612c23565b61ffff168560ff16145b8015610fc65750610fbf81612810565b1515841515145b6110125760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b611029886040015189606001518960200151612c6b565b9194509250905061103983612c23565b61ffff168660ff1614801561105c575061105282612c23565b61ffff168560ff16145b8015611073575061106c81612810565b1515841515145b6110bf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b6110d6886000015189606001518960200151612c86565b919450925090506110e683612c23565b61ffff168660ff1614801561110957506110ff82612c23565b61ffff168560ff16145b8015611120575061111981612810565b1515841515145b61116c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b611183886040015189602001518960200151612ca2565b9194509250905061119383612c23565b61ffff168660ff161480156111b657506111ac82612c23565b61ffff168560ff16145b80156111cd57506111c681612810565b1515841515145b6112195760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b611230886040015189606001518960000151612c07565b9194509250905061124083612c23565b61ffff168660ff16148015611263575061125982612c23565b61ffff168560ff16145b801561127a575061127381612810565b1515841515145b610b5f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b60008060006112e28860c001518960e001518960600151612cbe565b9250925092506112f183612cd9565b67ffffffffffffffff168660ff16148015611320575061131082612cd9565b67ffffffffffffffff168560ff16145b8015611337575061133081612810565b1515841515145b6113835760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b61139a88600001518960e001518960600151612ce9565b919450925090506113aa83612cd9565b67ffffffffffffffff168660ff161480156113d957506113c982612cd9565b67ffffffffffffffff168560ff16145b80156113f057506113e981612810565b1515841515145b61143c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b6114538860c0015189602001518960600151612d05565b9194509250905061146383612cd9565b67ffffffffffffffff168660ff16148015611492575061148282612cd9565b67ffffffffffffffff168560ff16145b80156114a957506114a281612810565b1515841515145b6114f55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b61150c88604001518960e001518960600151612d21565b9194509250905061151c83612cd9565b67ffffffffffffffff168660ff1614801561154b575061153b82612cd9565b67ffffffffffffffff168560ff16145b8015611562575061155b81612810565b1515841515145b6115ae5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b6115c58860c0015189606001518960600151612d3d565b919450925090506115d583612cd9565b67ffffffffffffffff168660ff1614801561160457506115f482612cd9565b67ffffffffffffffff168560ff16145b801561161b575061161481612810565b1515841515145b6116675760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b61167e88608001518960e001518960600151612d59565b9194509250905061168e83612cd9565b67ffffffffffffffff168660ff161480156116bd57506116ad82612cd9565b67ffffffffffffffff168560ff16145b80156116d457506116cd81612810565b1515841515145b6117205760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b6117378860c001518960a001518960600151612d75565b9194509250905061174783612cd9565b67ffffffffffffffff168660ff16148015611776575061176682612cd9565b67ffffffffffffffff168560ff16145b801561178d575061178681612810565b1515841515145b6117d95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064016101ab565b6117f08860c001518960e001518960400151612d91565b9194509250905061180083612cd9565b67ffffffffffffffff168660ff1614801561182f575061181f82612cd9565b67ffffffffffffffff168560ff16145b8015611846575061183f81612810565b1515841515145b6118925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6118a988600001518960e001518960400151612dad565b919450925090506118b983612cd9565b67ffffffffffffffff168660ff161480156118e857506118d882612cd9565b67ffffffffffffffff168560ff16145b80156118ff57506118f881612810565b1515841515145b61194b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b6119628860c0015189602001518960400151612dca565b9194509250905061197283612cd9565b67ffffffffffffffff168660ff161480156119a1575061199182612cd9565b67ffffffffffffffff168560ff16145b80156119b857506119b181612810565b1515841515145b611a045760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b611a1b88604001518960e001518960400151612de7565b91945092509050611a2b83612cd9565b67ffffffffffffffff168660ff16148015611a5a5750611a4a82612cd9565b67ffffffffffffffff168560ff16145b8015611a715750611a6a81612810565b1515841515145b611abd5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b611ad48860c0015189606001518960400151612e04565b91945092509050611ae483612cd9565b67ffffffffffffffff168660ff16148015611b135750611b0382612cd9565b67ffffffffffffffff168560ff16145b8015611b2a5750611b2381612810565b1515841515145b611b765760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b611b8d88608001518960e001518960400151612e21565b91945092509050611b9d83612cd9565b67ffffffffffffffff168660ff16148015611bcc5750611bbc82612cd9565b67ffffffffffffffff168560ff16145b8015611be35750611bdc81612810565b1515841515145b611c2f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b611c468860c001518960a001518960400151612e3d565b91945092509050611c5683612cd9565b67ffffffffffffffff168660ff16148015611c855750611c7582612cd9565b67ffffffffffffffff168560ff16145b8015611c9c5750611c9581612810565b1515841515145b611ce85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ab565b611cff8860c001518960e001518960000151612e59565b91945092509050611d0f83612cd9565b67ffffffffffffffff168660ff16148015611d3e5750611d2e82612cd9565b67ffffffffffffffff168560ff16145b8015611d555750611d4e81612810565b1515841515145b611da15760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b875160e08901518851611db5929190612e75565b91945092509050611dc583612cd9565b67ffffffffffffffff168660ff16148015611df45750611de482612cd9565b67ffffffffffffffff168560ff16145b8015611e0b5750611e0481612810565b1515841515145b611e575760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b611e6e8860c0015189602001518960000151612e91565b91945092509050611e7e83612cd9565b67ffffffffffffffff168660ff16148015611ead5750611e9d82612cd9565b67ffffffffffffffff168560ff16145b8015611ec45750611ebd81612810565b1515841515145b611f105760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b611f2788604001518960e001518960000151612ead565b91945092509050611f3783612cd9565b67ffffffffffffffff168660ff16148015611f665750611f5682612cd9565b67ffffffffffffffff168560ff16145b8015611f7d5750611f7681612810565b1515841515145b611fc95760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b611fe08860c0015189606001518960000151612eca565b91945092509050611ff083612cd9565b67ffffffffffffffff168660ff1614801561201f575061200f82612cd9565b67ffffffffffffffff168560ff16145b8015612036575061202f81612810565b1515841515145b6120825760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b61209988608001518960e001518960000151612ee7565b919450925090506120a983612cd9565b67ffffffffffffffff168660ff161480156120d857506120c882612cd9565b67ffffffffffffffff168560ff16145b80156120ef57506120e881612810565b1515841515145b61213b5760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b6121528860c001518960a001518960000151612f04565b9194509250905061216283612cd9565b67ffffffffffffffff168660ff16148015612191575061218182612cd9565b67ffffffffffffffff168560ff16145b80156121a857506121a181612810565b1515841515145b6121f45760405162461bcd60e51b815260206004820152601b60248201527f7472616e73666572546573743a20636173742038206661696c6564000000000060448201526064016101ab565b61220b8860c001518960e001518960200151612f21565b9194509250905061221b83612cd9565b67ffffffffffffffff168660ff1614801561224a575061223a82612cd9565b67ffffffffffffffff168560ff16145b8015612261575061225a81612810565b1515841515145b6122ad5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b6122c488600001518960e001518960200151612f3d565b919450925090506122d483612cd9565b67ffffffffffffffff168660ff1614801561230357506122f382612cd9565b67ffffffffffffffff168560ff16145b801561231a575061231381612810565b1515841515145b6123665760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b61237d8860c0015189602001518960200151612f5a565b9194509250905061238d83612cd9565b67ffffffffffffffff168660ff161480156123bc57506123ac82612cd9565b67ffffffffffffffff168560ff16145b80156123d357506123cc81612810565b1515841515145b61241f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b61243688604001518960e001518960200151612f77565b9194509250905061244683612cd9565b67ffffffffffffffff168660ff16148015612475575061246582612cd9565b67ffffffffffffffff168560ff16145b801561248c575061248581612810565b1515841515145b6124d85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b6124ef8860c0015189606001518960200151612f93565b919450925090506124ff83612cd9565b67ffffffffffffffff168660ff1614801561252e575061251e82612cd9565b67ffffffffffffffff168560ff16145b8015612545575061253e81612810565b1515841515145b6125915760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b6125a888608001518960e001518960200151612faf565b919450925090506125b883612cd9565b67ffffffffffffffff168660ff161480156125e757506125d782612cd9565b67ffffffffffffffff168560ff16145b80156125fe57506125f781612810565b1515841515145b61264a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ab565b6126618860c001518960a001518960200151612fcc565b9194509250905061267183612cd9565b67ffffffffffffffff168660ff16148015611263575061269082612cd9565b67ffffffffffffffff168560ff1614801561127a575061127381612810565b6000808080808060646356c72d286126ca6003808086612fe5565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b81168252919091166004820152602481018c9052604481018b9052606481018a90526084016060604051808303816000875af1158015612737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061275b9190613285565b919b909a509098509650505050505050565b60006064630cfed56160035b60f81b846040518363ffffffff1660e01b81526004016127c79291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af11580156127e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061280a91906132e2565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015612874573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289891906132e2565b15159392505050565b6000808080808060646356c72d286126ca600160038086612fe5565b6000808080808060646356c72d286126ca600360018186612fe5565b6000808080808060646356c72d286126ca600260038086612fe5565b6000808080808060646356c72d286126ca600360028186612fe5565b6000808080808060646356c72d286126ca600380600186612fe5565b6000808080808060646356c72d286126ca600160038186612fe5565b6000808080808060646356c72d286126ca600360018086612fe5565b6000808080808060646356c72d286126ca60026003600186612fe5565b6000808080808060646356c72d286126ca60036002600186612fe5565b6000808080808060646356c72d286126ca600380600286612fe5565b6000808080808060646356c72d286126ca60016003600286612fe5565b6000808080808060646356c72d286126ca60036001600286612fe5565b6000808080808060646356c72d286126ca600260038186612fe5565b6000808080808060646356c72d286126ca600360028086612fe5565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b60906044016127c7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b60906044016127c7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b60906044016127c7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044016127c7565b6000808080808060646356c72d286126ca6001808086612fe5565b60006064630cfed5616001612779565b6000808080808060646356c72d286126ca600280600186612fe5565b60006064630cfed5616002612779565b6000808080808060646356c72d286126ca600160028186612fe5565b6000808080808060646356c72d286126ca600260018086612fe5565b6000808080808060646356c72d286126ca6002808086612fe5565b6000808080808060646356c72d286126ca600160028086612fe5565b6000808080808060646356c72d286126ca600260018186612fe5565b6000808080808060646356c72d286126ca6004808086612fe5565b60006064630cfed5616004612779565b6000808080808060646356c72d286126ca600160048086612fe5565b6000808080808060646356c72d286126ca600460018186612fe5565b6000808080808060646356c72d286126ca600260048086612fe5565b6000808080808060646356c72d286126ca600460028186612fe5565b6000808080808060646356c72d286126ca600360048086612fe5565b6000808080808060646356c72d286126ca600460038186612fe5565b6000808080808060646356c72d286126ca600480600386612fe5565b6000808080808060646356c72d286126ca60016004600386612fe5565b6000808080808060646356c72d286126ca60046001600386612fe5565b6000808080808060646356c72d286126ca60026004600386612fe5565b6000808080808060646356c72d286126ca60046002600386612fe5565b6000808080808060646356c72d286126ca600360048186612fe5565b6000808080808060646356c72d286126ca600460038086612fe5565b6000808080808060646356c72d286126ca600480600186612fe5565b6000808080808060646356c72d286126ca600160048186612fe5565b6000808080808060646356c72d286126ca600460018086612fe5565b6000808080808060646356c72d286126ca60026004600186612fe5565b6000808080808060646356c72d286126ca60046002600186612fe5565b6000808080808060646356c72d286126ca60036004600186612fe5565b6000808080808060646356c72d286126ca60046003600186612fe5565b6000808080808060646356c72d286126ca600480600286612fe5565b6000808080808060646356c72d286126ca60016004600286612fe5565b6000808080808060646356c72d286126ca60046001600286612fe5565b6000808080808060646356c72d286126ca600260048186612fe5565b6000808080808060646356c72d286126ca600460028086612fe5565b6000808080808060646356c72d286126ca60036004600286612fe5565b6000808080808060646356c72d286126ca600460036002865b6000816002811115612ff957612ff96132b3565b60ff166008846004811115613010576130106132b3565b61ffff16901b61ffff16601086600481111561302e5761302e6132b3565b62ffffff16901b62ffffff16601888600481111561304e5761304e6132b3565b63ffffffff16901b17171760e01b95945050505050565b604051610100810167ffffffffffffffff811182821017156130b0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146130c757600080fd5b919050565b600060a082840312156130de57600080fd5b60405160a0810181811067ffffffffffffffff82111715613128577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b80604052508091508235815260208301356020820152604083013560408201526060830135606082015261315e608084016130b6565b60808201525092915050565b803580151581146130c757600080fd5b600080600080600085870361020081121561319457600080fd5b610100808212156131a457600080fd5b6131ac613065565b9150873582526020880135602083015260408801356040830152606088013560608301526080880135608083015260a088013560a083015260c088013560c083015260e088013560e083015281965061320789828a016130cc565b955050506132186101a087016130b6565b92506132276101c087016130b6565b91506132366101e0870161316a565b90509295509295909350565b60008060006060848603121561325757600080fd5b613260846130b6565b925061326e602085016130b6565b915061327c604085016130b6565b90509250925092565b60008060006060848603121561329a57600080fd5b8351925060208401519150604084015190509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082840312156132f457600080fd5b505191905056fea2646970667358221220d8f184f9ba4977a65012155e60322dfd650eaa0bfdd46bd9450a3f5e96ec8a5764736f6c63430008130033";
390
390
 
391
391
  type TransferTestsContractConstructorParams =
392
392
  | [signer?: Signer]
@@ -663,7 +663,7 @@ const _abi = [
663
663
  ] as const;
664
664
 
665
665
  const _bytecode =
666
- "0x608060405234801561001057600080fd5b50612665806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063bb30c2f411610050578063bb30c2f4146100f0578063d4ba41d414610103578063f4fa21101461011657600080fd5b80630aaef195146100775780634717f97c1461008c578063a37f8f11146100dd575b600080fd5b61008a610085366004612471565b610129565b005b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b61008a6100eb366004612471565b610766565b61008a6100fe366004612471565b610ccc565b61008a610111366004612471565b611232565b6100af61012436600461255d565b611798565b60008060008061014b8b600001518c60e001518c606001518c60200151611b5b565b935093509350935061015c84611c48565b67ffffffffffffffff168860ff1614801561018b575061017b83611c48565b67ffffffffffffffff168760ff16145b80156101a2575061019b82611ceb565b1515861515145b80156101c257506101b281611c48565b67ffffffffffffffff168560ff16145b6102135760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064015b60405180910390fd5b61022f8b60c001518c602001518c606001518c60200151611d7c565b9296509094509250905061024284611c48565b67ffffffffffffffff168860ff16148015610271575061026183611c48565b67ffffffffffffffff168760ff16145b8015610288575061028182611ceb565b1515861515145b80156102a8575061029881611c48565b67ffffffffffffffff168560ff16145b6102f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103108b60c001518c60e001518c606001518c60200151611d9c565b9296509094509250905061032384611c48565b67ffffffffffffffff168860ff16148015610352575061034283611c48565b67ffffffffffffffff168760ff16145b8015610369575061036282611ceb565b1515861515145b8015610389575061037981611c48565b67ffffffffffffffff168560ff16145b6103d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103f18b604001518c60e001518c606001518c60200151611dbb565b9296509094509250905061040484611c48565b67ffffffffffffffff168860ff16148015610433575061042383611c48565b67ffffffffffffffff168760ff16145b801561044a575061044382611ceb565b1515861515145b801561046a575061045a81611c48565b67ffffffffffffffff168560ff16145b6104b65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6104d28b60c001518c606001518c606001518c60200151611dda565b929650909450925090506104e584611c48565b67ffffffffffffffff168860ff16148015610514575061050483611c48565b67ffffffffffffffff168760ff16145b801561052b575061052482611ceb565b1515861515145b801561054b575061053b81611c48565b67ffffffffffffffff168560ff16145b6105975760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6105b38b608001518c60e001518c606001518c60200151611df9565b929650909450925090506105c684611c48565b67ffffffffffffffff168860ff161480156105f557506105e583611c48565b67ffffffffffffffff168760ff16145b801561060c575061060582611ceb565b1515861515145b801561062c575061061c81611c48565b67ffffffffffffffff168560ff16145b6106785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c606001518c60200151611e19565b929650909450925090506106a784611c48565b67ffffffffffffffff168860ff161480156106d657506106c683611c48565b67ffffffffffffffff168760ff16145b80156106ed57506106e682611ceb565b1515861515145b801561070d57506106fd81611c48565b67ffffffffffffffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b5050505050505050505050565b6000806000806107888b600001518c60e001518c604001518c60200151611e39565b935093509350935061079984611c48565b67ffffffffffffffff168860ff161480156107c857506107b883611c48565b67ffffffffffffffff168760ff16145b80156107df57506107d882611ceb565b1515861515145b80156107ff57506107ef81611c48565b67ffffffffffffffff168560ff16145b61084b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6108678b60c001518c602001518c604001518c60200151611e5a565b9296509094509250905061087a84611c48565b67ffffffffffffffff168860ff161480156108a9575061089983611c48565b67ffffffffffffffff168760ff16145b80156108c057506108b982611ceb565b1515861515145b80156108e057506108d081611c48565b67ffffffffffffffff168560ff16145b61092c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6109488b604001518c60e001518c604001518c60200151611e7b565b9296509094509250905061095b84611c48565b67ffffffffffffffff168860ff1614801561098a575061097a83611c48565b67ffffffffffffffff168760ff16145b80156109a1575061099a82611ceb565b1515861515145b80156109c157506109b181611c48565b67ffffffffffffffff168560ff16145b610a0d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610a298b60c001518c606001518c604001518c60200151611e9b565b92965090945092509050610a3c84611c48565b67ffffffffffffffff168860ff16148015610a6b5750610a5b83611c48565b67ffffffffffffffff168760ff16145b8015610a825750610a7b82611ceb565b1515861515145b8015610aa25750610a9281611c48565b67ffffffffffffffff168560ff16145b610aee5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610b0a8b608001518c60e001518c604001518c60200151611ebb565b92965090945092509050610b1d84611c48565b67ffffffffffffffff168860ff16148015610b4c5750610b3c83611c48565b67ffffffffffffffff168760ff16145b8015610b635750610b5c82611ceb565b1515861515145b8015610b835750610b7381611c48565b67ffffffffffffffff168560ff16145b610bcf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610beb8b60c001518c60a001518c604001518c60200151611edb565b92965090945092509050610bfe84611c48565b67ffffffffffffffff168860ff16148015610c2d5750610c1d83611c48565b67ffffffffffffffff168760ff16145b8015610c445750610c3d82611ceb565b1515861515145b8015610c645750610c5481611c48565b67ffffffffffffffff168560ff16145b610cb05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60e001518c604001518c60200151611efb565b600080600080610cee8b600001518c60e001518c600001518c60200151611f1b565b9350935093509350610cff84611c48565b67ffffffffffffffff168860ff16148015610d2e5750610d1e83611c48565b67ffffffffffffffff168760ff16145b8015610d455750610d3e82611ceb565b1515861515145b8015610d655750610d5581611c48565b67ffffffffffffffff168560ff16145b610db15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610dcd8b60c001518c602001518c600001518c60200151611f3b565b92965090945092509050610de084611c48565b67ffffffffffffffff168860ff16148015610e0f5750610dff83611c48565b67ffffffffffffffff168760ff16145b8015610e265750610e1f82611ceb565b1515861515145b8015610e465750610e3681611c48565b67ffffffffffffffff168560ff16145b610e925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610eae8b60c001518c60e001518c600001518c60200151611f5b565b92965090945092509050610ec184611c48565b67ffffffffffffffff168860ff16148015610ef05750610ee083611c48565b67ffffffffffffffff168760ff16145b8015610f075750610f0082611ceb565b1515861515145b8015610f275750610f1781611c48565b67ffffffffffffffff168560ff16145b610f735760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610f8f8b604001518c60e001518c600001518c60200151611f7b565b92965090945092509050610fa284611c48565b67ffffffffffffffff168860ff16148015610fd15750610fc183611c48565b67ffffffffffffffff168760ff16145b8015610fe85750610fe182611ceb565b1515861515145b80156110085750610ff881611c48565b67ffffffffffffffff168560ff16145b6110545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6110708b60c001518c606001518c600001518c60200151611f9b565b9296509094509250905061108384611c48565b67ffffffffffffffff168860ff161480156110b257506110a283611c48565b67ffffffffffffffff168760ff16145b80156110c957506110c282611ceb565b1515861515145b80156110e957506110d981611c48565b67ffffffffffffffff168560ff16145b6111355760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6111518b608001518c60e001518c600001518c60200151611fbb565b9296509094509250905061116484611c48565b67ffffffffffffffff168860ff16148015611193575061118383611c48565b67ffffffffffffffff168760ff16145b80156111aa57506111a382611ceb565b1515861515145b80156111ca57506111ba81611c48565b67ffffffffffffffff168560ff16145b6112165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c600001518c60200151611fdc565b6000806000806112548b600001518c60e001518c602001518c60200151611ffd565b935093509350935061126584611c48565b67ffffffffffffffff168860ff16148015611294575061128483611c48565b67ffffffffffffffff168760ff16145b80156112ab57506112a482611ceb565b1515861515145b80156112cb57506112bb81611c48565b67ffffffffffffffff168560ff16145b6113175760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6113338b60c001518c602001518c602001518c6020015161201d565b9296509094509250905061134684611c48565b67ffffffffffffffff168860ff16148015611375575061136583611c48565b67ffffffffffffffff168760ff16145b801561138c575061138582611ceb565b1515861515145b80156113ac575061139c81611c48565b67ffffffffffffffff168560ff16145b6113f85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6114148b604001518c60e001518c602001518c6020015161203d565b9296509094509250905061142784611c48565b67ffffffffffffffff168860ff16148015611456575061144683611c48565b67ffffffffffffffff168760ff16145b801561146d575061146682611ceb565b1515861515145b801561148d575061147d81611c48565b67ffffffffffffffff168560ff16145b6114d95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6114f58b60c001518c606001518c602001518c6020015161205c565b9296509094509250905061150884611c48565b67ffffffffffffffff168860ff16148015611537575061152783611c48565b67ffffffffffffffff168760ff16145b801561154e575061154782611ceb565b1515861515145b801561156e575061155e81611c48565b67ffffffffffffffff168560ff16145b6115ba5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6115d68b60c001518c60e001518c602001518c6020015161207b565b929650909450925090506115e984611c48565b67ffffffffffffffff168860ff16148015611618575061160883611c48565b67ffffffffffffffff168760ff16145b801561162f575061162882611ceb565b1515861515145b801561164f575061163f81611c48565b67ffffffffffffffff168560ff16145b61169b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6116b78b608001518c60e001518c602001518c6020015161209a565b929650909450925090506116ca84611c48565b67ffffffffffffffff168860ff161480156116f957506116e983611c48565b67ffffffffffffffff168760ff16145b8015611710575061170982611ceb565b1515861515145b8015611730575061172081611c48565b67ffffffffffffffff168560ff16145b61177c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c602001518c602001516120ba565b6000806000806117e660405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61181b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6118506040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6118598b6120da565b83526118648a6120da565b602084015261187560ff8c16612143565b604084015261188660ff8b16612143565b606084015261189760ff8c166121ad565b60808401526118a860ff8b166121ad565b60a08401526118b960ff8c16612219565b60c08401526118ca60ff8b16612219565b60e08401526118d8896120da565b82526118e660ff8a16612143565b60208301526118f760ff8a166121ad565b604083015261190860ff8a16612219565b606083015260ff8916608083015261191f886120da565b815261192d60ff8916612143565b602082015261193e60ff89166121ad565b604082015261194f60ff8916612219565b606082015260ff88166080820152825160208401518351835160009384938493849361197d93929190612289565b935093509350935061198e846122a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790556119c9836122a7565b600060016101000a81548160ff021916908360ff1602179055506119ec82611ceb565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055611a2b816122a7565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff8316811793849055611a92948c948c948c94938316908316179261010082048316926201000083048116929190910416610ccc565b600054611ac39088908890889060ff8082169161010081048216916201000082048116916301000000900416611232565b600054611af49088908890889060ff8082169161010081048216916201000082048116916301000000900416610766565b600054611b259088908890889060ff8082169161010081048216916201000082048116916301000000900416610129565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b600080808080808080606463c2ff267a611b7b60016004806002876122b7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3291906125b1565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401611ca29291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce59190612616565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d739190612616565b15159392505050565b600080808080808080606463c2ff267a611b7b60046001816002876122b7565b600080808080808080606463c2ff267a611b7b600480806002876122b7565b600080808080808080606463c2ff267a611b7b600260048082876122b7565b600080808080808080606463c2ff267a611b7b600460028181876122b7565b600080808080808080606463c2ff267a611b7b60036004806002876122b7565b600080808080808080606463c2ff267a611b7b60046003816002876122b7565b600080808080808080606463c2ff267a611b7b6001600460036002876122b7565b600080808080808080606463c2ff267a611b7b6004600160036002876122b7565b600080808080808080606463c2ff267a611b7b60026004600382876122b7565b600080808080808080606463c2ff267a611b7b60046002600381876122b7565b600080808080808080606463c2ff267a611b7b60036004816002876122b7565b600080808080808080606463c2ff267a611b7b60046003806002876122b7565b600080808080808080606463c2ff267a611b7b60048060036002876122b7565b600080808080808080606463c2ff267a611b7b60016004816002876122b7565b600080808080808080606463c2ff267a611b7b60046001806002876122b7565b600080808080808080606463c2ff267a611b7b60048060016002876122b7565b600080808080808080606463c2ff267a611b7b60026004600182876122b7565b600080808080808080606463c2ff267a611b7b60046002600181876122b7565b600080808080808080606463c2ff267a611b7b6003600460016002876122b7565b600080808080808080606463c2ff267a611b7b6004600360016002876122b7565b600080808080808080606463c2ff267a611b7b60016004600280876122b7565b600080808080808080606463c2ff267a611b7b60046001600280876122b7565b600080808080808080606463c2ff267a611b7b600260048180876122b7565b600080808080808080606463c2ff267a611b7b600460028080876122b7565b600080808080808080606463c2ff267a611b7b600480600280876122b7565b600080808080808080606463c2ff267a611b7b60036004600280876122b7565b600080808080808080606463c2ff267a611b7b60046003600280876122b7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611ca2565b600080808080808080606463c2ff267a611b7b6001808080876122b7565b60006064630cfed5616001611c54565b60008160028111156122cb576122cb6125e7565b60ff1660088460048111156122e2576122e26125e7565b61ffff16901b61ffff166010866004811115612300576123006125e7565b62ffffff16901b62ffffff166018886004811115612320576123206125e7565b63ffffffff16901b63ffffffff1660208a6004811115612342576123426125e7565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff811182821017156123a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146123be57600080fd5b919050565b600060a082840312156123d557600080fd5b60405160a0810181811067ffffffffffffffff8211171561241f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152612455608084016123ad565b60808201525092915050565b803580151581146123be57600080fd5b60008060008060008060008789036102c081121561248e57600080fd5b6101008082121561249e57600080fd5b6124a661235c565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506125018b828c016123c3565b97505050612513896101a08a016123c3565b945061252261024089016123ad565b935061253161026089016123ad565b92506125406102808901612461565b915061254f6102a089016123ad565b905092959891949750929550565b6000806000806080858703121561257357600080fd5b61257c856123ad565b935061258a602086016123ad565b9250612598604086016123ad565b91506125a6606086016123ad565b905092959194509250565b600080600080608085870312156125c757600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561262857600080fd5b505191905056fea264697066735822122089d1041c9908640781ae064a41bea3e1ac17b67a192185b82fe89d545bfb1e6764736f6c63430008130033";
666
+ "0x608060405234801561001057600080fd5b50612665806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063bb30c2f411610050578063bb30c2f4146100f0578063d4ba41d414610103578063f4fa21101461011657600080fd5b80630aaef195146100775780634717f97c1461008c578063a37f8f11146100dd575b600080fd5b61008a610085366004612471565b610129565b005b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b61008a6100eb366004612471565b610766565b61008a6100fe366004612471565b610ccc565b61008a610111366004612471565b611232565b6100af61012436600461255d565b611798565b60008060008061014b8b600001518c60e001518c606001518c60200151611b5b565b935093509350935061015c84611c48565b67ffffffffffffffff168860ff1614801561018b575061017b83611c48565b67ffffffffffffffff168760ff16145b80156101a2575061019b82611ceb565b1515861515145b80156101c257506101b281611c48565b67ffffffffffffffff168560ff16145b6102135760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064015b60405180910390fd5b61022f8b60c001518c602001518c606001518c60200151611d7c565b9296509094509250905061024284611c48565b67ffffffffffffffff168860ff16148015610271575061026183611c48565b67ffffffffffffffff168760ff16145b8015610288575061028182611ceb565b1515861515145b80156102a8575061029881611c48565b67ffffffffffffffff168560ff16145b6102f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103108b60c001518c60e001518c606001518c60200151611d9c565b9296509094509250905061032384611c48565b67ffffffffffffffff168860ff16148015610352575061034283611c48565b67ffffffffffffffff168760ff16145b8015610369575061036282611ceb565b1515861515145b8015610389575061037981611c48565b67ffffffffffffffff168560ff16145b6103d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103f18b604001518c60e001518c606001518c60200151611dbb565b9296509094509250905061040484611c48565b67ffffffffffffffff168860ff16148015610433575061042383611c48565b67ffffffffffffffff168760ff16145b801561044a575061044382611ceb565b1515861515145b801561046a575061045a81611c48565b67ffffffffffffffff168560ff16145b6104b65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6104d28b60c001518c606001518c606001518c60200151611dda565b929650909450925090506104e584611c48565b67ffffffffffffffff168860ff16148015610514575061050483611c48565b67ffffffffffffffff168760ff16145b801561052b575061052482611ceb565b1515861515145b801561054b575061053b81611c48565b67ffffffffffffffff168560ff16145b6105975760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6105b38b608001518c60e001518c606001518c60200151611df9565b929650909450925090506105c684611c48565b67ffffffffffffffff168860ff161480156105f557506105e583611c48565b67ffffffffffffffff168760ff16145b801561060c575061060582611ceb565b1515861515145b801561062c575061061c81611c48565b67ffffffffffffffff168560ff16145b6106785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c606001518c60200151611e19565b929650909450925090506106a784611c48565b67ffffffffffffffff168860ff161480156106d657506106c683611c48565b67ffffffffffffffff168760ff16145b80156106ed57506106e682611ceb565b1515861515145b801561070d57506106fd81611c48565b67ffffffffffffffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b5050505050505050505050565b6000806000806107888b600001518c60e001518c604001518c60200151611e39565b935093509350935061079984611c48565b67ffffffffffffffff168860ff161480156107c857506107b883611c48565b67ffffffffffffffff168760ff16145b80156107df57506107d882611ceb565b1515861515145b80156107ff57506107ef81611c48565b67ffffffffffffffff168560ff16145b61084b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6108678b60c001518c602001518c604001518c60200151611e5a565b9296509094509250905061087a84611c48565b67ffffffffffffffff168860ff161480156108a9575061089983611c48565b67ffffffffffffffff168760ff16145b80156108c057506108b982611ceb565b1515861515145b80156108e057506108d081611c48565b67ffffffffffffffff168560ff16145b61092c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6109488b604001518c60e001518c604001518c60200151611e7b565b9296509094509250905061095b84611c48565b67ffffffffffffffff168860ff1614801561098a575061097a83611c48565b67ffffffffffffffff168760ff16145b80156109a1575061099a82611ceb565b1515861515145b80156109c157506109b181611c48565b67ffffffffffffffff168560ff16145b610a0d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610a298b60c001518c606001518c604001518c60200151611e9b565b92965090945092509050610a3c84611c48565b67ffffffffffffffff168860ff16148015610a6b5750610a5b83611c48565b67ffffffffffffffff168760ff16145b8015610a825750610a7b82611ceb565b1515861515145b8015610aa25750610a9281611c48565b67ffffffffffffffff168560ff16145b610aee5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610b0a8b608001518c60e001518c604001518c60200151611ebb565b92965090945092509050610b1d84611c48565b67ffffffffffffffff168860ff16148015610b4c5750610b3c83611c48565b67ffffffffffffffff168760ff16145b8015610b635750610b5c82611ceb565b1515861515145b8015610b835750610b7381611c48565b67ffffffffffffffff168560ff16145b610bcf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610beb8b60c001518c60a001518c604001518c60200151611edb565b92965090945092509050610bfe84611c48565b67ffffffffffffffff168860ff16148015610c2d5750610c1d83611c48565b67ffffffffffffffff168760ff16145b8015610c445750610c3d82611ceb565b1515861515145b8015610c645750610c5481611c48565b67ffffffffffffffff168560ff16145b610cb05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60e001518c604001518c60200151611efb565b600080600080610cee8b600001518c60e001518c600001518c60200151611f1b565b9350935093509350610cff84611c48565b67ffffffffffffffff168860ff16148015610d2e5750610d1e83611c48565b67ffffffffffffffff168760ff16145b8015610d455750610d3e82611ceb565b1515861515145b8015610d655750610d5581611c48565b67ffffffffffffffff168560ff16145b610db15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610dcd8b60c001518c602001518c600001518c60200151611f3b565b92965090945092509050610de084611c48565b67ffffffffffffffff168860ff16148015610e0f5750610dff83611c48565b67ffffffffffffffff168760ff16145b8015610e265750610e1f82611ceb565b1515861515145b8015610e465750610e3681611c48565b67ffffffffffffffff168560ff16145b610e925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610eae8b60c001518c60e001518c600001518c60200151611f5b565b92965090945092509050610ec184611c48565b67ffffffffffffffff168860ff16148015610ef05750610ee083611c48565b67ffffffffffffffff168760ff16145b8015610f075750610f0082611ceb565b1515861515145b8015610f275750610f1781611c48565b67ffffffffffffffff168560ff16145b610f735760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610f8f8b604001518c60e001518c600001518c60200151611f7b565b92965090945092509050610fa284611c48565b67ffffffffffffffff168860ff16148015610fd15750610fc183611c48565b67ffffffffffffffff168760ff16145b8015610fe85750610fe182611ceb565b1515861515145b80156110085750610ff881611c48565b67ffffffffffffffff168560ff16145b6110545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6110708b60c001518c606001518c600001518c60200151611f9b565b9296509094509250905061108384611c48565b67ffffffffffffffff168860ff161480156110b257506110a283611c48565b67ffffffffffffffff168760ff16145b80156110c957506110c282611ceb565b1515861515145b80156110e957506110d981611c48565b67ffffffffffffffff168560ff16145b6111355760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6111518b608001518c60e001518c600001518c60200151611fbb565b9296509094509250905061116484611c48565b67ffffffffffffffff168860ff16148015611193575061118383611c48565b67ffffffffffffffff168760ff16145b80156111aa57506111a382611ceb565b1515861515145b80156111ca57506111ba81611c48565b67ffffffffffffffff168560ff16145b6112165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c600001518c60200151611fdc565b6000806000806112548b600001518c60e001518c602001518c60200151611ffd565b935093509350935061126584611c48565b67ffffffffffffffff168860ff16148015611294575061128483611c48565b67ffffffffffffffff168760ff16145b80156112ab57506112a482611ceb565b1515861515145b80156112cb57506112bb81611c48565b67ffffffffffffffff168560ff16145b6113175760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6113338b60c001518c602001518c602001518c6020015161201d565b9296509094509250905061134684611c48565b67ffffffffffffffff168860ff16148015611375575061136583611c48565b67ffffffffffffffff168760ff16145b801561138c575061138582611ceb565b1515861515145b80156113ac575061139c81611c48565b67ffffffffffffffff168560ff16145b6113f85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6114148b604001518c60e001518c602001518c6020015161203d565b9296509094509250905061142784611c48565b67ffffffffffffffff168860ff16148015611456575061144683611c48565b67ffffffffffffffff168760ff16145b801561146d575061146682611ceb565b1515861515145b801561148d575061147d81611c48565b67ffffffffffffffff168560ff16145b6114d95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6114f58b60c001518c606001518c602001518c6020015161205c565b9296509094509250905061150884611c48565b67ffffffffffffffff168860ff16148015611537575061152783611c48565b67ffffffffffffffff168760ff16145b801561154e575061154782611ceb565b1515861515145b801561156e575061155e81611c48565b67ffffffffffffffff168560ff16145b6115ba5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6115d68b60c001518c60e001518c602001518c6020015161207b565b929650909450925090506115e984611c48565b67ffffffffffffffff168860ff16148015611618575061160883611c48565b67ffffffffffffffff168760ff16145b801561162f575061162882611ceb565b1515861515145b801561164f575061163f81611c48565b67ffffffffffffffff168560ff16145b61169b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6116b78b608001518c60e001518c602001518c6020015161209a565b929650909450925090506116ca84611c48565b67ffffffffffffffff168860ff161480156116f957506116e983611c48565b67ffffffffffffffff168760ff16145b8015611710575061170982611ceb565b1515861515145b8015611730575061172081611c48565b67ffffffffffffffff168560ff16145b61177c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c602001518c602001516120ba565b6000806000806117e660405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61181b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6118506040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6118598b6120da565b83526118648a6120da565b602084015261187560ff8c16612143565b604084015261188660ff8b16612143565b606084015261189760ff8c166121ad565b60808401526118a860ff8b166121ad565b60a08401526118b960ff8c16612219565b60c08401526118ca60ff8b16612219565b60e08401526118d8896120da565b82526118e660ff8a16612143565b60208301526118f760ff8a166121ad565b604083015261190860ff8a16612219565b606083015260ff8916608083015261191f886120da565b815261192d60ff8916612143565b602082015261193e60ff89166121ad565b604082015261194f60ff8916612219565b606082015260ff88166080820152825160208401518351835160009384938493849361197d93929190612289565b935093509350935061198e846122a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790556119c9836122a7565b600060016101000a81548160ff021916908360ff1602179055506119ec82611ceb565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055611a2b816122a7565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff8316811793849055611a92948c948c948c94938316908316179261010082048316926201000083048116929190910416610ccc565b600054611ac39088908890889060ff8082169161010081048216916201000082048116916301000000900416611232565b600054611af49088908890889060ff8082169161010081048216916201000082048116916301000000900416610766565b600054611b259088908890889060ff8082169161010081048216916201000082048116916301000000900416610129565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b600080808080808080606463c2ff267a611b7b60016004806002876122b7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3291906125b1565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401611ca29291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce59190612616565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d739190612616565b15159392505050565b600080808080808080606463c2ff267a611b7b60046001816002876122b7565b600080808080808080606463c2ff267a611b7b600480806002876122b7565b600080808080808080606463c2ff267a611b7b600260048082876122b7565b600080808080808080606463c2ff267a611b7b600460028181876122b7565b600080808080808080606463c2ff267a611b7b60036004806002876122b7565b600080808080808080606463c2ff267a611b7b60046003816002876122b7565b600080808080808080606463c2ff267a611b7b6001600460036002876122b7565b600080808080808080606463c2ff267a611b7b6004600160036002876122b7565b600080808080808080606463c2ff267a611b7b60026004600382876122b7565b600080808080808080606463c2ff267a611b7b60046002600381876122b7565b600080808080808080606463c2ff267a611b7b60036004816002876122b7565b600080808080808080606463c2ff267a611b7b60046003806002876122b7565b600080808080808080606463c2ff267a611b7b60048060036002876122b7565b600080808080808080606463c2ff267a611b7b60016004816002876122b7565b600080808080808080606463c2ff267a611b7b60046001806002876122b7565b600080808080808080606463c2ff267a611b7b60048060016002876122b7565b600080808080808080606463c2ff267a611b7b60026004600182876122b7565b600080808080808080606463c2ff267a611b7b60046002600181876122b7565b600080808080808080606463c2ff267a611b7b6003600460016002876122b7565b600080808080808080606463c2ff267a611b7b6004600360016002876122b7565b600080808080808080606463c2ff267a611b7b60016004600280876122b7565b600080808080808080606463c2ff267a611b7b60046001600280876122b7565b600080808080808080606463c2ff267a611b7b600260048180876122b7565b600080808080808080606463c2ff267a611b7b600460028080876122b7565b600080808080808080606463c2ff267a611b7b600480600280876122b7565b600080808080808080606463c2ff267a611b7b60036004600280876122b7565b600080808080808080606463c2ff267a611b7b60046003600280876122b7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611ca2565b600080808080808080606463c2ff267a611b7b6001808080876122b7565b60006064630cfed5616001611c54565b60008160028111156122cb576122cb6125e7565b60ff1660088460048111156122e2576122e26125e7565b61ffff16901b61ffff166010866004811115612300576123006125e7565b62ffffff16901b62ffffff166018886004811115612320576123206125e7565b63ffffffff16901b63ffffffff1660208a6004811115612342576123426125e7565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff811182821017156123a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146123be57600080fd5b919050565b600060a082840312156123d557600080fd5b60405160a0810181811067ffffffffffffffff8211171561241f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152612455608084016123ad565b60808201525092915050565b803580151581146123be57600080fd5b60008060008060008060008789036102c081121561248e57600080fd5b6101008082121561249e57600080fd5b6124a661235c565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506125018b828c016123c3565b97505050612513896101a08a016123c3565b945061252261024089016123ad565b935061253161026089016123ad565b92506125406102808901612461565b915061254f6102a089016123ad565b905092959891949750929550565b6000806000806080858703121561257357600080fd5b61257c856123ad565b935061258a602086016123ad565b9250612598604086016123ad565b91506125a6606086016123ad565b905092959194509250565b600080600080608085870312156125c757600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561262857600080fd5b505191905056fea26469706673582212209b6b730dadf68932fb7e1dac395a6b97234189122e4933b0564f6e1489c422a964736f6c63430008130033";
667
667
 
668
668
  type TransferWithAllowance64_16TestsContractConstructorParams =
669
669
  | [signer?: Signer]
@@ -663,7 +663,7 @@ const _abi = [
663
663
  ] as const;
664
664
 
665
665
  const _bytecode =
666
- "0x608060405234801561001057600080fd5b50612665806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063b371a05811610050578063b371a058146100f0578063d5ea40aa14610103578063f4fa21101461011657600080fd5b8063205093f2146100775780633391d5a81461008c5780634717f97c1461009f575b600080fd5b61008a610085366004612471565b610129565b005b61008a61009a366004612471565b610766565b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b61008a6100fe366004612471565b610ccc565b61008a610111366004612471565b611232565b6100c261012436600461255d565b611798565b60008060008061014b8b600001518c60e001518c604001518c60400151611b5b565b935093509350935061015c84611c48565b67ffffffffffffffff168860ff1614801561018b575061017b83611c48565b67ffffffffffffffff168760ff16145b80156101a2575061019b82611ceb565b1515861515145b80156101c257506101b281611c48565b67ffffffffffffffff168560ff16145b6102135760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064015b60405180910390fd5b61022f8b60c001518c602001518c604001518c60400151611d7c565b9296509094509250905061024284611c48565b67ffffffffffffffff168860ff16148015610271575061026183611c48565b67ffffffffffffffff168760ff16145b8015610288575061028182611ceb565b1515861515145b80156102a8575061029881611c48565b67ffffffffffffffff168560ff16145b6102f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103108b604001518c60e001518c604001518c60400151611d9c565b9296509094509250905061032384611c48565b67ffffffffffffffff168860ff16148015610352575061034283611c48565b67ffffffffffffffff168760ff16145b8015610369575061036282611ceb565b1515861515145b8015610389575061037981611c48565b67ffffffffffffffff168560ff16145b6103d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103f18b60c001518c606001518c604001518c60400151611dbc565b9296509094509250905061040484611c48565b67ffffffffffffffff168860ff16148015610433575061042383611c48565b67ffffffffffffffff168760ff16145b801561044a575061044382611ceb565b1515861515145b801561046a575061045a81611c48565b67ffffffffffffffff168560ff16145b6104b65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6104d28b608001518c60e001518c604001518c60400151611ddc565b929650909450925090506104e584611c48565b67ffffffffffffffff168860ff16148015610514575061050483611c48565b67ffffffffffffffff168760ff16145b801561052b575061052482611ceb565b1515861515145b801561054b575061053b81611c48565b67ffffffffffffffff168560ff16145b6105975760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6105b38b60c001518c60a001518c604001518c60400151611dfb565b929650909450925090506105c684611c48565b67ffffffffffffffff168860ff161480156105f557506105e583611c48565b67ffffffffffffffff168760ff16145b801561060c575061060582611ceb565b1515861515145b801561062c575061061c81611c48565b67ffffffffffffffff168560ff16145b6106785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60e001518c604001518c60400151611e1a565b929650909450925090506106a784611c48565b67ffffffffffffffff168860ff161480156106d657506106c683611c48565b67ffffffffffffffff168760ff16145b80156106ed57506106e682611ceb565b1515861515145b801561070d57506106fd81611c48565b67ffffffffffffffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b5050505050505050505050565b6000806000806107888b600001518c60e001518c602001518c60400151611e39565b935093509350935061079984611c48565b67ffffffffffffffff168860ff161480156107c857506107b883611c48565b67ffffffffffffffff168760ff16145b80156107df57506107d882611ceb565b1515861515145b80156107ff57506107ef81611c48565b67ffffffffffffffff168560ff16145b61084b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6108678b60c001518c602001518c602001518c60400151611e5a565b9296509094509250905061087a84611c48565b67ffffffffffffffff168860ff161480156108a9575061089983611c48565b67ffffffffffffffff168760ff16145b80156108c057506108b982611ceb565b1515861515145b80156108e057506108d081611c48565b67ffffffffffffffff168560ff16145b61092c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6109488b604001518c60e001518c602001518c60400151611e7b565b9296509094509250905061095b84611c48565b67ffffffffffffffff168860ff1614801561098a575061097a83611c48565b67ffffffffffffffff168760ff16145b80156109a1575061099a82611ceb565b1515861515145b80156109c157506109b181611c48565b67ffffffffffffffff168560ff16145b610a0d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610a298b60c001518c606001518c602001518c60400151611e9b565b92965090945092509050610a3c84611c48565b67ffffffffffffffff168860ff16148015610a6b5750610a5b83611c48565b67ffffffffffffffff168760ff16145b8015610a825750610a7b82611ceb565b1515861515145b8015610aa25750610a9281611c48565b67ffffffffffffffff168560ff16145b610aee5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610b0a8b60c001518c60e001518c602001518c60400151611ebb565b92965090945092509050610b1d84611c48565b67ffffffffffffffff168860ff16148015610b4c5750610b3c83611c48565b67ffffffffffffffff168760ff16145b8015610b635750610b5c82611ceb565b1515861515145b8015610b835750610b7381611c48565b67ffffffffffffffff168560ff16145b610bcf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610beb8b608001518c60e001518c602001518c60400151611edb565b92965090945092509050610bfe84611c48565b67ffffffffffffffff168860ff16148015610c2d5750610c1d83611c48565b67ffffffffffffffff168760ff16145b8015610c445750610c3d82611ceb565b1515861515145b8015610c645750610c5481611c48565b67ffffffffffffffff168560ff16145b610cb05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c602001518c60400151611efb565b600080600080610cee8b600001518c60e001518c606001518c60400151611f1b565b9350935093509350610cff84611c48565b67ffffffffffffffff168860ff16148015610d2e5750610d1e83611c48565b67ffffffffffffffff168760ff16145b8015610d455750610d3e82611ceb565b1515861515145b8015610d655750610d5581611c48565b67ffffffffffffffff168560ff16145b610db15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610dcd8b60c001518c602001518c606001518c60400151611f3b565b92965090945092509050610de084611c48565b67ffffffffffffffff168860ff16148015610e0f5750610dff83611c48565b67ffffffffffffffff168760ff16145b8015610e265750610e1f82611ceb565b1515861515145b8015610e465750610e3681611c48565b67ffffffffffffffff168560ff16145b610e925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610eae8b60c001518c60e001518c606001518c60400151611f5b565b92965090945092509050610ec184611c48565b67ffffffffffffffff168860ff16148015610ef05750610ee083611c48565b67ffffffffffffffff168760ff16145b8015610f075750610f0082611ceb565b1515861515145b8015610f275750610f1781611c48565b67ffffffffffffffff168560ff16145b610f735760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610f8f8b604001518c60e001518c606001518c60400151611f7a565b92965090945092509050610fa284611c48565b67ffffffffffffffff168860ff16148015610fd15750610fc183611c48565b67ffffffffffffffff168760ff16145b8015610fe85750610fe182611ceb565b1515861515145b80156110085750610ff881611c48565b67ffffffffffffffff168560ff16145b6110545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6110708b60c001518c606001518c606001518c60400151611f9a565b9296509094509250905061108384611c48565b67ffffffffffffffff168860ff161480156110b257506110a283611c48565b67ffffffffffffffff168760ff16145b80156110c957506110c282611ceb565b1515861515145b80156110e957506110d981611c48565b67ffffffffffffffff168560ff16145b6111355760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6111518b608001518c60e001518c606001518c60400151611fba565b9296509094509250905061116484611c48565b67ffffffffffffffff168860ff16148015611193575061118383611c48565b67ffffffffffffffff168760ff16145b80156111aa57506111a382611ceb565b1515861515145b80156111ca57506111ba81611c48565b67ffffffffffffffff168560ff16145b6112165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c606001518c60400151611fd9565b6000806000806112548b600001518c60e001518c600001518c60400151611ff8565b935093509350935061126584611c48565b67ffffffffffffffff168860ff16148015611294575061128483611c48565b67ffffffffffffffff168760ff16145b80156112ab57506112a482611ceb565b1515861515145b80156112cb57506112bb81611c48565b67ffffffffffffffff168560ff16145b6113175760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6113338b60c001518c602001518c600001518c60400151612018565b9296509094509250905061134684611c48565b67ffffffffffffffff168860ff16148015611375575061136583611c48565b67ffffffffffffffff168760ff16145b801561138c575061138582611ceb565b1515861515145b80156113ac575061139c81611c48565b67ffffffffffffffff168560ff16145b6113f85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6114148b60c001518c60e001518c600001518c60400151612038565b9296509094509250905061142784611c48565b67ffffffffffffffff168860ff16148015611456575061144683611c48565b67ffffffffffffffff168760ff16145b801561146d575061146682611ceb565b1515861515145b801561148d575061147d81611c48565b67ffffffffffffffff168560ff16145b6114d95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6114f58b604001518c60e001518c600001518c60400151612058565b9296509094509250905061150884611c48565b67ffffffffffffffff168860ff16148015611537575061152783611c48565b67ffffffffffffffff168760ff16145b801561154e575061154782611ceb565b1515861515145b801561156e575061155e81611c48565b67ffffffffffffffff168560ff16145b6115ba5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6115d68b60c001518c606001518c600001518c60400151612079565b929650909450925090506115e984611c48565b67ffffffffffffffff168860ff16148015611618575061160883611c48565b67ffffffffffffffff168760ff16145b801561162f575061162882611ceb565b1515861515145b801561164f575061163f81611c48565b67ffffffffffffffff168560ff16145b61169b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6116b78b608001518c60e001518c600001518c6040015161209a565b929650909450925090506116ca84611c48565b67ffffffffffffffff168860ff161480156116f957506116e983611c48565b67ffffffffffffffff168760ff16145b8015611710575061170982611ceb565b1515861515145b8015611730575061172081611c48565b67ffffffffffffffff168560ff16145b61177c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c600001518c604001516120ba565b6000806000806117e660405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61181b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6118506040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6118598b6120da565b83526118648a6120da565b602084015261187560ff8c16612143565b604084015261188660ff8b16612143565b606084015261189760ff8c166121ad565b60808401526118a860ff8b166121ad565b60a08401526118b960ff8c16612219565b60c08401526118ca60ff8b16612219565b60e08401526118d8896120da565b82526118e660ff8a16612143565b60208301526118f760ff8a166121ad565b604083015261190860ff8a16612219565b606083015260ff8916608083015261191f886120da565b815261192d60ff8916612143565b602082015261193e60ff89166121ad565b604082015261194f60ff8916612219565b606082015260ff88166080820152825160208401518351835160009384938493849361197d93929190612289565b935093509350935061198e846122a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790556119c9836122a7565b600060016101000a81548160ff021916908360ff1602179055506119ec82611ceb565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055611a2b816122a7565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff8316811793849055611a92948c948c948c94938316908316179261010082048316926201000083048116929190910416611232565b600054611ac39088908890889060ff8082169161010081048216916201000082048116916301000000900416610766565b600054611af49088908890889060ff8082169161010081048216916201000082048116916301000000900416610129565b600054611b259088908890889060ff8082169161010081048216916201000082048116916301000000900416610ccc565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b600080808080808080606463c2ff267a611b7b60016004600380876122b7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3291906125b1565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401611ca29291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce59190612616565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d739190612616565b15159392505050565b600080808080808080606463c2ff267a611b7b60046001600380876122b7565b600080808080808080606463c2ff267a611b7b60026004600380876122b7565b600080808080808080606463c2ff267a611b7b60046002600380876122b7565b600080808080808080606463c2ff267a611b7b600360048180876122b7565b600080808080808080606463c2ff267a611b7b600460038080876122b7565b600080808080808080606463c2ff267a611b7b600480600380876122b7565b600080808080808080606463c2ff267a611b7b6001600460026003876122b7565b600080808080808080606463c2ff267a611b7b6004600160026003876122b7565b600080808080808080606463c2ff267a611b7b60026004816003876122b7565b600080808080808080606463c2ff267a611b7b60046002806003876122b7565b600080808080808080606463c2ff267a611b7b60048060026003876122b7565b600080808080808080606463c2ff267a611b7b60036004600282876122b7565b600080808080808080606463c2ff267a611b7b60046003600281876122b7565b600080808080808080606463c2ff267a611b7b60016004806003876122b7565b600080808080808080606463c2ff267a611b7b60046001816003876122b7565b600080808080808080606463c2ff267a611b7b600480806003876122b7565b600080808080808080606463c2ff267a611b7b60026004806003876122b7565b600080808080808080606463c2ff267a611b7b60046002816003876122b7565b600080808080808080606463c2ff267a611b7b600360048082876122b7565b600080808080808080606463c2ff267a611b7b600460038181876122b7565b600080808080808080606463c2ff267a611b7b60016004816003876122b7565b600080808080808080606463c2ff267a611b7b60046001806003876122b7565b600080808080808080606463c2ff267a611b7b60048060016003876122b7565b600080808080808080606463c2ff267a611b7b6002600460016003876122b7565b600080808080808080606463c2ff267a611b7b6004600260016003876122b7565b600080808080808080606463c2ff267a611b7b60036004600182876122b7565b600080808080808080606463c2ff267a611b7b60046003600181876122b7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611ca2565b600080808080808080606463c2ff267a611b7b6001808080876122b7565b60006064630cfed5616001611c54565b60008160028111156122cb576122cb6125e7565b60ff1660088460048111156122e2576122e26125e7565b61ffff16901b61ffff166010866004811115612300576123006125e7565b62ffffff16901b62ffffff166018886004811115612320576123206125e7565b63ffffffff16901b63ffffffff1660208a6004811115612342576123426125e7565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff811182821017156123a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146123be57600080fd5b919050565b600060a082840312156123d557600080fd5b60405160a0810181811067ffffffffffffffff8211171561241f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152612455608084016123ad565b60808201525092915050565b803580151581146123be57600080fd5b60008060008060008060008789036102c081121561248e57600080fd5b6101008082121561249e57600080fd5b6124a661235c565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506125018b828c016123c3565b97505050612513896101a08a016123c3565b945061252261024089016123ad565b935061253161026089016123ad565b92506125406102808901612461565b915061254f6102a089016123ad565b905092959891949750929550565b6000806000806080858703121561257357600080fd5b61257c856123ad565b935061258a602086016123ad565b9250612598604086016123ad565b91506125a6606086016123ad565b905092959194509250565b600080600080608085870312156125c757600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561262857600080fd5b505191905056fea2646970667358221220095ad94a74cef87127a588707c9279106e838dc4fcc393303deb60ed0bfc1e9064736f6c63430008130033";
666
+ "0x608060405234801561001057600080fd5b50612665806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063b371a05811610050578063b371a058146100f0578063d5ea40aa14610103578063f4fa21101461011657600080fd5b8063205093f2146100775780633391d5a81461008c5780634717f97c1461009f575b600080fd5b61008a610085366004612471565b610129565b005b61008a61009a366004612471565b610766565b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b61008a6100fe366004612471565b610ccc565b61008a610111366004612471565b611232565b6100c261012436600461255d565b611798565b60008060008061014b8b600001518c60e001518c604001518c60400151611b5b565b935093509350935061015c84611c48565b67ffffffffffffffff168860ff1614801561018b575061017b83611c48565b67ffffffffffffffff168760ff16145b80156101a2575061019b82611ceb565b1515861515145b80156101c257506101b281611c48565b67ffffffffffffffff168560ff16145b6102135760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c65640000000060448201526064015b60405180910390fd5b61022f8b60c001518c602001518c604001518c60400151611d7c565b9296509094509250905061024284611c48565b67ffffffffffffffff168860ff16148015610271575061026183611c48565b67ffffffffffffffff168760ff16145b8015610288575061028182611ceb565b1515861515145b80156102a8575061029881611c48565b67ffffffffffffffff168560ff16145b6102f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103108b604001518c60e001518c604001518c60400151611d9c565b9296509094509250905061032384611c48565b67ffffffffffffffff168860ff16148015610352575061034283611c48565b67ffffffffffffffff168760ff16145b8015610369575061036282611ceb565b1515861515145b8015610389575061037981611c48565b67ffffffffffffffff168560ff16145b6103d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6103f18b60c001518c606001518c604001518c60400151611dbc565b9296509094509250905061040484611c48565b67ffffffffffffffff168860ff16148015610433575061042383611c48565b67ffffffffffffffff168760ff16145b801561044a575061044382611ceb565b1515861515145b801561046a575061045a81611c48565b67ffffffffffffffff168560ff16145b6104b65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6104d28b608001518c60e001518c604001518c60400151611ddc565b929650909450925090506104e584611c48565b67ffffffffffffffff168860ff16148015610514575061050483611c48565b67ffffffffffffffff168760ff16145b801561052b575061052482611ceb565b1515861515145b801561054b575061053b81611c48565b67ffffffffffffffff168560ff16145b6105975760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6105b38b60c001518c60a001518c604001518c60400151611dfb565b929650909450925090506105c684611c48565b67ffffffffffffffff168860ff161480156105f557506105e583611c48565b67ffffffffffffffff168760ff16145b801561060c575061060582611ceb565b1515861515145b801561062c575061061c81611c48565b67ffffffffffffffff168560ff16145b6106785760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60e001518c604001518c60400151611e1a565b929650909450925090506106a784611c48565b67ffffffffffffffff168860ff161480156106d657506106c683611c48565b67ffffffffffffffff168760ff16145b80156106ed57506106e682611ceb565b1515861515145b801561070d57506106fd81611c48565b67ffffffffffffffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b5050505050505050505050565b6000806000806107888b600001518c60e001518c602001518c60400151611e39565b935093509350935061079984611c48565b67ffffffffffffffff168860ff161480156107c857506107b883611c48565b67ffffffffffffffff168760ff16145b80156107df57506107d882611ceb565b1515861515145b80156107ff57506107ef81611c48565b67ffffffffffffffff168560ff16145b61084b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6108678b60c001518c602001518c602001518c60400151611e5a565b9296509094509250905061087a84611c48565b67ffffffffffffffff168860ff161480156108a9575061089983611c48565b67ffffffffffffffff168760ff16145b80156108c057506108b982611ceb565b1515861515145b80156108e057506108d081611c48565b67ffffffffffffffff168560ff16145b61092c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6109488b604001518c60e001518c602001518c60400151611e7b565b9296509094509250905061095b84611c48565b67ffffffffffffffff168860ff1614801561098a575061097a83611c48565b67ffffffffffffffff168760ff16145b80156109a1575061099a82611ceb565b1515861515145b80156109c157506109b181611c48565b67ffffffffffffffff168560ff16145b610a0d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610a298b60c001518c606001518c602001518c60400151611e9b565b92965090945092509050610a3c84611c48565b67ffffffffffffffff168860ff16148015610a6b5750610a5b83611c48565b67ffffffffffffffff168760ff16145b8015610a825750610a7b82611ceb565b1515861515145b8015610aa25750610a9281611c48565b67ffffffffffffffff168560ff16145b610aee5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610b0a8b60c001518c60e001518c602001518c60400151611ebb565b92965090945092509050610b1d84611c48565b67ffffffffffffffff168860ff16148015610b4c5750610b3c83611c48565b67ffffffffffffffff168760ff16145b8015610b635750610b5c82611ceb565b1515861515145b8015610b835750610b7381611c48565b67ffffffffffffffff168560ff16145b610bcf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610beb8b608001518c60e001518c602001518c60400151611edb565b92965090945092509050610bfe84611c48565b67ffffffffffffffff168860ff16148015610c2d5750610c1d83611c48565b67ffffffffffffffff168760ff16145b8015610c445750610c3d82611ceb565b1515861515145b8015610c645750610c5481611c48565b67ffffffffffffffff168560ff16145b610cb05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c602001518c60400151611efb565b600080600080610cee8b600001518c60e001518c606001518c60400151611f1b565b9350935093509350610cff84611c48565b67ffffffffffffffff168860ff16148015610d2e5750610d1e83611c48565b67ffffffffffffffff168760ff16145b8015610d455750610d3e82611ceb565b1515861515145b8015610d655750610d5581611c48565b67ffffffffffffffff168560ff16145b610db15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610dcd8b60c001518c602001518c606001518c60400151611f3b565b92965090945092509050610de084611c48565b67ffffffffffffffff168860ff16148015610e0f5750610dff83611c48565b67ffffffffffffffff168760ff16145b8015610e265750610e1f82611ceb565b1515861515145b8015610e465750610e3681611c48565b67ffffffffffffffff168560ff16145b610e925760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610eae8b60c001518c60e001518c606001518c60400151611f5b565b92965090945092509050610ec184611c48565b67ffffffffffffffff168860ff16148015610ef05750610ee083611c48565b67ffffffffffffffff168760ff16145b8015610f075750610f0082611ceb565b1515861515145b8015610f275750610f1781611c48565b67ffffffffffffffff168560ff16145b610f735760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b610f8f8b604001518c60e001518c606001518c60400151611f7a565b92965090945092509050610fa284611c48565b67ffffffffffffffff168860ff16148015610fd15750610fc183611c48565b67ffffffffffffffff168760ff16145b8015610fe85750610fe182611ceb565b1515861515145b80156110085750610ff881611c48565b67ffffffffffffffff168560ff16145b6110545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6110708b60c001518c606001518c606001518c60400151611f9a565b9296509094509250905061108384611c48565b67ffffffffffffffff168860ff161480156110b257506110a283611c48565b67ffffffffffffffff168760ff16145b80156110c957506110c282611ceb565b1515861515145b80156110e957506110d981611c48565b67ffffffffffffffff168560ff16145b6111355760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6111518b608001518c60e001518c606001518c60400151611fba565b9296509094509250905061116484611c48565b67ffffffffffffffff168860ff16148015611193575061118383611c48565b67ffffffffffffffff168760ff16145b80156111aa57506111a382611ceb565b1515861515145b80156111ca57506111ba81611c48565b67ffffffffffffffff168560ff16145b6112165760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c606001518c60400151611fd9565b6000806000806112548b600001518c60e001518c600001518c60400151611ff8565b935093509350935061126584611c48565b67ffffffffffffffff168860ff16148015611294575061128483611c48565b67ffffffffffffffff168760ff16145b80156112ab57506112a482611ceb565b1515861515145b80156112cb57506112bb81611c48565b67ffffffffffffffff168560ff16145b6113175760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6113338b60c001518c602001518c600001518c60400151612018565b9296509094509250905061134684611c48565b67ffffffffffffffff168860ff16148015611375575061136583611c48565b67ffffffffffffffff168760ff16145b801561138c575061138582611ceb565b1515861515145b80156113ac575061139c81611c48565b67ffffffffffffffff168560ff16145b6113f85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6114148b60c001518c60e001518c600001518c60400151612038565b9296509094509250905061142784611c48565b67ffffffffffffffff168860ff16148015611456575061144683611c48565b67ffffffffffffffff168760ff16145b801561146d575061146682611ceb565b1515861515145b801561148d575061147d81611c48565b67ffffffffffffffff168560ff16145b6114d95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6114f58b604001518c60e001518c600001518c60400151612058565b9296509094509250905061150884611c48565b67ffffffffffffffff168860ff16148015611537575061152783611c48565b67ffffffffffffffff168760ff16145b801561154e575061154782611ceb565b1515861515145b801561156e575061155e81611c48565b67ffffffffffffffff168560ff16145b6115ba5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6115d68b60c001518c606001518c600001518c60400151612079565b929650909450925090506115e984611c48565b67ffffffffffffffff168860ff16148015611618575061160883611c48565b67ffffffffffffffff168760ff16145b801561162f575061162882611ceb565b1515861515145b801561164f575061163f81611c48565b67ffffffffffffffff168560ff16145b61169b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6116b78b608001518c60e001518c600001518c6040015161209a565b929650909450925090506116ca84611c48565b67ffffffffffffffff168860ff161480156116f957506116e983611c48565b67ffffffffffffffff168760ff16145b8015611710575061170982611ceb565b1515861515145b8015611730575061172081611c48565b67ffffffffffffffff168560ff16145b61177c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203634206661696c656400000000604482015260640161020a565b6106948b60c001518c60a001518c600001518c604001516120ba565b6000806000806117e660405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b61181b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6118506040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b6118598b6120da565b83526118648a6120da565b602084015261187560ff8c16612143565b604084015261188660ff8b16612143565b606084015261189760ff8c166121ad565b60808401526118a860ff8b166121ad565b60a08401526118b960ff8c16612219565b60c08401526118ca60ff8b16612219565b60e08401526118d8896120da565b82526118e660ff8a16612143565b60208301526118f760ff8a166121ad565b604083015261190860ff8a16612219565b606083015260ff8916608083015261191f886120da565b815261192d60ff8916612143565b602082015261193e60ff89166121ad565b604082015261194f60ff8916612219565b606082015260ff88166080820152825160208401518351835160009384938493849361197d93929190612289565b935093509350935061198e846122a7565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff929092169190911790556119c9836122a7565b600060016101000a81548160ff021916908360ff1602179055506119ec82611ceb565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055611a2b816122a7565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff8316811793849055611a92948c948c948c94938316908316179261010082048316926201000083048116929190910416611232565b600054611ac39088908890889060ff8082169161010081048216916201000082048116916301000000900416610766565b600054611af49088908890889060ff8082169161010081048216916201000082048116916301000000900416610129565b600054611b259088908890889060ff8082169161010081048216916201000082048116916301000000900416610ccc565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b600080808080808080606463c2ff267a611b7b60016004600380876122b7565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015611c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c3291906125b1565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160045b60f81b846040518363ffffffff1660e01b8152600401611ca29291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af1158015611cc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ce59190612616565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d739190612616565b15159392505050565b600080808080808080606463c2ff267a611b7b60046001600380876122b7565b600080808080808080606463c2ff267a611b7b60026004600380876122b7565b600080808080808080606463c2ff267a611b7b60046002600380876122b7565b600080808080808080606463c2ff267a611b7b600360048180876122b7565b600080808080808080606463c2ff267a611b7b600460038080876122b7565b600080808080808080606463c2ff267a611b7b600480600380876122b7565b600080808080808080606463c2ff267a611b7b6001600460026003876122b7565b600080808080808080606463c2ff267a611b7b6004600160026003876122b7565b600080808080808080606463c2ff267a611b7b60026004816003876122b7565b600080808080808080606463c2ff267a611b7b60046002806003876122b7565b600080808080808080606463c2ff267a611b7b60048060026003876122b7565b600080808080808080606463c2ff267a611b7b60036004600282876122b7565b600080808080808080606463c2ff267a611b7b60046003600281876122b7565b600080808080808080606463c2ff267a611b7b60016004806003876122b7565b600080808080808080606463c2ff267a611b7b60046001816003876122b7565b600080808080808080606463c2ff267a611b7b600480806003876122b7565b600080808080808080606463c2ff267a611b7b60026004806003876122b7565b600080808080808080606463c2ff267a611b7b60046002816003876122b7565b600080808080808080606463c2ff267a611b7b600360048082876122b7565b600080808080808080606463c2ff267a611b7b600460038181876122b7565b600080808080808080606463c2ff267a611b7b60016004816003876122b7565b600080808080808080606463c2ff267a611b7b60046001806003876122b7565b600080808080808080606463c2ff267a611b7b60048060016003876122b7565b600080808080808080606463c2ff267a611b7b6002600460016003876122b7565b600080808080808080606463c2ff267a611b7b6004600260016003876122b7565b600080808080808080606463c2ff267a611b7b60036004600182876122b7565b600080808080808080606463c2ff267a611b7b60046003600181876122b7565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b6090604401611ca2565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b6090604401611ca2565b600080808080808080606463c2ff267a611b7b6001808080876122b7565b60006064630cfed5616001611c54565b60008160028111156122cb576122cb6125e7565b60ff1660088460048111156122e2576122e26125e7565b61ffff16901b61ffff166010866004811115612300576123006125e7565b62ffffff16901b62ffffff166018886004811115612320576123206125e7565b63ffffffff16901b63ffffffff1660208a6004811115612342576123426125e7565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff811182821017156123a7577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff811681146123be57600080fd5b919050565b600060a082840312156123d557600080fd5b60405160a0810181811067ffffffffffffffff8211171561241f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152612455608084016123ad565b60808201525092915050565b803580151581146123be57600080fd5b60008060008060008060008789036102c081121561248e57600080fd5b6101008082121561249e57600080fd5b6124a661235c565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506125018b828c016123c3565b97505050612513896101a08a016123c3565b945061252261024089016123ad565b935061253161026089016123ad565b92506125406102808901612461565b915061254f6102a089016123ad565b905092959891949750929550565b6000806000806080858703121561257357600080fd5b61257c856123ad565b935061258a602086016123ad565b9250612598604086016123ad565b91506125a6606086016123ad565b905092959194509250565b600080600080608085870312156125c757600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561262857600080fd5b505191905056fea26469706673582212205ea2bbc0155ec7debfa7f0c048ff324df22d142cbb221da2a93946c064ac5ee364736f6c63430008130033";
667
667
 
668
668
  type TransferWithAllowance64_32TestsContractConstructorParams =
669
669
  | [signer?: Signer]