@coti-io/coti-contracts 1.0.6 → 1.0.8

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 (34) hide show
  1. package/hardhat.config.ts +7 -1
  2. package/package.json +2 -2
  3. package/typechain-types/contracts/mocks/utils/mpc/index.ts +0 -2
  4. package/typechain-types/factories/contracts/mocks/access/DataPrivacyFramework/DataPrivacyFrameworkMock__factory.ts +1 -1
  5. package/typechain-types/factories/contracts/mocks/token/PrivateERC20/PrivateERC20Mock__factory.ts +1 -1
  6. package/typechain-types/factories/contracts/mocks/token/PrivateERC721/PrivateERC721URIStorageMock__factory.ts +1 -1
  7. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticTestsContract__factory.ts +1 -1
  8. package/typechain-types/factories/contracts/mocks/utils/mpc/BitwiseTestsContract__factory.ts +1 -1
  9. package/typechain-types/factories/contracts/mocks/utils/mpc/CheckedArithmeticWIthOverflowBitTestsContract.sol/CheckedArithmeticWithOverflowBitTestsContract__factory.ts +1 -1
  10. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison1TestsContract__factory.ts +1 -1
  11. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison2TestsContract__factory.ts +1 -1
  12. package/typechain-types/factories/contracts/mocks/utils/mpc/MinMaxTestsContract__factory.ts +1 -1
  13. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous1TestsContract__factory.ts +1 -1
  14. package/typechain-types/factories/contracts/mocks/utils/mpc/MiscellaneousTestsContract__factory.ts +1 -1
  15. package/typechain-types/factories/contracts/mocks/utils/mpc/OffboardToUserKeyTestContract__factory.ts +1 -1
  16. package/typechain-types/factories/contracts/mocks/utils/mpc/ShiftTestsContract__factory.ts +1 -1
  17. package/typechain-types/factories/contracts/mocks/utils/mpc/StringTestsContract__factory.ts +1 -1
  18. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferScalarTestsContract__factory.ts +1 -1
  19. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferTestsContract__factory.ts +1 -1
  20. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_16TestsContract__factory.ts +1 -1
  21. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_32TestsContract__factory.ts +1 -1
  22. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_64TestsContract__factory.ts +1 -1
  23. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowance64_8TestsContract__factory.ts +1 -1
  24. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceScalarTestsContract__factory.ts +1 -1
  25. package/typechain-types/factories/contracts/mocks/utils/mpc/TransferWithAllowanceTestsContract__factory.ts +1 -1
  26. package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +0 -1
  27. package/typechain-types/factories/contracts/mocks/wallet/PrivateERC20Wallet/PrivateERC20WalletMock__factory.ts +1 -1
  28. package/typechain-types/factories/contracts/onboard/AccountOnboard__factory.ts +1 -1
  29. package/typechain-types/factories/contracts/utils/mpc/MpcCore__factory.ts +1 -1
  30. package/typechain-types/hardhat.d.ts +0 -18
  31. package/typechain-types/contracts/mocks/utils/mpc/ArithmeticWithOverflowBitTestsContract.sol/ArithmeticTestsContract.ts +0 -383
  32. package/typechain-types/contracts/mocks/utils/mpc/ArithmeticWithOverflowBitTestsContract.sol/index.ts +0 -4
  33. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticWithOverflowBitTestsContract.sol/ArithmeticTestsContract__factory.ts +0 -387
  34. package/typechain-types/factories/contracts/mocks/utils/mpc/ArithmeticWithOverflowBitTestsContract.sol/index.ts +0 -4
@@ -379,7 +379,7 @@ const _abi = [
379
379
  ] as const;
380
380
 
381
381
  const _bytecode =
382
- "0x608060405234801561001057600080fd5b50614206806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634717f97c1461005157806386affd16146100a2578063eae36abd146100b7578063f20eac20146100ca575b600080fd5b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b6100b56100b0366004614012565b6100dd565b005b6100746100c53660046140fe565b610aa2565b6100b56100d8366004614012565b610e03565b6000806000806100ff8b604001518c606001518c602001518c60200151613373565b93509350935093506101108461345e565b61ffff168860ff1614801561013357506101298361345e565b61ffff168760ff16145b801561014a575061014382613501565b1515861515145b8015610164575061015a8161345e565b61ffff168560ff16145b6101b55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064015b60405180910390fd5b6101d18b604001518c602001518c600001518c60000151613592565b929650909450925090506101e48461345e565b61ffff168860ff1614801561020757506101fd8361345e565b61ffff168760ff16145b801561021e575061021782613501565b1515861515145b8015610238575061022e8161345e565b61ffff168560ff16145b6102845760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b8a5160608c01518b518b5161029b939291906135b1565b929650909450925090506102ae8461345e565b61ffff168860ff161480156102d157506102c78361345e565b61ffff168760ff16145b80156102e857506102e182613501565b1515861515145b801561030257506102f88161345e565b61ffff168560ff16145b61034e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b61036a8b604001518c602001518c602001518c600001516135d0565b9296509094509250905061037d8461345e565b61ffff168860ff161480156103a057506103968361345e565b61ffff168760ff16145b80156103b757506103b082613501565b1515861515145b80156103d157506103c78161345e565b61ffff168560ff16145b61041d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6104398b600001518c606001518c602001518c600001516135ef565b9296509094509250905061044c8461345e565b61ffff168860ff1614801561046f57506104658361345e565b61ffff168760ff16145b8015610486575061047f82613501565b1515861515145b80156104a057506104968161345e565b61ffff168560ff16145b6104ec5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6105088b604001518c606001518c600001518c6000015161360e565b9296509094509250905061051b8461345e565b61ffff168860ff1614801561053e57506105348361345e565b61ffff168760ff16145b8015610555575061054e82613501565b1515861515145b801561056f57506105658161345e565b61ffff168560ff16145b6105bb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6105d78b604001518c606001518c602001518c6000015161362d565b929650909450925090506105ea8461345e565b61ffff168860ff1614801561060d57506106038361345e565b61ffff168760ff16145b8015610624575061061d82613501565b1515861515145b801561063e57506106348161345e565b61ffff168560ff16145b61068a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6106a68b604001518c602001518c600001518c6020015161364c565b929650909450925090506106b98461345e565b61ffff168860ff161480156106dc57506106d28361345e565b61ffff168760ff16145b80156106f357506106ec82613501565b1515861515145b801561070d57506107038161345e565b61ffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6107758b600001518c606001518c600001518c6020015161366b565b929650909450925090506107888461345e565b61ffff168860ff161480156107ab57506107a18361345e565b61ffff168760ff16145b80156107c257506107bb82613501565b1515861515145b80156107dc57506107d28161345e565b61ffff168560ff16145b6108285760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6108448b604001518c602001518c602001518c6020015161368a565b929650909450925090506108578461345e565b61ffff168860ff1614801561087a57506108708361345e565b61ffff168760ff16145b8015610891575061088a82613501565b1515861515145b80156108ab57506108a18161345e565b61ffff168560ff16145b6108f75760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6109138b600001518c606001518c602001518c602001516136a9565b929650909450925090506109268461345e565b61ffff168860ff16148015610949575061093f8361345e565b61ffff168760ff16145b8015610960575061095982613501565b1515861515145b801561097a57506109708161345e565b61ffff168560ff16145b6109c65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6109e28b604001518c606001518c600001518c602001516136c8565b929650909450925090506109f58461345e565b61ffff168860ff16148015610a185750610a0e8361345e565b61ffff168760ff16145b8015610a2f5750610a2882613501565b1515861515145b8015610a495750610a3f8161345e565b61ffff168560ff16145b610a955760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b5050505050505050505050565b600080600080610af060405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610b256040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b610b5a6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b610b638b6136e7565b8352610b6e8a6136e7565b6020840152610b7f60ff8c16613750565b6040840152610b9060ff8b16613750565b6060840152610ba160ff8c166137ba565b6080840152610bb260ff8b166137ba565b60a0840152610bc360ff8c16613826565b60c0840152610bd460ff8b16613826565b60e0840152610be2896136e7565b8252610bf060ff8a16613750565b6020830152610c0160ff8a166137ba565b6040830152610c1260ff8a16613826565b606083015260ff89166080830152610c29886136e7565b8152610c3760ff8916613750565b6020820152610c4860ff89166137ba565b6040820152610c5960ff8916613826565b606082015260ff881660808201528251602084015183518351600093849384938493610c8793929190613896565b9350935093509350610c98846138b4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055610cd3836138b4565b600060016101000a81548160ff021916908360ff160217905550610cf682613501565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055610d35816138b4565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff8316811793849055610d9c948c948c948c949383169083161792610100820483169262010000830481169291909104166100dd565b600054610dcd9088908890889060ff8082169161010081048216916201000082048116916301000000900416610e03565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b600080600080610e258b608001518c60a001518c604001518c604001516138c4565b9350935093509350610e36846138e2565b63ffffffff168860ff16148015610e5d5750610e51836138e2565b63ffffffff168760ff16145b8015610e745750610e6d82613501565b1515861515145b8015610e905750610e84816138e2565b63ffffffff168560ff16145b610edc5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b610ef88b608001518c602001518c600001518c600001516138f2565b92965090945092509050610f0b846138e2565b63ffffffff168860ff16148015610f325750610f26836138e2565b63ffffffff168760ff16145b8015610f495750610f4282613501565b1515861515145b8015610f655750610f59816138e2565b63ffffffff168560ff16145b610fb15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b8a5160a08c01518b518b51610fc893929190613911565b92965090945092509050610fdb846138e2565b63ffffffff168860ff161480156110025750610ff6836138e2565b63ffffffff168760ff16145b8015611019575061101282613501565b1515861515145b80156110355750611029816138e2565b63ffffffff168560ff16145b6110815760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61109d8b608001518c602001518c604001518c60000151613930565b929650909450925090506110b0846138e2565b63ffffffff168860ff161480156110d757506110cb836138e2565b63ffffffff168760ff16145b80156110ee57506110e782613501565b1515861515145b801561110a57506110fe816138e2565b63ffffffff168560ff16145b6111565760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6111728b600001518c60a001518c604001518c6000015161394f565b92965090945092509050611185846138e2565b63ffffffff168860ff161480156111ac57506111a0836138e2565b63ffffffff168760ff16145b80156111c357506111bc82613501565b1515861515145b80156111df57506111d3816138e2565b63ffffffff168560ff16145b61122b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6112478b608001518c60a001518c604001518c6000015161396e565b9296509094509250905061125a846138e2565b63ffffffff168860ff161480156112815750611275836138e2565b63ffffffff168760ff16145b8015611298575061129182613501565b1515861515145b80156112b457506112a8816138e2565b63ffffffff168560ff16145b6113005760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61131c8b608001518c602001518c602001518c6000015161398d565b9296509094509250905061132f846138e2565b63ffffffff168860ff16148015611356575061134a836138e2565b63ffffffff168760ff16145b801561136d575061136682613501565b1515861515145b8015611389575061137d816138e2565b63ffffffff168560ff16145b6113d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6113f18b600001518c60a001518c602001518c600001516139ad565b92965090945092509050611404846138e2565b63ffffffff168860ff1614801561142b575061141f836138e2565b63ffffffff168760ff16145b8015611442575061143b82613501565b1515861515145b801561145e5750611452816138e2565b63ffffffff168560ff16145b6114aa5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6114c68b608001518c60a001518c600001518c600001516139cd565b929650909450925090506114d9846138e2565b63ffffffff168860ff1614801561150057506114f4836138e2565b63ffffffff168760ff16145b8015611517575061151082613501565b1515861515145b80156115335750611527816138e2565b63ffffffff168560ff16145b61157f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61159b8b608001518c602001518c600001518c602001516139ec565b929650909450925090506115ae846138e2565b63ffffffff168860ff161480156115d557506115c9836138e2565b63ffffffff168760ff16145b80156115ec57506115e582613501565b1515861515145b801561160857506115fc816138e2565b63ffffffff168560ff16145b6116545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6116708b600001518c60a001518c600001518c60200151613a0c565b92965090945092509050611683846138e2565b63ffffffff168860ff161480156116aa575061169e836138e2565b63ffffffff168760ff16145b80156116c157506116ba82613501565b1515861515145b80156116dd57506116d1816138e2565b63ffffffff168560ff16145b6117295760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6117458b608001518c602001518c604001518c60200151613a2c565b92965090945092509050611758846138e2565b63ffffffff168860ff1614801561177f5750611773836138e2565b63ffffffff168760ff16145b8015611796575061178f82613501565b1515861515145b80156117b257506117a6816138e2565b63ffffffff168560ff16145b6117fe5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61181a8b600001518c60a001518c604001518c60200151613a4c565b9296509094509250905061182d846138e2565b63ffffffff168860ff161480156118545750611848836138e2565b63ffffffff168760ff16145b801561186b575061186482613501565b1515861515145b8015611887575061187b816138e2565b63ffffffff168560ff16145b6118d35760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6118ef8b608001518c602001518c602001518c60200151613a6c565b92965090945092509050611902846138e2565b63ffffffff168860ff16148015611929575061191d836138e2565b63ffffffff168760ff16145b8015611940575061193982613501565b1515861515145b801561195c5750611950816138e2565b63ffffffff168560ff16145b6119a85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6119c48b600001518c60a001518c602001518c60200151613a8c565b929650909450925090506119d7846138e2565b63ffffffff168860ff161480156119fe57506119f2836138e2565b63ffffffff168760ff16145b8015611a155750611a0e82613501565b1515861515145b8015611a315750611a25816138e2565b63ffffffff168560ff16145b611a7d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611a998b608001518c60a001518c600001518c60200151613aac565b92965090945092509050611aac846138e2565b63ffffffff168860ff16148015611ad35750611ac7836138e2565b63ffffffff168760ff16145b8015611aea5750611ae382613501565b1515861515145b8015611b065750611afa816138e2565b63ffffffff168560ff16145b611b525760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611b6e8b608001518c602001518c600001518c60400151613acc565b92965090945092509050611b81846138e2565b63ffffffff168860ff16148015611ba85750611b9c836138e2565b63ffffffff168760ff16145b8015611bbf5750611bb882613501565b1515861515145b8015611bdb5750611bcf816138e2565b63ffffffff168560ff16145b611c275760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611c438b600001518c60a001518c600001518c60400151613aeb565b92965090945092509050611c56846138e2565b63ffffffff168860ff16148015611c7d5750611c71836138e2565b63ffffffff168760ff16145b8015611c945750611c8d82613501565b1515861515145b8015611cb05750611ca4816138e2565b63ffffffff168560ff16145b611cfc5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611d188b608001518c602001518c604001518c60400151613b0a565b92965090945092509050611d2b846138e2565b63ffffffff168860ff16148015611d525750611d46836138e2565b63ffffffff168760ff16145b8015611d695750611d6282613501565b1515861515145b8015611d855750611d79816138e2565b63ffffffff168560ff16145b611dd15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611ded8b600001518c60a001518c604001518c60400151613b29565b92965090945092509050611e00846138e2565b63ffffffff168860ff16148015611e275750611e1b836138e2565b63ffffffff168760ff16145b8015611e3e5750611e3782613501565b1515861515145b8015611e5a5750611e4e816138e2565b63ffffffff168560ff16145b611ea65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611ec28b608001518c602001518c602001518c60400151613b48565b92965090945092509050611ed5846138e2565b63ffffffff168860ff16148015611efc5750611ef0836138e2565b63ffffffff168760ff16145b8015611f135750611f0c82613501565b1515861515145b8015611f2f5750611f23816138e2565b63ffffffff168560ff16145b611f7b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611f978b600001518c60a001518c602001518c60400151613b68565b92965090945092509050611faa846138e2565b63ffffffff168860ff16148015611fd15750611fc5836138e2565b63ffffffff168760ff16145b8015611fe85750611fe182613501565b1515861515145b80156120045750611ff8816138e2565b63ffffffff168560ff16145b6120505760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61206c8b608001518c60a001518c600001518c60400151613b88565b9296509094509250905061207f846138e2565b63ffffffff168860ff161480156120a6575061209a836138e2565b63ffffffff168760ff16145b80156120bd57506120b682613501565b1515861515145b80156120d957506120cd816138e2565b63ffffffff168560ff16145b6121255760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6121418b604001518c60a001518c600001518c60000151613ba7565b92965090945092509050612154846138e2565b63ffffffff168860ff1614801561217b575061216f836138e2565b63ffffffff168760ff16145b8015612192575061218b82613501565b1515861515145b80156121ae57506121a2816138e2565b63ffffffff168560ff16145b6121fa5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6122168b608001518c606001518c600001518c60000151613bc7565b92965090945092509050612229846138e2565b63ffffffff168860ff161480156122505750612244836138e2565b63ffffffff168760ff16145b8015612267575061226082613501565b1515861515145b80156122835750612277816138e2565b63ffffffff168560ff16145b6122cf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6122eb8b604001518c60a001518c602001518c60000151613be7565b929650909450925090506122fe846138e2565b63ffffffff168860ff161480156123255750612319836138e2565b63ffffffff168760ff16145b801561233c575061233582613501565b1515861515145b8015612358575061234c816138e2565b63ffffffff168560ff16145b6123a45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6123c08b608001518c606001518c602001518c60000151613c07565b929650909450925090506123d3846138e2565b63ffffffff168860ff161480156123fa57506123ee836138e2565b63ffffffff168760ff16145b8015612411575061240a82613501565b1515861515145b801561242d5750612421816138e2565b63ffffffff168560ff16145b6124795760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6124958b604001518c60a001518c604001518c60000151613c27565b929650909450925090506124a8846138e2565b63ffffffff168860ff161480156124cf57506124c3836138e2565b63ffffffff168760ff16145b80156124e657506124df82613501565b1515861515145b801561250257506124f6816138e2565b63ffffffff168560ff16145b61254e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61256a8b608001518c606001518c604001518c60000151613c47565b9296509094509250905061257d846138e2565b63ffffffff168860ff161480156125a45750612598836138e2565b63ffffffff168760ff16145b80156125bb57506125b482613501565b1515861515145b80156125d757506125cb816138e2565b63ffffffff168560ff16145b6126235760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61263f8b608001518c60a001518c602001518c60000151613c67565b92965090945092509050612652846138e2565b63ffffffff168860ff16148015612679575061266d836138e2565b63ffffffff168760ff16145b8015612690575061268982613501565b1515861515145b80156126ac57506126a0816138e2565b63ffffffff168560ff16145b6126f85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6127148b604001518c60a001518c600001518c60200151613c87565b92965090945092509050612727846138e2565b63ffffffff168860ff1614801561274e5750612742836138e2565b63ffffffff168760ff16145b8015612765575061275e82613501565b1515861515145b80156127815750612775816138e2565b63ffffffff168560ff16145b6127cd5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6127e98b608001518c606001518c600001518c60200151613ca7565b929650909450925090506127fc846138e2565b63ffffffff168860ff161480156128235750612817836138e2565b63ffffffff168760ff16145b801561283a575061283382613501565b1515861515145b8015612856575061284a816138e2565b63ffffffff168560ff16145b6128a25760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6128be8b604001518c60a001518c602001518c60200151613cc7565b929650909450925090506128d1846138e2565b63ffffffff168860ff161480156128f857506128ec836138e2565b63ffffffff168760ff16145b801561290f575061290882613501565b1515861515145b801561292b575061291f816138e2565b63ffffffff168560ff16145b6129775760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6129938b608001518c606001518c602001518c60200151613ce6565b929650909450925090506129a6846138e2565b63ffffffff168860ff161480156129cd57506129c1836138e2565b63ffffffff168760ff16145b80156129e457506129dd82613501565b1515861515145b8015612a0057506129f4816138e2565b63ffffffff168560ff16145b612a4c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612a688b604001518c60a001518c604001518c60200151613d05565b92965090945092509050612a7b846138e2565b63ffffffff168860ff16148015612aa25750612a96836138e2565b63ffffffff168760ff16145b8015612ab95750612ab282613501565b1515861515145b8015612ad55750612ac9816138e2565b63ffffffff168560ff16145b612b215760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612b3d8b608001518c606001518c604001518c60200151613d24565b92965090945092509050612b50846138e2565b63ffffffff168860ff16148015612b775750612b6b836138e2565b63ffffffff168760ff16145b8015612b8e5750612b8782613501565b1515861515145b8015612baa5750612b9e816138e2565b63ffffffff168560ff16145b612bf65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612c128b608001518c60a001518c602001518c60200151613d43565b92965090945092509050612c25846138e2565b63ffffffff168860ff16148015612c4c5750612c40836138e2565b63ffffffff168760ff16145b8015612c635750612c5c82613501565b1515861515145b8015612c7f5750612c73816138e2565b63ffffffff168560ff16145b612ccb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612ce78b608001518c60a001518c604001518c60200151613d62565b92965090945092509050612cfa846138e2565b63ffffffff168860ff16148015612d215750612d15836138e2565b63ffffffff168760ff16145b8015612d385750612d3182613501565b1515861515145b8015612d545750612d48816138e2565b63ffffffff168560ff16145b612da05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612dbc8b604001518c60a001518c600001518c60400151613d81565b92965090945092509050612dcf846138e2565b63ffffffff168860ff16148015612df65750612dea836138e2565b63ffffffff168760ff16145b8015612e0d5750612e0682613501565b1515861515145b8015612e295750612e1d816138e2565b63ffffffff168560ff16145b612e755760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612e918b608001518c606001518c600001518c60400151613da1565b92965090945092509050612ea4846138e2565b63ffffffff168860ff16148015612ecb5750612ebf836138e2565b63ffffffff168760ff16145b8015612ee25750612edb82613501565b1515861515145b8015612efe5750612ef2816138e2565b63ffffffff168560ff16145b612f4a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612f668b604001518c60a001518c602001518c60400151613dc1565b92965090945092509050612f79846138e2565b63ffffffff168860ff16148015612fa05750612f94836138e2565b63ffffffff168760ff16145b8015612fb75750612fb082613501565b1515861515145b8015612fd35750612fc7816138e2565b63ffffffff168560ff16145b61301f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61303b8b608001518c606001518c602001518c60400151613de0565b9296509094509250905061304e846138e2565b63ffffffff168860ff161480156130755750613069836138e2565b63ffffffff168760ff16145b801561308c575061308582613501565b1515861515145b80156130a8575061309c816138e2565b63ffffffff168560ff16145b6130f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6131108b604001518c60a001518c604001518c60400151613dff565b92965090945092509050613123846138e2565b63ffffffff168860ff1614801561314a575061313e836138e2565b63ffffffff168760ff16145b8015613161575061315a82613501565b1515861515145b801561317d5750613171816138e2565b63ffffffff168560ff16145b6131c95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6131e58b608001518c606001518c604001518c60400151613e1e565b929650909450925090506131f8846138e2565b63ffffffff168860ff1614801561321f5750613213836138e2565b63ffffffff168760ff16145b8015613236575061322f82613501565b1515861515145b80156132525750613246816138e2565b63ffffffff168560ff16145b61329e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6132ba8b608001518c60a001518c602001518c60400151613e3d565b929650909450925090506132cd846138e2565b63ffffffff168860ff161480156132f457506132e8836138e2565b63ffffffff168760ff16145b801561330b575061330482613501565b1515861515145b8015613327575061331b816138e2565b63ffffffff168560ff16145b610a955760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b600080808080808080606463c2ff267a613391600280808087613e58565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015613424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134489190614152565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160025b60f81b846040518363ffffffff1660e01b81526004016134b89291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af11580156134d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134fb91906141b7565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015613565573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061358991906141b7565b15159392505050565b600080808080808080606463c2ff267a61339160026001808087613e58565b600080808080808080606463c2ff267a61339160016002818087613e58565b600080808080808080606463c2ff267a61339160026001818187613e58565b600080808080808080606463c2ff267a61339160016002808287613e58565b600080808080808080606463c2ff267a61339160028060018087613e58565b600080808080808080606463c2ff267a61339160028080600187613e58565b600080808080808080606463c2ff267a61339160026001808287613e58565b600080808080808080606463c2ff267a61339160016002818187613e58565b600080808080808080606463c2ff267a61339160026001818087613e58565b600080808080808080606463c2ff267a61339160016002808087613e58565b600080808080808080606463c2ff267a61339160028060018187613e58565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044016134b8565b600080808080808080606463c2ff267a613391600180808087613e58565b60006064630cfed561600161346a565b600080808080808080606463c2ff267a613391600380808087613e58565b60006064630cfed561600361346a565b600080808080808080606463c2ff267a61339160036001808087613e58565b600080808080808080606463c2ff267a61339160016003818087613e58565b600080808080808080606463c2ff267a61339160036001818187613e58565b600080808080808080606463c2ff267a61339160016003808287613e58565b600080808080808080606463c2ff267a61339160038080600187613e58565b600080808080808080606463c2ff267a6133916003600160028187613e58565b600080808080808080606463c2ff267a6133916001600360028287613e58565b600080808080808080606463c2ff267a61339160038060018087613e58565b600080808080808080606463c2ff267a6133916003600180600287613e58565b600080808080808080606463c2ff267a6133916001600381600287613e58565b600080808080808080606463c2ff267a6133916003600181600287613e58565b600080808080808080606463c2ff267a6133916001600380600287613e58565b600080808080808080606463c2ff267a6133916003600160028087613e58565b600080808080808080606463c2ff267a6133916001600360028087613e58565b600080808080808080606463c2ff267a6133916003806001600287613e58565b600080808080808080606463c2ff267a61339160036001808287613e58565b600080808080808080606463c2ff267a61339160016003818187613e58565b600080808080808080606463c2ff267a61339160036001818087613e58565b600080808080808080606463c2ff267a61339160016003808087613e58565b600080808080808080606463c2ff267a6133916003600160028287613e58565b600080808080808080606463c2ff267a6133916001600360028187613e58565b600080808080808080606463c2ff267a61339160038060018187613e58565b600080808080808080606463c2ff267a6133916002600360018087613e58565b600080808080808080606463c2ff267a6133916003600260018087613e58565b600080808080808080606463c2ff267a6133916002600381600187613e58565b600080808080808080606463c2ff267a6133916003600280600187613e58565b600080808080808080606463c2ff267a6133916002600380600187613e58565b600080808080808080606463c2ff267a6133916003600281600187613e58565b600080808080808080606463c2ff267a6133916003806002600187613e58565b600080808080808080606463c2ff267a6133916002600360018287613e58565b600080808080808080606463c2ff267a6133916003600260018187613e58565b600080808080808080606463c2ff267a61339160026003818087613e58565b600080808080808080606463c2ff267a61339160036002808087613e58565b600080808080808080606463c2ff267a61339160026003808287613e58565b600080808080808080606463c2ff267a61339160036002818187613e58565b600080808080808080606463c2ff267a61339160038060028087613e58565b600080808080808080606463c2ff267a61339160038080600287613e58565b600080808080808080606463c2ff267a6133916002600360018187613e58565b600080808080808080606463c2ff267a6133916003600260018287613e58565b600080808080808080606463c2ff267a61339160026003818187613e58565b600080808080808080606463c2ff267a61339160036002808287613e58565b600080808080808080606463c2ff267a61339160026003808087613e58565b600080808080808080606463c2ff267a61339160036002818087613e58565b600080808080808080606463c2ff267a613391600380600281875b6000816002811115613e6c57613e6c614188565b60ff166008846004811115613e8357613e83614188565b61ffff16901b61ffff166010866004811115613ea157613ea1614188565b62ffffff16901b62ffffff166018886004811115613ec157613ec1614188565b63ffffffff16901b63ffffffff1660208a6004811115613ee357613ee3614188565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff81118282101715613f48577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114613f5f57600080fd5b919050565b600060a08284031215613f7657600080fd5b60405160a0810181811067ffffffffffffffff82111715613fc0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152613ff660808401613f4e565b60808201525092915050565b80358015158114613f5f57600080fd5b60008060008060008060008789036102c081121561402f57600080fd5b6101008082121561403f57600080fd5b614047613efd565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506140a28b828c01613f64565b975050506140b4896101a08a01613f64565b94506140c36102408901613f4e565b93506140d26102608901613f4e565b92506140e16102808901614002565b91506140f06102a08901613f4e565b905092959891949750929550565b6000806000806080858703121561411457600080fd5b61411d85613f4e565b935061412b60208601613f4e565b925061413960408601613f4e565b915061414760608601613f4e565b905092959194509250565b6000806000806080858703121561416857600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082840312156141c957600080fd5b505191905056fea264697066735822122077be1a1d7912c2a08f1da15ba9b8e0d7509413e29f345ceb591a976a71df89c964736f6c63430008130033";
382
+ "0x608060405234801561001057600080fd5b506141dd806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634717f97c1461005157806386affd16146100a2578063eae36abd146100b7578063f20eac20146100ca575b600080fd5b60005460ff80821691610100810482169162010000820481169163010000009004165b6040805160ff9586168152938516602085015291151583830152909216606082015290519081900360800190f35b6100b56100b0366004614012565b6100dd565b005b6100746100c53660046140fe565b610aa2565b6100b56100d8366004614012565b610e03565b6000806000806100ff8b604001518c606001518c602001518c60200151613373565b93509350935093506101108461345e565b61ffff168860ff1614801561013357506101298361345e565b61ffff168760ff16145b801561014a575061014382613501565b1515861515145b8015610164575061015a8161345e565b61ffff168560ff16145b6101b55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064015b60405180910390fd5b6101d18b604001518c602001518c600001518c60000151613592565b929650909450925090506101e48461345e565b61ffff168860ff1614801561020757506101fd8361345e565b61ffff168760ff16145b801561021e575061021782613501565b1515861515145b8015610238575061022e8161345e565b61ffff168560ff16145b6102845760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b8a5160608c01518b518b5161029b939291906135b1565b929650909450925090506102ae8461345e565b61ffff168860ff161480156102d157506102c78361345e565b61ffff168760ff16145b80156102e857506102e182613501565b1515861515145b801561030257506102f88161345e565b61ffff168560ff16145b61034e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b61036a8b604001518c602001518c602001518c600001516135d0565b9296509094509250905061037d8461345e565b61ffff168860ff161480156103a057506103968361345e565b61ffff168760ff16145b80156103b757506103b082613501565b1515861515145b80156103d157506103c78161345e565b61ffff168560ff16145b61041d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6104398b600001518c606001518c602001518c600001516135ef565b9296509094509250905061044c8461345e565b61ffff168860ff1614801561046f57506104658361345e565b61ffff168760ff16145b8015610486575061047f82613501565b1515861515145b80156104a057506104968161345e565b61ffff168560ff16145b6104ec5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6105088b604001518c606001518c600001518c6000015161360e565b9296509094509250905061051b8461345e565b61ffff168860ff1614801561053e57506105348361345e565b61ffff168760ff16145b8015610555575061054e82613501565b1515861515145b801561056f57506105658161345e565b61ffff168560ff16145b6105bb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6105d78b604001518c606001518c602001518c6000015161362d565b929650909450925090506105ea8461345e565b61ffff168860ff1614801561060d57506106038361345e565b61ffff168760ff16145b8015610624575061061d82613501565b1515861515145b801561063e57506106348161345e565b61ffff168560ff16145b61068a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6106a68b604001518c602001518c600001518c6020015161364c565b929650909450925090506106b98461345e565b61ffff168860ff161480156106dc57506106d28361345e565b61ffff168760ff16145b80156106f357506106ec82613501565b1515861515145b801561070d57506107038161345e565b61ffff168560ff16145b6107595760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6107758b600001518c606001518c600001518c6020015161366b565b929650909450925090506107888461345e565b61ffff168860ff161480156107ab57506107a18361345e565b61ffff168760ff16145b80156107c257506107bb82613501565b1515861515145b80156107dc57506107d28161345e565b61ffff168560ff16145b6108285760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6108448b604001518c602001518c602001518c6020015161368a565b929650909450925090506108578461345e565b61ffff168860ff1614801561087a57506108708361345e565b61ffff168760ff16145b8015610891575061088a82613501565b1515861515145b80156108ab57506108a18161345e565b61ffff168560ff16145b6108f75760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6109138b600001518c606001518c602001518c602001516136a9565b929650909450925090506109268461345e565b61ffff168860ff16148015610949575061093f8361345e565b61ffff168760ff16145b8015610960575061095982613501565b1515861515145b801561097a57506109708161345e565b61ffff168560ff16145b6109c65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b6109e28b604001518c606001518c600001518c602001516136c8565b929650909450925090506109f58461345e565b61ffff168860ff16148015610a185750610a0e8361345e565b61ffff168760ff16145b8015610a2f5750610a2882613501565b1515861515145b8015610a495750610a3f8161345e565b61ffff168560ff16145b610a955760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203136206661696c65640000000060448201526064016101ac565b5050505050505050505050565b600080600080610af060405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b610b256040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b610b5a6040518060a0016040528060008152602001600081526020016000815260200160008152602001600060ff1681525090565b610b638b6136e7565b8352610b6e8a6136e7565b6020840152610b7f60ff8c16613750565b6040840152610b9060ff8b16613750565b6060840152610ba160ff8c166137ba565b6080840152610bb260ff8b166137ba565b60a0840152610bc360ff8c16613826565b60c0840152610bd460ff8b16613826565b60e0840152610be2896136e7565b8252610bf060ff8a16613750565b6020830152610c0160ff8a166137ba565b6040830152610c1260ff8a16613826565b606083015260ff89166080830152610c29886136e7565b8152610c3760ff8916613750565b6020820152610c4860ff89166137ba565b6040820152610c5960ff8916613826565b606082015260ff881660808201528251602084015183518351600093849384938493610c8793929190613896565b9350935093509350610c98846138b4565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff92909216919091179055610cd3836138b4565b600060016101000a81548160ff021916908360ff160217905550610cf682613501565b6000805491151562010000027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffff909216919091179055610d35816138b4565b6000805460ff92831663010000009081027fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffff8316811793849055610d9c948c948c948c949383169083161792610100820483169262010000830481169291909104166100dd565b600054610dcd9088908890889060ff8082169161010081048216916201000082048116916301000000900416610e03565b505060005460ff8082169f610100830482169f5062010000830482169e506301000000909204169b509950505050505050505050565b600080600080610e258b608001518c60a001518c604001518c604001516138c4565b9350935093509350610e36846138e2565b63ffffffff168860ff16148015610e5d5750610e51836138e2565b63ffffffff168760ff16145b8015610e745750610e6d82613501565b1515861515145b8015610e905750610e84816138e2565b63ffffffff168560ff16145b610edc5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b610ef88b608001518c602001518c600001518c600001516138f2565b92965090945092509050610f0b846138e2565b63ffffffff168860ff16148015610f325750610f26836138e2565b63ffffffff168760ff16145b8015610f495750610f4282613501565b1515861515145b8015610f655750610f59816138e2565b63ffffffff168560ff16145b610fb15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b8a5160a08c01518b518b51610fc893929190613911565b92965090945092509050610fdb846138e2565b63ffffffff168860ff161480156110025750610ff6836138e2565b63ffffffff168760ff16145b8015611019575061101282613501565b1515861515145b80156110355750611029816138e2565b63ffffffff168560ff16145b6110815760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61109d8b608001518c602001518c604001518c60000151613930565b929650909450925090506110b0846138e2565b63ffffffff168860ff161480156110d757506110cb836138e2565b63ffffffff168760ff16145b80156110ee57506110e782613501565b1515861515145b801561110a57506110fe816138e2565b63ffffffff168560ff16145b6111565760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6111728b600001518c60a001518c604001518c6000015161394f565b92965090945092509050611185846138e2565b63ffffffff168860ff161480156111ac57506111a0836138e2565b63ffffffff168760ff16145b80156111c357506111bc82613501565b1515861515145b80156111df57506111d3816138e2565b63ffffffff168560ff16145b61122b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6112478b608001518c60a001518c604001518c6000015161396e565b9296509094509250905061125a846138e2565b63ffffffff168860ff161480156112815750611275836138e2565b63ffffffff168760ff16145b8015611298575061129182613501565b1515861515145b80156112b457506112a8816138e2565b63ffffffff168560ff16145b6113005760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61131c8b608001518c602001518c602001518c6000015161398d565b9296509094509250905061132f846138e2565b63ffffffff168860ff16148015611356575061134a836138e2565b63ffffffff168760ff16145b801561136d575061136682613501565b1515861515145b8015611389575061137d816138e2565b63ffffffff168560ff16145b6113d55760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6113f18b600001518c60a001518c602001518c600001516139ad565b92965090945092509050611404846138e2565b63ffffffff168860ff1614801561142b575061141f836138e2565b63ffffffff168760ff16145b8015611442575061143b82613501565b1515861515145b801561145e5750611452816138e2565b63ffffffff168560ff16145b6114aa5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6114c68b608001518c60a001518c600001518c600001516139cd565b929650909450925090506114d9846138e2565b63ffffffff168860ff1614801561150057506114f4836138e2565b63ffffffff168760ff16145b8015611517575061151082613501565b1515861515145b80156115335750611527816138e2565b63ffffffff168560ff16145b61157f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61159b8b608001518c602001518c600001518c602001516139ec565b929650909450925090506115ae846138e2565b63ffffffff168860ff161480156115d557506115c9836138e2565b63ffffffff168760ff16145b80156115ec57506115e582613501565b1515861515145b801561160857506115fc816138e2565b63ffffffff168560ff16145b6116545760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6116708b600001518c60a001518c600001518c60200151613a0c565b92965090945092509050611683846138e2565b63ffffffff168860ff161480156116aa575061169e836138e2565b63ffffffff168760ff16145b80156116c157506116ba82613501565b1515861515145b80156116dd57506116d1816138e2565b63ffffffff168560ff16145b6117295760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6117458b608001518c602001518c604001518c60200151613a2c565b92965090945092509050611758846138e2565b63ffffffff168860ff1614801561177f5750611773836138e2565b63ffffffff168760ff16145b8015611796575061178f82613501565b1515861515145b80156117b257506117a6816138e2565b63ffffffff168560ff16145b6117fe5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61181a8b600001518c60a001518c604001518c60200151613a4c565b9296509094509250905061182d846138e2565b63ffffffff168860ff161480156118545750611848836138e2565b63ffffffff168760ff16145b801561186b575061186482613501565b1515861515145b8015611887575061187b816138e2565b63ffffffff168560ff16145b6118d35760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6118ef8b608001518c602001518c602001518c60200151613a6c565b92965090945092509050611902846138e2565b63ffffffff168860ff16148015611929575061191d836138e2565b63ffffffff168760ff16145b8015611940575061193982613501565b1515861515145b801561195c5750611950816138e2565b63ffffffff168560ff16145b6119a85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6119c48b600001518c60a001518c602001518c60200151613a8c565b929650909450925090506119d7846138e2565b63ffffffff168860ff161480156119fe57506119f2836138e2565b63ffffffff168760ff16145b8015611a155750611a0e82613501565b1515861515145b8015611a315750611a25816138e2565b63ffffffff168560ff16145b611a7d5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611a998b608001518c60a001518c600001518c60200151613aac565b92965090945092509050611aac846138e2565b63ffffffff168860ff16148015611ad35750611ac7836138e2565b63ffffffff168760ff16145b8015611aea5750611ae382613501565b1515861515145b8015611b065750611afa816138e2565b63ffffffff168560ff16145b611b525760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611b6e8b608001518c602001518c600001518c60400151613acc565b92965090945092509050611b81846138e2565b63ffffffff168860ff16148015611ba85750611b9c836138e2565b63ffffffff168760ff16145b8015611bbf5750611bb882613501565b1515861515145b8015611bdb5750611bcf816138e2565b63ffffffff168560ff16145b611c275760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611c438b600001518c60a001518c600001518c60400151613aeb565b92965090945092509050611c56846138e2565b63ffffffff168860ff16148015611c7d5750611c71836138e2565b63ffffffff168760ff16145b8015611c945750611c8d82613501565b1515861515145b8015611cb05750611ca4816138e2565b63ffffffff168560ff16145b611cfc5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611d188b608001518c602001518c604001518c60400151613b0a565b92965090945092509050611d2b846138e2565b63ffffffff168860ff16148015611d525750611d46836138e2565b63ffffffff168760ff16145b8015611d695750611d6282613501565b1515861515145b8015611d855750611d79816138e2565b63ffffffff168560ff16145b611dd15760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611ded8b600001518c60a001518c604001518c60400151613b29565b92965090945092509050611e00846138e2565b63ffffffff168860ff16148015611e275750611e1b836138e2565b63ffffffff168760ff16145b8015611e3e5750611e3782613501565b1515861515145b8015611e5a5750611e4e816138e2565b63ffffffff168560ff16145b611ea65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611ec28b608001518c602001518c602001518c60400151613b48565b92965090945092509050611ed5846138e2565b63ffffffff168860ff16148015611efc5750611ef0836138e2565b63ffffffff168760ff16145b8015611f135750611f0c82613501565b1515861515145b8015611f2f5750611f23816138e2565b63ffffffff168560ff16145b611f7b5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b611f978b600001518c60a001518c602001518c60400151613b68565b92965090945092509050611faa846138e2565b63ffffffff168860ff16148015611fd15750611fc5836138e2565b63ffffffff168760ff16145b8015611fe85750611fe182613501565b1515861515145b80156120045750611ff8816138e2565b63ffffffff168560ff16145b6120505760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61206c8b608001518c60a001518c600001518c60400151613b88565b9296509094509250905061207f846138e2565b63ffffffff168860ff161480156120a6575061209a836138e2565b63ffffffff168760ff16145b80156120bd57506120b682613501565b1515861515145b80156120d957506120cd816138e2565b63ffffffff168560ff16145b6121255760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6121418b604001518c60a001518c600001518c60000151613ba7565b92965090945092509050612154846138e2565b63ffffffff168860ff1614801561217b575061216f836138e2565b63ffffffff168760ff16145b8015612192575061218b82613501565b1515861515145b80156121ae57506121a2816138e2565b63ffffffff168560ff16145b6121fa5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6122168b608001518c606001518c600001518c60000151613bc7565b92965090945092509050612229846138e2565b63ffffffff168860ff161480156122505750612244836138e2565b63ffffffff168760ff16145b8015612267575061226082613501565b1515861515145b80156122835750612277816138e2565b63ffffffff168560ff16145b6122cf5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6122eb8b604001518c60a001518c602001518c60000151613be7565b929650909450925090506122fe846138e2565b63ffffffff168860ff161480156123255750612319836138e2565b63ffffffff168760ff16145b801561233c575061233582613501565b1515861515145b8015612358575061234c816138e2565b63ffffffff168560ff16145b6123a45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6123c08b608001518c606001518c602001518c60000151613c07565b929650909450925090506123d3846138e2565b63ffffffff168860ff161480156123fa57506123ee836138e2565b63ffffffff168760ff16145b8015612411575061240a82613501565b1515861515145b801561242d5750612421816138e2565b63ffffffff168560ff16145b6124795760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6124958b604001518c60a001518c604001518c60000151613c27565b929650909450925090506124a8846138e2565b63ffffffff168860ff161480156124cf57506124c3836138e2565b63ffffffff168760ff16145b80156124e657506124df82613501565b1515861515145b801561250257506124f6816138e2565b63ffffffff168560ff16145b61254e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61256a8b608001518c606001518c604001518c60000151613c47565b9296509094509250905061257d846138e2565b63ffffffff168860ff161480156125a45750612598836138e2565b63ffffffff168760ff16145b80156125bb57506125b482613501565b1515861515145b80156125d757506125cb816138e2565b63ffffffff168560ff16145b6126235760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61263f8b608001518c60a001518c602001518c60000151613c67565b92965090945092509050612652846138e2565b63ffffffff168860ff16148015612679575061266d836138e2565b63ffffffff168760ff16145b8015612690575061268982613501565b1515861515145b80156126ac57506126a0816138e2565b63ffffffff168560ff16145b6126f85760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6127148b604001518c60a001518c600001518c60200151613c87565b92965090945092509050612727846138e2565b63ffffffff168860ff1614801561274e5750612742836138e2565b63ffffffff168760ff16145b8015612765575061275e82613501565b1515861515145b80156127815750612775816138e2565b63ffffffff168560ff16145b6127cd5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6127e98b608001518c606001518c600001518c60200151613ca7565b929650909450925090506127fc846138e2565b63ffffffff168860ff161480156128235750612817836138e2565b63ffffffff168760ff16145b801561283a575061283382613501565b1515861515145b8015612856575061284a816138e2565b63ffffffff168560ff16145b6128a25760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6128be8b604001518c60a001518c602001518c60200151613cc7565b929650909450925090506128d1846138e2565b63ffffffff168860ff161480156128f857506128ec836138e2565b63ffffffff168760ff16145b801561290f575061290882613501565b1515861515145b801561292b575061291f816138e2565b63ffffffff168560ff16145b6129775760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6129938b608001518c606001518c602001518c60200151613ce6565b929650909450925090506129a6846138e2565b63ffffffff168860ff161480156129cd57506129c1836138e2565b63ffffffff168760ff16145b80156129e457506129dd82613501565b1515861515145b8015612a0057506129f4816138e2565b63ffffffff168560ff16145b612a4c5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612a688b604001518c60a001518c604001518c60200151613d05565b92965090945092509050612a7b846138e2565b63ffffffff168860ff16148015612aa25750612a96836138e2565b63ffffffff168760ff16145b8015612ab95750612ab282613501565b1515861515145b8015612ad55750612ac9816138e2565b63ffffffff168560ff16145b612b215760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612b3d8b608001518c606001518c604001518c60200151613d24565b92965090945092509050612b50846138e2565b63ffffffff168860ff16148015612b775750612b6b836138e2565b63ffffffff168760ff16145b8015612b8e5750612b8782613501565b1515861515145b8015612baa5750612b9e816138e2565b63ffffffff168560ff16145b612bf65760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612c128b608001518c60a001518c602001518c60200151613d43565b92965090945092509050612c25846138e2565b63ffffffff168860ff16148015612c4c5750612c40836138e2565b63ffffffff168760ff16145b8015612c635750612c5c82613501565b1515861515145b8015612c7f5750612c73816138e2565b63ffffffff168560ff16145b612ccb5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612ce78b608001518c60a001518c604001518c60200151613d62565b92965090945092509050612cfa846138e2565b63ffffffff168860ff16148015612d215750612d15836138e2565b63ffffffff168760ff16145b8015612d385750612d3182613501565b1515861515145b8015612d545750612d48816138e2565b63ffffffff168560ff16145b612da05760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612dbc8b604001518c60a001518c600001518c60400151613d81565b92965090945092509050612dcf846138e2565b63ffffffff168860ff16148015612df65750612dea836138e2565b63ffffffff168760ff16145b8015612e0d5750612e0682613501565b1515861515145b8015612e295750612e1d816138e2565b63ffffffff168560ff16145b612e755760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612e918b608001518c606001518c600001518c60400151613da1565b92965090945092509050612ea4846138e2565b63ffffffff168860ff16148015612ecb5750612ebf836138e2565b63ffffffff168760ff16145b8015612ee25750612edb82613501565b1515861515145b8015612efe5750612ef2816138e2565b63ffffffff168560ff16145b612f4a5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b612f668b604001518c60a001518c602001518c60400151613dc1565b92965090945092509050612f79846138e2565b63ffffffff168860ff16148015612fa05750612f94836138e2565b63ffffffff168760ff16145b8015612fb75750612fb082613501565b1515861515145b8015612fd35750612fc7816138e2565b63ffffffff168560ff16145b61301f5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b61303b8b608001518c606001518c602001518c60400151613de0565b9296509094509250905061304e846138e2565b63ffffffff168860ff161480156130755750613069836138e2565b63ffffffff168760ff16145b801561308c575061308582613501565b1515861515145b80156130a8575061309c816138e2565b63ffffffff168560ff16145b6130f45760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6131108b604001518c60a001518c604001518c60400151613dff565b92965090945092509050613123846138e2565b63ffffffff168860ff1614801561314a575061313e836138e2565b63ffffffff168760ff16145b8015613161575061315a82613501565b1515861515145b801561317d5750613171816138e2565b63ffffffff168560ff16145b6131c95760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6131e58b608001518c606001518c604001518c60400151613e1e565b929650909450925090506131f8846138e2565b63ffffffff168860ff1614801561321f5750613213836138e2565b63ffffffff168760ff16145b8015613236575061322f82613501565b1515861515145b80156132525750613246816138e2565b63ffffffff168560ff16145b61329e5760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b6132ba8b608001518c60a001518c602001518c60400151613e3d565b929650909450925090506132cd846138e2565b63ffffffff168860ff161480156132f457506132e8836138e2565b63ffffffff168760ff16145b801561330b575061330482613501565b1515861515145b8015613327575061331b816138e2565b63ffffffff168560ff16145b610a955760405162461bcd60e51b815260206004820152601c60248201527f7472616e73666572546573743a2063617374203332206661696c65640000000060448201526064016101ac565b600080808080808080606463c2ff267a613391600280808087613e58565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffffffff0000000000000000000000000000000000000000000000000000009091166004820152602481018f9052604481018e9052606481018d9052608481018c905260a4016080604051808303816000875af1158015613424573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134489190614152565b929f919e509c50909a5098505050505050505050565b60006064630cfed56160025b60f81b846040518363ffffffff1660e01b81526004016134b89291907fff00000000000000000000000000000000000000000000000000000000000000929092168252602082015260400190565b6020604051808303816000875af11580156134d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134fb91906141b7565b92915050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015613565573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061358991906141b7565b15159392505050565b600080808080808080606463c2ff267a61339160026001808087613e58565b600080808080808080606463c2ff267a61339160016002818087613e58565b600080808080808080606463c2ff267a61339160026001818187613e58565b600080808080808080606463c2ff267a61339160016002808287613e58565b600080808080808080606463c2ff267a61339160028060018087613e58565b600080808080808080606463c2ff267a61339160028080600187613e58565b600080808080808080606463c2ff267a61339160026001808287613e58565b600080808080808080606463c2ff267a61339160016002818187613e58565b600080808080808080606463c2ff267a61339160026001818087613e58565b600080808080808080606463c2ff267a61339160016002808087613e58565b600080808080808080606463c2ff267a61339160028060018187613e58565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0100000000000000000000000000000000000000000000000000000000000000600482015260ff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0200000000000000000000000000000000000000000000000000000000000000600482015261ffff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0300000000000000000000000000000000000000000000000000000000000000600482015263ffffffff8216602482015260009060649063d9b60b60906044016134b8565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044016134b8565b600080808080808080606463c2ff267a613391600180808087613e58565b60006064630cfed561600161346a565b600080808080808080606463c2ff267a613391600380808087613e58565b60006064630cfed561600361346a565b600080808080808080606463c2ff267a61339160036001808087613e58565b600080808080808080606463c2ff267a61339160016003818087613e58565b600080808080808080606463c2ff267a61339160036001818187613e58565b600080808080808080606463c2ff267a61339160016003808287613e58565b600080808080808080606463c2ff267a61339160038080600187613e58565b600080808080808080606463c2ff267a6133916003600160028187613e58565b600080808080808080606463c2ff267a6133916001600360028287613e58565b600080808080808080606463c2ff267a61339160038060018087613e58565b600080808080808080606463c2ff267a6133916003600180600287613e58565b600080808080808080606463c2ff267a6133916001600381600287613e58565b600080808080808080606463c2ff267a6133916003600181600287613e58565b600080808080808080606463c2ff267a6133916001600380600287613e58565b600080808080808080606463c2ff267a6133916003600160028087613e58565b600080808080808080606463c2ff267a6133916001600360028087613e58565b600080808080808080606463c2ff267a6133916003806001600287613e58565b600080808080808080606463c2ff267a61339160036001808287613e58565b600080808080808080606463c2ff267a61339160016003818187613e58565b600080808080808080606463c2ff267a61339160036001818087613e58565b600080808080808080606463c2ff267a61339160016003808087613e58565b600080808080808080606463c2ff267a6133916003600160028287613e58565b600080808080808080606463c2ff267a6133916001600360028187613e58565b600080808080808080606463c2ff267a61339160038060018187613e58565b600080808080808080606463c2ff267a6133916002600360018087613e58565b600080808080808080606463c2ff267a6133916003600260018087613e58565b600080808080808080606463c2ff267a6133916002600381600187613e58565b600080808080808080606463c2ff267a6133916003600280600187613e58565b600080808080808080606463c2ff267a6133916002600380600187613e58565b600080808080808080606463c2ff267a6133916003600281600187613e58565b600080808080808080606463c2ff267a6133916003806002600187613e58565b600080808080808080606463c2ff267a6133916002600360018287613e58565b600080808080808080606463c2ff267a6133916003600260018187613e58565b600080808080808080606463c2ff267a61339160026003818087613e58565b600080808080808080606463c2ff267a61339160036002808087613e58565b600080808080808080606463c2ff267a61339160026003808287613e58565b600080808080808080606463c2ff267a61339160036002818187613e58565b600080808080808080606463c2ff267a61339160038060028087613e58565b600080808080808080606463c2ff267a61339160038080600287613e58565b600080808080808080606463c2ff267a6133916002600360018187613e58565b600080808080808080606463c2ff267a6133916003600260018287613e58565b600080808080808080606463c2ff267a61339160026003818187613e58565b600080808080808080606463c2ff267a61339160036002808287613e58565b600080808080808080606463c2ff267a61339160026003808087613e58565b600080808080808080606463c2ff267a61339160036002818087613e58565b600080808080808080606463c2ff267a613391600380600281875b6000816002811115613e6c57613e6c614188565b60ff166008846004811115613e8357613e83614188565b61ffff16901b61ffff166010866004811115613ea157613ea1614188565b62ffffff16901b62ffffff166018886004811115613ec157613ec1614188565b63ffffffff16901b63ffffffff1660208a6004811115613ee357613ee3614188565b64ffffffffff16901b1717171760d81b9695505050505050565b604051610100810167ffffffffffffffff81118282101715613f48577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405290565b803560ff81168114613f5f57600080fd5b919050565b600060a08284031215613f7657600080fd5b60405160a0810181811067ffffffffffffffff82111715613fc0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b806040525080915082358152602083013560208201526040830135604082015260608301356060820152613ff660808401613f4e565b60808201525092915050565b80358015158114613f5f57600080fd5b60008060008060008060008789036102c081121561402f57600080fd5b6101008082121561403f57600080fd5b614047613efd565b91508935825260208a0135602083015260408a0135604083015260608a0135606083015260808a0135608083015260a08a013560a083015260c08a013560c083015260e08a013560e08301528198506140a28b828c01613f64565b975050506140b4896101a08a01613f64565b94506140c36102408901613f4e565b93506140d26102608901613f4e565b92506140e16102808901614002565b91506140f06102a08901613f4e565b905092959891949750929550565b6000806000806080858703121561411457600080fd5b61411d85613f4e565b935061412b60208601613f4e565b925061413960408601613f4e565b915061414760608601613f4e565b905092959194509250565b6000806000806080858703121561416857600080fd5b505082516020840151604085015160609095015191969095509092509050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6000602082840312156141c957600080fd5b505191905056fea164736f6c6343000813000a";
383
383
 
384
384
  type TransferWithAllowanceTestsContractConstructorParams =
385
385
  | [signer?: Signer]
@@ -1,7 +1,6 @@
1
1
  /* Autogenerated file. Do not edit manually. */
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
- export * as arithmeticWithOverflowBitTestsContractSol from "./ArithmeticWithOverflowBitTestsContract.sol";
5
4
  export * as checkedArithmeticWIthOverflowBitTestsContractSol from "./CheckedArithmeticWIthOverflowBitTestsContract.sol";
6
5
  export { ArithmeticTestsContract__factory } from "./ArithmeticTestsContract__factory";
7
6
  export { BitwiseTestsContract__factory } from "./BitwiseTestsContract__factory";
@@ -139,7 +139,7 @@ const _abi = [
139
139
  ] as const;
140
140
 
141
141
  const _bytecode =
142
- "0x608060405234801561001057600080fd5b506105dc806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632a308b3a146100515780633ead9adb146100775780634a0092111461008a578063ce4ec16a146100ad575b600080fd5b61006461005f3660046104a1565b6100c0565b6040519081526020015b60405180910390f35b6100646100853660046104e4565b610184565b61009d610098366004610538565b610253565b604051901515815260200161006e565b61009d6100bb3660046104a1565b6102f0565b60008373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb846100e8856103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303816000875af1158015610158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017c919061056b565b949350505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd85856101ad866103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610226573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024a919061056b565b95945050505050565b6040517f8269bcc300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff828116600483015260009190841690638269bcc3906024016020604051808303816000875af11580156102c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e99190610584565b9392505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663095ea7b384610318856103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303816000875af1158015610388573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017c9190610584565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044016020604051808303816000875af1158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a919061056b565b92915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461048457600080fd5b919050565b803567ffffffffffffffff8116811461048457600080fd5b6000806000606084860312156104b657600080fd5b6104bf84610460565b92506104cd60208501610460565b91506104db60408501610489565b90509250925092565b600080600080608085870312156104fa57600080fd5b61050385610460565b935061051160208601610460565b925061051f60408601610460565b915061052d60608601610489565b905092959194509250565b6000806040838503121561054b57600080fd5b61055483610460565b915061056260208401610460565b90509250929050565b60006020828403121561057d57600080fd5b5051919050565b60006020828403121561059657600080fd5b815180151581146102e957600080fdfea26469706673582212204b4598784bceaf39512cdd88cc7f3207c0cf80672b179f621d6d245aef76358164736f6c63430008130033";
142
+ "0x608060405234801561001057600080fd5b506105b3806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632a308b3a146100515780633ead9adb146100775780634a0092111461008a578063ce4ec16a146100ad575b600080fd5b61006461005f3660046104a1565b6100c0565b6040519081526020015b60405180910390f35b6100646100853660046104e4565b610184565b61009d610098366004610538565b610253565b604051901515815260200161006e565b61009d6100bb3660046104a1565b6102f0565b60008373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb846100e8856103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303816000875af1158015610158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017c919061056b565b949350505050565b60008473ffffffffffffffffffffffffffffffffffffffff166323b872dd85856101ad866103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815273ffffffffffffffffffffffffffffffffffffffff938416600482015292909116602483015260448201526064016020604051808303816000875af1158015610226573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024a919061056b565b95945050505050565b6040517f8269bcc300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff828116600483015260009190841690638269bcc3906024016020604051808303816000875af11580156102c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e99190610584565b9392505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663095ea7b384610318856103ac565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815273ffffffffffffffffffffffffffffffffffffffff909216600483015260248201526044016020604051808303816000875af1158015610388573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017c9190610584565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044016020604051808303816000875af1158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a919061056b565b92915050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461048457600080fd5b919050565b803567ffffffffffffffff8116811461048457600080fd5b6000806000606084860312156104b657600080fd5b6104bf84610460565b92506104cd60208501610460565b91506104db60408501610489565b90509250925092565b600080600080608085870312156104fa57600080fd5b61050385610460565b935061051160208601610460565b925061051f60408601610460565b915061052d60608601610489565b905092959194509250565b6000806040838503121561054b57600080fd5b61055483610460565b915061056260208401610460565b90509250929050565b60006020828403121561057d57600080fd5b5051919050565b60006020828403121561059657600080fd5b815180151581146102e957600080fdfea164736f6c6343000813000a";
143
143
 
144
144
  type PrivateERC20WalletMockConstructorParams =
145
145
  | [signer?: Signer]
@@ -61,7 +61,7 @@ const _abi = [
61
61
  ] as const;
62
62
 
63
63
  const _bytecode =
64
- "0x608060405234801561001057600080fd5b50610771806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063afaea1bd14610030575b600080fd5b61004361003e366004610470565b610045565b005b600080610054868686866100b0565b915091503373ffffffffffffffffffffffffffffffffffffffff167ffc83efa19b7c2bc399a672494bb0af52f9bbd678357edf30e55b5ac4e65878ba83836040516100a092919061054a565b60405180910390a2505050505050565b60608060006100bf86856105a7565b67ffffffffffffffff8111156100d7576100d76105c0565b6040519080825280601f01601f191660200182016040528015610101576020820181803683370190505b50905060005b8481101561017e57858582818110610121576101216105ef565b9050013560f81c60f81b82828151811061013d5761013d6105ef565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806101768161061e565b915050610107565b5060005b868110156102205787878281811061019c5761019c6105ef565b909101357fff00000000000000000000000000000000000000000000000000000000000000169050826101cf83886105a7565b815181106101df576101df6105ef565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806102188161061e565b915050610182565b506040517fa85f0ca200000000000000000000000000000000000000000000000000000000815260009060649063a85f0ca290610261908590600401610656565b6000604051808303816000875af1158015610280573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526102c69190810190610670565b604080516101008082526101208201909252919250600091906020820181803683375050604080516101008082526101208201909252929350600092915060208201818036833701905050905060005b825181101561038f57838181518110610331576103316105ef565b602001015160f81c60f81b83828151811061034e5761034e6105ef565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806103878161061e565b915050610316565b5060005b815181101561041757836103a9610100836105a7565b815181106103b9576103b96105ef565b602001015160f81c60f81b8282815181106103d6576103d66105ef565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508061040f8161061e565b915050610393565b5090999098509650505050505050565b60008083601f84011261043957600080fd5b50813567ffffffffffffffff81111561045157600080fd5b60208301915083602082850101111561046957600080fd5b9250929050565b6000806000806040858703121561048657600080fd5b843567ffffffffffffffff8082111561049e57600080fd5b6104aa88838901610427565b909650945060208701359150808211156104c357600080fd5b506104d087828801610427565b95989497509550505050565b60005b838110156104f75781810151838201526020016104df565b50506000910152565b600081518084526105188160208601602086016104dc565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152600061055d6040830185610500565b828103602084015261056f8185610500565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105ba576105ba610578565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361064f5761064f610578565b5060010190565b6020815260006106696020830184610500565b9392505050565b60006020828403121561068257600080fd5b815167ffffffffffffffff8082111561069a57600080fd5b818401915084601f8301126106ae57600080fd5b8151818111156106c0576106c06105c0565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610706576107066105c0565b8160405282815287602084870101111561071f57600080fd5b6107308360208301602088016104dc565b97965050505050505056fea2646970667358221220bdc5fe65d9fb7e4242d867b8ee6932f4a2d4d097fa9e040ae7d4fa606c1f650464736f6c63430008130033";
64
+ "0x608060405234801561001057600080fd5b50610748806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063afaea1bd14610030575b600080fd5b61004361003e366004610470565b610045565b005b600080610054868686866100b0565b915091503373ffffffffffffffffffffffffffffffffffffffff167ffc83efa19b7c2bc399a672494bb0af52f9bbd678357edf30e55b5ac4e65878ba83836040516100a092919061054a565b60405180910390a2505050505050565b60608060006100bf86856105a7565b67ffffffffffffffff8111156100d7576100d76105c0565b6040519080825280601f01601f191660200182016040528015610101576020820181803683370190505b50905060005b8481101561017e57858582818110610121576101216105ef565b9050013560f81c60f81b82828151811061013d5761013d6105ef565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806101768161061e565b915050610107565b5060005b868110156102205787878281811061019c5761019c6105ef565b909101357fff00000000000000000000000000000000000000000000000000000000000000169050826101cf83886105a7565b815181106101df576101df6105ef565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806102188161061e565b915050610182565b506040517fa85f0ca200000000000000000000000000000000000000000000000000000000815260009060649063a85f0ca290610261908590600401610656565b6000604051808303816000875af1158015610280573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526102c69190810190610670565b604080516101008082526101208201909252919250600091906020820181803683375050604080516101008082526101208201909252929350600092915060208201818036833701905050905060005b825181101561038f57838181518110610331576103316105ef565b602001015160f81c60f81b83828151811061034e5761034e6105ef565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350806103878161061e565b915050610316565b5060005b815181101561041757836103a9610100836105a7565b815181106103b9576103b96105ef565b602001015160f81c60f81b8282815181106103d6576103d66105ef565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508061040f8161061e565b915050610393565b5090999098509650505050505050565b60008083601f84011261043957600080fd5b50813567ffffffffffffffff81111561045157600080fd5b60208301915083602082850101111561046957600080fd5b9250929050565b6000806000806040858703121561048657600080fd5b843567ffffffffffffffff8082111561049e57600080fd5b6104aa88838901610427565b909650945060208701359150808211156104c357600080fd5b506104d087828801610427565b95989497509550505050565b60005b838110156104f75781810151838201526020016104df565b50506000910152565b600081518084526105188160208601602086016104dc565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60408152600061055d6040830185610500565b828103602084015261056f8185610500565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b808201808211156105ba576105ba610578565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361064f5761064f610578565b5060010190565b6020815260006106696020830184610500565b9392505050565b60006020828403121561068257600080fd5b815167ffffffffffffffff8082111561069a57600080fd5b818401915084601f8301126106ae57600080fd5b8151818111156106c0576106c06105c0565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908382118183101715610706576107066105c0565b8160405282815287602084870101111561071f57600080fd5b6107308360208301602088016104dc565b97965050505050505056fea164736f6c6343000813000a";
65
65
 
66
66
  type AccountOnboardConstructorParams =
67
67
  | [signer?: Signer]
@@ -31,7 +31,7 @@ const _abi = [
31
31
  ] as const;
32
32
 
33
33
  const _bytecode =
34
- "0x6088610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c806331b943d5146038575b600080fd5b604061010081565b60405190815260200160405180910390f3fea2646970667358221220492232c4bff764a53f5517c5e87d3ef8393eaaca08e76e4204d08ef40855c84764736f6c63430008130033";
34
+ "0x605f610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c806331b943d5146038575b600080fd5b604061010081565b60405190815260200160405180910390f3fea164736f6c6343000813000a";
35
35
 
36
36
  type MpcCoreConstructorParams =
37
37
  | [signer?: Signer]
@@ -57,10 +57,6 @@ declare module "hardhat/types/runtime" {
57
57
  name: "ArithmeticTestsContract",
58
58
  signerOrOptions?: ethers.Signer | FactoryOptions
59
59
  ): Promise<Contracts.ArithmeticTestsContract__factory>;
60
- getContractFactory(
61
- name: "ArithmeticTestsContract",
62
- signerOrOptions?: ethers.Signer | FactoryOptions
63
- ): Promise<Contracts.ArithmeticTestsContract__factory>;
64
60
  getContractFactory(
65
61
  name: "BitwiseTestsContract",
66
62
  signerOrOptions?: ethers.Signer | FactoryOptions
@@ -229,11 +225,6 @@ declare module "hardhat/types/runtime" {
229
225
  address: string | ethers.Addressable,
230
226
  signer?: ethers.Signer
231
227
  ): Promise<Contracts.ArithmeticTestsContract>;
232
- getContractAt(
233
- name: "ArithmeticTestsContract",
234
- address: string | ethers.Addressable,
235
- signer?: ethers.Signer
236
- ): Promise<Contracts.ArithmeticTestsContract>;
237
228
  getContractAt(
238
229
  name: "BitwiseTestsContract",
239
230
  address: string | ethers.Addressable,
@@ -419,10 +410,6 @@ declare module "hardhat/types/runtime" {
419
410
  name: "ArithmeticTestsContract",
420
411
  signerOrOptions?: ethers.Signer | DeployContractOptions
421
412
  ): Promise<Contracts.ArithmeticTestsContract>;
422
- deployContract(
423
- name: "ArithmeticTestsContract",
424
- signerOrOptions?: ethers.Signer | DeployContractOptions
425
- ): Promise<Contracts.ArithmeticTestsContract>;
426
413
  deployContract(
427
414
  name: "BitwiseTestsContract",
428
415
  signerOrOptions?: ethers.Signer | DeployContractOptions
@@ -591,11 +578,6 @@ declare module "hardhat/types/runtime" {
591
578
  args: any[],
592
579
  signerOrOptions?: ethers.Signer | DeployContractOptions
593
580
  ): Promise<Contracts.ArithmeticTestsContract>;
594
- deployContract(
595
- name: "ArithmeticTestsContract",
596
- args: any[],
597
- signerOrOptions?: ethers.Signer | DeployContractOptions
598
- ): Promise<Contracts.ArithmeticTestsContract>;
599
581
  deployContract(
600
582
  name: "BitwiseTestsContract",
601
583
  args: any[],
@@ -1,383 +0,0 @@
1
- /* Autogenerated file. Do not edit manually. */
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- import type {
5
- BaseContract,
6
- BigNumberish,
7
- BytesLike,
8
- FunctionFragment,
9
- Result,
10
- Interface,
11
- ContractRunner,
12
- ContractMethod,
13
- Listener,
14
- } from "ethers";
15
- import type {
16
- TypedContractEvent,
17
- TypedDeferredTopicFilter,
18
- TypedEventLog,
19
- TypedListener,
20
- TypedContractMethod,
21
- } from "../../../../../common";
22
-
23
- export declare namespace ArithmeticTestsContract {
24
- export type Check16Struct = {
25
- res16_16: BigNumberish;
26
- res8_16: BigNumberish;
27
- res16_8: BigNumberish;
28
- };
29
-
30
- export type Check16StructOutput = [
31
- res16_16: bigint,
32
- res8_16: bigint,
33
- res16_8: bigint
34
- ] & { res16_16: bigint; res8_16: bigint; res16_8: bigint };
35
-
36
- export type Check32Struct = {
37
- res32_32: BigNumberish;
38
- res8_32: BigNumberish;
39
- res32_8: BigNumberish;
40
- res16_32: BigNumberish;
41
- res32_16: BigNumberish;
42
- };
43
-
44
- export type Check32StructOutput = [
45
- res32_32: bigint,
46
- res8_32: bigint,
47
- res32_8: bigint,
48
- res16_32: bigint,
49
- res32_16: bigint
50
- ] & {
51
- res32_32: bigint;
52
- res8_32: bigint;
53
- res32_8: bigint;
54
- res16_32: bigint;
55
- res32_16: bigint;
56
- };
57
-
58
- export type Check64Struct = {
59
- res64_64: BigNumberish;
60
- res8_64: BigNumberish;
61
- res64_8: BigNumberish;
62
- res16_64: BigNumberish;
63
- res64_16: BigNumberish;
64
- res32_64: BigNumberish;
65
- res64_32: BigNumberish;
66
- };
67
-
68
- export type Check64StructOutput = [
69
- res64_64: bigint,
70
- res8_64: bigint,
71
- res64_8: bigint,
72
- res16_64: bigint,
73
- res64_16: bigint,
74
- res32_64: bigint,
75
- res64_32: bigint
76
- ] & {
77
- res64_64: bigint;
78
- res8_64: bigint;
79
- res64_8: bigint;
80
- res16_64: bigint;
81
- res64_16: bigint;
82
- res32_64: bigint;
83
- res64_32: bigint;
84
- };
85
-
86
- export type AllGTCastingValuesStruct = {
87
- a8_s: BigNumberish;
88
- b8_s: BigNumberish;
89
- a16_s: BigNumberish;
90
- b16_s: BigNumberish;
91
- a32_s: BigNumberish;
92
- b32_s: BigNumberish;
93
- a64_s: BigNumberish;
94
- b64_s: BigNumberish;
95
- };
96
-
97
- export type AllGTCastingValuesStructOutput = [
98
- a8_s: bigint,
99
- b8_s: bigint,
100
- a16_s: bigint,
101
- b16_s: bigint,
102
- a32_s: bigint,
103
- b32_s: bigint,
104
- a64_s: bigint,
105
- b64_s: bigint
106
- ] & {
107
- a8_s: bigint;
108
- b8_s: bigint;
109
- a16_s: bigint;
110
- b16_s: bigint;
111
- a32_s: bigint;
112
- b32_s: bigint;
113
- a64_s: bigint;
114
- b64_s: bigint;
115
- };
116
- }
117
-
118
- export interface ArithmeticTestsContractInterface extends Interface {
119
- getFunction(
120
- nameOrSignature:
121
- | "checkedAddWithOverflowBitTest"
122
- | "checkedMulWithOverflowBitTest"
123
- | "checkedSubWithOverflowBitTest"
124
- | "decryptAndCompareResults16"
125
- | "decryptAndCompareResults32"
126
- | "decryptAndCompareResults64"
127
- | "getAddResult"
128
- | "getMulResult"
129
- | "getSubResult"
130
- | "setPublicValues"
131
- ): FunctionFragment;
132
-
133
- encodeFunctionData(
134
- functionFragment: "checkedAddWithOverflowBitTest",
135
- values: [BigNumberish, BigNumberish]
136
- ): string;
137
- encodeFunctionData(
138
- functionFragment: "checkedMulWithOverflowBitTest",
139
- values: [BigNumberish, BigNumberish]
140
- ): string;
141
- encodeFunctionData(
142
- functionFragment: "checkedSubWithOverflowBitTest",
143
- values: [BigNumberish, BigNumberish]
144
- ): string;
145
- encodeFunctionData(
146
- functionFragment: "decryptAndCompareResults16",
147
- values: [ArithmeticTestsContract.Check16Struct]
148
- ): string;
149
- encodeFunctionData(
150
- functionFragment: "decryptAndCompareResults32",
151
- values: [ArithmeticTestsContract.Check32Struct]
152
- ): string;
153
- encodeFunctionData(
154
- functionFragment: "decryptAndCompareResults64",
155
- values: [ArithmeticTestsContract.Check64Struct]
156
- ): string;
157
- encodeFunctionData(
158
- functionFragment: "getAddResult",
159
- values?: undefined
160
- ): string;
161
- encodeFunctionData(
162
- functionFragment: "getMulResult",
163
- values?: undefined
164
- ): string;
165
- encodeFunctionData(
166
- functionFragment: "getSubResult",
167
- values?: undefined
168
- ): string;
169
- encodeFunctionData(
170
- functionFragment: "setPublicValues",
171
- values: [
172
- ArithmeticTestsContract.AllGTCastingValuesStruct,
173
- BigNumberish,
174
- BigNumberish
175
- ]
176
- ): string;
177
-
178
- decodeFunctionResult(
179
- functionFragment: "checkedAddWithOverflowBitTest",
180
- data: BytesLike
181
- ): Result;
182
- decodeFunctionResult(
183
- functionFragment: "checkedMulWithOverflowBitTest",
184
- data: BytesLike
185
- ): Result;
186
- decodeFunctionResult(
187
- functionFragment: "checkedSubWithOverflowBitTest",
188
- data: BytesLike
189
- ): Result;
190
- decodeFunctionResult(
191
- functionFragment: "decryptAndCompareResults16",
192
- data: BytesLike
193
- ): Result;
194
- decodeFunctionResult(
195
- functionFragment: "decryptAndCompareResults32",
196
- data: BytesLike
197
- ): Result;
198
- decodeFunctionResult(
199
- functionFragment: "decryptAndCompareResults64",
200
- data: BytesLike
201
- ): Result;
202
- decodeFunctionResult(
203
- functionFragment: "getAddResult",
204
- data: BytesLike
205
- ): Result;
206
- decodeFunctionResult(
207
- functionFragment: "getMulResult",
208
- data: BytesLike
209
- ): Result;
210
- decodeFunctionResult(
211
- functionFragment: "getSubResult",
212
- data: BytesLike
213
- ): Result;
214
- decodeFunctionResult(
215
- functionFragment: "setPublicValues",
216
- data: BytesLike
217
- ): Result;
218
- }
219
-
220
- export interface ArithmeticTestsContract extends BaseContract {
221
- connect(runner?: ContractRunner | null): ArithmeticTestsContract;
222
- waitForDeployment(): Promise<this>;
223
-
224
- interface: ArithmeticTestsContractInterface;
225
-
226
- queryFilter<TCEvent extends TypedContractEvent>(
227
- event: TCEvent,
228
- fromBlockOrBlockhash?: string | number | undefined,
229
- toBlock?: string | number | undefined
230
- ): Promise<Array<TypedEventLog<TCEvent>>>;
231
- queryFilter<TCEvent extends TypedContractEvent>(
232
- filter: TypedDeferredTopicFilter<TCEvent>,
233
- fromBlockOrBlockhash?: string | number | undefined,
234
- toBlock?: string | number | undefined
235
- ): Promise<Array<TypedEventLog<TCEvent>>>;
236
-
237
- on<TCEvent extends TypedContractEvent>(
238
- event: TCEvent,
239
- listener: TypedListener<TCEvent>
240
- ): Promise<this>;
241
- on<TCEvent extends TypedContractEvent>(
242
- filter: TypedDeferredTopicFilter<TCEvent>,
243
- listener: TypedListener<TCEvent>
244
- ): Promise<this>;
245
-
246
- once<TCEvent extends TypedContractEvent>(
247
- event: TCEvent,
248
- listener: TypedListener<TCEvent>
249
- ): Promise<this>;
250
- once<TCEvent extends TypedContractEvent>(
251
- filter: TypedDeferredTopicFilter<TCEvent>,
252
- listener: TypedListener<TCEvent>
253
- ): Promise<this>;
254
-
255
- listeners<TCEvent extends TypedContractEvent>(
256
- event: TCEvent
257
- ): Promise<Array<TypedListener<TCEvent>>>;
258
- listeners(eventName?: string): Promise<Array<Listener>>;
259
- removeAllListeners<TCEvent extends TypedContractEvent>(
260
- event?: TCEvent
261
- ): Promise<this>;
262
-
263
- checkedAddWithOverflowBitTest: TypedContractMethod<
264
- [a: BigNumberish, b: BigNumberish],
265
- [bigint],
266
- "nonpayable"
267
- >;
268
-
269
- checkedMulWithOverflowBitTest: TypedContractMethod<
270
- [a: BigNumberish, b: BigNumberish],
271
- [bigint],
272
- "nonpayable"
273
- >;
274
-
275
- checkedSubWithOverflowBitTest: TypedContractMethod<
276
- [a: BigNumberish, b: BigNumberish],
277
- [bigint],
278
- "nonpayable"
279
- >;
280
-
281
- decryptAndCompareResults16: TypedContractMethod<
282
- [check16: ArithmeticTestsContract.Check16Struct],
283
- [bigint],
284
- "nonpayable"
285
- >;
286
-
287
- decryptAndCompareResults32: TypedContractMethod<
288
- [check32: ArithmeticTestsContract.Check32Struct],
289
- [bigint],
290
- "nonpayable"
291
- >;
292
-
293
- decryptAndCompareResults64: TypedContractMethod<
294
- [check64: ArithmeticTestsContract.Check64Struct],
295
- [bigint],
296
- "nonpayable"
297
- >;
298
-
299
- getAddResult: TypedContractMethod<[], [bigint], "view">;
300
-
301
- getMulResult: TypedContractMethod<[], [bigint], "view">;
302
-
303
- getSubResult: TypedContractMethod<[], [bigint], "view">;
304
-
305
- setPublicValues: TypedContractMethod<
306
- [
307
- castingValues: ArithmeticTestsContract.AllGTCastingValuesStruct,
308
- a: BigNumberish,
309
- b: BigNumberish
310
- ],
311
- [void],
312
- "nonpayable"
313
- >;
314
-
315
- getFunction<T extends ContractMethod = ContractMethod>(
316
- key: string | FunctionFragment
317
- ): T;
318
-
319
- getFunction(
320
- nameOrSignature: "checkedAddWithOverflowBitTest"
321
- ): TypedContractMethod<
322
- [a: BigNumberish, b: BigNumberish],
323
- [bigint],
324
- "nonpayable"
325
- >;
326
- getFunction(
327
- nameOrSignature: "checkedMulWithOverflowBitTest"
328
- ): TypedContractMethod<
329
- [a: BigNumberish, b: BigNumberish],
330
- [bigint],
331
- "nonpayable"
332
- >;
333
- getFunction(
334
- nameOrSignature: "checkedSubWithOverflowBitTest"
335
- ): TypedContractMethod<
336
- [a: BigNumberish, b: BigNumberish],
337
- [bigint],
338
- "nonpayable"
339
- >;
340
- getFunction(
341
- nameOrSignature: "decryptAndCompareResults16"
342
- ): TypedContractMethod<
343
- [check16: ArithmeticTestsContract.Check16Struct],
344
- [bigint],
345
- "nonpayable"
346
- >;
347
- getFunction(
348
- nameOrSignature: "decryptAndCompareResults32"
349
- ): TypedContractMethod<
350
- [check32: ArithmeticTestsContract.Check32Struct],
351
- [bigint],
352
- "nonpayable"
353
- >;
354
- getFunction(
355
- nameOrSignature: "decryptAndCompareResults64"
356
- ): TypedContractMethod<
357
- [check64: ArithmeticTestsContract.Check64Struct],
358
- [bigint],
359
- "nonpayable"
360
- >;
361
- getFunction(
362
- nameOrSignature: "getAddResult"
363
- ): TypedContractMethod<[], [bigint], "view">;
364
- getFunction(
365
- nameOrSignature: "getMulResult"
366
- ): TypedContractMethod<[], [bigint], "view">;
367
- getFunction(
368
- nameOrSignature: "getSubResult"
369
- ): TypedContractMethod<[], [bigint], "view">;
370
- getFunction(
371
- nameOrSignature: "setPublicValues"
372
- ): TypedContractMethod<
373
- [
374
- castingValues: ArithmeticTestsContract.AllGTCastingValuesStruct,
375
- a: BigNumberish,
376
- b: BigNumberish
377
- ],
378
- [void],
379
- "nonpayable"
380
- >;
381
-
382
- filters: {};
383
- }
@@ -1,4 +0,0 @@
1
- /* Autogenerated file. Do not edit manually. */
2
- /* tslint:disable */
3
- /* eslint-disable */
4
- export type { ArithmeticTestsContract } from "./ArithmeticTestsContract";