@sablier/flow
Version:
Flow smart contracts of the Sablier token distribution protocol
1 lines • 322 kB
JSON
{"abi":[{"type":"constructor","inputs":[{"name":"initialAdmin","type":"address","internalType":"address"},{"name":"initialNFTDescriptor","type":"address","internalType":"contract IFlowNFTDescriptor"}],"stateMutability":"nonpayable"},{"type":"function","name":"MAX_FEE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"UD60x18"}],"stateMutability":"view"},{"type":"function","name":"adjustRatePerSecond","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"newRatePerSecond","type":"uint128","internalType":"UD21x18"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"aggregateBalance","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"batch","inputs":[{"name":"calls","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"results","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"payable"},{"type":"function","name":"collectFees","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"collectProtocolRevenue","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"coveredDebtOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"coveredDebt","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"create","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"ratePerSecond","type":"uint128","internalType":"UD21x18"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"transferable","type":"bool","internalType":"bool"}],"outputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"createAndDeposit","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"ratePerSecond","type":"uint128","internalType":"UD21x18"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"transferable","type":"bool","internalType":"bool"},{"name":"amount","type":"uint128","internalType":"uint128"}],"outputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"stateMutability":"payable"},{"type":"function","name":"depletionTimeOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depletionTime","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"sender","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositAndPause","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"depositViaBroker","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"totalAmount","type":"uint128","internalType":"uint128"},{"name":"sender","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"broker","type":"tuple","internalType":"struct Broker","components":[{"name":"account","type":"address","internalType":"address"},{"name":"fee","type":"uint256","internalType":"UD60x18"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"getApproved","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getBalance","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"balance","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"getRatePerSecond","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ratePerSecond","type":"uint128","internalType":"UD21x18"}],"stateMutability":"view"},{"type":"function","name":"getRecipient","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"recipient","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSender","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"sender","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getSnapshotDebtScaled","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"snapshotDebtScaled","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSnapshotTime","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"snapshotTime","type":"uint40","internalType":"uint40"}],"stateMutability":"view"},{"type":"function","name":"getStream","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stream","type":"tuple","internalType":"struct Flow.Stream","components":[{"name":"balance","type":"uint128","internalType":"uint128"},{"name":"ratePerSecond","type":"uint128","internalType":"UD21x18"},{"name":"sender","type":"address","internalType":"address"},{"name":"snapshotTime","type":"uint40","internalType":"uint40"},{"name":"isStream","type":"bool","internalType":"bool"},{"name":"isTransferable","type":"bool","internalType":"bool"},{"name":"isVoided","type":"bool","internalType":"bool"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"tokenDecimals","type":"uint8","internalType":"uint8"},{"name":"snapshotDebtScaled","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getToken","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"token","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"getTokenDecimals","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"tokenDecimals","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"isApprovedForAll","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"operator","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isPaused","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isStream","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isTransferable","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isVoided","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nextStreamId","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nftDescriptor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IFlowNFTDescriptor"}],"stateMutability":"view"},{"type":"function","name":"ongoingDebtScaledOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"ongoingDebtScaled","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"pause","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"protocolFee","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"fee","type":"uint256","internalType":"UD60x18"}],"stateMutability":"view"},{"type":"function","name":"protocolRevenue","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"revenue","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"recover","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"to","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"refund","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"refundAndPause","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"refundMax","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"refundableAmountOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"refundableAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"function","name":"restart","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"ratePerSecond","type":"uint128","internalType":"UD21x18"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"restartAndDeposit","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"ratePerSecond","type":"uint128","internalType":"UD21x18"},{"name":"amount","type":"uint128","internalType":"uint128"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setApprovalForAll","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"approved","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setNFTDescriptor","inputs":[{"name":"newNFTDescriptor","type":"address","internalType":"contract IFlowNFTDescriptor"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setProtocolFee","inputs":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"newProtocolFee","type":"uint256","internalType":"UD60x18"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"statusOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"status","type":"uint8","internalType":"enum Flow.Status"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"tokenURI","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"uri","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalDebtOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"totalDebt","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferAdmin","inputs":[{"name":"newAdmin","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"uncoveredDebtOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"uncoveredDebt","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"void","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"withdraw","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint128","internalType":"uint128"}],"outputs":[{"name":"withdrawnAmount","type":"uint128","internalType":"uint128"},{"name":"protocolFeeAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"payable"},{"type":"function","name":"withdrawMax","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"to","type":"address","internalType":"address"}],"outputs":[{"name":"withdrawnAmount","type":"uint128","internalType":"uint128"},{"name":"protocolFeeAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"payable"},{"type":"function","name":"withdrawableAmountOf","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawableAmount","type":"uint128","internalType":"uint128"}],"stateMutability":"view"},{"type":"event","name":"AdjustFlowStream","inputs":[{"name":"streamId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"totalDebt","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"oldRatePerSecond","type":"uint128","indexed":false,"internalType":"UD21x18"},{"name":"newRatePerSecond","type":"uint128","indexed":false,"internalType":"UD21x18"}],"anonymous":false},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"BatchMetadataUpdate","inputs":[{"name":"_fromTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"_toTokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollectFees","inputs":[{"name":"admin","type":"address","indexed":true,"internalType":"address"},{"name":"feeAmount","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"CollectProtocolRevenue","inputs":[{"name":"admin","type":"address","indexed":true,"internalType":"address"},{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"revenue","type":"uint128","indexed":false,"internalType":"uint128"}],"anonymous":false},{"type":"event","name":"CreateFlowStream","inputs":[{"name":"streamId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"ratePerSecond","type":"uint128","indexed":false,"internalType":"UD21x18"},{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"transferable","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"DepositFlowStream","inputs":[{"name":"streamId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"funder","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint128","indexed":false,"internalType":"uint128"}],"anonymous":false},{"type":"event","name":"MetadataUpdate","inputs":[{"name":"_tokenId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"PauseFlowStream","inputs":[{"name":"streamId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"totalDebt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Recover","inputs":[{"name":"admin","type":"address","indexed":true,"internalType":"address"},{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"to","type":"address","indexed":false,"internalType":"address"},{"name":"surplus","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RefundFromFlowStream","inputs":[{"name":"streamId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint128","indexed":false,"internalType":"uint128"}],"anonymous":false},{"type":"event","name":"RestartFlowStream","inputs":[{"name":"streamId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"ratePerSecond","type":"uint128","indexed":false,"internalType":"UD21x18"}],"anonymous":false},{"type":"event","name":"SetNFTDescriptor","inputs":[{"name":"admin","type":"address","indexed":true,"internalType":"address"},{"name":"oldNFTDescriptor","type":"address","indexed":false,"internalType":"contract IFlowNFTDescriptor"},{"name":"newNFTDescriptor","type":"address","indexed":false,"internalType":"contract IFlowNFTDescriptor"}],"anonymous":false},{"type":"event","name":"SetProtocolFee","inputs":[{"name":"admin","type":"address","indexed":true,"internalType":"address"},{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"oldProtocolFee","type":"uint256","indexed":false,"internalType":"UD60x18"},{"name":"newProtocolFee","type":"uint256","indexed":false,"internalType":"UD60x18"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"TransferAdmin","inputs":[{"name":"oldAdmin","type":"address","indexed":true,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"VoidFlowStream","inputs":[{"name":"streamId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"caller","type":"address","indexed":false,"internalType":"address"},{"name":"newTotalDebt","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"writtenOffDebt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"WithdrawFromFlowStream","inputs":[{"name":"streamId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"token","type":"address","indexed":true,"internalType":"contract IERC20"},{"name":"caller","type":"address","indexed":false,"internalType":"address"},{"name":"withdrawAmount","type":"uint128","indexed":false,"internalType":"uint128"},{"name":"protocolFeeAmount","type":"uint128","indexed":false,"internalType":"uint128"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AddressInsufficientBalance","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"CallerNotAdmin","inputs":[{"name":"admin","type":"address","internalType":"address"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"DelegateCall","inputs":[]},{"type":"error","name":"ERC721IncorrectOwner","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InsufficientApproval","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC721InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOperator","inputs":[{"name":"operator","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC721NonexistentToken","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"FailedInnerCall","inputs":[]},{"type":"error","name":"PRBMath_MulDiv18_Overflow","inputs":[{"name":"x","type":"uint256","internalType":"uint256"},{"name":"y","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PRBMath_UD60x18_IntoUint128_Overflow","inputs":[{"name":"x","type":"uint256","internalType":"UD60x18"}]},{"type":"error","name":"SablierFlowBase_FeeTransferFail","inputs":[{"name":"admin","type":"address","internalType":"address"},{"name":"feeAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlowBase_NoProtocolRevenue","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SablierFlowBase_NotTransferable","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlowBase_ProtocolFeeTooHigh","inputs":[{"name":"newProtocolFee","type":"uint256","internalType":"UD60x18"},{"name":"maxFee","type":"uint256","internalType":"UD60x18"}]},{"type":"error","name":"SablierFlowBase_SurplusZero","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SablierFlow_BrokerAddressZero","inputs":[]},{"type":"error","name":"SablierFlow_BrokerFeeTooHigh","inputs":[{"name":"brokerFee","type":"uint256","internalType":"UD60x18"},{"name":"maxFee","type":"uint256","internalType":"UD60x18"}]},{"type":"error","name":"SablierFlow_DepositAmountZero","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlow_InvalidCalculation","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"availableAmount","type":"uint128","internalType":"uint128"},{"name":"amount","type":"uint128","internalType":"uint128"}]},{"type":"error","name":"SablierFlow_InvalidTokenDecimals","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SablierFlow_NotStreamRecipient","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"streamRecipient","type":"address","internalType":"address"}]},{"type":"error","name":"SablierFlow_NotStreamSender","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"streamSender","type":"address","internalType":"address"}]},{"type":"error","name":"SablierFlow_Null","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlow_Overdraw","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"amount","type":"uint128","internalType":"uint128"},{"name":"withdrawableAmount","type":"uint128","internalType":"uint128"}]},{"type":"error","name":"SablierFlow_RatePerSecondNotDifferent","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"ratePerSecond","type":"uint128","internalType":"UD21x18"}]},{"type":"error","name":"SablierFlow_RefundAmountZero","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlow_RefundOverflow","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"refundAmount","type":"uint128","internalType":"uint128"},{"name":"refundableAmount","type":"uint128","internalType":"uint128"}]},{"type":"error","name":"SablierFlow_SenderZeroAddress","inputs":[]},{"type":"error","name":"SablierFlow_StreamBalanceZero","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlow_StreamNotPaused","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlow_StreamPaused","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlow_StreamVoided","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlow_Unauthorized","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"SablierFlow_WithdrawAmountZero","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlow_WithdrawToZeroAddress","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierFlow_WithdrawalAddressNotRecipient","inputs":[{"name":"streamId","type":"uint256","internalType":"uint256"},{"name":"caller","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"}]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60a0604052346103a95761543c6040813803918261001c816103ad565b9384928339810103126103a95780516001600160a01b03811691908290036103a957602001516001600160a01b038116908190036103a95761005e60406103ad565b91601083526f14d8589b1a595c88119b1bddc813919560821b602084015261008660406103ad565b60088152675341422d464c4f5760c01b60208201523060805283519092906001600160401b0381116102ba57600154600181811c9116801561039f575b602082101461029c57601f811161033c575b50602094601f82116001146102d9579481929394955f926102ce575b50508160011b915f199060031b1c1916176001555b82516001600160401b0381116102ba57600254600181811c911680156102b0575b602082101461029c57601f8111610239575b506020601f82116001146101d657819293945f926101cb575b50508160011b915f199060031b1c1916176002555b60016008555f80546001600160a01b031990811684178255600980549091169290921790915560405191907fbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf808180a361506990816103d382396080518161369c0152f35b015190505f80610152565b601f1982169060025f52805f20915f5b81811061022157509583600195969710610209575b505050811b01600255610167565b01515f1960f88460031b161c191690555f80806101fb565b9192602060018192868b0151815501940192016101e6565b60025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace601f830160051c81019160208410610292575b601f0160051c01905b8181106102875750610139565b5f815560010161027a565b9091508190610271565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610127565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100f1565b601f1982169560015f52805f20915f5b8881106103245750836001959697981061030c575b505050811b01600155610106565b01515f1960f88460031b161c191690555f80806102fe565b919260206001819286850151815501940192016102e9565b60015f527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f830160051c81019160208410610395575b601f0160051c01905b81811061038a57506100d5565b5f815560010161037d565b9091508190610374565b90607f16906100c3565b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176102ba5760405256fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146103ff57806306fdde03146103fa578063081812fc146103f557806308b87923146103f0578063095ea7b3146103eb5780630c5fd195146103e65780630c699624146103e1578063136439dd146103dc5780631400ecec146103d75780631e010439146103d25780631e897afb146103cd5780631e99d569146103c85780631f0cce58146103c357806323b872dd146103be578063379d871a146103b957806342842e0e146103b457806342e3e23d146102fb57806344267570146103af578063450ac908146103aa578063569f4c59146103a5578063597150fa146103a05780635ea2145b1461039b5780635f553152146103965780636352211e14610391578063648bf7741461038c5780636d0cee751461038757806370a082311461038257806375829def1461037d5780637cad6cd1146103785780637ddf92281461037357806380448da31461036e57806381632a8614610369578063894e9a0d1461036457806395d89b411461035f578063a22cb4651461035a578063a7de07cd14610355578063a8a482a614610350578063ad35efd41461034b578063b256456914610346578063b5b3ca2c14610341578063b61f75831461033c578063b62b31e414610337578063b88d4fde14610332578063b8a3be661461032d578063b971302a14610328578063bc063e1a14610323578063bc7a2d6c1461031e578063bcbd019e14610319578063bdf2a43c14610314578063c2f8e7501461030f578063c87965721461030a578063c87b56dd14610305578063d4b8088414610300578063d975dfed146102fb578063e4b50cb8146102f6578063e985e9c5146102f1578063ea5ead19146102ec578063eb5710d8146102e7578063ebb6f79a146102e2578063f851a440146102dd578063fbf2777e146102d8578063fdd46d60146102d35763ffe3d9f8146102ce575f80fd5b612e06565b612d8c565b612d26565b612d01565b612c30565b612bcb565b612b25565b612abf565b612a59565b611011565b612a09565b61290a565b61286d565b612691565b61263a565b61259a565b612562565b612540565b6124da565b6124a5565b612415565b6122e1565b6121e5565b6120db565b61207f565b612001565b611ef7565b611e9a565b611da8565b611cf3565b611a93565b611a08565b6119a2565b61196a565b611884565b6117fa565b61178c565b611729565b61159b565b611558565b61151c565b61118b565b611127565b6110c1565b61106f565b611049565b610fe8565b610eb7565b610ea0565b610d30565b610cf9565b610bd7565b610ae5565b610a8f565b6109d1565b610912565b6108c4565b610788565b610709565b6106da565b6105b0565b610432565b7fffffffff0000000000000000000000000000000000000000000000000000000081160361042e57565b5f80fd5b3461042e57602060031936011261042e577fffffffff0000000000000000000000000000000000000000000000000000000060043561047081610404565b167f490649060000000000000000000000000000000000000000000000000000000081149081156104aa575b506040519015158152602090f35b7f80ac58cd0000000000000000000000000000000000000000000000000000000081149150811561050e575b81156104e4575b505f61049c565b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150145f6104dd565b7f5b5e139f00000000000000000000000000000000000000000000000000000000811491506104d6565b5f5b8381106105495750505f910152565b818101518382015260200161053a565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209361059581518092818752878088019101610538565b0116010190565b9060206105ad928181520190610559565b90565b3461042e575f60031936011261042e576040515f6001548060011c90600181169081156106d0575b6020831082146106a357828552602085019190811561066c575060011461061a575b6106168461060a81860382612388565b6040519182918261059c565b0390f35b60015f9081529250907fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8184106106585750500161060a826105fa565b805484840152602090930192600101610645565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682525090151560051b01905061060a826105fa565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916105d8565b3461042e57602060031936011261042e5760206106f8600435612f58565b6001600160a01b0360405191168152f35b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c5761074190613651565b604051908152602090f35b7fe21c1431000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6001600160a01b0381160361042e57565b3461042e57604060031936011261042e576004356107a581610777565b602435906107b282613605565b331515806108b1575b80610871575b61084257826108409361080d926001600160a01b0380861691167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a45f52600560205260405f2090565b906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b005b7fa9fbf51f000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b5ffd5b5060ff6108a933610893846001600160a01b03165f52600660205260405f2090565b906001600160a01b03165f5260205260405f2090565b5416156107c1565b50336001600160a01b03821614156107bb565b3461042e57602060031936011261042e576001600160a01b036004356108e981610777565b165f52600b60205260206fffffffffffffffffffffffffffffffff60405f205416604051908152f35b602060031936011261042e57600435610929613692565b805f52600c60205260ff600160405f20015460c81c161561074c57805f52600c6020526001600160a01b03600160405f2001541633036109a2576020816109996109937ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79461371e565b82613750565b604051908152a1005b7fa9ad2a22000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b602060031936011261042e576004356109e8613692565b805f52600c60205260ff600160405f20015460c81c161561074c57805f52600c60205260405f205460801c15610a6457805f52600c6020526001600160a01b03600160405f2001541633036109a2576020816109997ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79361398a565b7f167274c9000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c57610ac79061371e565b6040516fffffffffffffffffffffffffffffffff9091168152602090f35b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c575f52600c6020526106166fffffffffffffffffffffffffffffffff60405f205416604051918291829190916fffffffffffffffffffffffffffffffff6020820193169052565b602081016020825282518091526040820191602060408360051b8301019401925f915b838310610b8c57505050505090565b9091929394602080610bc8837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc086600196030187528951610559565b97019301930191939290610b7d565b602060031936011261042e5760043567ffffffffffffffff811161042e573660238201121561042e5780600401359067ffffffffffffffff821161042e576024810190602436918460051b01011161042e57610c3282612f7a565b91610c406040519384612388565b8083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610c6d82612f7a565b015f5b818110610ce85750505f5b818110610c9057604051806106168682610b5a565b5f80610c9d838587612fbf565b90610cad60405180938193613024565b0390305af4610cba613031565b9015610ce05790600191610cce8287613060565b52610cd98186613060565b5001610c7b565b805190602001fd5b806060602080938801015201610c70565b3461042e575f60031936011261042e576020600854604051908152f35b6fffffffffffffffffffffffffffffffff81160361042e57565b606060031936011261042e57600435602435610d4b81610d16565b60443590610d5882610d16565b610d60613692565b825f52600c60205260ff600160405f20015460c81c1615610e4857825f52600c60205260ff600160405f20015460d81c16610e1c57825f52600c6020526001600160a01b03600160405f200154163303610dec5791610999602092610de67ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79584613aa5565b82613b32565b827fa9ad2a22000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b827f7354d5f1000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b827fe21c1431000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b600319606091011261042e57600435610e8c81610777565b90602435610e9981610777565b9060443590565b3461042e57610840610eb136610e74565b91613074565b604060031936011261042e57600435602435610ed281610d16565b610eda613692565b815f52600c60205260ff600160405f20015460c81c1615610fbc57815f52600c60205260405f205460801c15610f9057815f52600c6020526001600160a01b03600160405f200154163303610f605781610f576020927ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce794613750565b6109998161398a565b507fa9ad2a22000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b507f167274c9000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b507fe21c1431000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b3461042e57610840610ff936610e74565b9060405192611009602085612388565b5f84526132e0565b3461042e57602060031936011261042e57602061102f6004356131ab565b6fffffffffffffffffffffffffffffffff60405191168152f35b3461042e575f60031936011261042e5760206001600160a01b0360095416604051908152f35b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c575f52600c602052610616600360405f200154604051918291829190602083019252565b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c575f52600c60205261061660ff600160405f20015460d81c1660405191829182919091602081019215159052565b8015150361042e57565b60a060031936011261042e57602061118360043561114481610777565b60243561115081610777565b60443561115c81610d16565b6064359161116983610777565b608435936111768561111d565b61117e613692565b613fcc565b604051908152f35b602060031936011261042e576004356111a2613692565b805f52600c60205260ff600160405f20015460c81c161561074c57805f52600c60205260ff600160405f20015460d81c166114f15761120b6111ff60016111f1845f52600c60205260405f2090565b01546001600160a01b031690565b6001600160a01b031690565b331415806114db575b6109a25761142b816112467ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce793614367565b806114585761125482614227565b80611430575b505b6112c664ffffffffff4216600161127b855f52600c60205260405f2090565b01907fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff78ffffffffff000000000000000000000000000000000000000083549260a01b169116179055565b61131d5f6112dc845f52600c60205260405f2090565b906fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b61137b6001611334845f52600c60205260405f2090565b017b010000000000000000000000000000000000000000000000000000007fffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffff825416179055565b61139260016111f1845f52600c60205260405f2090565b90827fa8e3d71a6c0c719305004b430f6d17f12536f7b803db23a4d7016f5b52699a8c6001600160a01b036113df6113d2845f52600360205260405f2090565b546001600160a01b031690565b6114186113eb85613651565b95836040519485941698169633846040919493926001600160a01b03606083019616825260208201520152565b0390a46040519081529081906020820190565b0390a1005b6114506003611447855f52600c60205260405f2090565b01918254613458565b90555f61125a565b6114c0611486611470845f52600c60205260405f2090565b546fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff6114b960026114ae875f52600c60205260405f2090565b015460a01c60ff1690565b911661451b565b60036114d4845f52600c60205260405f2090565b015561125c565b506114ec6114e882614d74565b1590565b611214565b7f7354d5f1000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b3461042e57602060031936011261042e576001600160a01b0360043561154181610777565b165f526007602052602060405f2054604051908152f35b3461042e57602060031936011261042e5760206106f8600435613605565b600319604091011261042e5760043561158e81610777565b906024356105ad81610777565b3461042e576115a936611576565b6001600160a01b035f54163381036116fa57506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b0383169290602081602481875afa80156116f557611631915f916116c6575b5061162a836001600160a01b03165f52600760205260405f2090565b5490613248565b90811561169157816116687f21252411d5a999da4bc6a490f7143b61ba690edceb4577a2800eab8dfbb1e92c938561168c946141cd565b604051918291339583602090939291936001600160a01b0360408201951681520152565b0390a3005b7ff4c3afcf000000000000000000000000000000000000000000000000000000005f526001600160a01b03841660045260245ffd5b6116e8915060203d6020116116ee575b6116e08183612388565b8101906131cf565b5f61160e565b503d6116d6565b6131de565b7fc6cce6a4000000000000000000000000000000000000000000000000000000005f526004523360245260445ffd5b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c575f5260036020526106166001600160a01b0360405f205416604051918291829190916001600160a01b036020820193169052565b3461042e57602060031936011261042e576001600160a01b036004356117b181610777565b1680156117ce575f526004602052602060405f2054604051908152f35b7f89c62b64000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461042e57602060031936011261042e5760043561181781610777565b5f546001600160a01b0381163381036116fa57506001600160a01b037fffffffffffffffffffffffff0000000000000000000000000000000000000000921691829116175f55337fbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf805f80a3005b3461042e57602060031936011261042e576004356118a181610777565b6001600160a01b035f54163381036116fa57506001600160a01b036009549116807fffffffffffffffffffffffff00000000000000000000000000000000000000008316176009556001600160a01b036040519216825260208201527fa2548bd4b805e907c1558a47b5858324fe8bb4a2e1ddfca647eecbf65610eebc60403392a27f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c61142b611952600854613216565b60405191829182919060206040840193600181520152565b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c5761074190614227565b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c575f52600c60205261061660405f205460801c604051918291829190916fffffffffffffffffffffffffffffffff6020820193169052565b604060031936011261042e57600435602435611a2381610d16565b611a2b613692565b815f52600c60205260ff600160405f20015460c81c1615610fbc57815f52600c6020526001600160a01b03600160405f200154163303610f6057816109996020927ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce794613750565b3461042e57602060031936011261042e576004355f610120604051611ab78161234a565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201520152805f52600c60205260ff600160405f20015460c81c161561074c575f52600c60205261061660405f206003611b206123c9565b91611b7a611b618254611b5b611b45826fffffffffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff168752565b60801c90565b6fffffffffffffffffffffffffffffffff166020850152565b611bf3611bea6001830154611ba8611b98826001600160a01b031690565b6001600160a01b03166040880152565b64ffffffffff60a082901c166060870152611bcd60c882901c60ff1615156080880152565b611be160d082901c60ff16151560a0880152565b60d81c60ff1690565b151560c0850152565b611c35611c2a6002830154611c21611c11826001600160a01b031690565b6001600160a01b031660e0880152565b60a01c60ff1690565b60ff16610100850152565b01546101208201526040519182918281516fffffffffffffffffffffffffffffffff168152610140810192916101209081906020818101516fffffffffffffffffffffffffffffffff16908501526040818101516001600160a01b03169085015260608181015164ffffffffff169085015260808181015115159085015260a08181015115159085015260c08181015115159085015260e0818101516001600160a01b0316908501526101008181015160ff16908501520151910152565b3461042e575f60031936011261042e576040515f6002548060011c9060018116908115611d9e575b6020831082146106a357828552602085019190811561066c5750600114611d4c576106168461060a81860382612388565b60025f9081529250907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818410611d8a5750500161060a826105fa565b805484840152602090930192600101611d77565b91607f1691611d1b565b3461042e57604060031936011261042e57600435611dc581610777565b602435611dd18161111d565b6001600160a01b038216918215611e6e57611e0890335f52600660205260405f20906001600160a01b03165f5260205260405f2090565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff831515161790557f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c316040518061168c339482919091602081019215159052565b827f5b08ba18000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c575f52600c60205261061660ff600260405f20015460a01c166040519182918291909160ff6020820193169052565b604060031936011261042e57600435602435611f1281610d16565b611f1a613692565b815f52600c60205260ff600160405f20015460c81c1615610fbc57815f52600c60205260405f205460801c15610f9057815f52600c6020526001600160a01b03600160405f200154163303610f605781807ffddf01d0842635e80929251f6862b3baf136a29f2b2fb148968e8b236d5785fe60606020947ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7965f52600c86526fffffffffffffffffffffffffffffffff60405f205460801c91611fdd8187614275565b611fe686613651565b9260405193845288840152166040820152a2604051908152a1005b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c5761203990613255565b6040519060208201600582101561205257829182520390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c575f52600c60205261061660ff600160405f20015460d01c1660405191829182919091602081019215159052565b3461042e57604060031936011261042e576004356120f881610777565b602435906001600160a01b035f54163381036116fa575067016345785d8a000082116121ad576001600160a01b03165f818152600a60205260409020805491927f371789a3d97098f3070492613273a065a7e8a19e009fd1ae92a4b4d4c71ed62d9161217b91908190556040805194855260208501919091523393918291820190565b0390a37f6bd5c950a8d8df17f772f5af37cb3655737899cbf903264b9795592da439661c61142b611952600854613216565b507f34553172000000000000000000000000000000000000000000000000000000005f5260045267016345785d8a000060245260445ffd5b608060031936011261042e5760043560243561220081610d16565b60443561220c81610777565b6064359061221982610777565b612221613692565b835f52600c60205260ff600160405f20015460c81c16156122b557835f52600c60205260ff600160405f20015460d81c1661228957602092610de68593610999937ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7976143a4565b837f7354d5f1000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b837fe21c1431000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b3461042e57602060031936011261042e576001600160a01b0360043561230681610777565b165f52600a602052602060405f2054604051908152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610140810190811067ffffffffffffffff82111761236757604052565b61231d565b6040810190811067ffffffffffffffff82111761236757604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761236757604052565b604051906123d961014083612388565b565b67ffffffffffffffff811161236757601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3461042e57608060031936011261042e5760043561243281610777565b6024359061243f82610777565b6044356064359267ffffffffffffffff841161042e573660238501121561042e5783600401359261246f846123db565b9361247d6040519586612388565b808552366024828801011161042e576020815f926024610840990183890137860101526132e0565b3461042e57602060031936011261042e576004355f52600c602052602060ff600160405f20015460c81c166040519015158152f35b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c575f52600c6020526106166001600160a01b03600160405f20015416604051918291829190916001600160a01b036020820193169052565b3461042e575f60031936011261042e57602060405167016345785d8a00008152f35b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c5761074190614367565b604060031936011261042e576004356024356125b581610d16565b6125bd613692565b815f52600c60205260ff600160405f20015460c81c1615610fbc57815f52600c60205260405f205460801c15610f9057815f52600c6020526001600160a01b03600160405f200154163303610f605781610f576020927ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce794613b32565b3461042e57602060031936011261042e57600435805f52600c60205260ff600160405f20015460c81c161561074c575f52600c60205261061660405f205460801c156