From e8407596b040fdc980d69d578396bf4cd713998a Mon Sep 17 00:00:00 2001 From: kinrezc Date: Wed, 12 Jun 2024 18:32:35 -0400 Subject: [PATCH 01/17] liquidity manager with sy -> LP flow --- src/LiquidityManager.sol | 85 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/LiquidityManager.sol diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol new file mode 100644 index 0000000..636f6de --- /dev/null +++ b/src/LiquidityManager.sol @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +pragma solidity ^0.8.13; + +import { RMM } from "./RMM.sol"; +import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; +import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; +import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; + +import "./lib/RmmErrors.sol"; + +contract LiquidityManager { + using PYIndexLib for PYIndex; + using FixedPointMathLib for uint256; + + function mintSY(address SY, address receiver, address tokenIn, uint256 amountTokenToDeposit, uint256 minSharesOut) + public + payable + returns (uint256 amountOut) + { + return _mintSYFromNativeAndToken(SY, receiver, tokenIn, amountTokenToDeposit, minSharesOut); + } + + function _mintSYFromNativeAndToken(address SY, address receiver, address tokenIn, uint256 amountTokenIn, uint256 minSyMinted) + internal + returns (uint256 amountSyOut) + { + IStandardizedYield sy = IStandardizedYield(SY); + if (!sy.isValidTokenIn(tokenIn)) revert InvalidTokenIn(tokenIn); + + if (msg.value > 0 && sy.isValidTokenIn(address(0))) { + // SY minted check is done in this function instead of relying on the SY contract's deposit(). + amountSyOut += sy.deposit{value: msg.value}(address(this), address(0), msg.value, 0); + } + + if (tokenIn != address(0)) { + ERC20(tokenIn).transferFrom(msg.sender, address(this), amountTokenIn); + amountSyOut += sy.deposit(receiver, tokenIn, amountTokenIn, 0); + } + + if (amountSyOut < minSyMinted) { + revert InsufficientSYMinted(amountSyOut, minSyMinted); + } + } + + function computeSyToPtToAddLiquidity( + address payable rmm_, + uint256 rX, + uint256 rY, + PYIndex index, + uint256 maxSy, + uint256 blockTime, + uint256 initialGuess, + uint256 epsilon + ) public view returns (uint256 guess) { + RMM rmm = RMM(rmm_); + uint256 min = 0; + uint256 max = maxSy - 1; + for (uint256 iter = 0; iter < 256; ++iter) { + guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; + (,, uint256 ptOut,,) = rmm.prepareSwapSyIn(guess, blockTime, index); + + uint256 nextReserveX = rX - ptOut; + uint256 nextReserveY = rY + guess; + + uint256 syNumerator = (maxSy - guess) * nextReserveX; + uint256 ptNumerator = ptOut * nextReserveY; + + if (isAApproxB(syNumerator, ptNumerator, epsilon)) { + return guess; + } + + if (ptNumerator <= syNumerator) { + min = guess + 1; + } else { + max = guess - 1; + } + } + } + + function isAApproxB(uint256 a, uint256 b, uint256 eps) internal pure returns (bool) { + return b.mulWadDown(1 ether - eps) <= a && a <= b.mulWadDown(1 ether + eps); + } +} + From d2b50e92a35e78d6e8a62aa81cdb8299a7834f99 Mon Sep 17 00:00:00 2001 From: kinrezc Date: Wed, 12 Jun 2024 18:49:13 -0400 Subject: [PATCH 02/17] add test for sy -> pt intermediate swap computation in add liquidity flow --- src/LiquidityManager.sol | 11 ++- test/unit/LiquidityManager.t.sol | 149 +++++++++++++++++++++++++++++++ 2 files changed, 158 insertions(+), 2 deletions(-) create mode 100644 test/unit/LiquidityManager.t.sol diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index 636f6de..1eebf11 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -6,6 +6,7 @@ import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; +import "forge-std/console2.sol"; import "./lib/RmmErrors.sol"; @@ -44,7 +45,7 @@ contract LiquidityManager { } function computeSyToPtToAddLiquidity( - address payable rmm_, + RMM rmm, uint256 rX, uint256 rY, PYIndex index, @@ -53,9 +54,11 @@ contract LiquidityManager { uint256 initialGuess, uint256 epsilon ) public view returns (uint256 guess) { - RMM rmm = RMM(rmm_); + console2.log("here!"); uint256 min = 0; + console2.log("here2!"); uint256 max = maxSy - 1; + console2.log("here3!"); for (uint256 iter = 0; iter < 256; ++iter) { guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; (,, uint256 ptOut,,) = rmm.prepareSwapSyIn(guess, blockTime, index); @@ -66,6 +69,10 @@ contract LiquidityManager { uint256 syNumerator = (maxSy - guess) * nextReserveX; uint256 ptNumerator = ptOut * nextReserveY; + console2.log("syNumerator", syNumerator); + console2.log("ptNumerator", ptNumerator); + console2.log("iter", iter); + if (isAApproxB(syNumerator, ptNumerator, epsilon)) { return guess; } diff --git a/test/unit/LiquidityManager.t.sol b/test/unit/LiquidityManager.t.sol new file mode 100644 index 0000000..b0cbe57 --- /dev/null +++ b/test/unit/LiquidityManager.t.sol @@ -0,0 +1,149 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Test, console2} from "forge-std/Test.sol"; +import {RMM, toInt, toUint, upscale, downscaleDown, scalar, sum, abs, PoolPreCompute} from "../../src/RMM.sol"; +import { LiquidityManager } from "../../src/LiquidityManager.sol"; +import {MockERC20} from "solmate/test/utils/mocks/MockERC20.sol"; +import {ReturnsTooLittleToken} from "solmate/test/utils/weird-tokens/ReturnsTooLittleToken.sol"; +import {ReturnsTooMuchToken} from "solmate/test/utils/weird-tokens/ReturnsTooMuchToken.sol"; +import {MissingReturnToken} from "solmate/test/utils/weird-tokens/MissingReturnToken.sol"; +import {ReturnsFalseToken} from "solmate/test/utils/weird-tokens/ReturnsFalseToken.sol"; +import {IPMarket} from "pendle/interfaces/IPMarket.sol"; +import "pendle/core/Market/MarketMathCore.sol"; +import "pendle/interfaces/IPAllActionV3.sol"; +import {IPPrincipalToken} from "pendle/interfaces/IPPrincipalToken.sol"; +import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; +import {IPYieldToken} from "pendle/interfaces/IPYieldToken.sol"; +import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; + +IPAllActionV3 constant router = IPAllActionV3(0x00000000005BBB0EF59571E58418F9a4357b68A0); +IPMarket constant market = IPMarket(0x9eC4c502D989F04FfA9312C9D6E3F872EC91A0F9); +address constant wstETH = 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0; //real wsteth +address constant WETH_ADDRESS = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; + +uint256 constant eps = 0.005 ether; + +uint256 constant impliedRateTime = 365 * 86400; + +contract ForkRMMTest is Test { + using MarketMathCore for MarketState; + using MarketMathCore for int256; + using MarketMathCore for uint256; + using FixedPointMathLib for uint256; + using FixedPointMathLib for int256; + using PYIndexLib for IPYieldToken; + using PYIndexLib for PYIndex; + using MarketApproxPtInLib for MarketState; + + RMM public __subject__; + LiquidityManager public __liquidityManager__; + MockERC20 public tokenX; + MockERC20 public tokenY; + + IStandardizedYield public SY; + IPPrincipalToken public PT; + IPYieldToken public YT; + + uint256 timeToExpiry; + + function setUp() public { + vm.createSelectFork({urlOrAlias: "mainnet", blockNumber: 17_162_783}); + + __subject__ = new RMM(WETH_ADDRESS, "LPToken", "LPT"); + __liquidityManager__ = new LiquidityManager(); + + vm.label(address(__subject__), "RMM"); + (SY, PT, YT) = IPMarket(market).readTokens(); + (MarketState memory ms,) = getPendleMarketData(); + timeToExpiry = ms.expiry - block.timestamp; + + deal(wstETH, address(this), 1_000_000e18); + + mintSY(100_000 ether); + mintPtYt(50_000 ether); + + IERC20(wstETH).approve(address(subject()), type(uint256).max); + IERC20(SY).approve(address(subject()), type(uint256).max); + IERC20(PT).approve(address(subject()), type(uint256).max); + IERC20(YT).approve(address(subject()), type(uint256).max); + + IERC20(wstETH).approve(address(router), type(uint256).max); + IERC20(SY).approve(address(router), type(uint256).max); + IERC20(PT).approve(address(router), type(uint256).max); + IERC20(YT).approve(address(router), type(uint256).max); + IERC20(market).approve(address(router), type(uint256).max); + IERC20(market).approve(address(router), type(uint256).max); + } + + function getPendleMarketData() public returns (MarketState memory ms, MarketPreCompute memory mp) { + PYIndex index = YT.newIndex(); + ms = market.readState(address(router)); + mp = ms.getMarketPreCompute(index, block.timestamp); + } + + function subject() public view returns (RMM) { + return __subject__; + } + + function liquidityManager() public view returns (LiquidityManager) { + return __liquidityManager__; + } + + function balanceNative(address token, address account) internal view returns (uint256) { + if (token == address(0)) { + return address(this).balance; + } + + return MockERC20(token).balanceOf(account); + } + + function getPtExchangeRate() internal returns (int256) { + (MarketState memory ms, MarketPreCompute memory mp) = getPendleMarketData(); + return ms.totalPt._getExchangeRate(mp.totalAsset, mp.rateScalar, mp.rateAnchor, 0); + } + + function balanceWad(address token, address account) internal view returns (uint256) { + return upscale(balanceNative(token, account), scalar(token)); + } + + function mintSY(uint256 amount) public { + IERC20(wstETH).approve(address(SY), type(uint256).max); + SY.deposit(address(this), address(wstETH), amount, 1); + } + + function mintPtYt(uint256 amount) public returns (uint256 amountPY) { + SY.transfer(address(YT), amount); + amountPY = YT.mintPY(address(this), address(this)); + } + + modifier basic_sy() { + (MarketState memory ms, MarketPreCompute memory mp) = getPendleMarketData(); + uint256 price = uint256(getPtExchangeRate()); + subject().init({ + PT_: address(PT), + priceX: price, + amountX: uint256(ms.totalSy - 100 ether), + strike_: uint256(mp.rateAnchor), + sigma_: 0.025 ether, + fee_: 0.0003 ether, + curator_: address(0x55) + }); + + _; + } + + function test_compute_add_liquidity() public basic_sy { + PYIndex index = YT.newIndex(); + + uint256 rX = subject().reserveX(); + uint256 rY = subject().reserveY(); + uint256 maxSyToSwap = 1 ether; + console2.log("got here!"); + + RMM rmm = RMM(subject()); + + uint256 syToSwap = liquidityManager().computeSyToPtToAddLiquidity(rmm, rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); + console2.log("syToSwap", syToSwap); + } +} From 3a381d5e2a8caadcd43eef46b68c099fb692653f Mon Sep 17 00:00:00 2001 From: kinrezc Date: Thu, 13 Jun 2024 10:06:30 -0400 Subject: [PATCH 03/17] compute pt to swap for adding liquidity --- src/LiquidityManager.sol | 45 +++++++++++++++++++++++++------- test/unit/LiquidityManager.t.sol | 15 +++++++++-- 2 files changed, 49 insertions(+), 11 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index 1eebf11..d687654 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -44,6 +44,40 @@ contract LiquidityManager { } } + function computePtToSyToAddLiquidity( + RMM rmm, + uint256 rX, + uint256 rY, + PYIndex index, + uint256 maxPt, + uint256 blockTime, + uint256 initialGuess, + uint256 epsilon + ) public view returns (uint256 guess) { + uint256 min = 0; + uint256 max = maxPt - 1; + for (uint256 iter = 0; iter < 256; ++iter) { + guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; + (,, uint256 syOut,,) = rmm.prepareSwapPtIn(guess, blockTime, index); + + uint256 nextReserveX = rX + syOut; + uint256 nextReserveY = rY - guess; + + uint256 syNumerator = syOut * nextReserveX; + uint256 ptNumerator = (maxPt - guess) * nextReserveY; + + if (isAApproxB(syNumerator, ptNumerator, epsilon)) { + return guess; + } + + if (syNumerator <= ptNumerator) { + min = guess + 1; + } else { + max = guess - 1; + } + } + } + function computeSyToPtToAddLiquidity( RMM rmm, uint256 rX, @@ -54,25 +88,18 @@ contract LiquidityManager { uint256 initialGuess, uint256 epsilon ) public view returns (uint256 guess) { - console2.log("here!"); uint256 min = 0; - console2.log("here2!"); uint256 max = maxSy - 1; - console2.log("here3!"); for (uint256 iter = 0; iter < 256; ++iter) { guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; (,, uint256 ptOut,,) = rmm.prepareSwapSyIn(guess, blockTime, index); - uint256 nextReserveX = rX - ptOut; - uint256 nextReserveY = rY + guess; + uint256 nextReserveX = rX + guess; + uint256 nextReserveY = rY - ptOut; uint256 syNumerator = (maxSy - guess) * nextReserveX; uint256 ptNumerator = ptOut * nextReserveY; - console2.log("syNumerator", syNumerator); - console2.log("ptNumerator", ptNumerator); - console2.log("iter", iter); - if (isAApproxB(syNumerator, ptNumerator, epsilon)) { return guess; } diff --git a/test/unit/LiquidityManager.t.sol b/test/unit/LiquidityManager.t.sol index b0cbe57..ca27665 100644 --- a/test/unit/LiquidityManager.t.sol +++ b/test/unit/LiquidityManager.t.sol @@ -133,17 +133,28 @@ contract ForkRMMTest is Test { _; } - function test_compute_add_liquidity() public basic_sy { + function test_compute_sy_to_pt_to_add_liquidity() public basic_sy { PYIndex index = YT.newIndex(); uint256 rX = subject().reserveX(); uint256 rY = subject().reserveY(); uint256 maxSyToSwap = 1 ether; - console2.log("got here!"); RMM rmm = RMM(subject()); uint256 syToSwap = liquidityManager().computeSyToPtToAddLiquidity(rmm, rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); console2.log("syToSwap", syToSwap); } + function test_compute_pt_to_sy_to_add_liquidity() public basic_sy { + PYIndex index = YT.newIndex(); + + uint256 rX = subject().reserveX(); + uint256 rY = subject().reserveY(); + uint256 maxPtToSwap = 1 ether; + + RMM rmm = RMM(subject()); + + uint256 ptToSwap = liquidityManager().computePtToSyToAddLiquidity(rmm, rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); + console2.log("ptToSwap", ptToSwap); + } } From 235ece79c7025fc1f6bf542f1d25b5c85491e4c0 Mon Sep 17 00:00:00 2001 From: kinrezc Date: Thu, 13 Jun 2024 10:35:04 -0400 Subject: [PATCH 04/17] add allocate from just sy --- src/LiquidityManager.sol | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index d687654..15f2573 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.8.13; -import { RMM } from "./RMM.sol"; +import { RMM, IPYieldToken } from "./RMM.sol"; import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; @@ -12,6 +12,7 @@ import "./lib/RmmErrors.sol"; contract LiquidityManager { using PYIndexLib for PYIndex; + using PYIndexLib for IPYieldToken; using FixedPointMathLib for uint256; function mintSY(address SY, address receiver, address tokenIn, uint256 amountTokenToDeposit, uint256 minSharesOut) @@ -44,6 +45,26 @@ contract LiquidityManager { } } + function allocateFromSy(RMM rmm, uint256 amountSy, uint256 blockTime, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { + ERC20 sy = ERC20(address(rmm.SY())); + ERC20 pt = ERC20(address(rmm.PT())); + + PYIndex index = rmm.YT().newIndex(); + uint256 rX = rmm.reserveX(); + uint256 rY = rmm.reserveY(); + + uint256 syToSwap = computeSyToPtToAddLiquidity(rmm, rX, rY, index, amountSy, blockTime, initialGuess, epsilon); + sy.transferFrom(msg.sender, address(this), amountSy); + sy.approve(address(rmm), amountSy); + + rmm.swapExactSyForPt(syToSwap, block.timestamp, address(this)); + uint256 syBal = sy.balanceOf(address(this)); + uint256 ptBal = pt.balanceOf(address(this)); + + pt.approve(address(rmm), ptBal); + liquidity = rmm.allocate(syBal, ptBal, blockTime, msg.sender); + } + function computePtToSyToAddLiquidity( RMM rmm, uint256 rX, From e765101067c85dfc492ae64349c4375dfe10cf98 Mon Sep 17 00:00:00 2001 From: kinrezc Date: Thu, 13 Jun 2024 13:32:33 -0400 Subject: [PATCH 05/17] fix via-ir stack too deep --- src/LiquidityManager.sol | 67 +++++++++++++++++++++----------- test/unit/LiquidityManager.t.sol | 24 +++++++++++- 2 files changed, 66 insertions(+), 25 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index 15f2573..3329a94 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -45,7 +45,7 @@ contract LiquidityManager { } } - function allocateFromSy(RMM rmm, uint256 amountSy, uint256 blockTime, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { + function allocateFromSy(RMM rmm, uint256 amountSy, uint256 minPtOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { ERC20 sy = ERC20(address(rmm.SY())); ERC20 pt = ERC20(address(rmm.PT())); @@ -53,16 +53,44 @@ contract LiquidityManager { uint256 rX = rmm.reserveX(); uint256 rY = rmm.reserveY(); - uint256 syToSwap = computeSyToPtToAddLiquidity(rmm, rX, rY, index, amountSy, blockTime, initialGuess, epsilon); + // validate swap approximation + (uint256 syToSwap,) = computeSyToPtToAddLiquidity(rmm, rX, rY, index, amountSy, block.timestamp, initialGuess, epsilon); + + // transfer all sy in sy.transferFrom(msg.sender, address(this), amountSy); sy.approve(address(rmm), amountSy); - rmm.swapExactSyForPt(syToSwap, block.timestamp, address(this)); + // swap syToSwap for pt + rmm.swapExactSyForPt(syToSwap, minPtOut, address(this)); uint256 syBal = sy.balanceOf(address(this)); uint256 ptBal = pt.balanceOf(address(this)); pt.approve(address(rmm), ptBal); - liquidity = rmm.allocate(syBal, ptBal, blockTime, msg.sender); + liquidity = rmm.allocate(syBal, ptBal, minLiquidityDelta, msg.sender); + } + + function allocateFromPt(RMM rmm, uint256 amountPt, uint256 minSyOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { + ERC20 sy = ERC20(address(rmm.SY())); + ERC20 pt = ERC20(address(rmm.PT())); + + PYIndex index = rmm.YT().newIndex(); + uint256 rX = rmm.reserveX(); + uint256 rY = rmm.reserveY(); + + // validate swap approximation + (uint256 ptToSwap,) = computePtToSyToAddLiquidity(rmm, rX, rY, index, amountPt, block.timestamp, initialGuess, epsilon); + + // transfer all pt in + pt.transferFrom(msg.sender, address(this), amountPt); + pt.approve(address(rmm), amountPt); + + // swap ptToSwap for sy + rmm.swapExactPtForSy(ptToSwap, minSyOut, address(this)); + uint256 syBal = sy.balanceOf(address(this)); + uint256 ptBal = pt.balanceOf(address(this)); + + sy.approve(address(rmm), syBal); + liquidity = rmm.allocate(syBal, ptBal, minLiquidityDelta, msg.sender); } function computePtToSyToAddLiquidity( @@ -70,25 +98,22 @@ contract LiquidityManager { uint256 rX, uint256 rY, PYIndex index, - uint256 maxPt, + uint256 max, uint256 blockTime, uint256 initialGuess, uint256 epsilon - ) public view returns (uint256 guess) { + ) public view returns (uint256 guess, uint256 syOut) { uint256 min = 0; - uint256 max = maxPt - 1; for (uint256 iter = 0; iter < 256; ++iter) { guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; - (,, uint256 syOut,,) = rmm.prepareSwapPtIn(guess, blockTime, index); + (,, syOut,,) = rmm.prepareSwapPtIn(guess, blockTime, index); - uint256 nextReserveX = rX + syOut; - uint256 nextReserveY = rY - guess; - uint256 syNumerator = syOut * nextReserveX; - uint256 ptNumerator = (maxPt - guess) * nextReserveY; + uint256 syNumerator = syOut * (rX + syOut); + uint256 ptNumerator = (max - guess) * (rY - guess); if (isAApproxB(syNumerator, ptNumerator, epsilon)) { - return guess; + return (guess, syOut); } if (syNumerator <= ptNumerator) { @@ -104,25 +129,21 @@ contract LiquidityManager { uint256 rX, uint256 rY, PYIndex index, - uint256 maxSy, + uint256 max, uint256 blockTime, uint256 initialGuess, uint256 epsilon - ) public view returns (uint256 guess) { + ) public view returns (uint256 guess, uint256 ptOut) { uint256 min = 0; - uint256 max = maxSy - 1; for (uint256 iter = 0; iter < 256; ++iter) { guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; - (,, uint256 ptOut,,) = rmm.prepareSwapSyIn(guess, blockTime, index); - - uint256 nextReserveX = rX + guess; - uint256 nextReserveY = rY - ptOut; + (,, ptOut,,) = rmm.prepareSwapSyIn(guess, blockTime, index); - uint256 syNumerator = (maxSy - guess) * nextReserveX; - uint256 ptNumerator = ptOut * nextReserveY; + uint256 syNumerator = (max - guess) * (rX + guess); + uint256 ptNumerator = ptOut * (rY - ptOut); if (isAApproxB(syNumerator, ptNumerator, epsilon)) { - return guess; + return (guess, ptOut); } if (ptNumerator <= syNumerator) { diff --git a/test/unit/LiquidityManager.t.sol b/test/unit/LiquidityManager.t.sol index ca27665..74ec5ef 100644 --- a/test/unit/LiquidityManager.t.sol +++ b/test/unit/LiquidityManager.t.sol @@ -142,8 +142,9 @@ contract ForkRMMTest is Test { RMM rmm = RMM(subject()); - uint256 syToSwap = liquidityManager().computeSyToPtToAddLiquidity(rmm, rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); + (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity(rmm, rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); console2.log("syToSwap", syToSwap); + console2.log("ptOut", ptOut); } function test_compute_pt_to_sy_to_add_liquidity() public basic_sy { PYIndex index = YT.newIndex(); @@ -154,7 +155,26 @@ contract ForkRMMTest is Test { RMM rmm = RMM(subject()); - uint256 ptToSwap = liquidityManager().computePtToSyToAddLiquidity(rmm, rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); + (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity(rmm, rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); console2.log("ptToSwap", ptToSwap); + console2.log("syOut", syOut); + } + + function test_zap_from_sy() public basic_sy { + PYIndex index = YT.newIndex(); + + uint256 rX = subject().reserveX(); + uint256 rY = subject().reserveY(); + uint256 maxSyToSwap = 1 ether; + + RMM rmm = RMM(subject()); + + (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity(rmm, rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); + uint256 dx = maxSyToSwap - syToSwap; + uint256 dy = ptOut; + + (,,uint256 minLiquidityDelta,) = rmm.prepareAllocate(dx, dy, index); + uint256 liquidity = liquidityManager().allocateFromSy(rmm, maxSyToSwap, ptOut, minLiquidityDelta, syToSwap, eps); + console2.log("liquidity", liquidity); } } From a8f0c10d36fce747c084253ec5b1507982d0bd5e Mon Sep 17 00:00:00 2001 From: kinrezc Date: Thu, 13 Jun 2024 14:13:29 -0400 Subject: [PATCH 06/17] working sy->lp zap example --- src/LiquidityManager.sol | 49 +++++++++++++++++++++++++------- src/RMM.sol | 6 +++- test/unit/LiquidityManager.t.sol | 12 ++++++-- 3 files changed, 52 insertions(+), 15 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index 3329a94..48c5848 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -10,6 +10,29 @@ import "forge-std/console2.sol"; import "./lib/RmmErrors.sol"; +interface IRMM { + function SY() external view returns (address); + function PT() external view returns (address); + function YT() external view returns (address); + function reserveX() external view returns (uint256); + function reserveY() external view returns (uint256); + function prepareAllocate(uint256 deltaX, uint256 deltaY, PYIndex index) external view returns (uint256 deltaXWad, uint256 deltaYWad, uint256 deltaLiquidity, uint256 lptMinted); + function swapExactPtForSy(uint256 amountIn, uint256 minAmountOut, address to) + external + payable + returns (uint256 amountOut, int256 deltaLiquidity); + function swapExactSyForPt(uint256 amountIn, uint256 minAmountOut, address to) + external + returns (uint256 amountOut, int256 deltaLiquidity); + function allocate(uint256 deltaX, uint256 deltaY, uint256 minLiquidityOut, address to) + external + returns (uint256 deltaLiquidity); + function prepareSwapSyIn(uint256 amountIn, uint256 timestamp, PYIndex index) + external + view + returns (uint256 amountInWad, uint256 amountOutWad, uint256 amountOut, int256 deltaLiquidity, uint256 strike_); +} + contract LiquidityManager { using PYIndexLib for PYIndex; using PYIndexLib for IPYieldToken; @@ -45,11 +68,11 @@ contract LiquidityManager { } } - function allocateFromSy(RMM rmm, uint256 amountSy, uint256 minPtOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { + function allocateFromSy(IRMM rmm, uint256 amountSy, uint256 minPtOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { ERC20 sy = ERC20(address(rmm.SY())); ERC20 pt = ERC20(address(rmm.PT())); - PYIndex index = rmm.YT().newIndex(); + PYIndex index = IPYieldToken(rmm.YT()).newIndex(); uint256 rX = rmm.reserveX(); uint256 rY = rmm.reserveY(); @@ -58,12 +81,14 @@ contract LiquidityManager { // transfer all sy in sy.transferFrom(msg.sender, address(this), amountSy); - sy.approve(address(rmm), amountSy); + sy.approve(address(rmm), type(uint256).max); // swap syToSwap for pt rmm.swapExactSyForPt(syToSwap, minPtOut, address(this)); uint256 syBal = sy.balanceOf(address(this)); uint256 ptBal = pt.balanceOf(address(this)); + console2.log("syBal", syBal); + console2.log("ptBal", ptBal); pt.approve(address(rmm), ptBal); liquidity = rmm.allocate(syBal, ptBal, minLiquidityDelta, msg.sender); @@ -98,19 +123,20 @@ contract LiquidityManager { uint256 rX, uint256 rY, PYIndex index, - uint256 max, + uint256 maxPt, uint256 blockTime, uint256 initialGuess, uint256 epsilon - ) public view returns (uint256 guess, uint256 syOut) { + ) public view returns (uint256, uint256) { uint256 min = 0; + uint256 max = maxPt - 1; for (uint256 iter = 0; iter < 256; ++iter) { - guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; - (,, syOut,,) = rmm.prepareSwapPtIn(guess, blockTime, index); + uint256 guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; + (,, uint256 syOut,,) = rmm.prepareSwapPtIn(guess, blockTime, index); uint256 syNumerator = syOut * (rX + syOut); - uint256 ptNumerator = (max - guess) * (rY - guess); + uint256 ptNumerator = (maxPt - guess) * (rY - guess); if (isAApproxB(syNumerator, ptNumerator, epsilon)) { return (guess, syOut); @@ -125,21 +151,22 @@ contract LiquidityManager { } function computeSyToPtToAddLiquidity( - RMM rmm, + IRMM rmm, uint256 rX, uint256 rY, PYIndex index, - uint256 max, + uint256 maxSy, uint256 blockTime, uint256 initialGuess, uint256 epsilon ) public view returns (uint256 guess, uint256 ptOut) { uint256 min = 0; + uint256 max = maxSy - 1; for (uint256 iter = 0; iter < 256; ++iter) { guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; (,, ptOut,,) = rmm.prepareSwapSyIn(guess, blockTime, index); - uint256 syNumerator = (max - guess) * (rX + guess); + uint256 syNumerator = (maxSy - guess) * (rX + guess); uint256 ptNumerator = ptOut * (rY - ptOut); if (isAApproxB(syNumerator, ptNumerator, epsilon)) { diff --git a/src/RMM.sol b/src/RMM.sol index e85c48f..46c7e6b 100644 --- a/src/RMM.sol +++ b/src/RMM.sol @@ -8,6 +8,7 @@ import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; import {IPPrincipalToken} from "pendle/interfaces/IPPrincipalToken.sol"; import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {IPYieldToken} from "pendle/interfaces/IPYieldToken.sol"; +import "forge-std/console2.sol"; import "./lib/RmmLib.sol"; import "./lib/RmmErrors.sol"; @@ -341,6 +342,9 @@ contract RMM is ERC20 { _mint(to, lptMinted); _adjust(toInt(deltaXWad), toInt(deltaYWad), toInt(deltaLiquidity), strike, index); + console2.log("deltaXWad", deltaXWad); + console2.log("deltaYWad", deltaYWad); + console2.log("deltaLiquidity", deltaLiquidity); (uint256 debitNativeX) = _debit(address(SY), deltaXWad); (uint256 debitNativeY) = _debit(address(PT), deltaYWad); @@ -595,7 +599,7 @@ contract RMM is ERC20 { view returns (uint256 deltaXWad, uint256 deltaYWad, uint256 deltaLiquidity, uint256 lptMinted) { - deltaXWad = upscale(index.syToAsset(deltaX), scalar(address(SY))); + deltaXWad = upscale(deltaX, scalar(address(SY))); deltaYWad = upscale(deltaY, scalar(address(PT))); PoolPreCompute memory comp = diff --git a/test/unit/LiquidityManager.t.sol b/test/unit/LiquidityManager.t.sol index 74ec5ef..74c5434 100644 --- a/test/unit/LiquidityManager.t.sol +++ b/test/unit/LiquidityManager.t.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.13; import {Test, console2} from "forge-std/Test.sol"; import {RMM, toInt, toUint, upscale, downscaleDown, scalar, sum, abs, PoolPreCompute} from "../../src/RMM.sol"; -import { LiquidityManager } from "../../src/LiquidityManager.sol"; +import { LiquidityManager, IRMM } from "../../src/LiquidityManager.sol"; import {MockERC20} from "solmate/test/utils/mocks/MockERC20.sol"; import {ReturnsTooLittleToken} from "solmate/test/utils/weird-tokens/ReturnsTooLittleToken.sol"; import {ReturnsTooMuchToken} from "solmate/test/utils/weird-tokens/ReturnsTooMuchToken.sol"; @@ -74,6 +74,11 @@ contract ForkRMMTest is Test { IERC20(YT).approve(address(router), type(uint256).max); IERC20(market).approve(address(router), type(uint256).max); IERC20(market).approve(address(router), type(uint256).max); + + IERC20(SY).approve(address(liquidityManager()), type(uint256).max); + IERC20(PT).approve(address(liquidityManager()), type(uint256).max); + IERC20(YT).approve(address(liquidityManager()), type(uint256).max); + } function getPendleMarketData() public returns (MarketState memory ms, MarketPreCompute memory mp) { @@ -140,7 +145,7 @@ contract ForkRMMTest is Test { uint256 rY = subject().reserveY(); uint256 maxSyToSwap = 1 ether; - RMM rmm = RMM(subject()); + IRMM rmm = IRMM(address(subject())); (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity(rmm, rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); console2.log("syToSwap", syToSwap); @@ -167,9 +172,10 @@ contract ForkRMMTest is Test { uint256 rY = subject().reserveY(); uint256 maxSyToSwap = 1 ether; - RMM rmm = RMM(subject()); + IRMM rmm = IRMM(address(subject())); (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity(rmm, rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); + console2.log("ptOut", ptOut); uint256 dx = maxSyToSwap - syToSwap; uint256 dy = ptOut; From aec7a77392eb376374895d11072d5aee24c6e9b6 Mon Sep 17 00:00:00 2001 From: kinrezc Date: Thu, 13 Jun 2024 14:24:46 -0400 Subject: [PATCH 07/17] fix allocate bug + add pt -> lp zap test --- src/LiquidityManager.sol | 15 ++++++++------- src/RMM.sol | 4 ---- test/unit/LiquidityManager.t.sol | 21 ++++++++++++++++++++- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index 48c5848..fae154a 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -6,7 +6,6 @@ import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; -import "forge-std/console2.sol"; import "./lib/RmmErrors.sol"; @@ -31,6 +30,10 @@ interface IRMM { external view returns (uint256 amountInWad, uint256 amountOutWad, uint256 amountOut, int256 deltaLiquidity, uint256 strike_); + function prepareSwapPtIn(uint256 ptIn, uint256 timestamp, PYIndex index) + external + view + returns (uint256 amountInWad, uint256 amountOutWad, uint256 amountOut, int256 deltaLiquidity, uint256 strike_); } contract LiquidityManager { @@ -81,24 +84,22 @@ contract LiquidityManager { // transfer all sy in sy.transferFrom(msg.sender, address(this), amountSy); - sy.approve(address(rmm), type(uint256).max); + sy.approve(address(rmm), amountSy); // swap syToSwap for pt rmm.swapExactSyForPt(syToSwap, minPtOut, address(this)); uint256 syBal = sy.balanceOf(address(this)); uint256 ptBal = pt.balanceOf(address(this)); - console2.log("syBal", syBal); - console2.log("ptBal", ptBal); pt.approve(address(rmm), ptBal); liquidity = rmm.allocate(syBal, ptBal, minLiquidityDelta, msg.sender); } - function allocateFromPt(RMM rmm, uint256 amountPt, uint256 minSyOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { + function allocateFromPt(IRMM rmm, uint256 amountPt, uint256 minSyOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { ERC20 sy = ERC20(address(rmm.SY())); ERC20 pt = ERC20(address(rmm.PT())); - PYIndex index = rmm.YT().newIndex(); + PYIndex index = IPYieldToken(rmm.YT()).newIndex(); uint256 rX = rmm.reserveX(); uint256 rY = rmm.reserveY(); @@ -119,7 +120,7 @@ contract LiquidityManager { } function computePtToSyToAddLiquidity( - RMM rmm, + IRMM rmm, uint256 rX, uint256 rY, PYIndex index, diff --git a/src/RMM.sol b/src/RMM.sol index 46c7e6b..03e10d0 100644 --- a/src/RMM.sol +++ b/src/RMM.sol @@ -8,7 +8,6 @@ import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; import {IPPrincipalToken} from "pendle/interfaces/IPPrincipalToken.sol"; import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {IPYieldToken} from "pendle/interfaces/IPYieldToken.sol"; -import "forge-std/console2.sol"; import "./lib/RmmLib.sol"; import "./lib/RmmErrors.sol"; @@ -342,9 +341,6 @@ contract RMM is ERC20 { _mint(to, lptMinted); _adjust(toInt(deltaXWad), toInt(deltaYWad), toInt(deltaLiquidity), strike, index); - console2.log("deltaXWad", deltaXWad); - console2.log("deltaYWad", deltaYWad); - console2.log("deltaLiquidity", deltaLiquidity); (uint256 debitNativeX) = _debit(address(SY), deltaXWad); (uint256 debitNativeY) = _debit(address(PT), deltaYWad); diff --git a/test/unit/LiquidityManager.t.sol b/test/unit/LiquidityManager.t.sol index 74c5434..1f83737 100644 --- a/test/unit/LiquidityManager.t.sol +++ b/test/unit/LiquidityManager.t.sol @@ -158,7 +158,7 @@ contract ForkRMMTest is Test { uint256 rY = subject().reserveY(); uint256 maxPtToSwap = 1 ether; - RMM rmm = RMM(subject()); + IRMM rmm = IRMM(address(subject())); (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity(rmm, rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); console2.log("ptToSwap", ptToSwap); @@ -183,4 +183,23 @@ contract ForkRMMTest is Test { uint256 liquidity = liquidityManager().allocateFromSy(rmm, maxSyToSwap, ptOut, minLiquidityDelta, syToSwap, eps); console2.log("liquidity", liquidity); } + + function test_zap_from_pt() public basic_sy { + PYIndex index = YT.newIndex(); + + uint256 rX = subject().reserveX(); + uint256 rY = subject().reserveY(); + uint256 maxPtToSwap = 1 ether; + IRMM rmm = IRMM(address(subject())); + + (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity(rmm, rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); + uint256 dx = maxPtToSwap - ptToSwap; + uint256 dy = syOut; + + (,,uint256 minLiquidityDelta,) = rmm.prepareAllocate(dx, dy, index); + uint256 liquidity = liquidityManager().allocateFromSy(rmm, maxPtToSwap, syOut, minLiquidityDelta, ptToSwap, eps); + console2.log("liquidity", liquidity); + console2.log("ptToSwap", ptToSwap); + console2.log("syOut", syOut); + } } From 7454393fd322bd8cde533317ccd6db5cc4d5be6a Mon Sep 17 00:00:00 2001 From: kinrezc Date: Fri, 14 Jun 2024 12:02:08 -0400 Subject: [PATCH 08/17] pass addr instead of interface in liquidity manager --- src/LiquidityManager.sol | 16 ++++++++++------ test/unit/LiquidityManager.t.sol | 22 ++++++++-------------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index fae154a..76efba1 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -71,7 +71,8 @@ contract LiquidityManager { } } - function allocateFromSy(IRMM rmm, uint256 amountSy, uint256 minPtOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { + function allocateFromSy(address rmm_, uint256 amountSy, uint256 minPtOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { + IRMM rmm = IRMM(rmm_); ERC20 sy = ERC20(address(rmm.SY())); ERC20 pt = ERC20(address(rmm.PT())); @@ -80,7 +81,7 @@ contract LiquidityManager { uint256 rY = rmm.reserveY(); // validate swap approximation - (uint256 syToSwap,) = computeSyToPtToAddLiquidity(rmm, rX, rY, index, amountSy, block.timestamp, initialGuess, epsilon); + (uint256 syToSwap,) = computeSyToPtToAddLiquidity(rmm_, rX, rY, index, amountSy, block.timestamp, initialGuess, epsilon); // transfer all sy in sy.transferFrom(msg.sender, address(this), amountSy); @@ -95,7 +96,8 @@ contract LiquidityManager { liquidity = rmm.allocate(syBal, ptBal, minLiquidityDelta, msg.sender); } - function allocateFromPt(IRMM rmm, uint256 amountPt, uint256 minSyOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { + function allocateFromPt(address rmm_, uint256 amountPt, uint256 minSyOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { + IRMM rmm = IRMM(rmm_); ERC20 sy = ERC20(address(rmm.SY())); ERC20 pt = ERC20(address(rmm.PT())); @@ -104,7 +106,7 @@ contract LiquidityManager { uint256 rY = rmm.reserveY(); // validate swap approximation - (uint256 ptToSwap,) = computePtToSyToAddLiquidity(rmm, rX, rY, index, amountPt, block.timestamp, initialGuess, epsilon); + (uint256 ptToSwap,) = computePtToSyToAddLiquidity(rmm_, rX, rY, index, amountPt, block.timestamp, initialGuess, epsilon); // transfer all pt in pt.transferFrom(msg.sender, address(this), amountPt); @@ -120,7 +122,7 @@ contract LiquidityManager { } function computePtToSyToAddLiquidity( - IRMM rmm, + address rmm_, uint256 rX, uint256 rY, PYIndex index, @@ -129,6 +131,7 @@ contract LiquidityManager { uint256 initialGuess, uint256 epsilon ) public view returns (uint256, uint256) { + IRMM rmm = IRMM(rmm_); uint256 min = 0; uint256 max = maxPt - 1; for (uint256 iter = 0; iter < 256; ++iter) { @@ -152,7 +155,7 @@ contract LiquidityManager { } function computeSyToPtToAddLiquidity( - IRMM rmm, + address rmm_, uint256 rX, uint256 rY, PYIndex index, @@ -161,6 +164,7 @@ contract LiquidityManager { uint256 initialGuess, uint256 epsilon ) public view returns (uint256 guess, uint256 ptOut) { + IRMM rmm = IRMM(rmm_); uint256 min = 0; uint256 max = maxSy - 1; for (uint256 iter = 0; iter < 256; ++iter) { diff --git a/test/unit/LiquidityManager.t.sol b/test/unit/LiquidityManager.t.sol index 1f83737..14598f5 100644 --- a/test/unit/LiquidityManager.t.sol +++ b/test/unit/LiquidityManager.t.sol @@ -145,9 +145,8 @@ contract ForkRMMTest is Test { uint256 rY = subject().reserveY(); uint256 maxSyToSwap = 1 ether; - IRMM rmm = IRMM(address(subject())); - (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity(rmm, rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); + (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity(address(subject()), rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); console2.log("syToSwap", syToSwap); console2.log("ptOut", ptOut); } @@ -158,9 +157,7 @@ contract ForkRMMTest is Test { uint256 rY = subject().reserveY(); uint256 maxPtToSwap = 1 ether; - IRMM rmm = IRMM(address(subject())); - - (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity(rmm, rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); + (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); console2.log("ptToSwap", ptToSwap); console2.log("syOut", syOut); } @@ -172,15 +169,13 @@ contract ForkRMMTest is Test { uint256 rY = subject().reserveY(); uint256 maxSyToSwap = 1 ether; - IRMM rmm = IRMM(address(subject())); - - (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity(rmm, rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); + (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity(address(subject()), rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); console2.log("ptOut", ptOut); uint256 dx = maxSyToSwap - syToSwap; uint256 dy = ptOut; - (,,uint256 minLiquidityDelta,) = rmm.prepareAllocate(dx, dy, index); - uint256 liquidity = liquidityManager().allocateFromSy(rmm, maxSyToSwap, ptOut, minLiquidityDelta, syToSwap, eps); + (,,uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); + uint256 liquidity = liquidityManager().allocateFromSy(address(subject()), maxSyToSwap, ptOut, minLiquidityDelta, syToSwap, eps); console2.log("liquidity", liquidity); } @@ -190,14 +185,13 @@ contract ForkRMMTest is Test { uint256 rX = subject().reserveX(); uint256 rY = subject().reserveY(); uint256 maxPtToSwap = 1 ether; - IRMM rmm = IRMM(address(subject())); - (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity(rmm, rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); + (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); uint256 dx = maxPtToSwap - ptToSwap; uint256 dy = syOut; - (,,uint256 minLiquidityDelta,) = rmm.prepareAllocate(dx, dy, index); - uint256 liquidity = liquidityManager().allocateFromSy(rmm, maxPtToSwap, syOut, minLiquidityDelta, ptToSwap, eps); + (,,uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); + uint256 liquidity = liquidityManager().allocateFromSy(address(subject()), maxPtToSwap, syOut, minLiquidityDelta, ptToSwap, eps); console2.log("liquidity", liquidity); console2.log("ptToSwap", ptToSwap); console2.log("syOut", syOut); From b0d7abb93f0caa146320fcdbf5b146c742d11750 Mon Sep 17 00:00:00 2001 From: clemlak Date: Mon, 17 Jun 2024 10:14:01 +0400 Subject: [PATCH 09/17] feat: fix stack too deep issues, remove IRMM interface --- src/LiquidityManager.sol | 177 ++++++++++++++++--------------- test/unit/LiquidityManager.t.sol | 57 +++++++--- 2 files changed, 138 insertions(+), 96 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index 76efba1..f4d3080 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -1,41 +1,14 @@ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.8.13; -import { RMM, IPYieldToken } from "./RMM.sol"; -import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; +import {RMM, IPYieldToken} from "./RMM.sol"; +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; import "./lib/RmmErrors.sol"; -interface IRMM { - function SY() external view returns (address); - function PT() external view returns (address); - function YT() external view returns (address); - function reserveX() external view returns (uint256); - function reserveY() external view returns (uint256); - function prepareAllocate(uint256 deltaX, uint256 deltaY, PYIndex index) external view returns (uint256 deltaXWad, uint256 deltaYWad, uint256 deltaLiquidity, uint256 lptMinted); - function swapExactPtForSy(uint256 amountIn, uint256 minAmountOut, address to) - external - payable - returns (uint256 amountOut, int256 deltaLiquidity); - function swapExactSyForPt(uint256 amountIn, uint256 minAmountOut, address to) - external - returns (uint256 amountOut, int256 deltaLiquidity); - function allocate(uint256 deltaX, uint256 deltaY, uint256 minLiquidityOut, address to) - external - returns (uint256 deltaLiquidity); - function prepareSwapSyIn(uint256 amountIn, uint256 timestamp, PYIndex index) - external - view - returns (uint256 amountInWad, uint256 amountOutWad, uint256 amountOut, int256 deltaLiquidity, uint256 strike_); - function prepareSwapPtIn(uint256 ptIn, uint256 timestamp, PYIndex index) - external - view - returns (uint256 amountInWad, uint256 amountOutWad, uint256 amountOut, int256 deltaLiquidity, uint256 strike_); -} - contract LiquidityManager { using PYIndexLib for PYIndex; using PYIndexLib for IPYieldToken; @@ -49,10 +22,13 @@ contract LiquidityManager { return _mintSYFromNativeAndToken(SY, receiver, tokenIn, amountTokenToDeposit, minSharesOut); } - function _mintSYFromNativeAndToken(address SY, address receiver, address tokenIn, uint256 amountTokenIn, uint256 minSyMinted) - internal - returns (uint256 amountSyOut) - { + function _mintSYFromNativeAndToken( + address SY, + address receiver, + address tokenIn, + uint256 amountTokenIn, + uint256 minSyMinted + ) internal returns (uint256 amountSyOut) { IStandardizedYield sy = IStandardizedYield(SY); if (!sy.isValidTokenIn(tokenIn)) revert InvalidTokenIn(tokenIn); @@ -71,8 +47,18 @@ contract LiquidityManager { } } - function allocateFromSy(address rmm_, uint256 amountSy, uint256 minPtOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { - IRMM rmm = IRMM(rmm_); + struct AllocateFromSyArgs { + address rmm; + uint256 amountSy; + uint256 minPtOut; + uint256 minLiquidityDelta; + uint256 initialGuess; + uint256 epsilon; + } + + function allocateFromSy(AllocateFromSyArgs calldata args) external returns (uint256 liquidity) { + RMM rmm = RMM(payable(args.rmm)); + ERC20 sy = ERC20(address(rmm.SY())); ERC20 pt = ERC20(address(rmm.PT())); @@ -81,23 +67,43 @@ contract LiquidityManager { uint256 rY = rmm.reserveY(); // validate swap approximation - (uint256 syToSwap,) = computeSyToPtToAddLiquidity(rmm_, rX, rY, index, amountSy, block.timestamp, initialGuess, epsilon); + (uint256 syToSwap,) = computeSyToPtToAddLiquidity( + SyToPtArgs({ + rmm: args.rmm, + rX: rX, + rY: rY, + index: index, + maxSy: args.amountSy, + blockTime: block.timestamp, + initialGuess: args.initialGuess, + epsilon: args.epsilon + }) + ); // transfer all sy in - sy.transferFrom(msg.sender, address(this), amountSy); - sy.approve(address(rmm), amountSy); + sy.transferFrom(msg.sender, address(this), args.amountSy); + sy.approve(address(args.rmm), args.amountSy); // swap syToSwap for pt - rmm.swapExactSyForPt(syToSwap, minPtOut, address(this)); + rmm.swapExactSyForPt(syToSwap, args.minPtOut, address(this)); uint256 syBal = sy.balanceOf(address(this)); uint256 ptBal = pt.balanceOf(address(this)); - pt.approve(address(rmm), ptBal); - liquidity = rmm.allocate(syBal, ptBal, minLiquidityDelta, msg.sender); + pt.approve(address(args.rmm), ptBal); + liquidity = rmm.allocate(syBal, ptBal, args.minLiquidityDelta, msg.sender); } - function allocateFromPt(address rmm_, uint256 amountPt, uint256 minSyOut, uint256 minLiquidityDelta, uint256 initialGuess, uint256 epsilon) external returns (uint256 liquidity) { - IRMM rmm = IRMM(rmm_); + struct AllocateFromPtArgs { + address rmm; + uint256 amountPt; + uint256 minSyOut; + uint256 minLiquidityDelta; + uint256 initialGuess; + uint256 epsilon; + } + + function allocateFromPt(AllocateFromPtArgs calldata args) external returns (uint256 liquidity) { + RMM rmm = RMM(payable(args.rmm)); ERC20 sy = ERC20(address(rmm.SY())); ERC20 pt = ERC20(address(rmm.PT())); @@ -106,43 +112,45 @@ contract LiquidityManager { uint256 rY = rmm.reserveY(); // validate swap approximation - (uint256 ptToSwap,) = computePtToSyToAddLiquidity(rmm_, rX, rY, index, amountPt, block.timestamp, initialGuess, epsilon); + (uint256 ptToSwap,) = computePtToSyToAddLiquidity( + PtToSyArgs(args.rmm, rX, rY, index, args.amountPt, block.timestamp, args.initialGuess, args.epsilon) + ); // transfer all pt in - pt.transferFrom(msg.sender, address(this), amountPt); - pt.approve(address(rmm), amountPt); + pt.transferFrom(msg.sender, address(this), args.amountPt); + pt.approve(address(rmm), args.amountPt); // swap ptToSwap for sy - rmm.swapExactPtForSy(ptToSwap, minSyOut, address(this)); + rmm.swapExactPtForSy(ptToSwap, args.minSyOut, address(this)); uint256 syBal = sy.balanceOf(address(this)); uint256 ptBal = pt.balanceOf(address(this)); sy.approve(address(rmm), syBal); - liquidity = rmm.allocate(syBal, ptBal, minLiquidityDelta, msg.sender); + liquidity = rmm.allocate(syBal, ptBal, args.minLiquidityDelta, msg.sender); + } + + struct PtToSyArgs { + address rmm; + uint256 rX; + uint256 rY; + PYIndex index; + uint256 maxPt; + uint256 blockTime; + uint256 initialGuess; + uint256 epsilon; } - function computePtToSyToAddLiquidity( - address rmm_, - uint256 rX, - uint256 rY, - PYIndex index, - uint256 maxPt, - uint256 blockTime, - uint256 initialGuess, - uint256 epsilon - ) public view returns (uint256, uint256) { - IRMM rmm = IRMM(rmm_); + function computePtToSyToAddLiquidity(PtToSyArgs memory args) public view returns (uint256, uint256) { uint256 min = 0; - uint256 max = maxPt - 1; + uint256 max = args.maxPt - 1; for (uint256 iter = 0; iter < 256; ++iter) { - uint256 guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; - (,, uint256 syOut,,) = rmm.prepareSwapPtIn(guess, blockTime, index); - + uint256 guess = args.initialGuess > 0 && iter == 0 ? args.initialGuess : (min + max) / 2; + (,, uint256 syOut,,) = RMM(payable(args.rmm)).prepareSwapPtIn(guess, args.blockTime, args.index); - uint256 syNumerator = syOut * (rX + syOut); - uint256 ptNumerator = (maxPt - guess) * (rY - guess); + uint256 syNumerator = syOut * (args.rX + syOut); + uint256 ptNumerator = (args.maxPt - guess) * (args.rY - guess); - if (isAApproxB(syNumerator, ptNumerator, epsilon)) { + if (isAApproxB(syNumerator, ptNumerator, args.epsilon)) { return (guess, syOut); } @@ -154,27 +162,29 @@ contract LiquidityManager { } } - function computeSyToPtToAddLiquidity( - address rmm_, - uint256 rX, - uint256 rY, - PYIndex index, - uint256 maxSy, - uint256 blockTime, - uint256 initialGuess, - uint256 epsilon - ) public view returns (uint256 guess, uint256 ptOut) { - IRMM rmm = IRMM(rmm_); + struct SyToPtArgs { + address rmm; + uint256 rX; + uint256 rY; + PYIndex index; + uint256 maxSy; + uint256 blockTime; + uint256 initialGuess; + uint256 epsilon; + } + + function computeSyToPtToAddLiquidity(SyToPtArgs memory args) public view returns (uint256 guess, uint256 ptOut) { + RMM rmm = RMM(payable(args.rmm)); uint256 min = 0; - uint256 max = maxSy - 1; + uint256 max = args.maxSy - 1; for (uint256 iter = 0; iter < 256; ++iter) { - guess = initialGuess > 0 && iter == 0 ? initialGuess : (min + max) / 2; - (,, ptOut,,) = rmm.prepareSwapSyIn(guess, blockTime, index); + guess = args.initialGuess > 0 && iter == 0 ? args.initialGuess : (min + max) / 2; + (,, ptOut,,) = rmm.prepareSwapSyIn(guess, args.blockTime, args.index); - uint256 syNumerator = (maxSy - guess) * (rX + guess); - uint256 ptNumerator = ptOut * (rY - ptOut); + uint256 syNumerator = (args.maxSy - guess) * (args.rX + guess); + uint256 ptNumerator = ptOut * (args.rY - ptOut); - if (isAApproxB(syNumerator, ptNumerator, epsilon)) { + if (isAApproxB(syNumerator, ptNumerator, args.epsilon)) { return (guess, ptOut); } @@ -190,4 +200,3 @@ contract LiquidityManager { return b.mulWadDown(1 ether - eps) <= a && a <= b.mulWadDown(1 ether + eps); } } - diff --git a/test/unit/LiquidityManager.t.sol b/test/unit/LiquidityManager.t.sol index 14598f5..8b237b5 100644 --- a/test/unit/LiquidityManager.t.sol +++ b/test/unit/LiquidityManager.t.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.13; import {Test, console2} from "forge-std/Test.sol"; import {RMM, toInt, toUint, upscale, downscaleDown, scalar, sum, abs, PoolPreCompute} from "../../src/RMM.sol"; -import { LiquidityManager, IRMM } from "../../src/LiquidityManager.sol"; +import {LiquidityManager, RMM} from "../../src/LiquidityManager.sol"; import {MockERC20} from "solmate/test/utils/mocks/MockERC20.sol"; import {ReturnsTooLittleToken} from "solmate/test/utils/weird-tokens/ReturnsTooLittleToken.sol"; import {ReturnsTooMuchToken} from "solmate/test/utils/weird-tokens/ReturnsTooMuchToken.sol"; @@ -78,7 +78,6 @@ contract ForkRMMTest is Test { IERC20(SY).approve(address(liquidityManager()), type(uint256).max); IERC20(PT).approve(address(liquidityManager()), type(uint256).max); IERC20(YT).approve(address(liquidityManager()), type(uint256).max); - } function getPendleMarketData() public returns (MarketState memory ms, MarketPreCompute memory mp) { @@ -134,7 +133,7 @@ contract ForkRMMTest is Test { fee_: 0.0003 ether, curator_: address(0x55) }); - + _; } @@ -145,11 +144,22 @@ contract ForkRMMTest is Test { uint256 rY = subject().reserveY(); uint256 maxSyToSwap = 1 ether; - - (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity(address(subject()), rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); + (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity( + LiquidityManager.SyToPtArgs({ + rmm: address(subject()), + rX: rX, + rY: rY, + index: index, + maxSy: maxSyToSwap, + blockTime: block.timestamp, + initialGuess: 0, + epsilon: 10_000 + }) + ); console2.log("syToSwap", syToSwap); console2.log("ptOut", ptOut); } + function test_compute_pt_to_sy_to_add_liquidity() public basic_sy { PYIndex index = YT.newIndex(); @@ -157,7 +167,9 @@ contract ForkRMMTest is Test { uint256 rY = subject().reserveY(); uint256 maxPtToSwap = 1 ether; - (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); + (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity( + LiquidityManager.PtToSyArgs(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000) + ); console2.log("ptToSwap", ptToSwap); console2.log("syOut", syOut); } @@ -169,13 +181,28 @@ contract ForkRMMTest is Test { uint256 rY = subject().reserveY(); uint256 maxSyToSwap = 1 ether; - (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity(address(subject()), rX, rY, index, maxSyToSwap, block.timestamp, 0, 10_000); + (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity( + LiquidityManager.SyToPtArgs({ + rmm: address(subject()), + rX: rX, + rY: rY, + index: index, + maxSy: maxSyToSwap, + blockTime: block.timestamp, + initialGuess: 0, + epsilon: 10_000 + }) + ); console2.log("ptOut", ptOut); uint256 dx = maxSyToSwap - syToSwap; uint256 dy = ptOut; - (,,uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); - uint256 liquidity = liquidityManager().allocateFromSy(address(subject()), maxSyToSwap, ptOut, minLiquidityDelta, syToSwap, eps); + (,, uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); + uint256 liquidity = liquidityManager().allocateFromSy( + LiquidityManager.AllocateFromSyArgs( + address(subject()), maxSyToSwap, ptOut, minLiquidityDelta, syToSwap, eps + ) + ); console2.log("liquidity", liquidity); } @@ -186,12 +213,18 @@ contract ForkRMMTest is Test { uint256 rY = subject().reserveY(); uint256 maxPtToSwap = 1 ether; - (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000); + (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity( + LiquidityManager.PtToSyArgs(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000) + ); uint256 dx = maxPtToSwap - ptToSwap; uint256 dy = syOut; - (,,uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); - uint256 liquidity = liquidityManager().allocateFromSy(address(subject()), maxPtToSwap, syOut, minLiquidityDelta, ptToSwap, eps); + (,, uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); + uint256 liquidity = liquidityManager().allocateFromSy( + LiquidityManager.AllocateFromSyArgs( + address(subject()), maxPtToSwap, syOut, minLiquidityDelta, ptToSwap, eps + ) + ); console2.log("liquidity", liquidity); console2.log("ptToSwap", ptToSwap); console2.log("syOut", syOut); From b8198b8d2951ea865392bb49e1f61ff25ea26134 Mon Sep 17 00:00:00 2001 From: clemlak Date: Mon, 17 Jun 2024 10:32:26 +0400 Subject: [PATCH 10/17] feat: merge similar structs --- src/LiquidityManager.sol | 73 ++++++++++++++------------------ test/unit/LiquidityManager.t.sol | 29 +++++++------ 2 files changed, 48 insertions(+), 54 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index f4d3080..b64178e 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -47,16 +47,16 @@ contract LiquidityManager { } } - struct AllocateFromSyArgs { + struct AllocateArgs { address rmm; - uint256 amountSy; - uint256 minPtOut; + uint256 amountIn; + uint256 minOut; uint256 minLiquidityDelta; uint256 initialGuess; uint256 epsilon; } - function allocateFromSy(AllocateFromSyArgs calldata args) external returns (uint256 liquidity) { + function allocateFromSy(AllocateArgs calldata args) external returns (uint256 liquidity) { RMM rmm = RMM(payable(args.rmm)); ERC20 sy = ERC20(address(rmm.SY())); @@ -68,12 +68,12 @@ contract LiquidityManager { // validate swap approximation (uint256 syToSwap,) = computeSyToPtToAddLiquidity( - SyToPtArgs({ + ComputeArgs({ rmm: args.rmm, rX: rX, rY: rY, index: index, - maxSy: args.amountSy, + maxIn: args.amountIn, blockTime: block.timestamp, initialGuess: args.initialGuess, epsilon: args.epsilon @@ -81,11 +81,11 @@ contract LiquidityManager { ); // transfer all sy in - sy.transferFrom(msg.sender, address(this), args.amountSy); - sy.approve(address(args.rmm), args.amountSy); + sy.transferFrom(msg.sender, address(this), args.amountIn); + sy.approve(address(args.rmm), args.amountIn); // swap syToSwap for pt - rmm.swapExactSyForPt(syToSwap, args.minPtOut, address(this)); + rmm.swapExactSyForPt(syToSwap, args.minOut, address(this)); uint256 syBal = sy.balanceOf(address(this)); uint256 ptBal = pt.balanceOf(address(this)); @@ -93,16 +93,7 @@ contract LiquidityManager { liquidity = rmm.allocate(syBal, ptBal, args.minLiquidityDelta, msg.sender); } - struct AllocateFromPtArgs { - address rmm; - uint256 amountPt; - uint256 minSyOut; - uint256 minLiquidityDelta; - uint256 initialGuess; - uint256 epsilon; - } - - function allocateFromPt(AllocateFromPtArgs calldata args) external returns (uint256 liquidity) { + function allocateFromPt(AllocateArgs calldata args) external returns (uint256 liquidity) { RMM rmm = RMM(payable(args.rmm)); ERC20 sy = ERC20(address(rmm.SY())); ERC20 pt = ERC20(address(rmm.PT())); @@ -113,15 +104,24 @@ contract LiquidityManager { // validate swap approximation (uint256 ptToSwap,) = computePtToSyToAddLiquidity( - PtToSyArgs(args.rmm, rX, rY, index, args.amountPt, block.timestamp, args.initialGuess, args.epsilon) + ComputeArgs({ + rmm: args.rmm, + rX: rX, + rY: rY, + index: index, + maxIn: args.amountIn, + blockTime: block.timestamp, + initialGuess: args.initialGuess, + epsilon: args.epsilon + }) ); // transfer all pt in - pt.transferFrom(msg.sender, address(this), args.amountPt); - pt.approve(address(rmm), args.amountPt); + pt.transferFrom(msg.sender, address(this), args.amountIn); + pt.approve(address(rmm), args.amountIn); // swap ptToSwap for sy - rmm.swapExactPtForSy(ptToSwap, args.minSyOut, address(this)); + rmm.swapExactPtForSy(ptToSwap, args.minOut, address(this)); uint256 syBal = sy.balanceOf(address(this)); uint256 ptBal = pt.balanceOf(address(this)); @@ -129,26 +129,26 @@ contract LiquidityManager { liquidity = rmm.allocate(syBal, ptBal, args.minLiquidityDelta, msg.sender); } - struct PtToSyArgs { + struct ComputeArgs { address rmm; uint256 rX; uint256 rY; PYIndex index; - uint256 maxPt; + uint256 maxIn; uint256 blockTime; uint256 initialGuess; uint256 epsilon; } - function computePtToSyToAddLiquidity(PtToSyArgs memory args) public view returns (uint256, uint256) { + function computePtToSyToAddLiquidity(ComputeArgs memory args) public view returns (uint256, uint256) { uint256 min = 0; - uint256 max = args.maxPt - 1; + uint256 max = args.maxIn - 1; for (uint256 iter = 0; iter < 256; ++iter) { uint256 guess = args.initialGuess > 0 && iter == 0 ? args.initialGuess : (min + max) / 2; (,, uint256 syOut,,) = RMM(payable(args.rmm)).prepareSwapPtIn(guess, args.blockTime, args.index); uint256 syNumerator = syOut * (args.rX + syOut); - uint256 ptNumerator = (args.maxPt - guess) * (args.rY - guess); + uint256 ptNumerator = (args.maxIn - guess) * (args.rY - guess); if (isAApproxB(syNumerator, ptNumerator, args.epsilon)) { return (guess, syOut); @@ -162,26 +162,15 @@ contract LiquidityManager { } } - struct SyToPtArgs { - address rmm; - uint256 rX; - uint256 rY; - PYIndex index; - uint256 maxSy; - uint256 blockTime; - uint256 initialGuess; - uint256 epsilon; - } - - function computeSyToPtToAddLiquidity(SyToPtArgs memory args) public view returns (uint256 guess, uint256 ptOut) { + function computeSyToPtToAddLiquidity(ComputeArgs memory args) public view returns (uint256 guess, uint256 ptOut) { RMM rmm = RMM(payable(args.rmm)); uint256 min = 0; - uint256 max = args.maxSy - 1; + uint256 max = args.maxIn - 1; for (uint256 iter = 0; iter < 256; ++iter) { guess = args.initialGuess > 0 && iter == 0 ? args.initialGuess : (min + max) / 2; (,, ptOut,,) = rmm.prepareSwapSyIn(guess, args.blockTime, args.index); - uint256 syNumerator = (args.maxSy - guess) * (args.rX + guess); + uint256 syNumerator = (args.maxIn - guess) * (args.rX + guess); uint256 ptNumerator = ptOut * (args.rY - ptOut); if (isAApproxB(syNumerator, ptNumerator, args.epsilon)) { diff --git a/test/unit/LiquidityManager.t.sol b/test/unit/LiquidityManager.t.sol index 8b237b5..c48cbfe 100644 --- a/test/unit/LiquidityManager.t.sol +++ b/test/unit/LiquidityManager.t.sol @@ -145,12 +145,12 @@ contract ForkRMMTest is Test { uint256 maxSyToSwap = 1 ether; (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity( - LiquidityManager.SyToPtArgs({ + LiquidityManager.ComputeArgs({ rmm: address(subject()), rX: rX, rY: rY, index: index, - maxSy: maxSyToSwap, + maxIn: maxSyToSwap, blockTime: block.timestamp, initialGuess: 0, epsilon: 10_000 @@ -168,7 +168,16 @@ contract ForkRMMTest is Test { uint256 maxPtToSwap = 1 ether; (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity( - LiquidityManager.PtToSyArgs(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000) + LiquidityManager.ComputeArgs({ + rmm: address(subject()), + rX: rX, + rY: rY, + index: index, + maxIn: maxPtToSwap, + blockTime: block.timestamp, + initialGuess: 0, + epsilon: 10_000 + }) ); console2.log("ptToSwap", ptToSwap); console2.log("syOut", syOut); @@ -182,12 +191,12 @@ contract ForkRMMTest is Test { uint256 maxSyToSwap = 1 ether; (uint256 syToSwap, uint256 ptOut) = liquidityManager().computeSyToPtToAddLiquidity( - LiquidityManager.SyToPtArgs({ + LiquidityManager.ComputeArgs({ rmm: address(subject()), rX: rX, rY: rY, index: index, - maxSy: maxSyToSwap, + maxIn: maxSyToSwap, blockTime: block.timestamp, initialGuess: 0, epsilon: 10_000 @@ -199,9 +208,7 @@ contract ForkRMMTest is Test { (,, uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); uint256 liquidity = liquidityManager().allocateFromSy( - LiquidityManager.AllocateFromSyArgs( - address(subject()), maxSyToSwap, ptOut, minLiquidityDelta, syToSwap, eps - ) + LiquidityManager.AllocateArgs(address(subject()), maxSyToSwap, ptOut, minLiquidityDelta, syToSwap, eps) ); console2.log("liquidity", liquidity); } @@ -214,16 +221,14 @@ contract ForkRMMTest is Test { uint256 maxPtToSwap = 1 ether; (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity( - LiquidityManager.PtToSyArgs(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000) + LiquidityManager.ComputeArgs(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000) ); uint256 dx = maxPtToSwap - ptToSwap; uint256 dy = syOut; (,, uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); uint256 liquidity = liquidityManager().allocateFromSy( - LiquidityManager.AllocateFromSyArgs( - address(subject()), maxPtToSwap, syOut, minLiquidityDelta, ptToSwap, eps - ) + LiquidityManager.AllocateArgs(address(subject()), maxPtToSwap, syOut, minLiquidityDelta, ptToSwap, eps) ); console2.log("liquidity", liquidity); console2.log("ptToSwap", ptToSwap); From a5fc637ebad9a8c0970edeec50fa6c4de7475fdf Mon Sep 17 00:00:00 2001 From: clemlak Date: Mon, 17 Jun 2024 10:38:16 +0400 Subject: [PATCH 11/17] feat: remove internal function _mintSYFromNativeAndToken --- src/LiquidityManager.sol | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index b64178e..f664476 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -19,31 +19,21 @@ contract LiquidityManager { payable returns (uint256 amountOut) { - return _mintSYFromNativeAndToken(SY, receiver, tokenIn, amountTokenToDeposit, minSharesOut); - } - - function _mintSYFromNativeAndToken( - address SY, - address receiver, - address tokenIn, - uint256 amountTokenIn, - uint256 minSyMinted - ) internal returns (uint256 amountSyOut) { IStandardizedYield sy = IStandardizedYield(SY); if (!sy.isValidTokenIn(tokenIn)) revert InvalidTokenIn(tokenIn); if (msg.value > 0 && sy.isValidTokenIn(address(0))) { // SY minted check is done in this function instead of relying on the SY contract's deposit(). - amountSyOut += sy.deposit{value: msg.value}(address(this), address(0), msg.value, 0); + amountOut += sy.deposit{value: msg.value}(address(this), address(0), msg.value, 0); } if (tokenIn != address(0)) { - ERC20(tokenIn).transferFrom(msg.sender, address(this), amountTokenIn); - amountSyOut += sy.deposit(receiver, tokenIn, amountTokenIn, 0); + ERC20(tokenIn).transferFrom(msg.sender, address(this), amountTokenToDeposit); + amountOut += sy.deposit(receiver, tokenIn, amountTokenToDeposit, 0); } - if (amountSyOut < minSyMinted) { - revert InsufficientSYMinted(amountSyOut, minSyMinted); + if (amountOut < minSharesOut) { + revert InsufficientSYMinted(amountOut, minSharesOut); } } From 2e5cbfcc65f6329de636f92901d8f5da36feda05 Mon Sep 17 00:00:00 2001 From: clemlak Date: Mon, 17 Jun 2024 10:38:59 +0400 Subject: [PATCH 12/17] chore: add named imports for RMM errors --- src/LiquidityManager.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index f664476..5ae46fe 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -7,7 +7,7 @@ import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; -import "./lib/RmmErrors.sol"; +import {InvalidTokenIn, InsufficientSYMinted} from "./lib/RmmErrors.sol"; contract LiquidityManager { using PYIndexLib for PYIndex; From 2b541acff492972e5709f01a30886bee08cc4ee2 Mon Sep 17 00:00:00 2001 From: clemlak Date: Mon, 17 Jun 2024 10:42:43 +0400 Subject: [PATCH 13/17] feat: use SafeTransferLib, ERC20 from Solmate --- src/LiquidityManager.sol | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index 5ae46fe..50d86b0 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -1,18 +1,19 @@ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity ^0.8.13; -import {RMM, IPYieldToken} from "./RMM.sol"; -import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; +import {SafeTransferLib, ERC20} from "solmate/utils/SafeTransferLib.sol"; +import {RMM, IPYieldToken} from "./RMM.sol"; import {InvalidTokenIn, InsufficientSYMinted} from "./lib/RmmErrors.sol"; contract LiquidityManager { using PYIndexLib for PYIndex; using PYIndexLib for IPYieldToken; using FixedPointMathLib for uint256; + using SafeTransferLib for ERC20; function mintSY(address SY, address receiver, address tokenIn, uint256 amountTokenToDeposit, uint256 minSharesOut) public @@ -28,7 +29,7 @@ contract LiquidityManager { } if (tokenIn != address(0)) { - ERC20(tokenIn).transferFrom(msg.sender, address(this), amountTokenToDeposit); + ERC20(tokenIn).safeTransferFrom(msg.sender, address(this), amountTokenToDeposit); amountOut += sy.deposit(receiver, tokenIn, amountTokenToDeposit, 0); } @@ -71,7 +72,7 @@ contract LiquidityManager { ); // transfer all sy in - sy.transferFrom(msg.sender, address(this), args.amountIn); + sy.safeTransferFrom(msg.sender, address(this), args.amountIn); sy.approve(address(args.rmm), args.amountIn); // swap syToSwap for pt @@ -107,7 +108,7 @@ contract LiquidityManager { ); // transfer all pt in - pt.transferFrom(msg.sender, address(this), args.amountIn); + pt.safeTransferFrom(msg.sender, address(this), args.amountIn); pt.approve(address(rmm), args.amountIn); // swap ptToSwap for sy From 1dae03ddaf0f51ba0e350d69622f4cc9a1569ac1 Mon Sep 17 00:00:00 2001 From: kinrezc Date: Mon, 17 Jun 2024 14:33:09 -0400 Subject: [PATCH 14/17] sy zap assertions, wip broken pt -> sy zap assertions --- src/LiquidityManager.sol | 7 ++++--- test/unit/LiquidityManager.t.sol | 20 +++++++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index 50d86b0..58b2c7b 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -5,6 +5,7 @@ import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; import {SafeTransferLib, ERC20} from "solmate/utils/SafeTransferLib.sol"; +import "forge-std/console2.sol"; import {RMM, IPYieldToken} from "./RMM.sol"; import {InvalidTokenIn, InsufficientSYMinted} from "./lib/RmmErrors.sol"; @@ -131,12 +132,12 @@ contract LiquidityManager { uint256 epsilon; } - function computePtToSyToAddLiquidity(ComputeArgs memory args) public view returns (uint256, uint256) { + function computePtToSyToAddLiquidity(ComputeArgs memory args) public view returns (uint256 guess, uint256 syOut) { uint256 min = 0; uint256 max = args.maxIn - 1; for (uint256 iter = 0; iter < 256; ++iter) { - uint256 guess = args.initialGuess > 0 && iter == 0 ? args.initialGuess : (min + max) / 2; - (,, uint256 syOut,,) = RMM(payable(args.rmm)).prepareSwapPtIn(guess, args.blockTime, args.index); + guess = args.initialGuess > 0 && iter == 0 ? args.initialGuess : (min + max) / 2; + (,, syOut,,) = RMM(payable(args.rmm)).prepareSwapPtIn(guess, args.blockTime, args.index); uint256 syNumerator = syOut * (args.rX + syOut); uint256 ptNumerator = (args.maxIn - guess) * (args.rY - guess); diff --git a/test/unit/LiquidityManager.t.sol b/test/unit/LiquidityManager.t.sol index c48cbfe..ee86757 100644 --- a/test/unit/LiquidityManager.t.sol +++ b/test/unit/LiquidityManager.t.sol @@ -16,6 +16,7 @@ import {IPPrincipalToken} from "pendle/interfaces/IPPrincipalToken.sol"; import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {IPYieldToken} from "pendle/interfaces/IPYieldToken.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; +import {ERC20} from "solmate/tokens/ERC20.sol"; IPAllActionV3 constant router = IPAllActionV3(0x00000000005BBB0EF59571E58418F9a4357b68A0); IPMarket constant market = IPMarket(0x9eC4c502D989F04FfA9312C9D6E3F872EC91A0F9); @@ -186,6 +187,7 @@ contract ForkRMMTest is Test { function test_zap_from_sy() public basic_sy { PYIndex index = YT.newIndex(); + // initial balances uint256 rX = subject().reserveX(); uint256 rY = subject().reserveY(); uint256 maxSyToSwap = 1 ether; @@ -202,15 +204,16 @@ contract ForkRMMTest is Test { epsilon: 10_000 }) ); - console2.log("ptOut", ptOut); uint256 dx = maxSyToSwap - syToSwap; uint256 dy = ptOut; (,, uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); - uint256 liquidity = liquidityManager().allocateFromSy( + liquidityManager().allocateFromSy( LiquidityManager.AllocateArgs(address(subject()), maxSyToSwap, ptOut, minLiquidityDelta, syToSwap, eps) ); - console2.log("liquidity", liquidity); + + assertEq(subject().reserveX(), rX + maxSyToSwap, "unexpected rX balance after zap"); + assertEq(subject().reserveY(), rY, "unexpected rY balance after zap"); } function test_zap_from_pt() public basic_sy { @@ -223,15 +226,14 @@ contract ForkRMMTest is Test { (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity( LiquidityManager.ComputeArgs(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000) ); - uint256 dx = maxPtToSwap - ptToSwap; - uint256 dy = syOut; + uint256 dx = syOut; + uint256 dy = maxPtToSwap - ptToSwap; (,, uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); - uint256 liquidity = liquidityManager().allocateFromSy( + liquidityManager().allocateFromSy( LiquidityManager.AllocateArgs(address(subject()), maxPtToSwap, syOut, minLiquidityDelta, ptToSwap, eps) ); - console2.log("liquidity", liquidity); - console2.log("ptToSwap", ptToSwap); - console2.log("syOut", syOut); + assertEq(subject().reserveY(), rY + maxPtToSwap, "unexpected rY balance after zap"); + assertEq(subject().reserveX(), rX, "unexpected rX balance after zap"); } } From e00d687a48911fa2fd9444dc6e436464725dbe94 Mon Sep 17 00:00:00 2001 From: kinrezc Date: Mon, 17 Jun 2024 14:42:31 -0400 Subject: [PATCH 15/17] fix pt -> LP zap math --- src/LiquidityManager.sol | 6 ++++-- test/unit/LiquidityManager.t.sol | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index 58b2c7b..1a4ff71 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -119,6 +119,8 @@ contract LiquidityManager { sy.approve(address(rmm), syBal); liquidity = rmm.allocate(syBal, ptBal, args.minLiquidityDelta, msg.sender); + console2.log(pt.balanceOf(address(this)), "pt bal after allocate"); + console2.log(sy.balanceOf(address(this)), "sy bal after allocate"); } struct ComputeArgs { @@ -139,8 +141,8 @@ contract LiquidityManager { guess = args.initialGuess > 0 && iter == 0 ? args.initialGuess : (min + max) / 2; (,, syOut,,) = RMM(payable(args.rmm)).prepareSwapPtIn(guess, args.blockTime, args.index); - uint256 syNumerator = syOut * (args.rX + syOut); - uint256 ptNumerator = (args.maxIn - guess) * (args.rY - guess); + uint256 syNumerator = syOut * (args.rX - syOut); + uint256 ptNumerator = (args.maxIn - guess) * (args.rY + guess); if (isAApproxB(syNumerator, ptNumerator, args.epsilon)) { return (guess, syOut); diff --git a/test/unit/LiquidityManager.t.sol b/test/unit/LiquidityManager.t.sol index ee86757..635336e 100644 --- a/test/unit/LiquidityManager.t.sol +++ b/test/unit/LiquidityManager.t.sol @@ -226,12 +226,13 @@ contract ForkRMMTest is Test { (uint256 ptToSwap, uint256 syOut) = liquidityManager().computePtToSyToAddLiquidity( LiquidityManager.ComputeArgs(address(subject()), rX, rY, index, maxPtToSwap, block.timestamp, 0, 10_000) ); - uint256 dx = syOut; + uint256 dy = maxPtToSwap - ptToSwap; + uint256 dx = syOut; (,, uint256 minLiquidityDelta,) = subject().prepareAllocate(dx, dy, index); - liquidityManager().allocateFromSy( - LiquidityManager.AllocateArgs(address(subject()), maxPtToSwap, syOut, minLiquidityDelta, ptToSwap, eps) + liquidityManager().allocateFromPt( + LiquidityManager.AllocateArgs(address(subject()), maxPtToSwap, syOut, minLiquidityDelta.mulDivDown(95, 100), ptToSwap, eps) ); assertEq(subject().reserveY(), rY + maxPtToSwap, "unexpected rY balance after zap"); assertEq(subject().reserveX(), rX, "unexpected rX balance after zap"); From 1ed56b360e728c1dbb452afd173e2b867c6980db Mon Sep 17 00:00:00 2001 From: kinrezc Date: Mon, 17 Jun 2024 14:44:38 -0400 Subject: [PATCH 16/17] update deployment script to include LiquidityManager.sol --- script/DeployFactory.s.sol | 3 +++ src/LiquidityManager.sol | 3 --- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/script/DeployFactory.s.sol b/script/DeployFactory.s.sol index 4352ec3..deb48d3 100644 --- a/script/DeployFactory.s.sol +++ b/script/DeployFactory.s.sol @@ -3,6 +3,7 @@ pragma solidity ^0.8.13; import {Script, console2} from "forge-std/Script.sol"; import {RMM} from "../src/RMM.sol"; +import {LiquidityManager} from "../src/LiquidityManager.sol"; import {Factory} from "../src/Factory.sol"; address constant WETH_ADDRESS = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; @@ -20,7 +21,9 @@ contract DeployFactory is Script { address sender = vm.addr(pk); console2.log("Deploying RMM from", sender); Factory factory = new Factory(WETH_ADDRESS); + LiquidityManager liquidityManager = new LiquidityManager(); console2.log("Factory deployed at", address(factory)); + console2.log("LiquidityManager deployed at", address(liquidityManager)); vm.stopBroadcast(); } diff --git a/src/LiquidityManager.sol b/src/LiquidityManager.sol index 1a4ff71..913783c 100644 --- a/src/LiquidityManager.sol +++ b/src/LiquidityManager.sol @@ -5,7 +5,6 @@ import {IStandardizedYield} from "pendle/interfaces/IStandardizedYield.sol"; import {PYIndexLib, PYIndex} from "pendle/core/StandardizedYield/PYIndex.sol"; import {FixedPointMathLib} from "solmate/utils/FixedPointMathLib.sol"; import {SafeTransferLib, ERC20} from "solmate/utils/SafeTransferLib.sol"; -import "forge-std/console2.sol"; import {RMM, IPYieldToken} from "./RMM.sol"; import {InvalidTokenIn, InsufficientSYMinted} from "./lib/RmmErrors.sol"; @@ -119,8 +118,6 @@ contract LiquidityManager { sy.approve(address(rmm), syBal); liquidity = rmm.allocate(syBal, ptBal, args.minLiquidityDelta, msg.sender); - console2.log(pt.balanceOf(address(this)), "pt bal after allocate"); - console2.log(sy.balanceOf(address(this)), "sy bal after allocate"); } struct ComputeArgs { From 9bc029cbc0f9a0867b7620055e81251e65463245 Mon Sep 17 00:00:00 2001 From: kinrezc Date: Mon, 17 Jun 2024 15:09:11 -0400 Subject: [PATCH 17/17] verified deployments + liquidity manager in deploy scripts --- .../DeployFactory.s.sol/1/run-1718649905.json | 49 + .../DeployFactory.s.sol/1/run-1718649919.json | 49 + .../DeployFactory.s.sol/1/run-1718649926.json | 49 + .../DeployFactory.s.sol/1/run-1718650179.json | 84 ++ .../DeployFactory.s.sol/1/run-latest.json | 84 ++ .../753712/run-1718650463.json | 49 + .../753712/run-1718650520.json | 84 ++ .../753712/run-latest.json | 84 ++ .../753712/run-1718650594.json | 1002 +++++++++++++++ .../753712/run-1718650742.json | 1080 ++++++++++++++++ .../753712/run-1718650883.json | 1034 +++++++++++++++ .../753712/run-1718651002.json | 1112 +++++++++++++++++ .../DeployPool.s.sol/753712/run-latest.json | 1112 +++++++++++++++++ foundry.toml | 3 +- script/DeployPool.s.sol | 2 +- 15 files changed, 5875 insertions(+), 2 deletions(-) create mode 100644 broadcast/DeployFactory.s.sol/1/run-1718649905.json create mode 100644 broadcast/DeployFactory.s.sol/1/run-1718649919.json create mode 100644 broadcast/DeployFactory.s.sol/1/run-1718649926.json create mode 100644 broadcast/DeployFactory.s.sol/1/run-1718650179.json create mode 100644 broadcast/DeployFactory.s.sol/1/run-latest.json create mode 100644 broadcast/DeployFactory.s.sol/753712/run-1718650463.json create mode 100644 broadcast/DeployFactory.s.sol/753712/run-1718650520.json create mode 100644 broadcast/DeployFactory.s.sol/753712/run-latest.json create mode 100644 broadcast/DeployPool.s.sol/753712/run-1718650594.json create mode 100644 broadcast/DeployPool.s.sol/753712/run-1718650742.json create mode 100644 broadcast/DeployPool.s.sol/753712/run-1718650883.json create mode 100644 broadcast/DeployPool.s.sol/753712/run-1718651002.json create mode 100644 broadcast/DeployPool.s.sol/753712/run-latest.json diff --git a/broadcast/DeployFactory.s.sol/1/run-1718649905.json b/broadcast/DeployFactory.s.sol/1/run-1718649905.json new file mode 100644 index 0000000..7abfe38 --- /dev/null +++ b/broadcast/DeployFactory.s.sol/1/run-1718649905.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Factory", + "contractAddress": "0x716473fb4e7cd49c7d1ec7ec6d7490a03d9da332", + "function": null, + "arguments": [ + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + ], + "transaction": { + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "gas": "0x6a27e4", + "value": "0x0", + "input": "0x60a060405234801561001057600080fd5b5060405161607738038061607783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051615fe761009060003960008181608d015260b40152615fe76000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806326bff9d514610046578063ac4afa3814610075578063ad5c464814610088575b600080fd5b610059610054366004610282565b6100af565b6040516001600160a01b03909116815260200160405180910390f35b6100596100833660046102e5565b6101a8565b6100597f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000084846040516100e1906101d2565b6100ed93929190610344565b604051809103906000f080158015610109573d6000803e3d6000fd5b509050806001600160a01b0316336001600160a01b03167f87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d8686604051610151929190610384565b60405180910390a3600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0383161790559392505050565b600081815481106101b857600080fd5b6000918252602090912001546001600160a01b0316905081565b615bff80620003b383390190565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261020757600080fd5b81356001600160401b0380821115610221576102216101e0565b604051601f8301601f19908116603f01168101908282118183101715610249576102496101e0565b8160405283815286602085880101111561026257600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561029557600080fd5b82356001600160401b03808211156102ac57600080fd5b6102b8868387016101f6565b935060208501359150808211156102ce57600080fd5b506102db858286016101f6565b9150509250929050565b6000602082840312156102f757600080fd5b5035919050565b6000815180845260005b8181101561032457602081850181015186830182015201610308565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384168152606060208201819052600090610368908301856102fe565b828103604084015261037a81856102fe565b9695505050505050565b60408152600061039760408301856102fe565b82810360208401526103a981856102fe565b9594505050505056fe61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033a2646970667358221220975bb10501eae662d7b1c58fd7901affccf941f6f0022d82da63fd2835e6ab9664736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "nonce": "0x2ae", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "LiquidityManager", + "contractAddress": "0x64079a2edd1104a2323e2b732a1244bce011b1f5", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "gas": "0x188de8", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b50611570806100206000396000f3fe60806040526004361061004a5760003560e01c8063432634531461004f5780634fb89f3614610089578063820a0fac146100aa578063ef824c32146100ca578063f7ba6859146100ea575b600080fd5b34801561005b57600080fd5b5061006f61006a36600461124a565b61010a565b604080519283526020830191909152015b60405180910390f35b61009c6100973660046112ee565b610293565b604051908152602001610080565b3480156100b657600080fd5b5061009c6100c5366004611349565b61050c565b3480156100d657600080fd5b5061009c6100e5366004611349565b610aa0565b3480156100f657600080fd5b5061006f61010536600461124a565b610f16565b8051608082015160009182918290819061012690600190611377565b905060005b61010081101561028a5760008760c00151118015610147575080155b610166576002610157838561138a565b610161919061139d565b61016c565b8660c001515b60a0880151606089015160405163c245768d60e01b81529298506001600160a01b0387169263c245768d926101a5928b926004016113bf565b60a060405180830381865afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e691906113d5565b505060208a0151909750600092506102009150889061138a565b8789608001516102109190611377565b61021a9190611415565b9050600086896040015161022e9190611377565b6102389088611415565b905061024982828b60e0015161109d565b1561025957505050505050915091565b8181116102725761026b88600161138a565b9450610280565b61027d600189611377565b93505b505060010161012b565b50505050915091565b604051637d2d278360e11b815260009086906001600160a01b0382169063fa5a4f06906102c490889060040161142c565b602060405180830381865afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103059190611440565b61032d57846040516329e64b1d60e11b8152600401610324919061142c565b60405180910390fd5b6000341180156103a65750604051637d2d278360e11b81526001600160a01b0382169063fa5a4f06906103659060009060040161142c565b602060405180830381865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a69190611440565b15610430576040516320e8c56560e01b81526001600160a01b038216906320e8c5659034906103e090309060009084908290600401611462565b60206040518083038185885af11580156103fe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610423919061148b565b61042d908361138a565b91505b6001600160a01b038516156104d7576104546001600160a01b0386163330876110ed565b6040516320e8c56560e01b81526001600160a01b038216906320e8c5659061048790899089908990600090600401611462565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca919061148b565b6104d4908361138a565b91505b82821015610502576040516382acca5f60e01b81526004810183905260248101849052604401610324565b5095945050505050565b60008061051c60208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058291906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e891906114c1565b9050600061065f846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906114c1565b6001600160a01b031661117b565b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c5919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b919061148b565b905060006107986040518061010001604052808b600001602081019061075191906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a0013581525061010a565b5090506107b46001600160a01b038716333060208d01356110ed565b6001600160a01b03861663095ea7b36107d060208c018c6114a4565b8b602001356040518363ffffffff1660e01b81526004016107f29291906114de565b6020604051808303816000875af1158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190611440565b50604080516339d4447b60e11b81526001600160a01b038916916373a888f69161086a918591908e01359030906004016114f7565b60408051808303816000875af1158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac9190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a08231906108dd90309060040161142c565b602060405180830381865afa1580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161094e919061142c565b602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f919061148b565b90506001600160a01b03871663095ea7b36109ad60208e018e6114a4565b836040518363ffffffff1660e01b81526004016109cb9291906114de565b6020604051808303816000875af11580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611440565b5060405163bb08e0d760e01b8152600481018390526024810182905260608c013560448201523360648201526001600160a01b038a169063bb08e0d7906084016020604051808303816000875af1158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a91919061148b565b9b9a5050505050505050505050565b600080610ab060208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1691906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906114c1565b90506000610bc1846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c27919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8d919061148b565b90506000610cfa6040518061010001604052808b6000016020810190610cb391906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a00135815250610f16565b509050610d166001600160a01b038616333060208d01356110ed565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390610d48908a9060208e0135906004016114de565b6020604051808303816000875af1158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190611440565b5060408051638488ba3360e01b81526001600160a01b03891691638488ba3391610dc0918591908e01359030906004016114f7565b60408051808303816000875af1158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a0823190610e3390309060040161142c565b602060405180830381865afa158015610e50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e74919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ea4919061142c565b602060405180830381865afa158015610ec1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee5919061148b565b60405163095ea7b360e01b81529091506001600160a01b0389169063095ea7b3906109cb908c9086906004016114de565b60008060008060018560800151610f2d9190611377565b905060005b6101008110156110955760008660c00151118015610f4e575080155b610f6d576002610f5e838561138a565b610f68919061139d565b610f73565b8560c001515b945085600001516001600160a01b0316639edc82fd868860a0015189606001516040518463ffffffff1660e01b8152600401610fb1939291906113bf565b60a060405180830381865afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff291906113d5565b505060208901519096506000925061100c91508690611377565b6110169086611415565b9050600086886040015161102a919061138a565b87896080015161103a9190611377565b6110449190611415565b905061105582828a60e0015161109d565b15611064575050505050915091565b80821161107d5761107687600161138a565b945061108b565b611088600188611377565b93505b5050600101610f32565b505050915091565b6000836110bc6110b584670de0b6b3a7640000611377565b85906111e7565b111580156110e557506110e16110da83670de0b6b3a764000061138a565b84906111e7565b8411155b949350505050565b60006040516323b872dd60e01b6000528460045283602452826044526020600060646000808a5af13d15601f3d11600160005114161716915060006060528060405250806111745760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610324565b5050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e1919061148b565b92915050565b60006111fc8383670de0b6b3a7640000611203565b9392505050565b82820281151584158583048514171661121b57600080fd5b0492915050565b6001600160a01b038116811461123757600080fd5b50565b803561124581611222565b919050565b600061010080838503121561125e57600080fd5b604051908101906001600160401b038211818310171561128e57634e487b7160e01b600052604160045260246000fd5b8160405261129b8461123a565b81526020840135602082015260408401356040820152606084013560608201526080840135608082015260a084013560a082015260c084013560c082015260e084013560e0820152809250505092915050565b600080600080600060a0868803121561130657600080fd5b853561131181611222565b9450602086013561132181611222565b9350604086013561133181611222565b94979396509394606081013594506080013592915050565b600060c0828403121561135b57600080fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111e1576111e1611361565b808201808211156111e1576111e1611361565b6000826113ba57634e487b7160e01b600052601260045260246000fd5b500490565b9283526020830191909152604082015260600190565b600080600080600060a086880312156113ed57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176111e1576111e1611361565b6001600160a01b0391909116815260200190565b60006020828403121561145257600080fd5b815180151581146111fc57600080fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561149d57600080fd5b5051919050565b6000602082840312156114b657600080fd5b81356111fc81611222565b6000602082840312156114d357600080fd5b81516111fc81611222565b6001600160a01b03929092168252602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b6000806040838503121561152957600080fd5b50508051602090910151909290915056fea2646970667358221220559d0bb2f76441396109a41ab838cb9be4b4e05d466f7358c3bb8391ff90dfc464736f6c63430008160033", + "nonce": "0x2af", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718649905, + "chain": 1, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployFactory.s.sol/1/run-1718649919.json b/broadcast/DeployFactory.s.sol/1/run-1718649919.json new file mode 100644 index 0000000..abf972d --- /dev/null +++ b/broadcast/DeployFactory.s.sol/1/run-1718649919.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Factory", + "contractAddress": "0x716473fb4e7cd49c7d1ec7ec6d7490a03d9da332", + "function": null, + "arguments": [ + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + ], + "transaction": { + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "gas": "0x6a27e4", + "value": "0x0", + "input": "0x60a060405234801561001057600080fd5b5060405161607738038061607783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051615fe761009060003960008181608d015260b40152615fe76000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806326bff9d514610046578063ac4afa3814610075578063ad5c464814610088575b600080fd5b610059610054366004610282565b6100af565b6040516001600160a01b03909116815260200160405180910390f35b6100596100833660046102e5565b6101a8565b6100597f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000084846040516100e1906101d2565b6100ed93929190610344565b604051809103906000f080158015610109573d6000803e3d6000fd5b509050806001600160a01b0316336001600160a01b03167f87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d8686604051610151929190610384565b60405180910390a3600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0383161790559392505050565b600081815481106101b857600080fd5b6000918252602090912001546001600160a01b0316905081565b615bff80620003b383390190565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261020757600080fd5b81356001600160401b0380821115610221576102216101e0565b604051601f8301601f19908116603f01168101908282118183101715610249576102496101e0565b8160405283815286602085880101111561026257600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561029557600080fd5b82356001600160401b03808211156102ac57600080fd5b6102b8868387016101f6565b935060208501359150808211156102ce57600080fd5b506102db858286016101f6565b9150509250929050565b6000602082840312156102f757600080fd5b5035919050565b6000815180845260005b8181101561032457602081850181015186830182015201610308565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384168152606060208201819052600090610368908301856102fe565b828103604084015261037a81856102fe565b9695505050505050565b60408152600061039760408301856102fe565b82810360208401526103a981856102fe565b9594505050505056fe61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033a2646970667358221220975bb10501eae662d7b1c58fd7901affccf941f6f0022d82da63fd2835e6ab9664736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "nonce": "0x2ae", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "LiquidityManager", + "contractAddress": "0x64079a2edd1104a2323e2b732a1244bce011b1f5", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "gas": "0x188de8", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b50611570806100206000396000f3fe60806040526004361061004a5760003560e01c8063432634531461004f5780634fb89f3614610089578063820a0fac146100aa578063ef824c32146100ca578063f7ba6859146100ea575b600080fd5b34801561005b57600080fd5b5061006f61006a36600461124a565b61010a565b604080519283526020830191909152015b60405180910390f35b61009c6100973660046112ee565b610293565b604051908152602001610080565b3480156100b657600080fd5b5061009c6100c5366004611349565b61050c565b3480156100d657600080fd5b5061009c6100e5366004611349565b610aa0565b3480156100f657600080fd5b5061006f61010536600461124a565b610f16565b8051608082015160009182918290819061012690600190611377565b905060005b61010081101561028a5760008760c00151118015610147575080155b610166576002610157838561138a565b610161919061139d565b61016c565b8660c001515b60a0880151606089015160405163c245768d60e01b81529298506001600160a01b0387169263c245768d926101a5928b926004016113bf565b60a060405180830381865afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e691906113d5565b505060208a0151909750600092506102009150889061138a565b8789608001516102109190611377565b61021a9190611415565b9050600086896040015161022e9190611377565b6102389088611415565b905061024982828b60e0015161109d565b1561025957505050505050915091565b8181116102725761026b88600161138a565b9450610280565b61027d600189611377565b93505b505060010161012b565b50505050915091565b604051637d2d278360e11b815260009086906001600160a01b0382169063fa5a4f06906102c490889060040161142c565b602060405180830381865afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103059190611440565b61032d57846040516329e64b1d60e11b8152600401610324919061142c565b60405180910390fd5b6000341180156103a65750604051637d2d278360e11b81526001600160a01b0382169063fa5a4f06906103659060009060040161142c565b602060405180830381865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a69190611440565b15610430576040516320e8c56560e01b81526001600160a01b038216906320e8c5659034906103e090309060009084908290600401611462565b60206040518083038185885af11580156103fe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610423919061148b565b61042d908361138a565b91505b6001600160a01b038516156104d7576104546001600160a01b0386163330876110ed565b6040516320e8c56560e01b81526001600160a01b038216906320e8c5659061048790899089908990600090600401611462565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca919061148b565b6104d4908361138a565b91505b82821015610502576040516382acca5f60e01b81526004810183905260248101849052604401610324565b5095945050505050565b60008061051c60208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058291906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e891906114c1565b9050600061065f846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906114c1565b6001600160a01b031661117b565b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c5919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b919061148b565b905060006107986040518061010001604052808b600001602081019061075191906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a0013581525061010a565b5090506107b46001600160a01b038716333060208d01356110ed565b6001600160a01b03861663095ea7b36107d060208c018c6114a4565b8b602001356040518363ffffffff1660e01b81526004016107f29291906114de565b6020604051808303816000875af1158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190611440565b50604080516339d4447b60e11b81526001600160a01b038916916373a888f69161086a918591908e01359030906004016114f7565b60408051808303816000875af1158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac9190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a08231906108dd90309060040161142c565b602060405180830381865afa1580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161094e919061142c565b602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f919061148b565b90506001600160a01b03871663095ea7b36109ad60208e018e6114a4565b836040518363ffffffff1660e01b81526004016109cb9291906114de565b6020604051808303816000875af11580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611440565b5060405163bb08e0d760e01b8152600481018390526024810182905260608c013560448201523360648201526001600160a01b038a169063bb08e0d7906084016020604051808303816000875af1158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a91919061148b565b9b9a5050505050505050505050565b600080610ab060208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1691906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906114c1565b90506000610bc1846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c27919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8d919061148b565b90506000610cfa6040518061010001604052808b6000016020810190610cb391906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a00135815250610f16565b509050610d166001600160a01b038616333060208d01356110ed565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390610d48908a9060208e0135906004016114de565b6020604051808303816000875af1158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190611440565b5060408051638488ba3360e01b81526001600160a01b03891691638488ba3391610dc0918591908e01359030906004016114f7565b60408051808303816000875af1158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a0823190610e3390309060040161142c565b602060405180830381865afa158015610e50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e74919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ea4919061142c565b602060405180830381865afa158015610ec1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee5919061148b565b60405163095ea7b360e01b81529091506001600160a01b0389169063095ea7b3906109cb908c9086906004016114de565b60008060008060018560800151610f2d9190611377565b905060005b6101008110156110955760008660c00151118015610f4e575080155b610f6d576002610f5e838561138a565b610f68919061139d565b610f73565b8560c001515b945085600001516001600160a01b0316639edc82fd868860a0015189606001516040518463ffffffff1660e01b8152600401610fb1939291906113bf565b60a060405180830381865afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff291906113d5565b505060208901519096506000925061100c91508690611377565b6110169086611415565b9050600086886040015161102a919061138a565b87896080015161103a9190611377565b6110449190611415565b905061105582828a60e0015161109d565b15611064575050505050915091565b80821161107d5761107687600161138a565b945061108b565b611088600188611377565b93505b5050600101610f32565b505050915091565b6000836110bc6110b584670de0b6b3a7640000611377565b85906111e7565b111580156110e557506110e16110da83670de0b6b3a764000061138a565b84906111e7565b8411155b949350505050565b60006040516323b872dd60e01b6000528460045283602452826044526020600060646000808a5af13d15601f3d11600160005114161716915060006060528060405250806111745760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610324565b5050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e1919061148b565b92915050565b60006111fc8383670de0b6b3a7640000611203565b9392505050565b82820281151584158583048514171661121b57600080fd5b0492915050565b6001600160a01b038116811461123757600080fd5b50565b803561124581611222565b919050565b600061010080838503121561125e57600080fd5b604051908101906001600160401b038211818310171561128e57634e487b7160e01b600052604160045260246000fd5b8160405261129b8461123a565b81526020840135602082015260408401356040820152606084013560608201526080840135608082015260a084013560a082015260c084013560c082015260e084013560e0820152809250505092915050565b600080600080600060a0868803121561130657600080fd5b853561131181611222565b9450602086013561132181611222565b9350604086013561133181611222565b94979396509394606081013594506080013592915050565b600060c0828403121561135b57600080fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111e1576111e1611361565b808201808211156111e1576111e1611361565b6000826113ba57634e487b7160e01b600052601260045260246000fd5b500490565b9283526020830191909152604082015260600190565b600080600080600060a086880312156113ed57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176111e1576111e1611361565b6001600160a01b0391909116815260200190565b60006020828403121561145257600080fd5b815180151581146111fc57600080fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561149d57600080fd5b5051919050565b6000602082840312156114b657600080fd5b81356111fc81611222565b6000602082840312156114d357600080fd5b81516111fc81611222565b6001600160a01b03929092168252602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b6000806040838503121561152957600080fd5b50508051602090910151909290915056fea2646970667358221220559d0bb2f76441396109a41ab838cb9be4b4e05d466f7358c3bb8391ff90dfc464736f6c63430008160033", + "nonce": "0x2af", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718649919, + "chain": 1, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployFactory.s.sol/1/run-1718649926.json b/broadcast/DeployFactory.s.sol/1/run-1718649926.json new file mode 100644 index 0000000..2cbd69d --- /dev/null +++ b/broadcast/DeployFactory.s.sol/1/run-1718649926.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Factory", + "contractAddress": "0x716473fb4e7cd49c7d1ec7ec6d7490a03d9da332", + "function": null, + "arguments": [ + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + ], + "transaction": { + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "gas": "0x6a27e4", + "value": "0x0", + "input": "0x60a060405234801561001057600080fd5b5060405161607738038061607783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051615fe761009060003960008181608d015260b40152615fe76000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806326bff9d514610046578063ac4afa3814610075578063ad5c464814610088575b600080fd5b610059610054366004610282565b6100af565b6040516001600160a01b03909116815260200160405180910390f35b6100596100833660046102e5565b6101a8565b6100597f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000084846040516100e1906101d2565b6100ed93929190610344565b604051809103906000f080158015610109573d6000803e3d6000fd5b509050806001600160a01b0316336001600160a01b03167f87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d8686604051610151929190610384565b60405180910390a3600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0383161790559392505050565b600081815481106101b857600080fd5b6000918252602090912001546001600160a01b0316905081565b615bff80620003b383390190565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261020757600080fd5b81356001600160401b0380821115610221576102216101e0565b604051601f8301601f19908116603f01168101908282118183101715610249576102496101e0565b8160405283815286602085880101111561026257600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561029557600080fd5b82356001600160401b03808211156102ac57600080fd5b6102b8868387016101f6565b935060208501359150808211156102ce57600080fd5b506102db858286016101f6565b9150509250929050565b6000602082840312156102f757600080fd5b5035919050565b6000815180845260005b8181101561032457602081850181015186830182015201610308565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384168152606060208201819052600090610368908301856102fe565b828103604084015261037a81856102fe565b9695505050505050565b60408152600061039760408301856102fe565b82810360208401526103a981856102fe565b9594505050505056fe61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033a2646970667358221220975bb10501eae662d7b1c58fd7901affccf941f6f0022d82da63fd2835e6ab9664736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "nonce": "0x2ae", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "LiquidityManager", + "contractAddress": "0x64079a2edd1104a2323e2b732a1244bce011b1f5", + "function": null, + "arguments": null, + "transaction": { + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "gas": "0x188de8", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b50611570806100206000396000f3fe60806040526004361061004a5760003560e01c8063432634531461004f5780634fb89f3614610089578063820a0fac146100aa578063ef824c32146100ca578063f7ba6859146100ea575b600080fd5b34801561005b57600080fd5b5061006f61006a36600461124a565b61010a565b604080519283526020830191909152015b60405180910390f35b61009c6100973660046112ee565b610293565b604051908152602001610080565b3480156100b657600080fd5b5061009c6100c5366004611349565b61050c565b3480156100d657600080fd5b5061009c6100e5366004611349565b610aa0565b3480156100f657600080fd5b5061006f61010536600461124a565b610f16565b8051608082015160009182918290819061012690600190611377565b905060005b61010081101561028a5760008760c00151118015610147575080155b610166576002610157838561138a565b610161919061139d565b61016c565b8660c001515b60a0880151606089015160405163c245768d60e01b81529298506001600160a01b0387169263c245768d926101a5928b926004016113bf565b60a060405180830381865afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e691906113d5565b505060208a0151909750600092506102009150889061138a565b8789608001516102109190611377565b61021a9190611415565b9050600086896040015161022e9190611377565b6102389088611415565b905061024982828b60e0015161109d565b1561025957505050505050915091565b8181116102725761026b88600161138a565b9450610280565b61027d600189611377565b93505b505060010161012b565b50505050915091565b604051637d2d278360e11b815260009086906001600160a01b0382169063fa5a4f06906102c490889060040161142c565b602060405180830381865afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103059190611440565b61032d57846040516329e64b1d60e11b8152600401610324919061142c565b60405180910390fd5b6000341180156103a65750604051637d2d278360e11b81526001600160a01b0382169063fa5a4f06906103659060009060040161142c565b602060405180830381865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a69190611440565b15610430576040516320e8c56560e01b81526001600160a01b038216906320e8c5659034906103e090309060009084908290600401611462565b60206040518083038185885af11580156103fe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610423919061148b565b61042d908361138a565b91505b6001600160a01b038516156104d7576104546001600160a01b0386163330876110ed565b6040516320e8c56560e01b81526001600160a01b038216906320e8c5659061048790899089908990600090600401611462565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca919061148b565b6104d4908361138a565b91505b82821015610502576040516382acca5f60e01b81526004810183905260248101849052604401610324565b5095945050505050565b60008061051c60208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058291906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e891906114c1565b9050600061065f846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906114c1565b6001600160a01b031661117b565b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c5919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b919061148b565b905060006107986040518061010001604052808b600001602081019061075191906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a0013581525061010a565b5090506107b46001600160a01b038716333060208d01356110ed565b6001600160a01b03861663095ea7b36107d060208c018c6114a4565b8b602001356040518363ffffffff1660e01b81526004016107f29291906114de565b6020604051808303816000875af1158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190611440565b50604080516339d4447b60e11b81526001600160a01b038916916373a888f69161086a918591908e01359030906004016114f7565b60408051808303816000875af1158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac9190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a08231906108dd90309060040161142c565b602060405180830381865afa1580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161094e919061142c565b602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f919061148b565b90506001600160a01b03871663095ea7b36109ad60208e018e6114a4565b836040518363ffffffff1660e01b81526004016109cb9291906114de565b6020604051808303816000875af11580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611440565b5060405163bb08e0d760e01b8152600481018390526024810182905260608c013560448201523360648201526001600160a01b038a169063bb08e0d7906084016020604051808303816000875af1158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a91919061148b565b9b9a5050505050505050505050565b600080610ab060208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1691906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906114c1565b90506000610bc1846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c27919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8d919061148b565b90506000610cfa6040518061010001604052808b6000016020810190610cb391906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a00135815250610f16565b509050610d166001600160a01b038616333060208d01356110ed565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390610d48908a9060208e0135906004016114de565b6020604051808303816000875af1158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190611440565b5060408051638488ba3360e01b81526001600160a01b03891691638488ba3391610dc0918591908e01359030906004016114f7565b60408051808303816000875af1158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a0823190610e3390309060040161142c565b602060405180830381865afa158015610e50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e74919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ea4919061142c565b602060405180830381865afa158015610ec1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee5919061148b565b60405163095ea7b360e01b81529091506001600160a01b0389169063095ea7b3906109cb908c9086906004016114de565b60008060008060018560800151610f2d9190611377565b905060005b6101008110156110955760008660c00151118015610f4e575080155b610f6d576002610f5e838561138a565b610f68919061139d565b610f73565b8560c001515b945085600001516001600160a01b0316639edc82fd868860a0015189606001516040518463ffffffff1660e01b8152600401610fb1939291906113bf565b60a060405180830381865afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff291906113d5565b505060208901519096506000925061100c91508690611377565b6110169086611415565b9050600086886040015161102a919061138a565b87896080015161103a9190611377565b6110449190611415565b905061105582828a60e0015161109d565b15611064575050505050915091565b80821161107d5761107687600161138a565b945061108b565b611088600188611377565b93505b5050600101610f32565b505050915091565b6000836110bc6110b584670de0b6b3a7640000611377565b85906111e7565b111580156110e557506110e16110da83670de0b6b3a764000061138a565b84906111e7565b8411155b949350505050565b60006040516323b872dd60e01b6000528460045283602452826044526020600060646000808a5af13d15601f3d11600160005114161716915060006060528060405250806111745760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610324565b5050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e1919061148b565b92915050565b60006111fc8383670de0b6b3a7640000611203565b9392505050565b82820281151584158583048514171661121b57600080fd5b0492915050565b6001600160a01b038116811461123757600080fd5b50565b803561124581611222565b919050565b600061010080838503121561125e57600080fd5b604051908101906001600160401b038211818310171561128e57634e487b7160e01b600052604160045260246000fd5b8160405261129b8461123a565b81526020840135602082015260408401356040820152606084013560608201526080840135608082015260a084013560a082015260c084013560c082015260e084013560e0820152809250505092915050565b600080600080600060a0868803121561130657600080fd5b853561131181611222565b9450602086013561132181611222565b9350604086013561133181611222565b94979396509394606081013594506080013592915050565b600060c0828403121561135b57600080fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111e1576111e1611361565b808201808211156111e1576111e1611361565b6000826113ba57634e487b7160e01b600052601260045260246000fd5b500490565b9283526020830191909152604082015260600190565b600080600080600060a086880312156113ed57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176111e1576111e1611361565b6001600160a01b0391909116815260200190565b60006020828403121561145257600080fd5b815180151581146111fc57600080fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561149d57600080fd5b5051919050565b6000602082840312156114b657600080fd5b81356111fc81611222565b6000602082840312156114d357600080fd5b81516111fc81611222565b6001600160a01b03929092168252602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b6000806040838503121561152957600080fd5b50508051602090910151909290915056fea2646970667358221220559d0bb2f76441396109a41ab838cb9be4b4e05d466f7358c3bb8391ff90dfc464736f6c63430008160033", + "nonce": "0x2af", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718649926, + "chain": 1, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployFactory.s.sol/1/run-1718650179.json b/broadcast/DeployFactory.s.sol/1/run-1718650179.json new file mode 100644 index 0000000..72a0087 --- /dev/null +++ b/broadcast/DeployFactory.s.sol/1/run-1718650179.json @@ -0,0 +1,84 @@ +{ + "transactions": [ + { + "hash": "0xefc627e6ff56c796aed0d8527ac0503b3d0e5d4c9d88f6ee232a9e1043c4d8ae", + "transactionType": "CREATE", + "contractName": "Factory", + "contractAddress": "0x06340b2e5e6632a784996ec0f464701788815c89", + "function": null, + "arguments": [ + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "gas": "0x6a27e4", + "value": "0x0", + "input": "0x60a060405234801561001057600080fd5b5060405161607738038061607783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051615fe761009060003960008181608d015260b40152615fe76000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806326bff9d514610046578063ac4afa3814610075578063ad5c464814610088575b600080fd5b610059610054366004610282565b6100af565b6040516001600160a01b03909116815260200160405180910390f35b6100596100833660046102e5565b6101a8565b6100597f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000084846040516100e1906101d2565b6100ed93929190610344565b604051809103906000f080158015610109573d6000803e3d6000fd5b509050806001600160a01b0316336001600160a01b03167f87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d8686604051610151929190610384565b60405180910390a3600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0383161790559392505050565b600081815481106101b857600080fd5b6000918252602090912001546001600160a01b0316905081565b615bff80620003b383390190565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261020757600080fd5b81356001600160401b0380821115610221576102216101e0565b604051601f8301601f19908116603f01168101908282118183101715610249576102496101e0565b8160405283815286602085880101111561026257600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561029557600080fd5b82356001600160401b03808211156102ac57600080fd5b6102b8868387016101f6565b935060208501359150808211156102ce57600080fd5b506102db858286016101f6565b9150509250929050565b6000602082840312156102f757600080fd5b5035919050565b6000815180845260005b8181101561032457602081850181015186830182015201610308565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384168152606060208201819052600090610368908301856102fe565b828103604084015261037a81856102fe565b9695505050505050565b60408152600061039760408301856102fe565b82810360208401526103a981856102fe565b9594505050505056fe61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033a2646970667358221220975bb10501eae662d7b1c58fd7901affccf941f6f0022d82da63fd2835e6ab9664736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "nonce": "0x51", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e960ef085766d390dfe6b8735c3a689267f6c15186d68fca961cbc2dd8cbc4c", + "transactionType": "CREATE", + "contractName": "LiquidityManager", + "contractAddress": "0xb430868766e82b1aacdc79c97e0942aa76f9cf9c", + "function": null, + "arguments": null, + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "gas": "0x188de8", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b50611570806100206000396000f3fe60806040526004361061004a5760003560e01c8063432634531461004f5780634fb89f3614610089578063820a0fac146100aa578063ef824c32146100ca578063f7ba6859146100ea575b600080fd5b34801561005b57600080fd5b5061006f61006a36600461124a565b61010a565b604080519283526020830191909152015b60405180910390f35b61009c6100973660046112ee565b610293565b604051908152602001610080565b3480156100b657600080fd5b5061009c6100c5366004611349565b61050c565b3480156100d657600080fd5b5061009c6100e5366004611349565b610aa0565b3480156100f657600080fd5b5061006f61010536600461124a565b610f16565b8051608082015160009182918290819061012690600190611377565b905060005b61010081101561028a5760008760c00151118015610147575080155b610166576002610157838561138a565b610161919061139d565b61016c565b8660c001515b60a0880151606089015160405163c245768d60e01b81529298506001600160a01b0387169263c245768d926101a5928b926004016113bf565b60a060405180830381865afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e691906113d5565b505060208a0151909750600092506102009150889061138a565b8789608001516102109190611377565b61021a9190611415565b9050600086896040015161022e9190611377565b6102389088611415565b905061024982828b60e0015161109d565b1561025957505050505050915091565b8181116102725761026b88600161138a565b9450610280565b61027d600189611377565b93505b505060010161012b565b50505050915091565b604051637d2d278360e11b815260009086906001600160a01b0382169063fa5a4f06906102c490889060040161142c565b602060405180830381865afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103059190611440565b61032d57846040516329e64b1d60e11b8152600401610324919061142c565b60405180910390fd5b6000341180156103a65750604051637d2d278360e11b81526001600160a01b0382169063fa5a4f06906103659060009060040161142c565b602060405180830381865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a69190611440565b15610430576040516320e8c56560e01b81526001600160a01b038216906320e8c5659034906103e090309060009084908290600401611462565b60206040518083038185885af11580156103fe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610423919061148b565b61042d908361138a565b91505b6001600160a01b038516156104d7576104546001600160a01b0386163330876110ed565b6040516320e8c56560e01b81526001600160a01b038216906320e8c5659061048790899089908990600090600401611462565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca919061148b565b6104d4908361138a565b91505b82821015610502576040516382acca5f60e01b81526004810183905260248101849052604401610324565b5095945050505050565b60008061051c60208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058291906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e891906114c1565b9050600061065f846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906114c1565b6001600160a01b031661117b565b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c5919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b919061148b565b905060006107986040518061010001604052808b600001602081019061075191906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a0013581525061010a565b5090506107b46001600160a01b038716333060208d01356110ed565b6001600160a01b03861663095ea7b36107d060208c018c6114a4565b8b602001356040518363ffffffff1660e01b81526004016107f29291906114de565b6020604051808303816000875af1158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190611440565b50604080516339d4447b60e11b81526001600160a01b038916916373a888f69161086a918591908e01359030906004016114f7565b60408051808303816000875af1158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac9190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a08231906108dd90309060040161142c565b602060405180830381865afa1580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161094e919061142c565b602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f919061148b565b90506001600160a01b03871663095ea7b36109ad60208e018e6114a4565b836040518363ffffffff1660e01b81526004016109cb9291906114de565b6020604051808303816000875af11580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611440565b5060405163bb08e0d760e01b8152600481018390526024810182905260608c013560448201523360648201526001600160a01b038a169063bb08e0d7906084016020604051808303816000875af1158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a91919061148b565b9b9a5050505050505050505050565b600080610ab060208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1691906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906114c1565b90506000610bc1846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c27919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8d919061148b565b90506000610cfa6040518061010001604052808b6000016020810190610cb391906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a00135815250610f16565b509050610d166001600160a01b038616333060208d01356110ed565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390610d48908a9060208e0135906004016114de565b6020604051808303816000875af1158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190611440565b5060408051638488ba3360e01b81526001600160a01b03891691638488ba3391610dc0918591908e01359030906004016114f7565b60408051808303816000875af1158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a0823190610e3390309060040161142c565b602060405180830381865afa158015610e50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e74919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ea4919061142c565b602060405180830381865afa158015610ec1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee5919061148b565b60405163095ea7b360e01b81529091506001600160a01b0389169063095ea7b3906109cb908c9086906004016114de565b60008060008060018560800151610f2d9190611377565b905060005b6101008110156110955760008660c00151118015610f4e575080155b610f6d576002610f5e838561138a565b610f68919061139d565b610f73565b8560c001515b945085600001516001600160a01b0316639edc82fd868860a0015189606001516040518463ffffffff1660e01b8152600401610fb1939291906113bf565b60a060405180830381865afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff291906113d5565b505060208901519096506000925061100c91508690611377565b6110169086611415565b9050600086886040015161102a919061138a565b87896080015161103a9190611377565b6110449190611415565b905061105582828a60e0015161109d565b15611064575050505050915091565b80821161107d5761107687600161138a565b945061108b565b611088600188611377565b93505b5050600101610f32565b505050915091565b6000836110bc6110b584670de0b6b3a7640000611377565b85906111e7565b111580156110e557506110e16110da83670de0b6b3a764000061138a565b84906111e7565b8411155b949350505050565b60006040516323b872dd60e01b6000528460045283602452826044526020600060646000808a5af13d15601f3d11600160005114161716915060006060528060405250806111745760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610324565b5050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e1919061148b565b92915050565b60006111fc8383670de0b6b3a7640000611203565b9392505050565b82820281151584158583048514171661121b57600080fd5b0492915050565b6001600160a01b038116811461123757600080fd5b50565b803561124581611222565b919050565b600061010080838503121561125e57600080fd5b604051908101906001600160401b038211818310171561128e57634e487b7160e01b600052604160045260246000fd5b8160405261129b8461123a565b81526020840135602082015260408401356040820152606084013560608201526080840135608082015260a084013560a082015260c084013560c082015260e084013560e0820152809250505092915050565b600080600080600060a0868803121561130657600080fd5b853561131181611222565b9450602086013561132181611222565b9350604086013561133181611222565b94979396509394606081013594506080013592915050565b600060c0828403121561135b57600080fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111e1576111e1611361565b808201808211156111e1576111e1611361565b6000826113ba57634e487b7160e01b600052601260045260246000fd5b500490565b9283526020830191909152604082015260600190565b600080600080600060a086880312156113ed57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176111e1576111e1611361565b6001600160a01b0391909116815260200190565b60006020828403121561145257600080fd5b815180151581146111fc57600080fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561149d57600080fd5b5051919050565b6000602082840312156114b657600080fd5b81356111fc81611222565b6000602082840312156114d357600080fd5b81516111fc81611222565b6001600160a01b03929092168252602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b6000806040838503121561152957600080fd5b50508051602090910151909290915056fea2646970667358221220559d0bb2f76441396109a41ab838cb9be4b4e05d466f7358c3bb8391ff90dfc464736f6c63430008160033", + "nonce": "0x52", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x12e4aa", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7e960ef085766d390dfe6b8735c3a689267f6c15186d68fca961cbc2dd8cbc4c", + "transactionIndex": "0x0", + "blockHash": "0xe7aa6094a12145202e6a32d86452ba02b0eeda87f2a6c7d31d77470c1e54f617", + "blockNumber": "0x13029f7", + "gasUsed": "0x12e4aa", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": null, + "contractAddress": "0x06340b2e5e6632a784996ec0f464701788815c89" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x51ae92", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xefc627e6ff56c796aed0d8527ac0503b3d0e5d4c9d88f6ee232a9e1043c4d8ae", + "transactionIndex": "0x0", + "blockHash": "0xf3df08295f9767b514b8defd04dfceb320d36efcdb86ede348d81545641b5964", + "blockNumber": "0x13029f8", + "gasUsed": "0x51ae92", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": null, + "contractAddress": "0xb430868766e82b1aacdc79c97e0942aa76f9cf9c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718650179, + "chain": 1, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployFactory.s.sol/1/run-latest.json b/broadcast/DeployFactory.s.sol/1/run-latest.json new file mode 100644 index 0000000..72a0087 --- /dev/null +++ b/broadcast/DeployFactory.s.sol/1/run-latest.json @@ -0,0 +1,84 @@ +{ + "transactions": [ + { + "hash": "0xefc627e6ff56c796aed0d8527ac0503b3d0e5d4c9d88f6ee232a9e1043c4d8ae", + "transactionType": "CREATE", + "contractName": "Factory", + "contractAddress": "0x06340b2e5e6632a784996ec0f464701788815c89", + "function": null, + "arguments": [ + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "gas": "0x6a27e4", + "value": "0x0", + "input": "0x60a060405234801561001057600080fd5b5060405161607738038061607783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051615fe761009060003960008181608d015260b40152615fe76000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806326bff9d514610046578063ac4afa3814610075578063ad5c464814610088575b600080fd5b610059610054366004610282565b6100af565b6040516001600160a01b03909116815260200160405180910390f35b6100596100833660046102e5565b6101a8565b6100597f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000084846040516100e1906101d2565b6100ed93929190610344565b604051809103906000f080158015610109573d6000803e3d6000fd5b509050806001600160a01b0316336001600160a01b03167f87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d8686604051610151929190610384565b60405180910390a3600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0383161790559392505050565b600081815481106101b857600080fd5b6000918252602090912001546001600160a01b0316905081565b615bff80620003b383390190565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261020757600080fd5b81356001600160401b0380821115610221576102216101e0565b604051601f8301601f19908116603f01168101908282118183101715610249576102496101e0565b8160405283815286602085880101111561026257600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561029557600080fd5b82356001600160401b03808211156102ac57600080fd5b6102b8868387016101f6565b935060208501359150808211156102ce57600080fd5b506102db858286016101f6565b9150509250929050565b6000602082840312156102f757600080fd5b5035919050565b6000815180845260005b8181101561032457602081850181015186830182015201610308565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384168152606060208201819052600090610368908301856102fe565b828103604084015261037a81856102fe565b9695505050505050565b60408152600061039760408301856102fe565b82810360208401526103a981856102fe565b9594505050505056fe61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033a2646970667358221220975bb10501eae662d7b1c58fd7901affccf941f6f0022d82da63fd2835e6ab9664736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "nonce": "0x51", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e960ef085766d390dfe6b8735c3a689267f6c15186d68fca961cbc2dd8cbc4c", + "transactionType": "CREATE", + "contractName": "LiquidityManager", + "contractAddress": "0xb430868766e82b1aacdc79c97e0942aa76f9cf9c", + "function": null, + "arguments": null, + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "gas": "0x188de8", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b50611570806100206000396000f3fe60806040526004361061004a5760003560e01c8063432634531461004f5780634fb89f3614610089578063820a0fac146100aa578063ef824c32146100ca578063f7ba6859146100ea575b600080fd5b34801561005b57600080fd5b5061006f61006a36600461124a565b61010a565b604080519283526020830191909152015b60405180910390f35b61009c6100973660046112ee565b610293565b604051908152602001610080565b3480156100b657600080fd5b5061009c6100c5366004611349565b61050c565b3480156100d657600080fd5b5061009c6100e5366004611349565b610aa0565b3480156100f657600080fd5b5061006f61010536600461124a565b610f16565b8051608082015160009182918290819061012690600190611377565b905060005b61010081101561028a5760008760c00151118015610147575080155b610166576002610157838561138a565b610161919061139d565b61016c565b8660c001515b60a0880151606089015160405163c245768d60e01b81529298506001600160a01b0387169263c245768d926101a5928b926004016113bf565b60a060405180830381865afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e691906113d5565b505060208a0151909750600092506102009150889061138a565b8789608001516102109190611377565b61021a9190611415565b9050600086896040015161022e9190611377565b6102389088611415565b905061024982828b60e0015161109d565b1561025957505050505050915091565b8181116102725761026b88600161138a565b9450610280565b61027d600189611377565b93505b505060010161012b565b50505050915091565b604051637d2d278360e11b815260009086906001600160a01b0382169063fa5a4f06906102c490889060040161142c565b602060405180830381865afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103059190611440565b61032d57846040516329e64b1d60e11b8152600401610324919061142c565b60405180910390fd5b6000341180156103a65750604051637d2d278360e11b81526001600160a01b0382169063fa5a4f06906103659060009060040161142c565b602060405180830381865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a69190611440565b15610430576040516320e8c56560e01b81526001600160a01b038216906320e8c5659034906103e090309060009084908290600401611462565b60206040518083038185885af11580156103fe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610423919061148b565b61042d908361138a565b91505b6001600160a01b038516156104d7576104546001600160a01b0386163330876110ed565b6040516320e8c56560e01b81526001600160a01b038216906320e8c5659061048790899089908990600090600401611462565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca919061148b565b6104d4908361138a565b91505b82821015610502576040516382acca5f60e01b81526004810183905260248101849052604401610324565b5095945050505050565b60008061051c60208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058291906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e891906114c1565b9050600061065f846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906114c1565b6001600160a01b031661117b565b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c5919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b919061148b565b905060006107986040518061010001604052808b600001602081019061075191906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a0013581525061010a565b5090506107b46001600160a01b038716333060208d01356110ed565b6001600160a01b03861663095ea7b36107d060208c018c6114a4565b8b602001356040518363ffffffff1660e01b81526004016107f29291906114de565b6020604051808303816000875af1158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190611440565b50604080516339d4447b60e11b81526001600160a01b038916916373a888f69161086a918591908e01359030906004016114f7565b60408051808303816000875af1158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac9190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a08231906108dd90309060040161142c565b602060405180830381865afa1580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161094e919061142c565b602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f919061148b565b90506001600160a01b03871663095ea7b36109ad60208e018e6114a4565b836040518363ffffffff1660e01b81526004016109cb9291906114de565b6020604051808303816000875af11580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611440565b5060405163bb08e0d760e01b8152600481018390526024810182905260608c013560448201523360648201526001600160a01b038a169063bb08e0d7906084016020604051808303816000875af1158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a91919061148b565b9b9a5050505050505050505050565b600080610ab060208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1691906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906114c1565b90506000610bc1846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c27919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8d919061148b565b90506000610cfa6040518061010001604052808b6000016020810190610cb391906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a00135815250610f16565b509050610d166001600160a01b038616333060208d01356110ed565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390610d48908a9060208e0135906004016114de565b6020604051808303816000875af1158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190611440565b5060408051638488ba3360e01b81526001600160a01b03891691638488ba3391610dc0918591908e01359030906004016114f7565b60408051808303816000875af1158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a0823190610e3390309060040161142c565b602060405180830381865afa158015610e50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e74919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ea4919061142c565b602060405180830381865afa158015610ec1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee5919061148b565b60405163095ea7b360e01b81529091506001600160a01b0389169063095ea7b3906109cb908c9086906004016114de565b60008060008060018560800151610f2d9190611377565b905060005b6101008110156110955760008660c00151118015610f4e575080155b610f6d576002610f5e838561138a565b610f68919061139d565b610f73565b8560c001515b945085600001516001600160a01b0316639edc82fd868860a0015189606001516040518463ffffffff1660e01b8152600401610fb1939291906113bf565b60a060405180830381865afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff291906113d5565b505060208901519096506000925061100c91508690611377565b6110169086611415565b9050600086886040015161102a919061138a565b87896080015161103a9190611377565b6110449190611415565b905061105582828a60e0015161109d565b15611064575050505050915091565b80821161107d5761107687600161138a565b945061108b565b611088600188611377565b93505b5050600101610f32565b505050915091565b6000836110bc6110b584670de0b6b3a7640000611377565b85906111e7565b111580156110e557506110e16110da83670de0b6b3a764000061138a565b84906111e7565b8411155b949350505050565b60006040516323b872dd60e01b6000528460045283602452826044526020600060646000808a5af13d15601f3d11600160005114161716915060006060528060405250806111745760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610324565b5050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e1919061148b565b92915050565b60006111fc8383670de0b6b3a7640000611203565b9392505050565b82820281151584158583048514171661121b57600080fd5b0492915050565b6001600160a01b038116811461123757600080fd5b50565b803561124581611222565b919050565b600061010080838503121561125e57600080fd5b604051908101906001600160401b038211818310171561128e57634e487b7160e01b600052604160045260246000fd5b8160405261129b8461123a565b81526020840135602082015260408401356040820152606084013560608201526080840135608082015260a084013560a082015260c084013560c082015260e084013560e0820152809250505092915050565b600080600080600060a0868803121561130657600080fd5b853561131181611222565b9450602086013561132181611222565b9350604086013561133181611222565b94979396509394606081013594506080013592915050565b600060c0828403121561135b57600080fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111e1576111e1611361565b808201808211156111e1576111e1611361565b6000826113ba57634e487b7160e01b600052601260045260246000fd5b500490565b9283526020830191909152604082015260600190565b600080600080600060a086880312156113ed57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176111e1576111e1611361565b6001600160a01b0391909116815260200190565b60006020828403121561145257600080fd5b815180151581146111fc57600080fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561149d57600080fd5b5051919050565b6000602082840312156114b657600080fd5b81356111fc81611222565b6000602082840312156114d357600080fd5b81516111fc81611222565b6001600160a01b03929092168252602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b6000806040838503121561152957600080fd5b50508051602090910151909290915056fea2646970667358221220559d0bb2f76441396109a41ab838cb9be4b4e05d466f7358c3bb8391ff90dfc464736f6c63430008160033", + "nonce": "0x52", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x12e4aa", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7e960ef085766d390dfe6b8735c3a689267f6c15186d68fca961cbc2dd8cbc4c", + "transactionIndex": "0x0", + "blockHash": "0xe7aa6094a12145202e6a32d86452ba02b0eeda87f2a6c7d31d77470c1e54f617", + "blockNumber": "0x13029f7", + "gasUsed": "0x12e4aa", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": null, + "contractAddress": "0x06340b2e5e6632a784996ec0f464701788815c89" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x51ae92", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xefc627e6ff56c796aed0d8527ac0503b3d0e5d4c9d88f6ee232a9e1043c4d8ae", + "transactionIndex": "0x0", + "blockHash": "0xf3df08295f9767b514b8defd04dfceb320d36efcdb86ede348d81545641b5964", + "blockNumber": "0x13029f8", + "gasUsed": "0x51ae92", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": null, + "contractAddress": "0xb430868766e82b1aacdc79c97e0942aa76f9cf9c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718650179, + "chain": 1, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployFactory.s.sol/753712/run-1718650463.json b/broadcast/DeployFactory.s.sol/753712/run-1718650463.json new file mode 100644 index 0000000..64c23b8 --- /dev/null +++ b/broadcast/DeployFactory.s.sol/753712/run-1718650463.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Factory", + "contractAddress": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "function": null, + "arguments": [ + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "gas": "0x6a27e4", + "value": "0x0", + "input": "0x60a060405234801561001057600080fd5b5060405161607738038061607783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051615fe761009060003960008181608d015260b40152615fe76000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806326bff9d514610046578063ac4afa3814610075578063ad5c464814610088575b600080fd5b610059610054366004610282565b6100af565b6040516001600160a01b03909116815260200160405180910390f35b6100596100833660046102e5565b6101a8565b6100597f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000084846040516100e1906101d2565b6100ed93929190610344565b604051809103906000f080158015610109573d6000803e3d6000fd5b509050806001600160a01b0316336001600160a01b03167f87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d8686604051610151929190610384565b60405180910390a3600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0383161790559392505050565b600081815481106101b857600080fd5b6000918252602090912001546001600160a01b0316905081565b615bff80620003b383390190565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261020757600080fd5b81356001600160401b0380821115610221576102216101e0565b604051601f8301601f19908116603f01168101908282118183101715610249576102496101e0565b8160405283815286602085880101111561026257600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561029557600080fd5b82356001600160401b03808211156102ac57600080fd5b6102b8868387016101f6565b935060208501359150808211156102ce57600080fd5b506102db858286016101f6565b9150509250929050565b6000602082840312156102f757600080fd5b5035919050565b6000815180845260005b8181101561032457602081850181015186830182015201610308565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384168152606060208201819052600090610368908301856102fe565b828103604084015261037a81856102fe565b9695505050505050565b60408152600061039760408301856102fe565b82810360208401526103a981856102fe565b9594505050505056fe61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033a2646970667358221220975bb10501eae662d7b1c58fd7901affccf941f6f0022d82da63fd2835e6ab9664736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "nonce": "0x23", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "LiquidityManager", + "contractAddress": "0x63e97b18a44d53b399981cb4cd39ff69b60cc097", + "function": null, + "arguments": null, + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "gas": "0x188de8", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b50611570806100206000396000f3fe60806040526004361061004a5760003560e01c8063432634531461004f5780634fb89f3614610089578063820a0fac146100aa578063ef824c32146100ca578063f7ba6859146100ea575b600080fd5b34801561005b57600080fd5b5061006f61006a36600461124a565b61010a565b604080519283526020830191909152015b60405180910390f35b61009c6100973660046112ee565b610293565b604051908152602001610080565b3480156100b657600080fd5b5061009c6100c5366004611349565b61050c565b3480156100d657600080fd5b5061009c6100e5366004611349565b610aa0565b3480156100f657600080fd5b5061006f61010536600461124a565b610f16565b8051608082015160009182918290819061012690600190611377565b905060005b61010081101561028a5760008760c00151118015610147575080155b610166576002610157838561138a565b610161919061139d565b61016c565b8660c001515b60a0880151606089015160405163c245768d60e01b81529298506001600160a01b0387169263c245768d926101a5928b926004016113bf565b60a060405180830381865afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e691906113d5565b505060208a0151909750600092506102009150889061138a565b8789608001516102109190611377565b61021a9190611415565b9050600086896040015161022e9190611377565b6102389088611415565b905061024982828b60e0015161109d565b1561025957505050505050915091565b8181116102725761026b88600161138a565b9450610280565b61027d600189611377565b93505b505060010161012b565b50505050915091565b604051637d2d278360e11b815260009086906001600160a01b0382169063fa5a4f06906102c490889060040161142c565b602060405180830381865afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103059190611440565b61032d57846040516329e64b1d60e11b8152600401610324919061142c565b60405180910390fd5b6000341180156103a65750604051637d2d278360e11b81526001600160a01b0382169063fa5a4f06906103659060009060040161142c565b602060405180830381865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a69190611440565b15610430576040516320e8c56560e01b81526001600160a01b038216906320e8c5659034906103e090309060009084908290600401611462565b60206040518083038185885af11580156103fe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610423919061148b565b61042d908361138a565b91505b6001600160a01b038516156104d7576104546001600160a01b0386163330876110ed565b6040516320e8c56560e01b81526001600160a01b038216906320e8c5659061048790899089908990600090600401611462565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca919061148b565b6104d4908361138a565b91505b82821015610502576040516382acca5f60e01b81526004810183905260248101849052604401610324565b5095945050505050565b60008061051c60208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058291906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e891906114c1565b9050600061065f846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906114c1565b6001600160a01b031661117b565b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c5919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b919061148b565b905060006107986040518061010001604052808b600001602081019061075191906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a0013581525061010a565b5090506107b46001600160a01b038716333060208d01356110ed565b6001600160a01b03861663095ea7b36107d060208c018c6114a4565b8b602001356040518363ffffffff1660e01b81526004016107f29291906114de565b6020604051808303816000875af1158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190611440565b50604080516339d4447b60e11b81526001600160a01b038916916373a888f69161086a918591908e01359030906004016114f7565b60408051808303816000875af1158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac9190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a08231906108dd90309060040161142c565b602060405180830381865afa1580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161094e919061142c565b602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f919061148b565b90506001600160a01b03871663095ea7b36109ad60208e018e6114a4565b836040518363ffffffff1660e01b81526004016109cb9291906114de565b6020604051808303816000875af11580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611440565b5060405163bb08e0d760e01b8152600481018390526024810182905260608c013560448201523360648201526001600160a01b038a169063bb08e0d7906084016020604051808303816000875af1158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a91919061148b565b9b9a5050505050505050505050565b600080610ab060208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1691906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906114c1565b90506000610bc1846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c27919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8d919061148b565b90506000610cfa6040518061010001604052808b6000016020810190610cb391906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a00135815250610f16565b509050610d166001600160a01b038616333060208d01356110ed565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390610d48908a9060208e0135906004016114de565b6020604051808303816000875af1158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190611440565b5060408051638488ba3360e01b81526001600160a01b03891691638488ba3391610dc0918591908e01359030906004016114f7565b60408051808303816000875af1158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a0823190610e3390309060040161142c565b602060405180830381865afa158015610e50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e74919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ea4919061142c565b602060405180830381865afa158015610ec1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee5919061148b565b60405163095ea7b360e01b81529091506001600160a01b0389169063095ea7b3906109cb908c9086906004016114de565b60008060008060018560800151610f2d9190611377565b905060005b6101008110156110955760008660c00151118015610f4e575080155b610f6d576002610f5e838561138a565b610f68919061139d565b610f73565b8560c001515b945085600001516001600160a01b0316639edc82fd868860a0015189606001516040518463ffffffff1660e01b8152600401610fb1939291906113bf565b60a060405180830381865afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff291906113d5565b505060208901519096506000925061100c91508690611377565b6110169086611415565b9050600086886040015161102a919061138a565b87896080015161103a9190611377565b6110449190611415565b905061105582828a60e0015161109d565b15611064575050505050915091565b80821161107d5761107687600161138a565b945061108b565b611088600188611377565b93505b5050600101610f32565b505050915091565b6000836110bc6110b584670de0b6b3a7640000611377565b85906111e7565b111580156110e557506110e16110da83670de0b6b3a764000061138a565b84906111e7565b8411155b949350505050565b60006040516323b872dd60e01b6000528460045283602452826044526020600060646000808a5af13d15601f3d11600160005114161716915060006060528060405250806111745760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610324565b5050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e1919061148b565b92915050565b60006111fc8383670de0b6b3a7640000611203565b9392505050565b82820281151584158583048514171661121b57600080fd5b0492915050565b6001600160a01b038116811461123757600080fd5b50565b803561124581611222565b919050565b600061010080838503121561125e57600080fd5b604051908101906001600160401b038211818310171561128e57634e487b7160e01b600052604160045260246000fd5b8160405261129b8461123a565b81526020840135602082015260408401356040820152606084013560608201526080840135608082015260a084013560a082015260c084013560c082015260e084013560e0820152809250505092915050565b600080600080600060a0868803121561130657600080fd5b853561131181611222565b9450602086013561132181611222565b9350604086013561133181611222565b94979396509394606081013594506080013592915050565b600060c0828403121561135b57600080fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111e1576111e1611361565b808201808211156111e1576111e1611361565b6000826113ba57634e487b7160e01b600052601260045260246000fd5b500490565b9283526020830191909152604082015260600190565b600080600080600060a086880312156113ed57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176111e1576111e1611361565b6001600160a01b0391909116815260200190565b60006020828403121561145257600080fd5b815180151581146111fc57600080fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561149d57600080fd5b5051919050565b6000602082840312156114b657600080fd5b81356111fc81611222565b6000602082840312156114d357600080fd5b81516111fc81611222565b6001600160a01b03929092168252602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b6000806040838503121561152957600080fd5b50508051602090910151909290915056fea2646970667358221220559d0bb2f76441396109a41ab838cb9be4b4e05d466f7358c3bb8391ff90dfc464736f6c63430008160033", + "nonce": "0x24", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718650463, + "chain": 753712, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployFactory.s.sol/753712/run-1718650520.json b/broadcast/DeployFactory.s.sol/753712/run-1718650520.json new file mode 100644 index 0000000..5279c78 --- /dev/null +++ b/broadcast/DeployFactory.s.sol/753712/run-1718650520.json @@ -0,0 +1,84 @@ +{ + "transactions": [ + { + "hash": "0xec3f85a6b76da8f73f7ca2b1943c02a1693615d39a6c95400e85fa48b5b03940", + "transactionType": "CREATE", + "contractName": "Factory", + "contractAddress": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "function": null, + "arguments": [ + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "gas": "0x6a27e4", + "value": "0x0", + "input": "0x60a060405234801561001057600080fd5b5060405161607738038061607783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051615fe761009060003960008181608d015260b40152615fe76000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806326bff9d514610046578063ac4afa3814610075578063ad5c464814610088575b600080fd5b610059610054366004610282565b6100af565b6040516001600160a01b03909116815260200160405180910390f35b6100596100833660046102e5565b6101a8565b6100597f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000084846040516100e1906101d2565b6100ed93929190610344565b604051809103906000f080158015610109573d6000803e3d6000fd5b509050806001600160a01b0316336001600160a01b03167f87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d8686604051610151929190610384565b60405180910390a3600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0383161790559392505050565b600081815481106101b857600080fd5b6000918252602090912001546001600160a01b0316905081565b615bff80620003b383390190565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261020757600080fd5b81356001600160401b0380821115610221576102216101e0565b604051601f8301601f19908116603f01168101908282118183101715610249576102496101e0565b8160405283815286602085880101111561026257600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561029557600080fd5b82356001600160401b03808211156102ac57600080fd5b6102b8868387016101f6565b935060208501359150808211156102ce57600080fd5b506102db858286016101f6565b9150509250929050565b6000602082840312156102f757600080fd5b5035919050565b6000815180845260005b8181101561032457602081850181015186830182015201610308565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384168152606060208201819052600090610368908301856102fe565b828103604084015261037a81856102fe565b9695505050505050565b60408152600061039760408301856102fe565b82810360208401526103a981856102fe565b9594505050505056fe61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033a2646970667358221220975bb10501eae662d7b1c58fd7901affccf941f6f0022d82da63fd2835e6ab9664736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "nonce": "0x23", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaa33049ad4d79206d7c8be299ff58451ea2a97e1502b32af00dcce63ca7ef359", + "transactionType": "CREATE", + "contractName": "LiquidityManager", + "contractAddress": "0x63e97b18a44d53b399981cb4cd39ff69b60cc097", + "function": null, + "arguments": null, + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "gas": "0x188de8", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b50611570806100206000396000f3fe60806040526004361061004a5760003560e01c8063432634531461004f5780634fb89f3614610089578063820a0fac146100aa578063ef824c32146100ca578063f7ba6859146100ea575b600080fd5b34801561005b57600080fd5b5061006f61006a36600461124a565b61010a565b604080519283526020830191909152015b60405180910390f35b61009c6100973660046112ee565b610293565b604051908152602001610080565b3480156100b657600080fd5b5061009c6100c5366004611349565b61050c565b3480156100d657600080fd5b5061009c6100e5366004611349565b610aa0565b3480156100f657600080fd5b5061006f61010536600461124a565b610f16565b8051608082015160009182918290819061012690600190611377565b905060005b61010081101561028a5760008760c00151118015610147575080155b610166576002610157838561138a565b610161919061139d565b61016c565b8660c001515b60a0880151606089015160405163c245768d60e01b81529298506001600160a01b0387169263c245768d926101a5928b926004016113bf565b60a060405180830381865afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e691906113d5565b505060208a0151909750600092506102009150889061138a565b8789608001516102109190611377565b61021a9190611415565b9050600086896040015161022e9190611377565b6102389088611415565b905061024982828b60e0015161109d565b1561025957505050505050915091565b8181116102725761026b88600161138a565b9450610280565b61027d600189611377565b93505b505060010161012b565b50505050915091565b604051637d2d278360e11b815260009086906001600160a01b0382169063fa5a4f06906102c490889060040161142c565b602060405180830381865afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103059190611440565b61032d57846040516329e64b1d60e11b8152600401610324919061142c565b60405180910390fd5b6000341180156103a65750604051637d2d278360e11b81526001600160a01b0382169063fa5a4f06906103659060009060040161142c565b602060405180830381865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a69190611440565b15610430576040516320e8c56560e01b81526001600160a01b038216906320e8c5659034906103e090309060009084908290600401611462565b60206040518083038185885af11580156103fe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610423919061148b565b61042d908361138a565b91505b6001600160a01b038516156104d7576104546001600160a01b0386163330876110ed565b6040516320e8c56560e01b81526001600160a01b038216906320e8c5659061048790899089908990600090600401611462565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca919061148b565b6104d4908361138a565b91505b82821015610502576040516382acca5f60e01b81526004810183905260248101849052604401610324565b5095945050505050565b60008061051c60208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058291906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e891906114c1565b9050600061065f846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906114c1565b6001600160a01b031661117b565b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c5919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b919061148b565b905060006107986040518061010001604052808b600001602081019061075191906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a0013581525061010a565b5090506107b46001600160a01b038716333060208d01356110ed565b6001600160a01b03861663095ea7b36107d060208c018c6114a4565b8b602001356040518363ffffffff1660e01b81526004016107f29291906114de565b6020604051808303816000875af1158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190611440565b50604080516339d4447b60e11b81526001600160a01b038916916373a888f69161086a918591908e01359030906004016114f7565b60408051808303816000875af1158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac9190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a08231906108dd90309060040161142c565b602060405180830381865afa1580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161094e919061142c565b602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f919061148b565b90506001600160a01b03871663095ea7b36109ad60208e018e6114a4565b836040518363ffffffff1660e01b81526004016109cb9291906114de565b6020604051808303816000875af11580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611440565b5060405163bb08e0d760e01b8152600481018390526024810182905260608c013560448201523360648201526001600160a01b038a169063bb08e0d7906084016020604051808303816000875af1158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a91919061148b565b9b9a5050505050505050505050565b600080610ab060208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1691906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906114c1565b90506000610bc1846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c27919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8d919061148b565b90506000610cfa6040518061010001604052808b6000016020810190610cb391906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a00135815250610f16565b509050610d166001600160a01b038616333060208d01356110ed565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390610d48908a9060208e0135906004016114de565b6020604051808303816000875af1158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190611440565b5060408051638488ba3360e01b81526001600160a01b03891691638488ba3391610dc0918591908e01359030906004016114f7565b60408051808303816000875af1158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a0823190610e3390309060040161142c565b602060405180830381865afa158015610e50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e74919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ea4919061142c565b602060405180830381865afa158015610ec1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee5919061148b565b60405163095ea7b360e01b81529091506001600160a01b0389169063095ea7b3906109cb908c9086906004016114de565b60008060008060018560800151610f2d9190611377565b905060005b6101008110156110955760008660c00151118015610f4e575080155b610f6d576002610f5e838561138a565b610f68919061139d565b610f73565b8560c001515b945085600001516001600160a01b0316639edc82fd868860a0015189606001516040518463ffffffff1660e01b8152600401610fb1939291906113bf565b60a060405180830381865afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff291906113d5565b505060208901519096506000925061100c91508690611377565b6110169086611415565b9050600086886040015161102a919061138a565b87896080015161103a9190611377565b6110449190611415565b905061105582828a60e0015161109d565b15611064575050505050915091565b80821161107d5761107687600161138a565b945061108b565b611088600188611377565b93505b5050600101610f32565b505050915091565b6000836110bc6110b584670de0b6b3a7640000611377565b85906111e7565b111580156110e557506110e16110da83670de0b6b3a764000061138a565b84906111e7565b8411155b949350505050565b60006040516323b872dd60e01b6000528460045283602452826044526020600060646000808a5af13d15601f3d11600160005114161716915060006060528060405250806111745760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610324565b5050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e1919061148b565b92915050565b60006111fc8383670de0b6b3a7640000611203565b9392505050565b82820281151584158583048514171661121b57600080fd5b0492915050565b6001600160a01b038116811461123757600080fd5b50565b803561124581611222565b919050565b600061010080838503121561125e57600080fd5b604051908101906001600160401b038211818310171561128e57634e487b7160e01b600052604160045260246000fd5b8160405261129b8461123a565b81526020840135602082015260408401356040820152606084013560608201526080840135608082015260a084013560a082015260c084013560c082015260e084013560e0820152809250505092915050565b600080600080600060a0868803121561130657600080fd5b853561131181611222565b9450602086013561132181611222565b9350604086013561133181611222565b94979396509394606081013594506080013592915050565b600060c0828403121561135b57600080fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111e1576111e1611361565b808201808211156111e1576111e1611361565b6000826113ba57634e487b7160e01b600052601260045260246000fd5b500490565b9283526020830191909152604082015260600190565b600080600080600060a086880312156113ed57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176111e1576111e1611361565b6001600160a01b0391909116815260200190565b60006020828403121561145257600080fd5b815180151581146111fc57600080fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561149d57600080fd5b5051919050565b6000602082840312156114b657600080fd5b81356111fc81611222565b6000602082840312156114d357600080fd5b81516111fc81611222565b6001600160a01b03929092168252602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b6000806040838503121561152957600080fd5b50508051602090910151909290915056fea2646970667358221220559d0bb2f76441396109a41ab838cb9be4b4e05d466f7358c3bb8391ff90dfc464736f6c63430008160033", + "nonce": "0x24", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x51ae92", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xec3f85a6b76da8f73f7ca2b1943c02a1693615d39a6c95400e85fa48b5b03940", + "transactionIndex": "0x0", + "blockHash": "0x5a8703f12bd1fdd95cb40a7e717d76b7c4c6d849af9684583ae29f1b82d75511", + "blockNumber": "0x131a3d5", + "gasUsed": "0x51ae92", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": null, + "contractAddress": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x12e4aa", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xaa33049ad4d79206d7c8be299ff58451ea2a97e1502b32af00dcce63ca7ef359", + "transactionIndex": "0x0", + "blockHash": "0x46802d8a9296ecd4cb6167843a92c03ccc522a60974a05d59090c56034e413b5", + "blockNumber": "0x131a3d6", + "gasUsed": "0x12e4aa", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": null, + "contractAddress": "0x63e97b18a44d53b399981cb4cd39ff69b60cc097" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718650520, + "chain": 753712, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployFactory.s.sol/753712/run-latest.json b/broadcast/DeployFactory.s.sol/753712/run-latest.json new file mode 100644 index 0000000..5279c78 --- /dev/null +++ b/broadcast/DeployFactory.s.sol/753712/run-latest.json @@ -0,0 +1,84 @@ +{ + "transactions": [ + { + "hash": "0xec3f85a6b76da8f73f7ca2b1943c02a1693615d39a6c95400e85fa48b5b03940", + "transactionType": "CREATE", + "contractName": "Factory", + "contractAddress": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "function": null, + "arguments": [ + "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "gas": "0x6a27e4", + "value": "0x0", + "input": "0x60a060405234801561001057600080fd5b5060405161607738038061607783398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051615fe761009060003960008181608d015260b40152615fe76000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c806326bff9d514610046578063ac4afa3814610075578063ad5c464814610088575b600080fd5b610059610054366004610282565b6100af565b6040516001600160a01b03909116815260200160405180910390f35b6100596100833660046102e5565b6101a8565b6100597f000000000000000000000000000000000000000000000000000000000000000081565b6000807f000000000000000000000000000000000000000000000000000000000000000084846040516100e1906101d2565b6100ed93929190610344565b604051809103906000f080158015610109573d6000803e3d6000fd5b509050806001600160a01b0316336001600160a01b03167f87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d8686604051610151929190610384565b60405180910390a3600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b0383161790559392505050565b600081815481106101b857600080fd5b6000918252602090912001546001600160a01b0316905081565b615bff80620003b383390190565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261020757600080fd5b81356001600160401b0380821115610221576102216101e0565b604051601f8301601f19908116603f01168101908282118183101715610249576102496101e0565b8160405283815286602085880101111561026257600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806040838503121561029557600080fd5b82356001600160401b03808211156102ac57600080fd5b6102b8868387016101f6565b935060208501359150808211156102ce57600080fd5b506102db858286016101f6565b9150509250929050565b6000602082840312156102f757600080fd5b5035919050565b6000815180845260005b8181101561032457602081850181015186830182015201610308565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b0384168152606060208201819052600090610368908301856102fe565b828103604084015261037a81856102fe565b9695505050505050565b60408152600061039760408301856102fe565b82810360208401526103a981856102fe565b9594505050505056fe61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033a2646970667358221220975bb10501eae662d7b1c58fd7901affccf941f6f0022d82da63fd2835e6ab9664736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "nonce": "0x23", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaa33049ad4d79206d7c8be299ff58451ea2a97e1502b32af00dcce63ca7ef359", + "transactionType": "CREATE", + "contractName": "LiquidityManager", + "contractAddress": "0x63e97b18a44d53b399981cb4cd39ff69b60cc097", + "function": null, + "arguments": null, + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "gas": "0x188de8", + "value": "0x0", + "input": "0x608060405234801561001057600080fd5b50611570806100206000396000f3fe60806040526004361061004a5760003560e01c8063432634531461004f5780634fb89f3614610089578063820a0fac146100aa578063ef824c32146100ca578063f7ba6859146100ea575b600080fd5b34801561005b57600080fd5b5061006f61006a36600461124a565b61010a565b604080519283526020830191909152015b60405180910390f35b61009c6100973660046112ee565b610293565b604051908152602001610080565b3480156100b657600080fd5b5061009c6100c5366004611349565b61050c565b3480156100d657600080fd5b5061009c6100e5366004611349565b610aa0565b3480156100f657600080fd5b5061006f61010536600461124a565b610f16565b8051608082015160009182918290819061012690600190611377565b905060005b61010081101561028a5760008760c00151118015610147575080155b610166576002610157838561138a565b610161919061139d565b61016c565b8660c001515b60a0880151606089015160405163c245768d60e01b81529298506001600160a01b0387169263c245768d926101a5928b926004016113bf565b60a060405180830381865afa1580156101c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e691906113d5565b505060208a0151909750600092506102009150889061138a565b8789608001516102109190611377565b61021a9190611415565b9050600086896040015161022e9190611377565b6102389088611415565b905061024982828b60e0015161109d565b1561025957505050505050915091565b8181116102725761026b88600161138a565b9450610280565b61027d600189611377565b93505b505060010161012b565b50505050915091565b604051637d2d278360e11b815260009086906001600160a01b0382169063fa5a4f06906102c490889060040161142c565b602060405180830381865afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103059190611440565b61032d57846040516329e64b1d60e11b8152600401610324919061142c565b60405180910390fd5b6000341180156103a65750604051637d2d278360e11b81526001600160a01b0382169063fa5a4f06906103659060009060040161142c565b602060405180830381865afa158015610382573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103a69190611440565b15610430576040516320e8c56560e01b81526001600160a01b038216906320e8c5659034906103e090309060009084908290600401611462565b60206040518083038185885af11580156103fe573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610423919061148b565b61042d908361138a565b91505b6001600160a01b038516156104d7576104546001600160a01b0386163330876110ed565b6040516320e8c56560e01b81526001600160a01b038216906320e8c5659061048790899089908990600090600401611462565b6020604051808303816000875af11580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca919061148b565b6104d4908361138a565b91505b82821015610502576040516382acca5f60e01b81526004810183905260248101849052604401610324565b5095945050505050565b60008061051c60208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa15801561055e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058291906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e891906114c1565b9050600061065f846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065191906114c1565b6001600160a01b031661117b565b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c5919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610707573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072b919061148b565b905060006107986040518061010001604052808b600001602081019061075191906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a0013581525061010a565b5090506107b46001600160a01b038716333060208d01356110ed565b6001600160a01b03861663095ea7b36107d060208c018c6114a4565b8b602001356040518363ffffffff1660e01b81526004016107f29291906114de565b6020604051808303816000875af1158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190611440565b50604080516339d4447b60e11b81526001600160a01b038916916373a888f69161086a918591908e01359030906004016114f7565b60408051808303816000875af1158015610888573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ac9190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a08231906108dd90309060040161142c565b602060405180830381865afa1580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161094e919061142c565b602060405180830381865afa15801561096b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098f919061148b565b90506001600160a01b03871663095ea7b36109ad60208e018e6114a4565b836040518363ffffffff1660e01b81526004016109cb9291906114de565b6020604051808303816000875af11580156109ea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0e9190611440565b5060405163bb08e0d760e01b8152600481018390526024810182905260608c013560448201523360648201526001600160a01b038a169063bb08e0d7906084016020604051808303816000875af1158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a91919061148b565b9b9a5050505050505050505050565b600080610ab060208401846114a4565b90506000816001600160a01b031663afd27bf56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1691906114c1565b90506000826001600160a01b031663d94073d46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7c91906114c1565b90506000610bc1846001600160a01b031663781c18db6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561062d573d6000803e3d6000fd5b90506000846001600160a01b03166308eabdda6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c27919061148b565b90506000856001600160a01b031663fadfa65b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8d919061148b565b90506000610cfa6040518061010001604052808b6000016020810190610cb391906114a4565b6001600160a01b031681526020018581526020018481526020018681526020018b6020013581526020014281526020018b6080013581526020018b60a00135815250610f16565b509050610d166001600160a01b038616333060208d01356110ed565b60405163095ea7b360e01b81526001600160a01b0386169063095ea7b390610d48908a9060208e0135906004016114de565b6020604051808303816000875af1158015610d67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8b9190611440565b5060408051638488ba3360e01b81526001600160a01b03891691638488ba3391610dc0918591908e01359030906004016114f7565b60408051808303816000875af1158015610dde573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e029190611516565b50506040516370a0823160e01b81526000906001600160a01b038816906370a0823190610e3390309060040161142c565b602060405180830381865afa158015610e50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e74919061148b565b90506000866001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ea4919061142c565b602060405180830381865afa158015610ec1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ee5919061148b565b60405163095ea7b360e01b81529091506001600160a01b0389169063095ea7b3906109cb908c9086906004016114de565b60008060008060018560800151610f2d9190611377565b905060005b6101008110156110955760008660c00151118015610f4e575080155b610f6d576002610f5e838561138a565b610f68919061139d565b610f73565b8560c001515b945085600001516001600160a01b0316639edc82fd868860a0015189606001516040518463ffffffff1660e01b8152600401610fb1939291906113bf565b60a060405180830381865afa158015610fce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff291906113d5565b505060208901519096506000925061100c91508690611377565b6110169086611415565b9050600086886040015161102a919061138a565b87896080015161103a9190611377565b6110449190611415565b905061105582828a60e0015161109d565b15611064575050505050915091565b80821161107d5761107687600161138a565b945061108b565b611088600188611377565b93505b5050600101610f32565b505050915091565b6000836110bc6110b584670de0b6b3a7640000611377565b85906111e7565b111580156110e557506110e16110da83670de0b6b3a764000061138a565b84906111e7565b8411155b949350505050565b60006040516323b872dd60e01b6000528460045283602452826044526020600060646000808a5af13d15601f3d11600160005114161716915060006060528060405250806111745760405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606401610324565b5050505050565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af11580156111bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e1919061148b565b92915050565b60006111fc8383670de0b6b3a7640000611203565b9392505050565b82820281151584158583048514171661121b57600080fd5b0492915050565b6001600160a01b038116811461123757600080fd5b50565b803561124581611222565b919050565b600061010080838503121561125e57600080fd5b604051908101906001600160401b038211818310171561128e57634e487b7160e01b600052604160045260246000fd5b8160405261129b8461123a565b81526020840135602082015260408401356040820152606084013560608201526080840135608082015260a084013560a082015260c084013560c082015260e084013560e0820152809250505092915050565b600080600080600060a0868803121561130657600080fd5b853561131181611222565b9450602086013561132181611222565b9350604086013561133181611222565b94979396509394606081013594506080013592915050565b600060c0828403121561135b57600080fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b818103818111156111e1576111e1611361565b808201808211156111e1576111e1611361565b6000826113ba57634e487b7160e01b600052601260045260246000fd5b500490565b9283526020830191909152604082015260600190565b600080600080600060a086880312156113ed57600080fd5b5050835160208501516040860151606087015160809097015192989197509594509092509050565b80820281158282048414176111e1576111e1611361565b6001600160a01b0391909116815260200190565b60006020828403121561145257600080fd5b815180151581146111fc57600080fd5b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b60006020828403121561149d57600080fd5b5051919050565b6000602082840312156114b657600080fd5b81356111fc81611222565b6000602082840312156114d357600080fd5b81516111fc81611222565b6001600160a01b03929092168252602082015260400190565b92835260208301919091526001600160a01b0316604082015260600190565b6000806040838503121561152957600080fd5b50508051602090910151909290915056fea2646970667358221220559d0bb2f76441396109a41ab838cb9be4b4e05d466f7358c3bb8391ff90dfc464736f6c63430008160033", + "nonce": "0x24", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x51ae92", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xec3f85a6b76da8f73f7ca2b1943c02a1693615d39a6c95400e85fa48b5b03940", + "transactionIndex": "0x0", + "blockHash": "0x5a8703f12bd1fdd95cb40a7e717d76b7c4c6d849af9684583ae29f1b82d75511", + "blockNumber": "0x131a3d5", + "gasUsed": "0x51ae92", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": null, + "contractAddress": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x12e4aa", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xaa33049ad4d79206d7c8be299ff58451ea2a97e1502b32af00dcce63ca7ef359", + "transactionIndex": "0x0", + "blockHash": "0x46802d8a9296ecd4cb6167843a92c03ccc522a60974a05d59090c56034e413b5", + "blockNumber": "0x131a3d6", + "gasUsed": "0x12e4aa", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": null, + "contractAddress": "0x63e97b18a44d53b399981cb4cd39ff69b60cc097" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718650520, + "chain": 753712, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployPool.s.sol/753712/run-1718650594.json b/broadcast/DeployPool.s.sol/753712/run-1718650594.json new file mode 100644 index 0000000..193eef2 --- /dev/null +++ b/broadcast/DeployPool.s.sol/753712/run-1718650594.json @@ -0,0 +1,1002 @@ +{ + "transactions": [ + { + "hash": "0xe86b666e32aba54f42fa264ca713cd9691a63d1341390c5de9d289f859840626", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "function": "createRMM(string,string)", + "arguments": [ + "\"Lido Staked ETH 24 Dec 2025\"", + "\"stETH-24DEC25\"" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "gas": "0x6238ea", + "value": "0x0", + "input": "0x26bff9d500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000", + "nonce": "0x25", + "chainId": "0xb8030" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xf35f64af44977b6970145c7c6fafdfc8808a7a78", + "initCode": "0x61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xf42b4f56eee271e34b8316fc5ac033c9ebfee249da8f485e807688ae9b608093", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0xcbC72d92b2dc8187414F6734718563898740C0BC", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x9ec7", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x26", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd1886d98a5deb54bed2b09c43e1b6e8dc400f75c35b06806ac99e365bf4665ab", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "deposit(address,address,uint256,uint256)", + "arguments": [ + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22", + "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0", + "10000000000000000000000", + "1" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x17508", + "value": "0x0", + "input": "0x20e8c565000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d220000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x27", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x92ae320bde902490280655a7e6a902c40c30d2ad48677f6270bcf60adb781cc9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "transfer(address,uint256)", + "arguments": [ + "0xf3aBC972A0f537c1119C990d422463b93227Cd83", + "5000000000000000000000" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0xe02d", + "value": "0x0", + "input": "0xa9059cbb000000000000000000000000f3abc972a0f537c1119c990d422463b93227cd8300000000000000000000000000000000000000000000010f0cf064dd59200000", + "nonce": "0x28", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd4f895d8a6e4af1e508d59837ae84c25d1d3a7bfaddffe5f590af6a55ebcc77d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "mintPY(address,address)", + "arguments": [ + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22", + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x28c6a", + "value": "0x0", + "input": "0xdb74aa15000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "nonce": "0x29", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5e62d7c4c1cb13c98c569af41c5c379ee07414ee63627bd19b5a714408c87db3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0xf35F64aF44977B6970145c7c6FaFDFc8808A7a78", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0xfb0a", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x2a", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x34540ddf023a5ede379b10922475b3618a8f15bf334d9bd4c54a663472238e1d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "approve(address,uint256)", + "arguments": [ + "0xf35F64aF44977B6970145c7c6FaFDFc8808A7a78", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0xfb82", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x2b", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x30afa2ff78be1b3c2ef9a0426950ac25f1c27206a85d0b9d0eff4fcae273014a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "function": "approve(address,uint256)", + "arguments": [ + "0xf35F64aF44977B6970145c7c6FaFDFc8808A7a78", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "gas": "0x10a0d", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x2c", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x41c9cfe93fcdeec6bfe09c54d41412c528ac30f840ea0229699275017706a660", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "approve(address,uint256)", + "arguments": [ + "0xf35F64aF44977B6970145c7c6FaFDFc8808A7a78", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0xfb7e", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x2d", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0eccc8de27042e29ebd27463eee3aa08a4ec52df1d9375f29db1f70e4e71e1f4", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x8f58", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x2e", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5b5fead620f05d0171c2358a70b4d5570cd93fff29ca104f7b28dc3317b9bc86", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x8fd0", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x2f", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcf41b0178aa5d413b053f8be3edad65d170e85ac2b841dafb059d16418e5748c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "gas": "0x9806", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x30", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf7ef5aad4a6f11467c73d14fc2f52a9c612ea9fe649220260e465946ffc22c49", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x8fcc", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x31", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbabaf59e8f0afd58f064aa5f10d72eafc51f1ec3e80e9c7ad8be2512850ab642", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "gas": "0x9862", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x32", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8a3ea3fbaa57914641cd3c908435ce7b136d8afb1885d28b96e7e1b805f20a50", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "pyIndexCurrent()", + "arguments": [], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x8d91", + "value": "0x0", + "input": "0x1d52edc4", + "nonce": "0x33", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionType": "CALL", + "contractName": "RMM", + "contractAddress": "0xf35f64af44977b6970145c7c6fafdfc8808a7a78", + "function": "init(address,uint256,uint256,uint256,uint256,uint256,address)", + "arguments": [ + "0xf99985822fb361117FCf3768D34a6353E6022F5F", + "1061268686479920076", + "4244756438299991009906", + "1093857129619431142", + "20000000000000000", + "200000000000000", + "0x0000000000000000000000000000000000000055" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf35f64af44977b6970145c7c6fafdfc8808a7a78", + "gas": "0x122b24", + "value": "0x0", + "input": "0x71ced336000000000000000000000000f99985822fb361117fcf3768d34a6353e6022f5f0000000000000000000000000000000000000000000000000eba623f5ce18bcc0000000000000000000000000000000000000000000000e61bd442f34b46ea720000000000000000000000000000000000000000000000000f2e29438dfe9ee600000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000000000000055", + "nonce": "0x34", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x472245", + "logs": [ + { + "address": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "topics": [ + "0x87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000", + "blockHash": "0xdc13ecc682ad40d45d8d1c681ede3e631afcc1317844f1b55c94384873b99e34", + "blockNumber": "0x131a3d7", + "transactionHash": "0xe86b666e32aba54f42fa264ca713cd9691a63d1341390c5de9d289f859840626", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000008000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000800000000002000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000020000000000000002000000000010000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000200000000000000000000000000000000000000000000400000000000000000000000000", + "type": "0x2", + "transactionHash": "0xe86b666e32aba54f42fa264ca713cd9691a63d1341390c5de9d289f859840626", + "transactionIndex": "0x0", + "blockHash": "0xdc13ecc682ad40d45d8d1c681ede3e631afcc1317844f1b55c94384873b99e34", + "blockNumber": "0x131a3d7", + "gasUsed": "0x472245", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5eb", + "logs": [ + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x6860c49ffe2727b7b228debd78b920ebd099c0c69623bab16ed3adbc67e0c4b7", + "blockNumber": "0x131a3d9", + "transactionHash": "0x30afa2ff78be1b3c2ef9a0426950ac25f1c27206a85d0b9d0eff4fcae273014a", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000002000000000000000000000008000000000000000000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000800000000000000000000000000000000000000020000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x30afa2ff78be1b3c2ef9a0426950ac25f1c27206a85d0b9d0eff4fcae273014a", + "transactionIndex": "0x0", + "blockHash": "0x6860c49ffe2727b7b228debd78b920ebd099c0c69623bab16ed3adbc67e0c4b7", + "blockNumber": "0x131a3d9", + "gasUsed": "0xb5eb", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xff11", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x9ab50ce56240446c46d1ef998a05637a9822a7fc8e9838ad2e28f9be82ee49bc", + "blockNumber": "0x131a3da", + "transactionHash": "0xd1886d98a5deb54bed2b09c43e1b6e8dc400f75c35b06806ac99e365bf4665ab", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffbc3cc3e6c8a9b7fffff", + "blockHash": "0x9ab50ce56240446c46d1ef998a05637a9822a7fc8e9838ad2e28f9be82ee49bc", + "blockNumber": "0x131a3da", + "transactionHash": "0xd1886d98a5deb54bed2b09c43e1b6e8dc400f75c35b06806ac99e365bf4665ab", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x9ab50ce56240446c46d1ef998a05637a9822a7fc8e9838ad2e28f9be82ee49bc", + "blockNumber": "0x131a3da", + "transactionHash": "0xd1886d98a5deb54bed2b09c43e1b6e8dc400f75c35b06806ac99e365bf4665ab", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d59", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x9ab50ce56240446c46d1ef998a05637a9822a7fc8e9838ad2e28f9be82ee49bc", + "blockNumber": "0x131a3da", + "transactionHash": "0xd1886d98a5deb54bed2b09c43e1b6e8dc400f75c35b06806ac99e365bf4665ab", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000002000000000000010000000000000000200000000000000000002000000008000000000000000000000000080000000000000000000000020000000040000000000801000000000020000000000010000000000000000010000000000080000000000000000000000000000000000000002000020000000000000000000000000000100000000000000000000000000000000000000002000000100000000000000480000000000000000000000000200020000010000000000000000000008000000000000000004000000000000000000000", + "type": "0x2", + "transactionHash": "0xd1886d98a5deb54bed2b09c43e1b6e8dc400f75c35b06806ac99e365bf4665ab", + "transactionIndex": "0x0", + "blockHash": "0x9ab50ce56240446c46d1ef998a05637a9822a7fc8e9838ad2e28f9be82ee49bc", + "blockNumber": "0x131a3da", + "gasUsed": "0xff11", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5c0", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9a257ba2ba33fe86f708dc04272421f172743f1885511009a0f4491b1b1bcdbf", + "blockNumber": "0x131a3db", + "transactionHash": "0x5e62d7c4c1cb13c98c569af41c5c379ee07414ee63627bd19b5a714408c87db3", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000002000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000100004000000000000000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5e62d7c4c1cb13c98c569af41c5c379ee07414ee63627bd19b5a714408c87db3", + "transactionIndex": "0x0", + "blockHash": "0x9a257ba2ba33fe86f708dc04272421f172743f1885511009a0f4491b1b1bcdbf", + "blockNumber": "0x131a3db", + "gasUsed": "0xb5c0", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x72f4", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf2b1900385f4187d2395730c4e84a41eeabb3d22b2278fa36b4a5c128ac977fc", + "blockNumber": "0x131a3dc", + "transactionHash": "0xf42b4f56eee271e34b8316fc5ac033c9ebfee249da8f485e807688ae9b608093", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000400000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xf42b4f56eee271e34b8316fc5ac033c9ebfee249da8f485e807688ae9b608093", + "transactionIndex": "0x0", + "blockHash": "0xf2b1900385f4187d2395730c4e84a41eeabb3d22b2278fa36b4a5c128ac977fc", + "blockNumber": "0x131a3dc", + "gasUsed": "0x72f4", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x9949", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f3abc972a0f537c1119c990d422463b93227cd83" + ], + "data": "0x00000000000000000000000000000000000000000000010f0cf064dd59200000", + "blockHash": "0xb533fd6ce4b0892dc84bb11ea22609ce41fdaaafb7f2fe30e2846fd2e75f2626", + "blockNumber": "0x131a3dd", + "transactionHash": "0x92ae320bde902490280655a7e6a902c40c30d2ad48677f6270bcf60adb781cc9", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000002000000008000000000000000000000000000000000000000000000001000000000040000000000000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000400000000000000000000002000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x92ae320bde902490280655a7e6a902c40c30d2ad48677f6270bcf60adb781cc9", + "transactionIndex": "0x0", + "blockHash": "0xb533fd6ce4b0892dc84bb11ea22609ce41fdaaafb7f2fe30e2846fd2e75f2626", + "blockNumber": "0x131a3dd", + "gasUsed": "0x9949", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb617", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x66987679167d9aaf7ba58dbdc3f50848959bc48d65dc00a3272b465a096d8f1c", + "blockNumber": "0x131a3de", + "transactionHash": "0x34540ddf023a5ede379b10922475b3618a8f15bf334d9bd4c54a663472238e1d", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000008000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000200000000000000000002000000000000000000000008000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000004000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x34540ddf023a5ede379b10922475b3618a8f15bf334d9bd4c54a663472238e1d", + "transactionIndex": "0x0", + "blockHash": "0x66987679167d9aaf7ba58dbdc3f50848959bc48d65dc00a3272b465a096d8f1c", + "blockNumber": "0x131a3de", + "gasUsed": "0xb617", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb614", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xbe58be9a8889723803177bcc4055371be8ffaae237e370e2d30698a64c8d3359", + "blockNumber": "0x131a3df", + "transactionHash": "0x41c9cfe93fcdeec6bfe09c54d41412c528ac30f840ea0229699275017706a660", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000002000000000000000000000008000000000000000000000000000010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x41c9cfe93fcdeec6bfe09c54d41412c528ac30f840ea0229699275017706a660", + "transactionIndex": "0x0", + "blockHash": "0xbe58be9a8889723803177bcc4055371be8ffaae237e370e2d30698a64c8d3359", + "blockNumber": "0x131a3df", + "gasUsed": "0xb614", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x681f", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x8b52abddea21b10e1b262763e10ddaf665c45abeb286c2b66ee81c6617788a4a", + "blockNumber": "0x131a3e0", + "transactionHash": "0x5b5fead620f05d0171c2358a70b4d5570cd93fff29ca104f7b28dc3317b9bc86", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000002000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000100000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5b5fead620f05d0171c2358a70b4d5570cd93fff29ca104f7b28dc3317b9bc86", + "transactionIndex": "0x0", + "blockHash": "0x8b52abddea21b10e1b262763e10ddaf665c45abeb286c2b66ee81c6617788a4a", + "blockNumber": "0x131a3e0", + "gasUsed": "0x681f", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd7ab1", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc624ff51ba4193d2984d8f9c30a50c4b11e6d0c2bbc7c6a52cad5ced9fc47baa", + "blockNumber": "0x131a3e1", + "transactionHash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xae7ab96520de3a18e5e111b5eaab095312d7fe84", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc624ff51ba4193d2984d8f9c30a50c4b11e6d0c2bbc7c6a52cad5ced9fc47baa", + "blockNumber": "0x131a3e1", + "transactionHash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc624ff51ba4193d2984d8f9c30a50c4b11e6d0c2bbc7c6a52cad5ced9fc47baa", + "blockNumber": "0x131a3e1", + "transactionHash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0xc624ff51ba4193d2984d8f9c30a50c4b11e6d0c2bbc7c6a52cad5ced9fc47baa", + "blockNumber": "0x131a3e1", + "transactionHash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0xf35f64af44977b6970145c7c6fafdfc8808a7a78", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000012fb9b83b27d93bb983", + "blockHash": "0xc624ff51ba4193d2984d8f9c30a50c4b11e6d0c2bbc7c6a52cad5ced9fc47baa", + "blockNumber": "0x131a3e1", + "transactionHash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionIndex": "0x0", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0xf35f64af44977b6970145c7c6fafdfc8808a7a78", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0xc624ff51ba4193d2984d8f9c30a50c4b11e6d0c2bbc7c6a52cad5ced9fc47baa", + "blockNumber": "0x131a3e1", + "transactionHash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionIndex": "0x0", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78" + ], + "data": "0x0000000000000000000000000000000000000000000000e61bd442f34b46ea72", + "blockHash": "0xc624ff51ba4193d2984d8f9c30a50c4b11e6d0c2bbc7c6a52cad5ced9fc47baa", + "blockNumber": "0x131a3e1", + "transactionHash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionIndex": "0x0", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f35f64af44977b6970145c7c6fafdfc8808a7a78" + ], + "data": "0x000000000000000000000000000000000000000000000023cdf403007b0b4e86", + "blockHash": "0xc624ff51ba4193d2984d8f9c30a50c4b11e6d0c2bbc7c6a52cad5ced9fc47baa", + "blockNumber": "0x131a3e1", + "transactionHash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionIndex": "0x0", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xf35f64af44977b6970145c7c6fafdfc8808a7a78", + "topics": [ + "0x8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc", + "0x000000000000000000000000f99985822fb361117fcf3768d34a6353e6022f5f", + "0x0000000000000000000000000000000000000000000000000000000000000055" + ], + "data": "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d220000000000000000000000000000000000000000000000e61bd442f34b46ea72000000000000000000000000000000000000000000000023cdf403007b0b4e8600000000000000000000000000000000000000000000012fb9b83b27d93bbd6b0000000000000000000000000000000000000000000000000f2e29438dfe9ee600000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000b5e620f4800000000000000000000000000000000000000000000000000000000000694c7e80", + "blockHash": "0xc624ff51ba4193d2984d8f9c30a50c4b11e6d0c2bbc7c6a52cad5ced9fc47baa", + "blockNumber": "0x131a3e1", + "transactionHash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionIndex": "0x0", + "logIndex": "0x8", + "removed": false + } + ], + "logsBloom": "0x00000100008000000000000000000000010000101000000008000000000000000000000000000000000000040002000002000000080000001000000000200000000000000000002000000008000000000000008000000000000000000000000000010020020000100041000004200801000000000020000000000010000000000000000000000000000080000800400000000000000000000000000000000000020000000000000000008200000200100000000000000000000000000044000000000102002000104004000000200400000000000000000000000000200020000010200400000000000000008000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x01ce0758bf7f7d61353ad92cb9634039b6095bb0e47922b874ce154ef1d1c5a8", + "transactionIndex": "0x0", + "blockHash": "0xc624ff51ba4193d2984d8f9c30a50c4b11e6d0c2bbc7c6a52cad5ced9fc47baa", + "blockNumber": "0x131a3e1", + "gasUsed": "0xd7ab1", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf35f64af44977b6970145c7c6fafdfc8808a7a78", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x681c", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xb35878c95c47c1f65433a81336b3bc3243bfe070a0b4cb9a93c7d5d92c7b8599", + "blockNumber": "0x131a3e2", + "transactionHash": "0xf7ef5aad4a6f11467c73d14fc2f52a9c612ea9fe649220260e465946ffc22c49", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0xf7ef5aad4a6f11467c73d14fc2f52a9c612ea9fe649220260e465946ffc22c49", + "transactionIndex": "0x0", + "blockHash": "0xb35878c95c47c1f65433a81336b3bc3243bfe070a0b4cb9a93c7d5d92c7b8599", + "blockNumber": "0x131a3e2", + "gasUsed": "0x681c", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x67c8", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc262dd089a5916d9f150a5158958050591c3b019a36c378f40ab057dd2e0aa6e", + "blockNumber": "0x131a3e4", + "transactionHash": "0x0eccc8de27042e29ebd27463eee3aa08a4ec52df1d9375f29db1f70e4e71e1f4", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000000000000000000000100040000000000000000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0eccc8de27042e29ebd27463eee3aa08a4ec52df1d9375f29db1f70e4e71e1f4", + "transactionIndex": "0x0", + "blockHash": "0xc262dd089a5916d9f150a5158958050591c3b019a36c378f40ab057dd2e0aa6e", + "blockNumber": "0x131a3e4", + "gasUsed": "0x67c8", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x67f3", + "logs": [ + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x3a7dafaf157b8df117300a9b1c691e96dcc159be24ce4caca8946f0ac0367fbf", + "blockNumber": "0x131a3e5", + "transactionHash": "0xcf41b0178aa5d413b053f8be3edad65d170e85ac2b841dafb059d16418e5748c", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000800000000000000000000000000000000000000020000000080000000000200000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xcf41b0178aa5d413b053f8be3edad65d170e85ac2b841dafb059d16418e5748c", + "transactionIndex": "0x0", + "blockHash": "0x3a7dafaf157b8df117300a9b1c691e96dcc159be24ce4caca8946f0ac0367fbf", + "blockNumber": "0x131a3e5", + "gasUsed": "0x67f3", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6832", + "logs": [ + { + "address": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x29fd401c3ba2f58e92ea1b21cf8698d757b6917942a7c1efe84affa444b70726", + "blockNumber": "0x131a3e6", + "transactionHash": "0xbabaf59e8f0afd58f064aa5f10d72eafc51f1ec3e80e9c7ad8be2512850ab642", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000400000000000000000000000000000000000000000000000000000010000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbabaf59e8f0afd58f064aa5f10d72eafc51f1ec3e80e9c7ad8be2512850ab642", + "transactionIndex": "0x0", + "blockHash": "0x29fd401c3ba2f58e92ea1b21cf8698d757b6917942a7c1efe84affa444b70726", + "blockNumber": "0x131a3e6", + "gasUsed": "0x6832", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718650594, + "chain": 753712, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployPool.s.sol/753712/run-1718650742.json b/broadcast/DeployPool.s.sol/753712/run-1718650742.json new file mode 100644 index 0000000..c20a71f --- /dev/null +++ b/broadcast/DeployPool.s.sol/753712/run-1718650742.json @@ -0,0 +1,1080 @@ +{ + "transactions": [ + { + "hash": "0xd5852ce6e241bf1c6c2189d6dbdd85440c56ec1eca6b4d51cd30deea1476c0a1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "function": "createRMM(string,string)", + "arguments": [ + "\"Lido Staked ETH 24 Dec 2025\"", + "\"stETH-24DEC25\"" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "gas": "0x679e56", + "value": "0x0", + "input": "0x26bff9d500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000", + "nonce": "0x35", + "chainId": "0xb8030" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x3e9b516a3bc3c71635f1c6acdc1e36e089a3f11a", + "initCode": "0x61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x99109736f5e26a78389e7a4478eed048e9e916f3cd91ce29070b7191bbe4e1b7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0xcbC72d92b2dc8187414F6734718563898740C0BC", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x8fab", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x36", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x607c5e68fa18ec58dae72ee69f0156141e106bf6e4ec645f0df2c3aba5b01f3c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "deposit(address,address,uint256,uint256)", + "arguments": [ + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22", + "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0", + "10000000000000000000000", + "1" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x17508", + "value": "0x0", + "input": "0x20e8c565000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d220000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x37", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x519cb61cc9738735a19029b3a60a993ca24317ec852fc89b13ae8b55d90ff9b3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "transfer(address,uint256)", + "arguments": [ + "0xf3aBC972A0f537c1119C990d422463b93227Cd83", + "5000000000000000000000" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0xe02d", + "value": "0x0", + "input": "0xa9059cbb000000000000000000000000f3abc972a0f537c1119c990d422463b93227cd8300000000000000000000000000000000000000000000010f0cf064dd59200000", + "nonce": "0x38", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x244f8f324e0d016e86ac171ba5c67ab0d3fa6e5de6d4f5f32e2499531cf448e3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "mintPY(address,address)", + "arguments": [ + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22", + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x2b2da", + "value": "0x0", + "input": "0xdb74aa15000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "nonce": "0x39", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7a4d245bde00bd69eb9d7f01aed03c02b368c9687282bc6982e0fc7536d23f01", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0x3e9b516a3BC3c71635F1c6ACdc1E36E089A3F11a", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0xfb0a", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x3a", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1b3c4eaad89d1949078e84054ab8e2552d6dd4841eeb9fdfa6e4ad07b3a4829f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "approve(address,uint256)", + "arguments": [ + "0x3e9b516a3BC3c71635F1c6ACdc1E36E089A3F11a", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0xfb82", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x3b", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb52813cf2c1bd3d99101dfa68eef369d84047cb38e71d79728c5f72c401b4409", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "function": "approve(address,uint256)", + "arguments": [ + "0x3e9b516a3BC3c71635F1c6ACdc1E36E089A3F11a", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "gas": "0x10a0d", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x3c", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x10bcc67d40c5787a74cb1e718aba929bb3acaa19d8220f5f1d42037f2c11cf96", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "approve(address,uint256)", + "arguments": [ + "0x3e9b516a3BC3c71635F1c6ACdc1E36E089A3F11a", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0xfb7e", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11affffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x3d", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe984fa8ce8f3e779dcd6d5a050263780cdfe3820b53eea18b4ef3d4796802c58", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x8f58", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x3e", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1c524df1b6994f61396ff9116609655f3828555cf0c53ed80e46756679abe388", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x8fd0", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x3f", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaf6e4cb4890532b8c5e5abc254f64fd9e3bb3b033ca8a92cb5995a032fb65d40", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "gas": "0x9806", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x40", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x25672c688ba7d10a6365abc56e02bfa9e03d6026e5c5093c3afcda357a0a23a2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x8fcc", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x41", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xebfa667c0b0c519b218c309d6eb8eec1f28fbadd6b3f43fd933a169c115a7a00", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "gas": "0x9862", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x42", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8c9a16e1b4e29bb760cde077c7583d2774658169b8387b7c30da9d344c1bcc1b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "pyIndexCurrent()", + "arguments": [], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x8d91", + "value": "0x0", + "input": "0x1d52edc4", + "nonce": "0x43", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionType": "CALL", + "contractName": "RMM", + "contractAddress": "0x3e9b516a3bc3c71635f1c6acdc1e36e089a3f11a", + "function": "init(address,uint256,uint256,uint256,uint256,uint256,address)", + "arguments": [ + "0xf99985822fb361117FCf3768D34a6353E6022F5F", + "1061268472041551921", + "4244756438299991009906", + "1093856804447597477", + "20000000000000000", + "200000000000000", + "0x0000000000000000000000000000000000000055" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x3e9b516a3bc3c71635f1c6acdc1e36e089a3f11a", + "gas": "0x133d29", + "value": "0x0", + "input": "0x71ced336000000000000000000000000f99985822fb361117fcf3768d34a6353e6022f5f0000000000000000000000000000000000000000000000000eba620d6f5bb8310000000000000000000000000000000000000000000000e61bd442f34b46ea720000000000000000000000000000000000000000000000000f2e28f7d83e33a500000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000000000000055", + "nonce": "0x44", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x46df79", + "logs": [ + { + "address": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "topics": [ + "0x87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11a" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000", + "blockHash": "0xbe53e2dc420ae14f2b86985f2fad0492b9f9a86ca2366680b2539ff87a3960b1", + "blockNumber": "0x131a3e8", + "transactionHash": "0xd5852ce6e241bf1c6c2189d6dbdd85440c56ec1eca6b4d51cd30deea1476c0a1", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000002000000000000000000000000000000000000000800000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000002000000000010000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000200000000000000000000000000000200000000000000400000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd5852ce6e241bf1c6c2189d6dbdd85440c56ec1eca6b4d51cd30deea1476c0a1", + "transactionIndex": "0x0", + "blockHash": "0xbe53e2dc420ae14f2b86985f2fad0492b9f9a86ca2366680b2539ff87a3960b1", + "blockNumber": "0x131a3e8", + "gasUsed": "0x46df79", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb617", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11a" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x75a789248401d91eac6c07b1374d27928fe8b1669928e7efba1f8e563a97a1fe", + "blockNumber": "0x131a3e9", + "transactionHash": "0x1b3c4eaad89d1949078e84054ab8e2552d6dd4841eeb9fdfa6e4ad07b3a4829f", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000200000000010000000000000000000200000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x1b3c4eaad89d1949078e84054ab8e2552d6dd4841eeb9fdfa6e4ad07b3a4829f", + "transactionIndex": "0x0", + "blockHash": "0x75a789248401d91eac6c07b1374d27928fe8b1669928e7efba1f8e563a97a1fe", + "blockNumber": "0x131a3e9", + "gasUsed": "0xb617", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5c0", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11a" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xcf5e6a6616b882e65c22a8654a77340d4b66ab91361b6c93d2bb58810d7592ce", + "blockNumber": "0x131a3ea", + "transactionHash": "0x7a4d245bde00bd69eb9d7f01aed03c02b368c9687282bc6982e0fc7536d23f01", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000800000000000000000000000000200000000010000000000000000000208000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7a4d245bde00bd69eb9d7f01aed03c02b368c9687282bc6982e0fc7536d23f01", + "transactionIndex": "0x0", + "blockHash": "0xcf5e6a6616b882e65c22a8654a77340d4b66ab91361b6c93d2bb58810d7592ce", + "blockNumber": "0x131a3ea", + "gasUsed": "0xb5c0", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5eb", + "logs": [ + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11a" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x18a0b4b321ef8af69c141c3341bbf94316b0e50634d38eced1a5ad56547d1f86", + "blockNumber": "0x131a3eb", + "transactionHash": "0xb52813cf2c1bd3d99101dfa68eef369d84047cb38e71d79728c5f72c401b4409", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000800000000000000000000000000000000000000020000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000200000000010000000000000000000200000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xb52813cf2c1bd3d99101dfa68eef369d84047cb38e71d79728c5f72c401b4409", + "transactionIndex": "0x0", + "blockHash": "0x18a0b4b321ef8af69c141c3341bbf94316b0e50634d38eced1a5ad56547d1f86", + "blockNumber": "0x131a3eb", + "gasUsed": "0xb5eb", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x9949", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f3abc972a0f537c1119c990d422463b93227cd83" + ], + "data": "0x00000000000000000000000000000000000000000000010f0cf064dd59200000", + "blockHash": "0x7987ce475c3671ba1b6e4b78f9959429f59caf6c003d39b174ca615983309b77", + "blockNumber": "0x131a3ec", + "transactionHash": "0x519cb61cc9738735a19029b3a60a993ca24317ec852fc89b13ae8b55d90ff9b3", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000002000000008000000000000000000000000000000000000000000000001000000000040000000000000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000400000000000000000000002000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x519cb61cc9738735a19029b3a60a993ca24317ec852fc89b13ae8b55d90ff9b3", + "transactionIndex": "0x0", + "blockHash": "0x7987ce475c3671ba1b6e4b78f9959429f59caf6c003d39b174ca615983309b77", + "blockNumber": "0x131a3ec", + "gasUsed": "0x9949", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1d861", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0x822fbcab35a4d2d5e0e19d67ed033f4a14588eaff1349a1163fc6085f801b3b4", + "blockNumber": "0x131a3ed", + "transactionHash": "0x244f8f324e0d016e86ac171ba5c67ab0d3fa6e5de6d4f5f32e2499531cf448e3", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000027b19204dc5e873ba10", + "blockHash": "0x822fbcab35a4d2d5e0e19d67ed033f4a14588eaff1349a1163fc6085f801b3b4", + "blockNumber": "0x131a3ed", + "transactionHash": "0x244f8f324e0d016e86ac171ba5c67ab0d3fa6e5de6d4f5f32e2499531cf448e3", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000027b19204dc5e873ba10", + "blockHash": "0x822fbcab35a4d2d5e0e19d67ed033f4a14588eaff1349a1163fc6085f801b3b4", + "blockNumber": "0x131a3ed", + "transactionHash": "0x244f8f324e0d016e86ac171ba5c67ab0d3fa6e5de6d4f5f32e2499531cf448e3", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0xc0025304673122449dd60b9b0093874b0e2fd6fe57af1c7c2fbfee0ccf5ead58", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000027b19204dc5e873ba10", + "blockHash": "0x822fbcab35a4d2d5e0e19d67ed033f4a14588eaff1349a1163fc6085f801b3b4", + "blockNumber": "0x131a3ed", + "transactionHash": "0x244f8f324e0d016e86ac171ba5c67ab0d3fa6e5de6d4f5f32e2499531cf448e3", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000000000000000000000000000000000000000000040000000000000000000000001000000000000000000000000000002000000008000000000000000000000000000000000000000000010020020000000000000000000800000000000020000000000010000000000002000000000000000000000800400000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000200102000000000000000000200000000000000000000000000000200020000000000000000000000000010000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x244f8f324e0d016e86ac171ba5c67ab0d3fa6e5de6d4f5f32e2499531cf448e3", + "transactionIndex": "0x0", + "blockHash": "0x822fbcab35a4d2d5e0e19d67ed033f4a14588eaff1349a1163fc6085f801b3b4", + "blockNumber": "0x131a3ed", + "gasUsed": "0x1d861", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xff11", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x31065edbc8c53ce8703d3715296be2cf21f058ee51ce8e4cb31933e4e1d9b014", + "blockNumber": "0x131a3ee", + "transactionHash": "0x607c5e68fa18ec58dae72ee69f0156141e106bf6e4ec645f0df2c3aba5b01f3c", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffde1e61f36454dbfffff", + "blockHash": "0x31065edbc8c53ce8703d3715296be2cf21f058ee51ce8e4cb31933e4e1d9b014", + "blockNumber": "0x131a3ee", + "transactionHash": "0x607c5e68fa18ec58dae72ee69f0156141e106bf6e4ec645f0df2c3aba5b01f3c", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x31065edbc8c53ce8703d3715296be2cf21f058ee51ce8e4cb31933e4e1d9b014", + "blockNumber": "0x131a3ee", + "transactionHash": "0x607c5e68fa18ec58dae72ee69f0156141e106bf6e4ec645f0df2c3aba5b01f3c", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d59", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x31065edbc8c53ce8703d3715296be2cf21f058ee51ce8e4cb31933e4e1d9b014", + "blockNumber": "0x131a3ee", + "transactionHash": "0x607c5e68fa18ec58dae72ee69f0156141e106bf6e4ec645f0df2c3aba5b01f3c", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000002000000000000010000000000000000200000000000000000002000000008000000000000000000000000080000000000000000000000020000000040000000000801000000000020000000000010000000000000000010000000000080000000000000000000000000000000000000002000020000000000000000000000000000100000000000000000000000000000000000000002000000100000000000000480000000000000000000000000200020000010000000000000000000008000000000000000004000000000000000000000", + "type": "0x2", + "transactionHash": "0x607c5e68fa18ec58dae72ee69f0156141e106bf6e4ec645f0df2c3aba5b01f3c", + "transactionIndex": "0x0", + "blockHash": "0x31065edbc8c53ce8703d3715296be2cf21f058ee51ce8e4cb31933e4e1d9b014", + "blockNumber": "0x131a3ee", + "gasUsed": "0xff11", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x72f4", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x1862d28b1faf5152adb5eae30f20958fb1df8ed71b777275135a28e2242af411", + "blockNumber": "0x131a3ef", + "transactionHash": "0x99109736f5e26a78389e7a4478eed048e9e916f3cd91ce29070b7191bbe4e1b7", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000400000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x99109736f5e26a78389e7a4478eed048e9e916f3cd91ce29070b7191bbe4e1b7", + "transactionIndex": "0x0", + "blockHash": "0x1862d28b1faf5152adb5eae30f20958fb1df8ed71b777275135a28e2242af411", + "blockNumber": "0x131a3ef", + "gasUsed": "0x72f4", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x681f", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x819f7f90114a99b4a9ea5b54570320366de34f08063e71a77eb0b743de380b43", + "blockNumber": "0x131a3f1", + "transactionHash": "0x1c524df1b6994f61396ff9116609655f3828555cf0c53ed80e46756679abe388", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000002000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000100000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x1c524df1b6994f61396ff9116609655f3828555cf0c53ed80e46756679abe388", + "transactionIndex": "0x0", + "blockHash": "0x819f7f90114a99b4a9ea5b54570320366de34f08063e71a77eb0b743de380b43", + "blockNumber": "0x131a3f1", + "gasUsed": "0x681f", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x67f3", + "logs": [ + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0321b8df20b81e414f04d5276471d31fd4b072b7a4937b9e6f2f87fc822c368d", + "blockNumber": "0x131a3f2", + "transactionHash": "0xaf6e4cb4890532b8c5e5abc254f64fd9e3bb3b033ca8a92cb5995a032fb65d40", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000800000000000000000000000000000000000000020000000080000000000200000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xaf6e4cb4890532b8c5e5abc254f64fd9e3bb3b033ca8a92cb5995a032fb65d40", + "transactionIndex": "0x0", + "blockHash": "0x0321b8df20b81e414f04d5276471d31fd4b072b7a4937b9e6f2f87fc822c368d", + "blockNumber": "0x131a3f2", + "gasUsed": "0x67f3", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb614", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11a" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x8b31cda20020d76d410928d3d0c22a751bd08043ca263cb84e929cffffd3e42d", + "blockNumber": "0x131a3f3", + "transactionHash": "0x10bcc67d40c5787a74cb1e718aba929bb3acaa19d8220f5f1d42037f2c11cf96", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000200000000010000000000000000000200000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x10bcc67d40c5787a74cb1e718aba929bb3acaa19d8220f5f1d42037f2c11cf96", + "transactionIndex": "0x0", + "blockHash": "0x8b31cda20020d76d410928d3d0c22a751bd08043ca263cb84e929cffffd3e42d", + "blockNumber": "0x131a3f3", + "gasUsed": "0xb614", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x681c", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x3e88b0bb08481ed02144f596bd14a4c33e935c1bfac99f6421dc798e2670fb94", + "blockNumber": "0x131a3f4", + "transactionHash": "0x25672c688ba7d10a6365abc56e02bfa9e03d6026e5c5093c3afcda357a0a23a2", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x25672c688ba7d10a6365abc56e02bfa9e03d6026e5c5093c3afcda357a0a23a2", + "transactionIndex": "0x0", + "blockHash": "0x3e88b0bb08481ed02144f596bd14a4c33e935c1bfac99f6421dc798e2670fb94", + "blockNumber": "0x131a3f4", + "gasUsed": "0x681c", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6832", + "logs": [ + { + "address": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x46a31644cf6a57abfee9fe6f406b7417ae0a8be1aefcfc83f2f2b9ad6986621a", + "blockNumber": "0x131a3f5", + "transactionHash": "0xebfa667c0b0c519b218c309d6eb8eec1f28fbadd6b3f43fd933a169c115a7a00", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000400000000000000000000000000000000000000000000000000000010000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xebfa667c0b0c519b218c309d6eb8eec1f28fbadd6b3f43fd933a169c115a7a00", + "transactionIndex": "0x0", + "blockHash": "0x46a31644cf6a57abfee9fe6f406b7417ae0a8be1aefcfc83f2f2b9ad6986621a", + "blockNumber": "0x131a3f5", + "gasUsed": "0x6832", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x67c8", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xbcbc9cdb12246bf1f2ba65de51dae99575469f2ca31d0cbf73b683f33e0cc6db", + "blockNumber": "0x131a3f6", + "transactionHash": "0xe984fa8ce8f3e779dcd6d5a050263780cdfe3820b53eea18b4ef3d4796802c58", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000000000000000000000100040000000000000000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xe984fa8ce8f3e779dcd6d5a050263780cdfe3820b53eea18b4ef3d4796802c58", + "transactionIndex": "0x0", + "blockHash": "0xbcbc9cdb12246bf1f2ba65de51dae99575469f2ca31d0cbf73b683f33e0cc6db", + "blockNumber": "0x131a3f6", + "gasUsed": "0x67c8", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd7ac2", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11a", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xd027b64e3d96fb0fe18b162f471ceb16e374fbf57cc76fcffb2c9dcfed8f390d", + "blockNumber": "0x131a3f7", + "transactionHash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xae7ab96520de3a18e5e111b5eaab095312d7fe84", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11a", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xd027b64e3d96fb0fe18b162f471ceb16e374fbf57cc76fcffb2c9dcfed8f390d", + "blockNumber": "0x131a3f7", + "transactionHash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11a", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xd027b64e3d96fb0fe18b162f471ceb16e374fbf57cc76fcffb2c9dcfed8f390d", + "blockNumber": "0x131a3f7", + "transactionHash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0xd027b64e3d96fb0fe18b162f471ceb16e374fbf57cc76fcffb2c9dcfed8f390d", + "blockNumber": "0x131a3f7", + "transactionHash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x3e9b516a3bc3c71635f1c6acdc1e36e089a3f11a", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000012fb9c086d56c21fee4", + "blockHash": "0xd027b64e3d96fb0fe18b162f471ceb16e374fbf57cc76fcffb2c9dcfed8f390d", + "blockNumber": "0x131a3f7", + "transactionHash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionIndex": "0x0", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x3e9b516a3bc3c71635f1c6acdc1e36e089a3f11a", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0xd027b64e3d96fb0fe18b162f471ceb16e374fbf57cc76fcffb2c9dcfed8f390d", + "blockNumber": "0x131a3f7", + "transactionHash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionIndex": "0x0", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11a" + ], + "data": "0x0000000000000000000000000000000000000000000000e61bd442f34b46ea72", + "blockHash": "0xd027b64e3d96fb0fe18b162f471ceb16e374fbf57cc76fcffb2c9dcfed8f390d", + "blockNumber": "0x131a3f7", + "transactionHash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionIndex": "0x0", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000003e9b516a3bc3c71635f1c6acdc1e36e089a3f11a" + ], + "data": "0x000000000000000000000000000000000000000000000023cdfc42c76211b922", + "blockHash": "0xd027b64e3d96fb0fe18b162f471ceb16e374fbf57cc76fcffb2c9dcfed8f390d", + "blockNumber": "0x131a3f7", + "transactionHash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionIndex": "0x0", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0x3e9b516a3bc3c71635f1c6acdc1e36e089a3f11a", + "topics": [ + "0x8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc", + "0x000000000000000000000000f99985822fb361117fcf3768d34a6353e6022f5f", + "0x0000000000000000000000000000000000000000000000000000000000000055" + ], + "data": "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d220000000000000000000000000000000000000000000000e61bd442f34b46ea72000000000000000000000000000000000000000000000023cdfc42c76211b92200000000000000000000000000000000000000000000012fb9c086d56c2202cc0000000000000000000000000000000000000000000000000f2e28f7d83e33a500000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000b5e620f4800000000000000000000000000000000000000000000000000000000000694c7e80", + "blockHash": "0xd027b64e3d96fb0fe18b162f471ceb16e374fbf57cc76fcffb2c9dcfed8f390d", + "blockNumber": "0x131a3f7", + "transactionHash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionIndex": "0x0", + "logIndex": "0x8", + "removed": false + } + ], + "logsBloom": "0x00000100000000000000000000000000010000101000000008000000000000000000000000000000000000040002000002000000080000001000000000200000000000000000202000000008000000000000000000000000000000000000000000010020020000100040000004200801000000000020000000000010000000000000000000000000000080000800400000000000000000000000000000000000020000000000000000008200000200100000000080000000000000000044080000000102000000104000000000200c00000000000000000000000000200020000010200400000000000000208000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x72bbe85d29d87c1842244204358797a43fdf18fb64ebde5cc5f3d84f16d62ce8", + "transactionIndex": "0x0", + "blockHash": "0xd027b64e3d96fb0fe18b162f471ceb16e374fbf57cc76fcffb2c9dcfed8f390d", + "blockNumber": "0x131a3f7", + "gasUsed": "0xd7ac2", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x3e9b516a3bc3c71635f1c6acdc1e36e089a3f11a", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718650742, + "chain": 753712, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployPool.s.sol/753712/run-1718650883.json b/broadcast/DeployPool.s.sol/753712/run-1718650883.json new file mode 100644 index 0000000..bffe727 --- /dev/null +++ b/broadcast/DeployPool.s.sol/753712/run-1718650883.json @@ -0,0 +1,1034 @@ +{ + "transactions": [ + { + "hash": "0x7273ba8d3c9cba078f348d58f9edd3632be5905b1a22fa01bb47902bda4615c5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "function": "createRMM(string,string)", + "arguments": [ + "\"Lido Staked ETH 24 Dec 2025\"", + "\"stETH-24DEC25\"" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "gas": "0xef1ea0", + "value": "0x0", + "input": "0x26bff9d500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000", + "nonce": "0x45", + "chainId": "0xb8030" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0x7e96536e527ffb8231b21fd000efa45fd55550d9", + "initCode": "0x61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xd88455d72789c19b2077971483cb7178e031e2848d8b399f363c9ff5110f1f1d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0xcbC72d92b2dc8187414F6734718563898740C0BC", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x14b8c", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x46", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbd418b024a439ddc014fdf7aa1b37e14754dc5f4a2f626ab46767f1f5a0f7824", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "deposit(address,address,uint256,uint256)", + "arguments": [ + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22", + "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0", + "10000000000000000000000", + "1" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x35cd9", + "value": "0x0", + "input": "0x20e8c565000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d220000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x47", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbd35aa64767abc2540e893ddb512e7e3695494c67cd61b87d108e0cade6f0c1b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "transfer(address,uint256)", + "arguments": [ + "0xf3aBC972A0f537c1119C990d422463b93227Cd83", + "5000000000000000000000" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x20556", + "value": "0x0", + "input": "0xa9059cbb000000000000000000000000f3abc972a0f537c1119c990d422463b93227cd8300000000000000000000000000000000000000000000010f0cf064dd59200000", + "nonce": "0x48", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe72126da5b9fecee589eecb0cede835516dda3c545db4778b6a2f16332bd8cb1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "mintPY(address,address)", + "arguments": [ + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22", + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x5a879", + "value": "0x0", + "input": "0xdb74aa15000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "nonce": "0x49", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0509770df89988a3fedbe8f4d459cf0aba1b47f99d5dc29288122a0e5c124699", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0x7e96536e527FFB8231B21Fd000efa45fd55550D9", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x2432d", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x4a", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc1ac93b8d926a085ca149e7316565fd2db2d90c9d55deea5bb162afd3ff21059", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "approve(address,uint256)", + "arguments": [ + "0x7e96536e527FFB8231B21Fd000efa45fd55550D9", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x26664", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x4b", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9689d907056717394270018fc195a8c7a070c78bb260a7742d04870b2ed6adcf", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "function": "approve(address,uint256)", + "arguments": [ + "0x7e96536e527FFB8231B21Fd000efa45fd55550D9", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "gas": "0x243b4", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x4c", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1c00bed69e7281bb16f24c14fdea243bfbe445225a6954c246781b078ea63ca1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "approve(address,uint256)", + "arguments": [ + "0x7e96536e527FFB8231B21Fd000efa45fd55550D9", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x24438", + "value": "0x0", + "input": "0x095ea7b30000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x4d", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x86adda160dd868f82745b5fef62bd75ba4c63e203acc2d6222a006523a82b49e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x14acc", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x4e", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x401e2b3e6c7099bcfd712c97904498ee06f354b7644b1756b6d4a414f750a4d0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x14be0", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x4f", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xce2fb8c874ef04614c770304d020907821dd4e45a4fc69d1ddb86e9211d13f0f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "gas": "0x15ed3", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x50", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6a2f40e4c4f5b62c79dd37db7cb078db17a04e7aa72b6539a03d7c072e271cbe", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x14bd7", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x51", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5d726ca5c1e391bf505b8b3583ee67cf5d042d04e7a792541144146e582c8eb0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "gas": "0x15fa8", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x52", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x957d77af9fd5d0e6784c01763b984c269cdb0e8c7065bfef0a7786c734b663cd", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "pyIndexCurrent()", + "arguments": [], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x146b2", + "value": "0x0", + "input": "0x1d52edc4", + "nonce": "0x53", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionType": "CALL", + "contractName": "RMM", + "contractAddress": "0x7e96536e527ffb8231b21fd000efa45fd55550d9", + "function": "init(address,uint256,uint256,uint256,uint256,uint256,address)", + "arguments": [ + "0xf99985822fb361117FCf3768D34a6353E6022F5F", + "1061268343115437322", + "4244756438299991009906", + "1093856608945534290", + "20000000000000000", + "200000000000000", + "0x0000000000000000000000000000000000000055" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7e96536e527ffb8231b21fd000efa45fd55550d9", + "gas": "0x29ed67", + "value": "0x0", + "input": "0x71ced336000000000000000000000000f99985822fb361117fcf3768d34a6353e6022f5f0000000000000000000000000000000000000000000000000eba61ef6ac3550a0000000000000000000000000000000000000000000000e61bd442f34b46ea720000000000000000000000000000000000000000000000000f2e28ca5369755200000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000000000000055", + "nonce": "0x54", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x46df79", + "logs": [ + { + "address": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "topics": [ + "0x87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000", + "blockHash": "0x0fac9c0d94450218d4437ade1d9d1faae82f2ba39fe7d6c431c93147f8887f87", + "blockNumber": "0x131a3fb", + "transactionHash": "0x7273ba8d3c9cba078f348d58f9edd3632be5905b1a22fa01bb47902bda4615c5", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000200004000000000000000000000000008000000000000000000000000000000000000800000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000002000000000010000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000400000000000000000000000000", + "type": "0x2", + "transactionHash": "0x7273ba8d3c9cba078f348d58f9edd3632be5905b1a22fa01bb47902bda4615c5", + "transactionIndex": "0x0", + "blockHash": "0x0fac9c0d94450218d4437ade1d9d1faae82f2ba39fe7d6c431c93147f8887f87", + "blockNumber": "0x131a3fb", + "gasUsed": "0x46df79", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6804", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xa8f02be2ee889f0b6e5629a0118ce0f446d679144b168af80e9b7158705a6ce0", + "blockNumber": "0x131a3fd", + "transactionHash": "0xd88455d72789c19b2077971483cb7178e031e2848d8b399f363c9ff5110f1f1d", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000400000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd88455d72789c19b2077971483cb7178e031e2848d8b399f363c9ff5110f1f1d", + "transactionIndex": "0x0", + "blockHash": "0xa8f02be2ee889f0b6e5629a0118ce0f446d679144b168af80e9b7158705a6ce0", + "blockNumber": "0x131a3fd", + "gasUsed": "0x6804", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5df", + "logs": [ + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc509f939cd6fa0ff302f6d8f9e204da3f801fd106e15d5361189f18dc1142fc6", + "blockNumber": "0x131a3fe", + "transactionHash": "0x9689d907056717394270018fc195a8c7a070c78bb260a7742d04870b2ed6adcf", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000800000000000000000000000000000000000000020000000000000000000200000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x9689d907056717394270018fc195a8c7a070c78bb260a7742d04870b2ed6adcf", + "transactionIndex": "0x0", + "blockHash": "0xc509f939cd6fa0ff302f6d8f9e204da3f801fd106e15d5361189f18dc1142fc6", + "blockNumber": "0x131a3fe", + "gasUsed": "0xb5df", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xff11", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0xf7f266a7d7c0ad27d98d63fae21f6c47eccbe19f9074d72601a6f6389bd60ba6", + "blockNumber": "0x131a3ff", + "transactionHash": "0xbd418b024a439ddc014fdf7aa1b37e14754dc5f4a2f626ab46767f1f5a0f7824", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffde1e61f36454dbfffff", + "blockHash": "0xf7f266a7d7c0ad27d98d63fae21f6c47eccbe19f9074d72601a6f6389bd60ba6", + "blockNumber": "0x131a3ff", + "transactionHash": "0xbd418b024a439ddc014fdf7aa1b37e14754dc5f4a2f626ab46767f1f5a0f7824", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0xf7f266a7d7c0ad27d98d63fae21f6c47eccbe19f9074d72601a6f6389bd60ba6", + "blockNumber": "0x131a3ff", + "transactionHash": "0xbd418b024a439ddc014fdf7aa1b37e14754dc5f4a2f626ab46767f1f5a0f7824", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d59", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0xf7f266a7d7c0ad27d98d63fae21f6c47eccbe19f9074d72601a6f6389bd60ba6", + "blockNumber": "0x131a3ff", + "transactionHash": "0xbd418b024a439ddc014fdf7aa1b37e14754dc5f4a2f626ab46767f1f5a0f7824", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000002000000000000010000000000000000200000000000000000002000000008000000000000000000000000080000000000000000000000020000000040000000000801000000000020000000000010000000000000000010000000000080000000000000000000000000000000000000002000020000000000000000000000000000100000000000000000000000000000000000000002000000100000000000000480000000000000000000000000200020000010000000000000000000008000000000000000004000000000000000000000", + "type": "0x2", + "transactionHash": "0xbd418b024a439ddc014fdf7aa1b37e14754dc5f4a2f626ab46767f1f5a0f7824", + "transactionIndex": "0x0", + "blockHash": "0xf7f266a7d7c0ad27d98d63fae21f6c47eccbe19f9074d72601a6f6389bd60ba6", + "blockNumber": "0x131a3ff", + "gasUsed": "0xff11", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb608", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc04538927892720562da7a02afd7240ce635f3ea1e274f05f3fd2bbcab30ebef", + "blockNumber": "0x131a400", + "transactionHash": "0x1c00bed69e7281bb16f24c14fdea243bfbe445225a6954c246781b078ea63ca1", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x1c00bed69e7281bb16f24c14fdea243bfbe445225a6954c246781b078ea63ca1", + "transactionIndex": "0x0", + "blockHash": "0xc04538927892720562da7a02afd7240ce635f3ea1e274f05f3fd2bbcab30ebef", + "blockNumber": "0x131a400", + "gasUsed": "0xb608", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x67c8", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xb63c668b0506d5551e2dd330e6fdf60c4e044851623b74b4f34df44c833abeb7", + "blockNumber": "0x131a401", + "transactionHash": "0x86adda160dd868f82745b5fef62bd75ba4c63e203acc2d6222a006523a82b49e", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000000000000000000000100040000000000000000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x86adda160dd868f82745b5fef62bd75ba4c63e203acc2d6222a006523a82b49e", + "transactionIndex": "0x0", + "blockHash": "0xb63c668b0506d5551e2dd330e6fdf60c4e044851623b74b4f34df44c833abeb7", + "blockNumber": "0x131a401", + "gasUsed": "0x67c8", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb60b", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xbf422ebca6ec502cbb7ccbffd3d0f57d15a378d499dabc0cd1066e1205e28f3b", + "blockNumber": "0x131a402", + "transactionHash": "0xc1ac93b8d926a085ca149e7316565fd2db2d90c9d55deea5bb162afd3ff21059", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000004000000000000000000000002008000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000100000000000000400000000000000000000000000000000000000000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xc1ac93b8d926a085ca149e7316565fd2db2d90c9d55deea5bb162afd3ff21059", + "transactionIndex": "0x0", + "blockHash": "0xbf422ebca6ec502cbb7ccbffd3d0f57d15a378d499dabc0cd1066e1205e28f3b", + "blockNumber": "0x131a402", + "gasUsed": "0xb60b", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5b4", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xc42e9c6f5b5d705b85beb47d21cc67b1f42d1ae457b737c4b38394014629f165", + "blockNumber": "0x131a403", + "transactionHash": "0x0509770df89988a3fedbe8f4d459cf0aba1b47f99d5dc29288122a0e5c124699", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000400000000000000000000000000000000100000000000000000000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0509770df89988a3fedbe8f4d459cf0aba1b47f99d5dc29288122a0e5c124699", + "transactionIndex": "0x0", + "blockHash": "0xc42e9c6f5b5d705b85beb47d21cc67b1f42d1ae457b737c4b38394014629f165", + "blockNumber": "0x131a403", + "gasUsed": "0xb5b4", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x9949", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f3abc972a0f537c1119c990d422463b93227cd83" + ], + "data": "0x00000000000000000000000000000000000000000000010f0cf064dd59200000", + "blockHash": "0xd24651ca57aefde33e09b2edbd5ef98be7012fafb95f072b2b51915a27c205bd", + "blockNumber": "0x131a404", + "transactionHash": "0xbd35aa64767abc2540e893ddb512e7e3695494c67cd61b87d108e0cade6f0c1b", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000002000000008000000000000000000000000000000000000000000000001000000000040000000000000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000400000000000000000000002000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xbd35aa64767abc2540e893ddb512e7e3695494c67cd61b87d108e0cade6f0c1b", + "transactionIndex": "0x0", + "blockHash": "0xd24651ca57aefde33e09b2edbd5ef98be7012fafb95f072b2b51915a27c205bd", + "blockNumber": "0x131a404", + "gasUsed": "0x9949", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x67f3", + "logs": [ + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x6957b7cecd137fb51e87952a7dcfe264828b1201207160e08897963c3dd31015", + "blockNumber": "0x131a405", + "transactionHash": "0xce2fb8c874ef04614c770304d020907821dd4e45a4fc69d1ddb86e9211d13f0f", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000800000000000000000000000000000000000000020000000080000000000200000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xce2fb8c874ef04614c770304d020907821dd4e45a4fc69d1ddb86e9211d13f0f", + "transactionIndex": "0x0", + "blockHash": "0x6957b7cecd137fb51e87952a7dcfe264828b1201207160e08897963c3dd31015", + "blockNumber": "0x131a405", + "gasUsed": "0x67f3", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6832", + "logs": [ + { + "address": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0ef6562265170344773ddf4bd3546547f059927b1565ebe0def0d5d799f41485", + "blockNumber": "0x131a406", + "transactionHash": "0x5d726ca5c1e391bf505b8b3583ee67cf5d042d04e7a792541144146e582c8eb0", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000400000000000000000000000000000000000000000000000000000010000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5d726ca5c1e391bf505b8b3583ee67cf5d042d04e7a792541144146e582c8eb0", + "transactionIndex": "0x0", + "blockHash": "0x0ef6562265170344773ddf4bd3546547f059927b1565ebe0def0d5d799f41485", + "blockNumber": "0x131a406", + "gasUsed": "0x6832", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x681f", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x12fc326c612c841aebe11e567938886e61df1e113ee5b002dc2f744d5ead3b14", + "blockNumber": "0x131a407", + "transactionHash": "0x401e2b3e6c7099bcfd712c97904498ee06f354b7644b1756b6d4a414f750a4d0", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000002000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000100000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x401e2b3e6c7099bcfd712c97904498ee06f354b7644b1756b6d4a414f750a4d0", + "transactionIndex": "0x0", + "blockHash": "0x12fc326c612c841aebe11e567938886e61df1e113ee5b002dc2f744d5ead3b14", + "blockNumber": "0x131a407", + "gasUsed": "0x681f", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd7a71", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xd2a724c39ea49fe3842f555b0469c6a5fe82813846d21dcf841fe6c1e5c3dd62", + "blockNumber": "0x131a408", + "transactionHash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xae7ab96520de3a18e5e111b5eaab095312d7fe84", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xd2a724c39ea49fe3842f555b0469c6a5fe82813846d21dcf841fe6c1e5c3dd62", + "blockNumber": "0x131a408", + "transactionHash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x0000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xd2a724c39ea49fe3842f555b0469c6a5fe82813846d21dcf841fe6c1e5c3dd62", + "blockNumber": "0x131a408", + "transactionHash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0xd2a724c39ea49fe3842f555b0469c6a5fe82813846d21dcf841fe6c1e5c3dd62", + "blockNumber": "0x131a408", + "transactionHash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0x7e96536e527ffb8231b21fd000efa45fd55550d9", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000012fb9c2c7d471774309", + "blockHash": "0xd2a724c39ea49fe3842f555b0469c6a5fe82813846d21dcf841fe6c1e5c3dd62", + "blockNumber": "0x131a408", + "transactionHash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionIndex": "0x0", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0x7e96536e527ffb8231b21fd000efa45fd55550d9", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0xd2a724c39ea49fe3842f555b0469c6a5fe82813846d21dcf841fe6c1e5c3dd62", + "blockNumber": "0x131a408", + "transactionHash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionIndex": "0x0", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9" + ], + "data": "0x0000000000000000000000000000000000000000000000e61bd442f34b46ea72", + "blockHash": "0xd2a724c39ea49fe3842f555b0469c6a5fe82813846d21dcf841fe6c1e5c3dd62", + "blockNumber": "0x131a408", + "transactionHash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionIndex": "0x0", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007e96536e527ffb8231b21fd000efa45fd55550d9" + ], + "data": "0x000000000000000000000000000000000000000000000023cdfe5fdc6f3c1e42", + "blockHash": "0xd2a724c39ea49fe3842f555b0469c6a5fe82813846d21dcf841fe6c1e5c3dd62", + "blockNumber": "0x131a408", + "transactionHash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionIndex": "0x0", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0x7e96536e527ffb8231b21fd000efa45fd55550d9", + "topics": [ + "0x8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc", + "0x000000000000000000000000f99985822fb361117fcf3768d34a6353e6022f5f", + "0x0000000000000000000000000000000000000000000000000000000000000055" + ], + "data": "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d220000000000000000000000000000000000000000000000e61bd442f34b46ea72000000000000000000000000000000000000000000000023cdfe5fdc6f3c1e4200000000000000000000000000000000000000000000012fb9c2c7d4717746f10000000000000000000000000000000000000000000000000f2e28ca5369755200000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000b5e620f4800000000000000000000000000000000000000000000000000000000000694c7e80", + "blockHash": "0xd2a724c39ea49fe3842f555b0469c6a5fe82813846d21dcf841fe6c1e5c3dd62", + "blockNumber": "0x131a408", + "transactionHash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionIndex": "0x0", + "logIndex": "0x8", + "removed": false + } + ], + "logsBloom": "0x00000100000000000000000000000000010000101000000008000000000000000004000000000000000000040002008002000000080000001000000000200000000000000000002000000008000000000000000000000000000000002000000000010020020000100040000004200801000000000020000000000010000000000000000000000000000080000800400000000000000000000000000000000000020000000000000000008200000200100000000000000400000000000044000000000102000000104000000000200400000000000000000000000000200020000010200400000000000000008000004000000000000000010080000000000080", + "type": "0x2", + "transactionHash": "0x0cedda7bf3c13ac7f3bea5f457c802059c1ff16cb4d63857fc33ac26fe155c40", + "transactionIndex": "0x0", + "blockHash": "0xd2a724c39ea49fe3842f555b0469c6a5fe82813846d21dcf841fe6c1e5c3dd62", + "blockNumber": "0x131a408", + "gasUsed": "0xd7a71", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7e96536e527ffb8231b21fd000efa45fd55550d9", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x681c", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x7fc526207d9bb0cba0c7f6e0e8edd14eb84baa27e637b498d1803535722096e6", + "blockNumber": "0x131a409", + "transactionHash": "0x6a2f40e4c4f5b62c79dd37db7cb078db17a04e7aa72b6539a03d7c072e271cbe", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x6a2f40e4c4f5b62c79dd37db7cb078db17a04e7aa72b6539a03d7c072e271cbe", + "transactionIndex": "0x0", + "blockHash": "0x7fc526207d9bb0cba0c7f6e0e8edd14eb84baa27e637b498d1803535722096e6", + "blockNumber": "0x131a409", + "gasUsed": "0x681c", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x109ac", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0xe5ac5f3cfd7d95b5ab59817b5024f0aeb7b0905a948e3e63de8cc17235a4feb7", + "blockNumber": "0x131a40a", + "transactionHash": "0x957d77af9fd5d0e6784c01763b984c269cdb0e8c7065bfef0a7786c734b663cd", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000000000000000000000000000000000000000000040000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x957d77af9fd5d0e6784c01763b984c269cdb0e8c7065bfef0a7786c734b663cd", + "transactionIndex": "0x0", + "blockHash": "0xe5ac5f3cfd7d95b5ab59817b5024f0aeb7b0905a948e3e63de8cc17235a4feb7", + "blockNumber": "0x131a40a", + "gasUsed": "0x109ac", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718650883, + "chain": 753712, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployPool.s.sol/753712/run-1718651002.json b/broadcast/DeployPool.s.sol/753712/run-1718651002.json new file mode 100644 index 0000000..cb46112 --- /dev/null +++ b/broadcast/DeployPool.s.sol/753712/run-1718651002.json @@ -0,0 +1,1112 @@ +{ + "transactions": [ + { + "hash": "0xaaa66ce63c32dac54840e5d3d291fce2bcd45fdcc1922d076148aa286b67a457", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "function": "createRMM(string,string)", + "arguments": [ + "\"Lido Staked ETH 24 Dec 2025\"", + "\"stETH-24DEC25\"" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "gas": "0xef1ea0", + "value": "0x0", + "input": "0x26bff9d500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000", + "nonce": "0x55", + "chainId": "0xb8030" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "initCode": "0x61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xd24e3f7206df70e78d319ba10f7c1f5e3ce12691fa2c37e320f07f41e79dbaf5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0xcbC72d92b2dc8187414F6734718563898740C0BC", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x16e69", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x56", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "deposit(address,address,uint256,uint256)", + "arguments": [ + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22", + "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0", + "10000000000000000000000", + "1" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x35cd9", + "value": "0x0", + "input": "0x20e8c565000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d220000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x57", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3fab31ea1dd258cd391ffd22a52f5714f1b69ad44af079d5acc7b6b163f1dc5a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "transfer(address,uint256)", + "arguments": [ + "0xf3aBC972A0f537c1119C990d422463b93227Cd83", + "5000000000000000000000" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x20556", + "value": "0x0", + "input": "0xa9059cbb000000000000000000000000f3abc972a0f537c1119c990d422463b93227cd8300000000000000000000000000000000000000000000010f0cf064dd59200000", + "nonce": "0x58", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "mintPY(address,address)", + "arguments": [ + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22", + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x5a879", + "value": "0x0", + "input": "0xdb74aa15000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "nonce": "0x59", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x52ed9152611823990e2ef0eb3d5b2d218eabf47f22c1b7d82d67a8c2be7ec88d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0xE3fFcA31BBA27392aF23B8018bd59c399f843093", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x24354", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5a", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x683363e625d8d88fe5e9fcee63e69530eb8d89846942b9b22e2b3ded547e5bac", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "approve(address,uint256)", + "arguments": [ + "0xE3fFcA31BBA27392aF23B8018bd59c399f843093", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x24468", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5b", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5d8786c090487f43c73f8c2803a4c52fdce295a84567bed71bd282fcfd2fe9a6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "function": "approve(address,uint256)", + "arguments": [ + "0xE3fFcA31BBA27392aF23B8018bd59c399f843093", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "gas": "0x265f8", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5c", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa25c15d300dda4403f569396b82bbeb03a39913bb77951feedd024f99e5fd5d8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "approve(address,uint256)", + "arguments": [ + "0xE3fFcA31BBA27392aF23B8018bd59c399f843093", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x2445f", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5d", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x33ef469ecd1e0d486d27f8bb6c2a816e68a90c1d6b20e16818179e122e3c90d7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x14acc", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5e", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd3d38c05dcfb69c78ade1a951907b2492f403219194ffc15b448c9839981d64c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x14be0", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5f", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0f9ddfc7ed993bf16316d36a4f094999b640c79c0c1541f530774ac43e160277", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "gas": "0x15ed3", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x60", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd5a66e52c1bca26b831ea9dce622b194128c452bfb828839197580cd71db5029", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x14bd7", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x61", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcd76ac53b2e1edc8ad6d851ff78dd57a641bd1b98c88bf6c4e0cfb65ac890e71", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "gas": "0x15fa8", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x62", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5d2eee73dd4446ca56b00d802a9f0f2b122448a5b2aa1f2ad7ddbc8f087c7b89", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "pyIndexCurrent()", + "arguments": [], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x146b2", + "value": "0x0", + "input": "0x1d52edc4", + "nonce": "0x63", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionType": "CALL", + "contractName": "RMM", + "contractAddress": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "function": "init(address,uint256,uint256,uint256,uint256,uint256,address)", + "arguments": [ + "0xf99985822fb361117FCf3768D34a6353E6022F5F", + "1061268076054249761", + "4244756438299991009906", + "1093856203977024652", + "20000000000000000", + "200000000000000", + "0x0000000000000000000000000000000000000055" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "gas": "0x29ed67", + "value": "0x0", + "input": "0x71ced336000000000000000000000000f99985822fb361117fcf3768d34a6353e6022f5f0000000000000000000000000000000000000000000000000eba61b13cad01210000000000000000000000000000000000000000000000e61bd442f34b46ea720000000000000000000000000000000000000000000000000f2e286c0968648c00000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000000000000055", + "nonce": "0x64", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x46df79", + "logs": [ + { + "address": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "topics": [ + "0x87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000", + "blockHash": "0xb5f610e29c1c8860daade493bba80b8bcea57c6773afab1c37c72e11a6e478b5", + "blockNumber": "0x131a40d", + "transactionHash": "0xaaa66ce63c32dac54840e5d3d291fce2bcd45fdcc1922d076148aa286b67a457", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000200000000000000000000000000000000000000020000000000000000000000000000800000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000002000000000010000000000000000400000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000400000000000000000000000000", + "type": "0x2", + "transactionHash": "0xaaa66ce63c32dac54840e5d3d291fce2bcd45fdcc1922d076148aa286b67a457", + "transactionIndex": "0x0", + "blockHash": "0xb5f610e29c1c8860daade493bba80b8bcea57c6773afab1c37c72e11a6e478b5", + "blockNumber": "0x131a40d", + "gasUsed": "0x46df79", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x9949", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f3abc972a0f537c1119c990d422463b93227cd83" + ], + "data": "0x00000000000000000000000000000000000000000000010f0cf064dd59200000", + "blockHash": "0x630d0df101dbcb364866570671ab5628de982a62c628cc4a69694640d7a29834", + "blockNumber": "0x131a40e", + "transactionHash": "0x3fab31ea1dd258cd391ffd22a52f5714f1b69ad44af079d5acc7b6b163f1dc5a", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000002000000008000000000000000000000000000000000000000000000001000000000040000000000000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000400000000000000000000002000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3fab31ea1dd258cd391ffd22a52f5714f1b69ad44af079d5acc7b6b163f1dc5a", + "transactionIndex": "0x0", + "blockHash": "0x630d0df101dbcb364866570671ab5628de982a62c628cc4a69694640d7a29834", + "blockNumber": "0x131a40e", + "gasUsed": "0x9949", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x72f4", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9d34696b7dfd28dd7137e00aaebdffc5fed88cd3c160955dcc83c701e88cf447", + "blockNumber": "0x131a40f", + "transactionHash": "0xd24e3f7206df70e78d319ba10f7c1f5e3ce12691fa2c37e320f07f41e79dbaf5", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000400000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd24e3f7206df70e78d319ba10f7c1f5e3ce12691fa2c37e320f07f41e79dbaf5", + "transactionIndex": "0x0", + "blockHash": "0x9d34696b7dfd28dd7137e00aaebdffc5fed88cd3c160955dcc83c701e88cf447", + "blockNumber": "0x131a40f", + "gasUsed": "0x72f4", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1c66d", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0xaaeb679d08192e6237c7fc636524441629d0bd89582c123fbb9a9d1444b2509d", + "blockNumber": "0x131a410", + "transactionHash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000027b19204dc5e873ba10", + "blockHash": "0xaaeb679d08192e6237c7fc636524441629d0bd89582c123fbb9a9d1444b2509d", + "blockNumber": "0x131a410", + "transactionHash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000027b19204dc5e873ba10", + "blockHash": "0xaaeb679d08192e6237c7fc636524441629d0bd89582c123fbb9a9d1444b2509d", + "blockNumber": "0x131a410", + "transactionHash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0xc0025304673122449dd60b9b0093874b0e2fd6fe57af1c7c2fbfee0ccf5ead58", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000027b19204dc5e873ba10", + "blockHash": "0xaaeb679d08192e6237c7fc636524441629d0bd89582c123fbb9a9d1444b2509d", + "blockNumber": "0x131a410", + "transactionHash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000000000000000000000000000000000000000000040000000000000000000000001000000000000000000000000000002000000008000000000000000000000000000000000000000000010020020000000000000000000800000000000020000000000010000000000002000000000000000000000800400000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000200102000000000000000000200000000000000000000000000000200020000000000000000000000000010000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionIndex": "0x0", + "blockHash": "0xaaeb679d08192e6237c7fc636524441629d0bd89582c123fbb9a9d1444b2509d", + "blockNumber": "0x131a410", + "gasUsed": "0x1c66d", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb617", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x35968c03f17ceeba357f18d569f2216e81cca222292670638e72a852e9fcd7aa", + "blockNumber": "0x131a411", + "transactionHash": "0x683363e625d8d88fe5e9fcee63e69530eb8d89846942b9b22e2b3ded547e5bac", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000002000000000020000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000002000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x683363e625d8d88fe5e9fcee63e69530eb8d89846942b9b22e2b3ded547e5bac", + "transactionIndex": "0x0", + "blockHash": "0x35968c03f17ceeba357f18d569f2216e81cca222292670638e72a852e9fcd7aa", + "blockNumber": "0x131a411", + "gasUsed": "0xb617", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xff11", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x6dd0cbd48dcc578858094652a64f769c02f4e8f7f98d5d29d560b0039a6fb0d8", + "blockNumber": "0x131a412", + "transactionHash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffde1e61f36454dbfffff", + "blockHash": "0x6dd0cbd48dcc578858094652a64f769c02f4e8f7f98d5d29d560b0039a6fb0d8", + "blockNumber": "0x131a412", + "transactionHash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x6dd0cbd48dcc578858094652a64f769c02f4e8f7f98d5d29d560b0039a6fb0d8", + "blockNumber": "0x131a412", + "transactionHash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d59", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x6dd0cbd48dcc578858094652a64f769c02f4e8f7f98d5d29d560b0039a6fb0d8", + "blockNumber": "0x131a412", + "transactionHash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000002000000000000010000000000000000200000000000000000002000000008000000000000000000000000080000000000000000000000020000000040000000000801000000000020000000000010000000000000000010000000000080000000000000000000000000000000000000002000020000000000000000000000000000100000000000000000000000000000000000000002000000100000000000000480000000000000000000000000200020000010000000000000000000008000000000000000004000000000000000000000", + "type": "0x2", + "transactionHash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionIndex": "0x0", + "blockHash": "0x6dd0cbd48dcc578858094652a64f769c02f4e8f7f98d5d29d560b0039a6fb0d8", + "blockNumber": "0x131a412", + "gasUsed": "0xff11", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5c0", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xeeb34a378f2968f14a5d6f5df53fcafc84b939b3338761d65bd482dd6fa4b5f1", + "blockNumber": "0x131a413", + "transactionHash": "0x52ed9152611823990e2ef0eb3d5b2d218eabf47f22c1b7d82d67a8c2be7ec88d", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x52ed9152611823990e2ef0eb3d5b2d218eabf47f22c1b7d82d67a8c2be7ec88d", + "transactionIndex": "0x0", + "blockHash": "0xeeb34a378f2968f14a5d6f5df53fcafc84b939b3338761d65bd482dd6fa4b5f1", + "blockNumber": "0x131a413", + "gasUsed": "0xb5c0", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb614", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf6f39fdd8e4980c187afe2b38821e929b5a2857b5ab14e434e535ae8b33229e6", + "blockNumber": "0x131a414", + "transactionHash": "0xa25c15d300dda4403f569396b82bbeb03a39913bb77951feedd024f99e5fd5d8", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0xa25c15d300dda4403f569396b82bbeb03a39913bb77951feedd024f99e5fd5d8", + "transactionIndex": "0x0", + "blockHash": "0xf6f39fdd8e4980c187afe2b38821e929b5a2857b5ab14e434e535ae8b33229e6", + "blockNumber": "0x131a414", + "gasUsed": "0xb614", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5eb", + "logs": [ + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xae26e572f071662dffe3ce6a257b144ee2314d8656abbb5d13040e5e884424e2", + "blockNumber": "0x131a415", + "transactionHash": "0x5d8786c090487f43c73f8c2803a4c52fdce295a84567bed71bd282fcfd2fe9a6", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000800000000000000000000000000000000000000020000000000002000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5d8786c090487f43c73f8c2803a4c52fdce295a84567bed71bd282fcfd2fe9a6", + "transactionIndex": "0x0", + "blockHash": "0xae26e572f071662dffe3ce6a257b144ee2314d8656abbb5d13040e5e884424e2", + "blockNumber": "0x131a415", + "gasUsed": "0xb5eb", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x681c", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xe5db88eb01a872a42ef9a258087d55af1582885e209be2e804d22df485e209c8", + "blockNumber": "0x131a416", + "transactionHash": "0xd5a66e52c1bca26b831ea9dce622b194128c452bfb828839197580cd71db5029", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0xd5a66e52c1bca26b831ea9dce622b194128c452bfb828839197580cd71db5029", + "transactionIndex": "0x0", + "blockHash": "0xe5db88eb01a872a42ef9a258087d55af1582885e209be2e804d22df485e209c8", + "blockNumber": "0x131a416", + "gasUsed": "0x681c", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x67c8", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9a4e4e5ff8564d8fd953bc51ce312acbec2cd86d4b2b56419a6f189073db46c3", + "blockNumber": "0x131a417", + "transactionHash": "0x33ef469ecd1e0d486d27f8bb6c2a816e68a90c1d6b20e16818179e122e3c90d7", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000000000000000000000100040000000000000000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x33ef469ecd1e0d486d27f8bb6c2a816e68a90c1d6b20e16818179e122e3c90d7", + "transactionIndex": "0x0", + "blockHash": "0x9a4e4e5ff8564d8fd953bc51ce312acbec2cd86d4b2b56419a6f189073db46c3", + "blockNumber": "0x131a417", + "gasUsed": "0x67c8", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x67f3", + "logs": [ + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x269d8df94d0e9beb657027222185839a02bd47de33ed39617fcc749c8075a9bf", + "blockNumber": "0x131a418", + "transactionHash": "0x0f9ddfc7ed993bf16316d36a4f094999b640c79c0c1541f530774ac43e160277", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000800000000000000000000000000000000000000020000000080000000000200000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0f9ddfc7ed993bf16316d36a4f094999b640c79c0c1541f530774ac43e160277", + "transactionIndex": "0x0", + "blockHash": "0x269d8df94d0e9beb657027222185839a02bd47de33ed39617fcc749c8075a9bf", + "blockNumber": "0x131a418", + "gasUsed": "0x67f3", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x109ac", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0x3c494eb98bd37ef8025690af62271ff0abd25a25da7306988324f8966ca8ef4f", + "blockNumber": "0x131a419", + "transactionHash": "0x5d2eee73dd4446ca56b00d802a9f0f2b122448a5b2aa1f2ad7ddbc8f087c7b89", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000000000000000000000000000000000000000000040000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x5d2eee73dd4446ca56b00d802a9f0f2b122448a5b2aa1f2ad7ddbc8f087c7b89", + "transactionIndex": "0x0", + "blockHash": "0x3c494eb98bd37ef8025690af62271ff0abd25a25da7306988324f8966ca8ef4f", + "blockNumber": "0x131a419", + "gasUsed": "0x109ac", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6832", + "logs": [ + { + "address": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x8441ee27b5c1155c82cd91310af9fe7e80473b67e2edcdb5b4fd5f313b7ae2ba", + "blockNumber": "0x131a41a", + "transactionHash": "0xcd76ac53b2e1edc8ad6d851ff78dd57a641bd1b98c88bf6c4e0cfb65ac890e71", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000400000000000000000000000000000000000000000000000000000010000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xcd76ac53b2e1edc8ad6d851ff78dd57a641bd1b98c88bf6c4e0cfb65ac890e71", + "transactionIndex": "0x0", + "blockHash": "0x8441ee27b5c1155c82cd91310af9fe7e80473b67e2edcdb5b4fd5f313b7ae2ba", + "blockNumber": "0x131a41a", + "gasUsed": "0x6832", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd7a50", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xae7ab96520de3a18e5e111b5eaab095312d7fe84", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000012fb9d0e6968aee9981", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0x0000000000000000000000000000000000000000000000e61bd442f34b46ea72", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0x000000000000000000000000000000000000000000000023ce0c97a7af61cb07", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "topics": [ + "0x8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc", + "0x000000000000000000000000f99985822fb361117fcf3768d34a6353e6022f5f", + "0x0000000000000000000000000000000000000000000000000000000000000055" + ], + "data": "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d220000000000000000000000000000000000000000000000e61bd442f34b46ea72000000000000000000000000000000000000000000000023ce0c97a7af61cb0700000000000000000000000000000000000000000000012fb9d0e6968aee9d690000000000000000000000000000000000000000000000000f2e286c0968648c00000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000b5e620f4800000000000000000000000000000000000000000000000000000000000694c7e80", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x8", + "removed": false + } + ], + "logsBloom": "0x00000100000000000000001000000000010000101000000008000000000000000000000000000000000000040002000002000020080000001000000000200000000000000000002000000008000000000008000400000000000000000000000000010020020000100040000004200801000000000020000000000010000000000000000000000000000080000800400000000000000000000000000000000000020000000000003000008200000200100000000000000000000000000044000000000102000000104000000000200400000000000000000000000000200020000010200400000000000000008000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "gasUsed": "0xd7a50", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x681f", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x31f85f157934eeb23f91709f3eb46acf559dd027252aa1e74feb2acadac94e5e", + "blockNumber": "0x131a41c", + "transactionHash": "0xd3d38c05dcfb69c78ade1a951907b2492f403219194ffc15b448c9839981d64c", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000002000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000100000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd3d38c05dcfb69c78ade1a951907b2492f403219194ffc15b448c9839981d64c", + "transactionIndex": "0x0", + "blockHash": "0x31f85f157934eeb23f91709f3eb46acf559dd027252aa1e74feb2acadac94e5e", + "blockNumber": "0x131a41c", + "gasUsed": "0x681f", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718651002, + "chain": 753712, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/broadcast/DeployPool.s.sol/753712/run-latest.json b/broadcast/DeployPool.s.sol/753712/run-latest.json new file mode 100644 index 0000000..cb46112 --- /dev/null +++ b/broadcast/DeployPool.s.sol/753712/run-latest.json @@ -0,0 +1,1112 @@ +{ + "transactions": [ + { + "hash": "0xaaa66ce63c32dac54840e5d3d291fce2bcd45fdcc1922d076148aa286b67a457", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "function": "createRMM(string,string)", + "arguments": [ + "\"Lido Staked ETH 24 Dec 2025\"", + "\"stETH-24DEC25\"" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "gas": "0xef1ea0", + "value": "0x0", + "input": "0x26bff9d500000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000", + "nonce": "0x55", + "chainId": "0xb8030" + }, + "additionalContracts": [ + { + "transactionType": "CREATE", + "address": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "initCode": "0x61010060405260016014553480156200001757600080fd5b5060405162005bff38038062005bff8339810160408190526200003a91620001f2565b8181601260006200004c84826200030d565b5060016200005b83826200030d565b5060ff81166080524660a052620000716200008e565b60c0525050506001600160a01b0390921660e05250620004579050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6000604051620000c29190620003d9565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015257600080fd5b81516001600160401b03808211156200016f576200016f6200012a565b604051601f8301601f19908116603f011681019082821181831017156200019a576200019a6200012a565b8160405283815260209250866020858801011115620001b857600080fd5b600091505b83821015620001dc5785820183015181830184015290820190620001bd565b6000602085830101528094505050505092915050565b6000806000606084860312156200020857600080fd5b83516001600160a01b03811681146200022057600080fd5b60208501519093506001600160401b03808211156200023e57600080fd5b6200024c8783880162000140565b935060408601519150808211156200026357600080fd5b50620002728682870162000140565b9150509250925092565b600181811c908216806200029157607f821691505b602082108103620002b257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000308576000816000526020600020601f850160051c81016020861015620002e35750805b601f850160051c820191505b818110156200030457828155600101620002ef565b5050505b505050565b81516001600160401b038111156200032957620003296200012a565b62000341816200033a84546200027c565b84620002b8565b602080601f831160018114620003795760008415620003605750858301515b600019600386901b1c1916600185901b17855562000304565b600085815260208120601f198616915b82811015620003aa5788860151825594840194600190910190840162000389565b5085821015620003c95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000808354620003e9816200027c565b600182811680156200040457600181146200041a576200044b565b60ff19841687528215158302870194506200044b565b8760005260208060002060005b85811015620004425781548a82015290840190820162000427565b50505082870194505b50929695505050505050565b60805160a05160c05160e05161576e6200049160003960006106e9015260006112e3015260006112b30152600061045c015261576e6000f3fe6080604052600436106102735760003560e01c8062dd16761461027f57806303076693146102ac57806306fdde03146102cc57806308eabdda146102ee578063095ea7b31461031257806315770f921461034257806317788ef91461035857806318160ddd1461036e57806319d8ac6114610384578063204f83f91461039a57806323b872dd146103b0578063251d97b6146103d0578063297b0991146103f05780632a48af1e146104065780632aa4656914610435578063313ce5671461044a578063338d75f5146104905780633644e515146104c05780633ebeea72146104d5578063620720101461051757806370a082311461053757806371ced336146105645780637358c57a1461058657806373a888f61461059c578063781c18db146105af5780637adfd707146105dc5780637ecebe00146105fc5780638488ba3314610629578063931949141461063c57806395d89b41146106515780639edc82fd14610666578063a5e5bda514610697578063a9059cbb146106b7578063ad5c4648146106d7578063ad8f50081461070b578063afd27bf514610721578063afdf31cd14610741578063b2e9a1b714610757578063b61812a81461076d578063bb08e0d714610782578063c15582d2146107a2578063c245768d146107b5578063c38988de146107d5578063c7027957146107f5578063ce05b97614610815578063d505accf14610835578063d94073d414610855578063dd62ed3e14610875578063dda1f5db146108ad578063ddca3f43146108cd578063deb38037146108e3578063e66f53b714610903578063f2d0acb814610923578063f6e3fa8f14610943578063fadfa65b1461095b57600080fd5b3661027a57005b600080fd5b61029261028d366004614bb2565b610971565b604080519283526020830191909152015b60405180910390f35b3480156102b857600080fd5b506102926102c7366004614c25565b610c0e565b3480156102d857600080fd5b506102e1610de5565b6040516102a39190614c9e565b3480156102fa57600080fd5b5061030460095481565b6040519081526020016102a3565b34801561031e57600080fd5b5061033261032d366004614cd1565b610e73565b60405190151581526020016102a3565b34801561034e57600080fd5b50610304600b5481565b34801561036457600080fd5b5061030460125481565b34801561037a57600080fd5b5061030460025481565b34801561039057600080fd5b5061030460115481565b3480156103a657600080fd5b50610304600f5481565b3480156103bc57600080fd5b506103326103cb366004614cfd565b610ece565b3480156103dc57600080fd5b506103046103eb366004614d3e565b610fae565b3480156103fc57600080fd5b506103046103e881565b34801561041257600080fd5b50610426610421366004614d57565b610fca565b6040516102a393929190614d90565b34801561044157600080fd5b5061030461114e565b34801561045657600080fd5b5061047e7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102a3565b34801561049c57600080fd5b506104b06104ab366004614da6565b61117b565b6040516102a39493929190614dd2565b3480156104cc57600080fd5b506103046112af565b3480156104e157600080fd5b506104f56104f0366004614ded565b611305565b60408051825181526020808401519082015291810151908201526060016102a3565b34801561052357600080fd5b50610304610532366004614e0f565b611384565b34801561054357600080fd5b50610304610552366004614e52565b60036020526000908152604090205481565b34801561057057600080fd5b5061058461057f366004614e6f565b61144e565b005b34801561059257600080fd5b5061030460105481565b6102926105aa366004614d57565b611905565b3480156105bb57600080fd5b506008546105cf906001600160a01b031681565b6040516102a39190614ed8565b3480156105e857600080fd5b506103046105f7366004614d3e565b611a2c565b34801561060857600080fd5b50610304610617366004614e52565b60056020526000908152604090205481565b610292610637366004614d57565b611a7d565b34801561064857600080fd5b50610304611b86565b34801561065d57600080fd5b506102e1611bad565b34801561067257600080fd5b50610686610681366004614da6565b611bba565b6040516102a3959493929190614eec565b3480156106a357600080fd5b506102926106b2366004614f0f565b611cd7565b3480156106c357600080fd5b506103326106d2366004614cd1565b611dfd565b3480156106e357600080fd5b506105cf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561071757600080fd5b50610304600c5481565b34801561072d57600080fd5b506007546105cf906001600160a01b031681565b34801561074d57600080fd5b50610304600d5481565b34801561076357600080fd5b5061030460145481565b34801561077957600080fd5b50610304601e81565b34801561078e57600080fd5b5061030461079d366004614f68565b611e63565b6103046107b0366004614fa9565b611fb5565b3480156107c157600080fd5b506106866107d0366004614da6565b611fce565b3480156107e157600080fd5b506102926107f0366004614fef565b6120ee565b34801561080157600080fd5b5061030461081036600461502a565b612157565b34801561082157600080fd5b50610686610830366004614da6565b612239565b34801561084157600080fd5b5061058461085036600461506b565b612307565b34801561086157600080fd5b506006546105cf906001600160a01b031681565b34801561088157600080fd5b506103046108903660046150dc565b600460209081526000928352604080842090915290825290205481565b3480156108b957600080fd5b506103046108c8366004614d3e565b612533565b3480156108d957600080fd5b50610304600e5481565b3480156108ef57600080fd5b506102926108fe366004614f68565b612558565b34801561090f57600080fd5b506013546105cf906001600160a01b031681565b34801561092f57600080fd5b5061042661093e366004614d3e565b61271f565b34801561094f57600080fd5b506103046301e1338081565b34801561096757600080fd5b50610304600a5481565b6000806014546001146109975760405163558a1e0360e11b815260040160405180910390fd5b6000601481905550610a0060405180610120016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681525090565b6001600160a01b038b1680825215610a185789610a1b565b60005b60208201819052346040830152606082018a90526080820189905260c082018890526001600160a01b0385166101008301528151610a5c913091908b612766565b60a0820152600854600090610a79906001600160a01b0316612a37565b90506000806000610a96848660a001518c4289606001518e611384565b60608601819052610aa8904286611bba565b919a50985091945092509050610ada610ac083612a9d565b610ac99061512b565b610ad285612a9d565b888488612aec565b81610ae58585612be6565b610aef9190615147565b610af9908861515a565b60e08601819052610b0a9030612bf2565b60e0860181905260c0860151909750871015610b5057828560c001518660e00151604051633f612d4760e01b8152600401610b4793929190614d90565b60405180910390fd5b60085460e0860151610b6d916001600160a01b0316908a90612ce8565b50478015610b8457610b8486610100015182612de3565b600854600754610100880151604089015160208a01516001600160a01b039485169493841693909216916000805160206156d98339815191529133918791610bcb9161515a565b610bd59190615147565b8b60e001518d604051610beb949392919061516d565b60405180910390a450505050505060016014819055509850989650505050505050565b600080601454600114610c345760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854610c50906001600160a01b0316612a37565b90506000806000610c65848d8b428f8d611384565b9a50610c728b4286611bba565b919950975091945092509050610ca4610c8a83612a9d565b610c939061512b565b610c9c85612a9d565b878488612aec565b600082610cb18686612be6565b610cbb9190615147565b90506000610cc9828961515a565b90508d821115610cf2578d8e83604051630465b84760e31b8152600401610b4793929190614d90565b600754600090610d0b906001600160a01b031684612e65565b9050610d178230612bf2565b98508c891015610d4057858d8a604051633f612d4760e01b8152600401610b4793929190614d90565b600854610d57906001600160a01b03168b8b612ce8565b50600860009054906101000a90046001600160a01b03166001600160a01b0316600760009054906101000a90046001600160a01b03166001600160a01b03168b6001600160a01b03166000805160206156d983398151915233858e8e604051610dc3949392919061516d565b60405180910390a4505050505050506001601481905550965096945050505050565b60008054610df290615193565b80601f0160208091040260200160405190810160405280929190818152602001828054610e1e90615193565b8015610e6b5780601f10610e4057610100808354040283529160200191610e6b565b820191906000526020600020905b815481529060010190602001808311610e4e57829003601f168201915b505050505081565b3360008181526004602090815260408083206001600160a01b0387168085529252808320859055519192909160008051602061571983398151915290610ebc9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120546000198114610f2a57610f058382615147565b6001600160a01b03861660009081526004602090815260408083203384529091529020555b6001600160a01b03851660009081526003602052604081208054859290610f52908490615147565b90915550506001600160a01b03808516600081815260036020526040908190208054870190555190918716906000805160206156f983398151915290610f9b9087815260200190565b60405180910390a3506001949350505050565b6000610ec882600b54600c54600d54610fc5611b86565b612f62565b6000806000601454600114610ff25760405163558a1e0360e11b815260040160405180910390fd5b6000601481905560085461100e906001600160a01b0316612a37565b905060008060006110208a4286612239565b9199509750919450925090508886111561105357898987604051630465b84760e31b8152600401610b4793929190614d90565b61107161105f84612a9d565b61106884612a9d565b610c9c9061512b565b60085460009061108a906001600160a01b03168c612e65565b905060006110988c3061300a565b90506110a48582615147565b6007549099506000906110c1906001600160a01b03168c8c612ce8565b9050600760009054906101000a90046001600160a01b03166001600160a01b0316600660009054906101000a90046001600160a01b03166001600160a01b03168c6001600160a01b03166000805160206156d98339815191523385888e60405161112e949392919061516d565b60405180910390a450505050505050600160148190555093509350939050565b600042600f5410156111605750600090565b61117642600f546111719190615147565b61312e565b905090565b6000806000806111a8876111a3600760009054906101000a90046001600160a01b0316613147565b6131dd565b6006549094506111c69087906111a3906001600160a01b0316613147565b9250600060405180606001604052806111ed876009546111e6919061515a565b89906131e9565b8152602001600c548152602001611202611b86565b815250905060006112548261123e888560000151611220919061515a565b855161122b90610fae565b600c54600d54611239611b86565b6131f5565b87600a5461124c919061515a565b600d54613282565b9050600b54811015611283578888600b5483604051632c69e61f60e21b8152600401610b479493929190614dd2565b600b546112909082615147565b6002549094506112a2908590836132f2565b9250505093509350935093565b60007f000000000000000000000000000000000000000000000000000000000000000046146112e057611176613311565b507f000000000000000000000000000000000000000000000000000000000000000090565b61132960405180606001604052806000815260200160008152602001600081525090565b600061133483612533565b9050600061134d600954866131e990919063ffffffff16565b9050600061136182600b54600d5486612157565b604080516060810182529384526020840191909152820192909252949350505050565b600085815b610100811015611441576000851180156113a1575080155b6113c05760026113b1888461515a565b6113bb91906151e3565b6113c2565b845b925060006113d184888c611bba565b50509250505060006113ec858c612be690919063ffffffff16565b905060006113fa8383615147565b90508a81116114255761140e818c896133ab565b1561141d575050505050611444565b859450611433565b611430600187615147565b99505b505050806001019050611389565b50505b9695505050505050565b6014546001146114715760405163558a1e0360e11b815260040160405180910390fd5b6000601455600c54156114965760405162dc149f60e41b815260040160405180910390fd5b670de0b6b3a76400008410156114bf5760405163134b031b60e31b815260040160405180910390fd5b600680546001600160a01b0319166001600160a01b0389169081179091556040805163afd27bf560e01b8152905163afd27bf5916004808201926020929091908290030181865afa158015611518573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153c9190615202565b600780546001600160a01b0319166001600160a01b039283161790556006546040805163781c18db60e01b81529051919092169163781c18db9160048083019260209291908290030181865afa15801561159a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115be9190615202565b600880546001600160a01b0319166001600160a01b039283161790556007546040805163213cae6360e01b81529051600093929092169163213cae639160048082019286929091908290030181865afa15801561161f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116479190810190615235565b805190915060005b8181101561171357600083828151811061166b5761166b6152ed565b6020026020010151905060006001600160a01b0316816001600160a01b03161461170a5760075460405163095ea7b360e01b81526001600160a01b038381169263095ea7b3926116c5929091169060001990600401615303565b6020604051808303816000875af11580156116e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611708919061531c565b505b5060010161164f565b50506008546000915061172e906001600160a01b0316612a37565b9050600061173c82886131e9565b600c879055600d869055600654604080516370c264df60e11b815290519293506001600160a01b039091169163e184c9be916004808201926020929091908290030181865afa158015611793573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b7919061533e565b600f819055600e85905542601055601380546001600160a01b0319166001600160a01b03861617905560009081906117f6908b9085908b908b906120ee565b90925090506118103361180b6103e885615147565b6133df565b61181d60006103e86133df565b6118426118298a612a9d565b61183283612a9d565b61183b85612a9d565b8b88612aec565b60075460095461185b916001600160a01b031690612e65565b50600654600a54611875916001600160a01b031690612e65565b50600754600f5460408051338152602081018d905280820185905260608101869052608081018c905260a081018b905260c081018a905260e0810192909252516001600160a01b03888116938f8216939116917f8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1918190036101000190a450506001601455505050505050505050565b60008060145460011461192b5760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611947906001600160a01b0316612a37565b90506000806000611959894286611fce565b9199509750919450925090508786101561198c57828887604051633f612d4760e01b8152600401610b4793929190614d90565b61199861105f84612a9d565b6006546000906119b2906001600160a01b03168985612ce8565b6007549091506000906119ce906001600160a01b031686612e65565b6006546007546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b60405180910390a45050505050506001601481905550935093915050565b6000600b54600003611a4057506000919050565b6000611a57600954846131e990919063ffffffff16565b9050611a7681600a54600b54600c54600d54611a71611b86565b613439565b9392505050565b600080601454600114611aa35760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854611abf906001600160a01b0316612a37565b90506000806000611ad1894286611bba565b91995097509194509250905087861015611b0457828887604051633f612d4760e01b8152600401610b4793929190614d90565b611b10610c8a83612a9d565b600754600090611b2a906001600160a01b03168985612ce8565b600654909150600090611b46906001600160a01b031686612e65565b6007546006546040519293506001600160a01b0391821692908216918c16906000805160206156d983398151915290611a0e903390879089908f9061516d565b6000601154600f541015611b9a5750600090565b611176601154600f546111719190615147565b60018054610df290615193565b6000806000806000611be4886111a3600660009054906101000a90046001600160a01b0316613147565b94506000611bf28789611305565b90506000611c0882600b54600a54600d54613282565b9050600081611c31898560000151600a54600b54600e548960200151600d548b604001516134f0565b611c3b919061515a565b90506000611c6389600a54611c50919061515a565b838660200151600d548860400151613538565b9050611c6f8a826135a9565b600954611c7c9190615147565b600754909850611c9f908990611c9a906001600160a01b0316613147565b6135b5565b965083602001519450611cb3600b54612a9d565b611cbc83612a9d565b611cc69190615357565b955050505050939792965093509350565b600754604051637d2d278360e11b815260009182916001600160a01b039091169063fa5a4f0690611d0c908b90600401614ed8565b602060405180830381865afa158015611d29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4d919061531c565b611d6c57876040516329e64b1d60e11b8152600401610b479190614ed8565b600754604051635c7c159360e11b81526001600160a01b039091169063b8f82b2690611d9e908b908b90600401615303565b602060405180830381865afa158015611dbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ddf919061533e565b9150611def898388888888611384565b905097509795505050505050565b33600090815260036020526040812080548391908390611e1e908490615147565b90915550506001600160a01b038316600081815260036020526040908190208054850190555133906000805160206156f983398151915290610ebc9086815260200190565b6000601454600114611e885760405163558a1e0360e11b815260040160405180910390fd5b60006014819055600854819081908190611eaa906001600160a01b0316612a37565b9050611eb789898361117b565b9097509195509350915086851015611eea5788888887604051634a56244160e01b8152600401610b479493929190614dd2565b611ef486836133df565b611f1b611f0085612a9d565b611f0985612a9d565b611f1288612a9d565b600c5485612aec565b600754600090611f34906001600160a01b031686612e65565b600654909150600090611f50906001600160a01b031686612e65565b9050876001600160a01b0316336001600160a01b03167f776bbaa896d9abe5db2f98efa8cbb7b341d887ba96ec823714a54aae19dc241f84848b604051611f9993929190614d90565b60405180910390a3505060016014555092979650505050505050565b6000611fc385858585612766565b90505b949350505050565b6000806000806000611ff8886111a3600760009054906101000a90046001600160a01b0316613147565b9450600061200687876131e9565b90506000612014888a611305565b9050600061202a82600b54600a54600d54613282565b9050600081612053858560000151600a54600b54600e548960200151600d548b604001516135c1565b61205d919061515a565b90506000612087858560000151612074919061515a565b838660200151600d54886040015161360d565b905080600a546120979190615147565b6006549099506120b5908a90611c9a906001600160a01b0316613147565b9750836020015195506120c9600b54612a9d565b6120d283612a9d565b6120dc9190615357565b96505050505050939792965093509350565b600080806120ff6111714286615147565b6040805160608101825289815260208101899052908101829052909150600061212b898b8a8a876131f5565b905061213a89828a8a87613672565b93506121488282868a613282565b94505050509550959350505050565b60008042600f546121689190615147565b905060006301e133808260125461217f919061537e565b61218991906153ae565b9050600061219682613712565b905060006121b86706f05b59d3b200006121b288818b806138bb565b906138bb565b905060006121e06121c98b8b6138d0565b6121db90670de0b6b3a7640000615147565b6138e5565b9050600061221e83670de0b6b3a76400006121fb8c8c61398b565b612205908661537e565b61220f91906153ae565b6122199190615357565b613712565b905061222a84826138d0565b9b9a5050505050505050505050565b6000806000806000612263886111a3600660009054906101000a90046001600160a01b0316613147565b935060006122718789611305565b9050600061228782600b54600a54600d54613282565b90506000816122b08c8560000151600a54600b54600e548960200151600d548b604001516135c1565b6122ba919061515a565b905060006122cf88600a54611c509190615147565b6009549091506122df8b836135a9565b6122e99190615147565b600754909950611c9f908a90611c9a906001600160a01b0316613147565b428410156123515760405162461bcd60e51b815260206004820152601760248201527614115493525517d11150511312539157d1561412549151604a1b6044820152606401610b47565b6000600161235d6112af565b6001600160a01b038a811660008181526005602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f198184030181528282528051602091820120600084529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015612469573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061249f5750876001600160a01b0316816001600160a01b0316145b6124dc5760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610b47565b6001600160a01b0390811660009081526004602090815260408083208a8516808552908352928190208990555188815291928a1691600080516020615719833981519152910160405180910390a350505050505050565b600081600f54101561254757506000919050565b610ec882600f546111719190615147565b60008060145460011461257e5760405163558a1e0360e11b815260040160405180910390fd5b6000601481905580806125908961271f565b60075492955090935091506125b3908490611c9a906001600160a01b0316613147565b6006546125ce908490611c9a906001600160a01b0316613147565b9095509350848811156125fa57888886604051633f612d4760e01b8152600401610b4793929190614d90565b8387111561262157888785604051633f612d4760e01b8152600401610b4793929190614d90565b61262b33826139b1565b61268161263784612a9d565b6126409061512b565b61264984612a9d565b6126529061512b565b61265b8c612a9d565b6126649061512b565b600c5460085461267c906001600160a01b0316612a37565b612aec565b60075460009061269b906001600160a01b03168886612ce8565b6006549091506000906126b8906001600160a01b03168986612ce8565b9050876001600160a01b0316336001600160a01b03167fe52ffb1cd0c95290b3d095477d87f79a6199b3a1912fe758c2ed9fc37d16e34684848f60405161270193929190614d90565b60405180910390a35050505050600160148190555094509492505050565b600b546009546000918291829190612739908690836132f2565b600a5490945061274b908690836132f2565b60025490935061275d90869083613a13565b93959294505050565b600754604051637d2d278360e11b81526000916001600160a01b03169063fa5a4f0690612797908790600401614ed8565b602060405180830381865afa1580156127b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d8919061531c565b6127f757836040516329e64b1d60e11b8152600401610b479190614ed8565b6000341180156128745750600754604051637d2d278360e11b81526001600160a01b039091169063fa5a4f069061283390600090600401614ed8565b602060405180830381865afa158015612850573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612874919061531c565b15612902576007546040516320e8c56560e01b81526001600160a01b03909116906320e8c5659034906128b2903090600090849082906004016153dc565b60206040518083038185885af11580156128d0573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906128f5919061533e565b6128ff908261515a565b90505b6001600160a01b03841615612a0c576040516323b872dd60e01b81526001600160a01b038516906323b872dd9061294190339030908890600401615405565b6020604051808303816000875af1158015612960573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612984919061531c565b506007546040516320e8c56560e01b81526001600160a01b03909116906320e8c565906129bc908890889088906000906004016153dc565b6020604051808303816000875af11580156129db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129ff919061533e565b612a09908261515a565b90505b81811015611fc6576040516382acca5f60e01b81526004810182905260248101839052604401610b47565b6000816001600160a01b0316631d52edc46040518163ffffffff1660e01b81526004016020604051808303816000875af1158015612a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec8919061533e565b60006001600160ff1b03821115612ae85760405162461bcd60e51b815260206004820152600f60248201526e746f496e743a206f766572666c6f7760881b6044820152606401610b47565b5090565b806000612af882611a2c565b42601155600954909150612b0c9088613a41565b600955600a54612b1c9087613a41565b600a55600b54612b2c9086613a41565b600b55600c849055600f54600090612b45904290615147565b905060008111612b5d57670de0b6b3a7640000612b97565b806301e13380612b83612b7e6103eb600954896131e990919063ffffffff16565b613b01565b612b8d919061537e565b612b9791906153ae565b601255506000612ba683611a2c565b9050600a612bb382613cba565b1315612bdc57604051633d94784b60e11b81526004810183905260248101829052604401610b47565b5050505050505050565b6000611a768383613cd2565b60075460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb92612c2c92909116908790600401615303565b6020604051808303816000875af1158015612c4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c6f919061531c565b5060085460405163db74aa1560e01b81526001600160a01b038481166004830181905260248301529091169063db74aa15906044015b6020604051808303816000875af1158015612cc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a76919061533e565b600080612cf485613d08565b90506000612d0584611c9a88613147565b60405163a9059cbb60e01b81529091506001600160a01b0387169063a9059cbb90612d369088908590600401615303565b6020604051808303816000875af1158015612d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d79919061531c565b612d9e578530868360405163be4d4fb560e01b8152600401610b479493929190615429565b612da786613d08565b612db19083615147565b925080831015612dda57858382604051630f55e7df60e11b8152600401610b4793929190615453565b50509392505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114612e30576040519150601f19603f3d011682016040523d82523d6000602084013e612e35565b606091505b5050905080612e6057600030848460405163be4d4fb560e01b8152600401610b479493929190615429565b505050565b600080612e7184613d08565b90506000612e8284611c9a87613147565b6040516323b872dd60e01b81529091506001600160a01b038616906323b872dd90612eb590339030908690600401615405565b6020604051808303816000875af1158015612ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ef8919061531c565b612f1d578433308360405163be4d4fb560e01b8152600401610b479493929190615429565b81612f2786613d08565b612f319190615147565b925080831015612f5a57848382604051630f55e7df60e11b8152600401610b4793929190615453565b505092915050565b600080612f726121c988886138d0565b90506000612f88612f83868661398b565b612a9d565b90506000612fd56f29c30f1029939b146664242d97d9f64960361b8688612fb7816706f05b59d3b20000615474565b612fc19190615474565b612fcb9190615474565b612f8391906151e3565b90506000612ff082670de0b6b3a7640000612205868861537e565b9050612ffc8882613df4565b9a9950505050505050505050565b60065460085460405163a9059cbb60e01b81526000926001600160a01b039081169263a9059cbb9261304492909116908790600401615303565b6020604051808303816000875af1158015613063573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613087919061531c565b5060085460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb906130ba9083908790600401615303565b6020604051808303816000875af11580156130d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130fd919061531c565b5060085460405163bcb7ea5d60e01b81526001600160a01b039091169063bcb7ea5d90612ca5908590600401614ed8565b6000610ec882670de0b6b3a76400006301e133806132f2565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015613188573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131ac919061548b565b60ff16905060006131be826012615147565b90506131cb81600a61558c565b611fc690670de0b6b3a7640000615474565b6000611a7683836138bb565b6000611a768383613e09565b6000806132028686613e1e565b90506000613210858561398b565b9050600061322c856121b26706f05b59d3b20000818a806138bb565b905060008261323b8386615598565b61324d90670de0b6b3a764000061537e565b61325791906153ae565b9050600061326482613e2d565b905061222a61327b82670de0b6b3a7640000615147565b8c90613e96565b60008085600001518487602001518589604001516040516020016132aa959493929190614eec565b604051602081830303815290604052905060006132d7876000015186888a60200151888c60400151613eab565b90506132e782826014600a613f3f565b979650505050505050565b82820281151584158583048514171661330a57600080fd5b0492915050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600060405161334391906155b8565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6000828411158015611fc657506133d46133cd83670de0b6b3a7640000615147565b84906138bb565b841015949350505050565b80600260008282546133f1919061515a565b90915550506001600160a01b0382166000818152600360209081526040808320805486019055518481526000805160206156f983398151915291015b60405180910390a35050565b6000808561344f89670de0b6b3a7640000615474565b61345991906151e3565b905060006134678787615474565b61347f896a0c097ce7bc90715b34b9f160241b615474565b61348991906151e3565b905060006134996121db84612a9d565b905060006134a96121db84612a9d565b90506000866000036134bc5760006134c9565b6134c9612f83898961398b565b9050806134d68385615598565b6134e09190615598565b9c9b505050505050505050505050565b6000806134fd868b613df4565b9050600061350e8a89888888612f62565b905061222a8961351e838d6138bb565b613528919061515a565b6135328a85613df4565b906138d0565b6000808686868686604051602001613554959493929190614eec565b604051602081830303815290604052905060006135748888888888614010565b905061359d82856000036135925761358d600184615147565b613594565b825b6014600a614084565b98975050505050505050565b6000611a768383614135565b6000611a7683836138d0565b6000806135ce868b613df4565b905060006135df8a89888888612f62565b905061222a896135ef838d6138bb565b6135f9919061515a565b61353284613607858d613df4565b90613df4565b6000808686868686604051602001613629959493929190614eec565b604051602081830303815290604052905060006136498888888888613672565b905061359d828560000361366757613662600184615147565b613669565b825b6014600a61414a565b6000806136976121db61368589896138d0565b612f8390670de0b6b3a7640000615147565b90506000836000036136aa5760006136b7565b6136b7612f83868661398b565b905060006136cd6136c88385615357565b613e2d565b90506a0c097ce7bc90715b34b9f160241b6136e7826141ec565b6136f1898b615474565b6136fb9190615474565b61370591906151e3565b9998505050505050505050565b6000680248ce36a70cb26b3e19821361372d57506000919050565b680755bf798b4a1bf1e582126137745760405162461bcd60e51b815260206004820152600c60248201526b4558505f4f564552464c4f5760a01b6044820152606401610b47565b6503782dace9d9604e83901b059150600060606bb17217f7d1cf79abc9e3b39884821b056001605f1b01901d6bb17217f7d1cf79abc9e3b39881029093036c240c330e9fb2d9cbaf0fd5aafb1981018102606090811d6d0277594991cfc85f6e2461837cd9018202811d6d1a521255e34f6a5061b25ef1c9c319018202811d6db1bbb201f443cf962f1a1d3db4a5018202811d6e02c72388d9f74f51a9331fed693f1419018202811d6e05180bb14799ab47a8a8cb2a527d57016d02d16720577bd19bf614176fe9ea6c10fe68e7fd37d0007b713f765084018402831d9081019084016d01d3967ed30fc4f89c02bab5708119010290911d6e0587f503bb6ea29d25fcb740196450019091026d360d7aeea093263ecc6e0ecb291760621b010574029d9dc38563c32e5c2f6dc192ee70ef65f9978af30260c3939093039290921c92915050565b6000611a768383670de0b6b3a76400006132f2565b6000611a7683670de0b6b3a7640000846132f2565b60006706f05b59d3b2000082036138fe57506000919050565b670de0b6b3a76400008212613926576040516307a0212760e01b815260040160405180910390fd5b81600003613947576040516322ed598560e21b815260040160405180910390fd5b600061395483600261537e565b9050600061396182614231565b905060006139776713a04bbdfdc9be88836144af565b90506139828161512b565b95945050505050565b600080613997836144c4565b6139a590633b9aca00615474565b9050611fc68482613df4565b6001600160a01b038216600090815260036020526040812080548392906139d9908490615147565b90915550506002805482900390556040518181526000906001600160a01b038416906000805160206156f98339815191529060200161342d565b828202811515841585830485141716613a2b57600080fd5b6001826001830304018115150290509392505050565b600080821215613aae57613a548261512b565b831015613a945760405162461bcd60e51b815260206004820152600e60248201526d73756d3a20756e646572666c6f7760901b6044820152606401610b47565b613a9d8261512b565b613aa79084615147565b9050610ec8565b82613ab9838261515a565b1015613af75760405162461bcd60e51b815260206004820152600d60248201526c73756d3a206f766572666c6f7760981b6044820152606401610b47565b613aa7828461515a565b6000808213613b225760405162461bcd60e51b8152600401610b4790615659565b60006060613b2f84614560565b03609f8181039490941b90931c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd190190910260016c0504a838426634cdd8738f543560611b03190105711340daa0d5f769dba1915cef59f0815a5506027d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b393909302929092017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d92915050565b600080821215612ae857610ec88261512b565b919050565b600082600181613cea670de0b6b3a764000086615474565b613cf4919061515a565b613cfe9190615147565b611a7691906151e3565b6000806000836001600160a01b03166370a0823160e01b30604051602401613d309190614ed8565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909416939093179092529051613d6e919061567c565b600060405180830381855afa9150503d8060008114613da9576040519150601f19603f3d011682016040523d82523d6000602084013e613dae565b606091505b5091509150811580613dc257508051602014155b15613de05760405163056a754560e51b815260040160405180910390fd5b80806020019051810190611fc6919061533e565b6000611a768383670de0b6b3a7640000613a13565b6000670de0b6b3a7640000613cfe8484615474565b6000611a76612b7e84846138d0565b6000806713a04bbdfdc9be88613e4b670de0b6b3a76400008561537e565b613e5591906153ae565b90506000613e628261512b565b90506000613e6f826145e2565b9050671bc16d674ec80000613e8c670de0b6b3a76400008361537e565b61398291906153ae565b6000611a7683670de0b6b3a764000084613a13565b600080613ed66121db613ebe8789615474565b612fcb8a6a0c097ce7bc90715b34b9f160241b615474565b9050600083600003613ee9576000613ef6565b613ef6612f83868661398b565b90506000613f076136c88385615598565b9050613f23613f1e82670de0b6b3a7640000615357565b6141ec565b613f358b670de0b6b3a7640000615474565b612ffc91906151e3565b82600082815b85811015614005576000613f5989866147c6565b90506000613f678a8761490d565b905081600003613f78575050614005565b81613f8b82670de0b6b3a764000061537e565b613f9591906153ae565b613f9f9087615357565b94506000613fad8688615357565b9050848113158015613fc75750613fc38561512b565b8112155b80613fe55750848213158015613fe55750613fe18561512b565b8212155b15613ff557859650505050614005565b5093945084935050600101613f45565b505050949350505050565b6000806140236121db613ebe8789615474565b9050600083600003614036576000614043565b614043612f83868661398b565b905060006140546136c88385615598565b9050670de0b6b3a7640000614068826141ec565b61407a90670de0b6b3a7640000615147565b6136fb908a615474565b826000805b8481101561412b57600061409d8885614942565b905060006140ab89866149c2565b9050816000036140bc57505061412b565b816140cf82670de0b6b3a764000061537e565b6140d991906153ae565b6140e39086615357565b9350856140f86140f38688615357565b613cba565b13158061410d57508561410a82613cba565b13155b1561411c57839450505061412b565b50919250829150600101614089565b5050949350505050565b600082613cfe670de0b6b3a764000084615474565b826000805b8481101561412b57600061416388856149f7565b905060006141718986614a2c565b90508060000361418257505061412b565b8061419583670de0b6b3a764000061537e565b61419f91906153ae565b6141a99086615357565b9350856141b96140f38688615357565b1315806141ce5750856141cb83613cba565b13155b156141dd57839450505061412b565b5091925082915060010161414f565b600080821215612ae85760405162461bcd60e51b815260206004820152601060248201526f746f55696e743a206e6567617469766560801b6044820152606401610b47565b6000808212806142485750671bc16d674ec8000082135b1561426657604051632d0483c560e21b815260040160405180910390fd5b81600003614287576040516307a0212760e01b815260040160405180910390fd5b81671bc16d674ec80000036142af576040516322ed598560e21b815260040160405180910390fd5b80156142ba57919050565b6000670de0b6b3a764000083126142e2576142dd83671bc16d674ec80000615357565b6142e4565b825b905060006142fa82671bc16d674ec80000614ad7565b90508060000361431d576040516307a0212760e01b815260040160405180910390fd5b600061432882613b01565b90506000633b9aca0061435361434e614348671bc16d674ec8000061512b565b856144af565b6144c4565b61435d919061537e565b9050600080614374836703c1665c7aab20006144af565b61438690672005fe4f268ea000615598565b905060006143b68461439f86669f32752462a0006144af565b6143b190670dc5527f642c2000615598565b6144af565b6143c890670de0b6b3a7640000615598565b90506143ec6709d028cc6f205fff19856143e28585614ad7565b6143b19190615357565b9250505060005b600281101561448757600086614408846145e2565b6144129190615357565b9050600061442084856144af565b6144299061512b565b9050600061443682613712565b9050600061444486856144af565b614456670fa8cedfc2adddfa846144af565b6144609190615357565b905061446c8482614ad7565b6144769087615598565b9550846001019450505050506143f3565b670de0b6b3a764000088126144a45761449f8261512b565b61359d565b509695505050505050565b6000611a768383670de0b6b3a7640000614ae8565b60b581600160881b81106144dd5760409190911b9060801c5b600160481b81106144f35760209190911b9060401c5b600160281b81106145095760109190911b9060201c5b6301000000811061451f5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60008082116145815760405162461bcd60e51b8152600401610b4790615659565b5060016001600160801b03821160071b82811c6001600160401b031060061b1782811c63ffffffff1060051b1782811c61ffff1060041b1782811c60ff10600390811b90911783811c600f1060021b1783811c909110821b1791821c111790565b6000816000036145fb5750670de0b6b3a7640000919050565b675698eef066700000821261461257506000919050565b614623675698eef06670000061512b565b82136146385750671bc16d674ec80000919050565b600061464383614b07565b9050600061467c670de0b6b3a764000061466584671bc16d674ec800006138d0565b61467790670de0b6b3a7640000615598565b614ad7565b9050600080826146d8816146c5816146b3816146a08167025f0fe105a314006144af565b6143b190670b68df18e471fbff19615598565b6143b1906714a8454c19e1ac00615598565b6143b190670fc10e01578277ff19615598565b6146ea906703debd083b8c7c00615598565b9150839050614752816147408161472e8161471c81614709818b6144af565b6143b190670295d400ea3257ff19615598565b6143b190670157d8b2ecc70800615598565b6143b1906705310aa7d5213000615598565b6143b190670de0cc3d15610000615598565b91508167119000ab100ffc0061476887886144af565b6147749060001961537e565b61477e9190615357565b6147889190615598565b925050600061479683613712565b905060006147a485836144af565b9050600088126147b4578061359d565b61359d81671bc16d674ec80000615357565b600080600080858060200190518101906147e09190615698565b509295509093509150839050828260006147fa89806138bb565b9050600061480b6121db898c613e96565b905060006148266121db61481f8d8a613df4565b8a90613e96565b9050600061483383614b3e565b9050600061484083614b3e565b90506000670de0b6b3a7640000614857848861537e565b61486191906153ae565b6148738a670de0b6b3a764000061537e565b61487d91906153ae565b90506000670de0b6b3a7640000614894888a61537e565b61489e91906153ae565b90506000670de0b6b3a76400006148b5858461537e565b6148bf91906153ae565b90506000816148d68c670de0b6b3a764000061537e565b6148e091906153ae565b9050806148ec8561512b565b6148f69190615357565b9f5050505050505050505050505050505092915050565b6000806000806000808780602001905181019061492a9190615698565b9450945094509450945061359d858589868686613439565b600080838060200190518101906149599190615698565b505050915050600061497c6121db8386670de0b6b3a7640000612fcb9190615474565b9050600061498982614b3e565b90506000670de0b6b3a76400006149a0838661537e565b6149aa91906153ae565b6132e7906a0c097ce7bc90715b34b9f160241b6153ae565b600080600080600080878060200190518101906149df9190615698565b9450945094509450945061359d878686868686613439565b60008060008060008087806020019051810190614a149190615698565b9450945094509450945061359d858886868686613439565b600080600084806020019051810190614a459190615698565b505092509250506000670de0b6b3a76400008383614a639190615474565b614a6d91906151e3565b90506000614a9182614a8788670de0b6b3a764000061537e565b6121db91906153ae565b90506000614a9e82614b3e565b90506000670de0b6b3a7640000614ab5838661537e565b614abf91906153ae565b613705906a0c097ce7bc90715b34b9f160241b6153ae565b6000611a7683670de0b6b3a7640000845b828202811515841585830585141716614b0057600080fd5b0592915050565b6000600160ff1b8203614b2d57604051634d2d75b160e01b815260040160405180910390fd5b6000821215612ae857501960010190565b600080671bc16d674ec8000083614b548161512b565b614b5e919061537e565b614b6891906153ae565b9050614b7381613712565b90506722c955229554c1b6614b90670de0b6b3a76400008361537e565b611a7691906153ae565b6001600160a01b0381168114614baf57600080fd5b50565b600080600080600080600080610100898b031215614bcf57600080fd5b8835614bda81614b9a565b97506020890135965060408901359550606089013594506080890135935060a0890135925060c0890135915060e0890135614c1481614b9a565b809150509295985092959890939650565b60008060008060008060c08789031215614c3e57600080fd5b863595506020870135945060408701359350606087013592506080870135915060a0870135614c6c81614b9a565b809150509295509295509295565b60005b83811015614c95578181015183820152602001614c7d565b50506000910152565b6020815260008251806020840152614cbd816040850160208701614c7a565b601f01601f19169190910160400192915050565b60008060408385031215614ce457600080fd5b8235614cef81614b9a565b946020939093013593505050565b600080600060608486031215614d1257600080fd5b8335614d1d81614b9a565b92506020840135614d2d81614b9a565b929592945050506040919091013590565b600060208284031215614d5057600080fd5b5035919050565b600080600060608486031215614d6c57600080fd5b83359250602084013591506040840135614d8581614b9a565b809150509250925092565b9283526020830191909152604082015260600190565b600080600060608486031215614dbb57600080fd5b505081359360208301359350604090920135919050565b93845260208401929092526040830152606082015260800190565b60008060408385031215614e0057600080fd5b50508035926020909101359150565b60008060008060008060c08789031215614e2857600080fd5b505084359660208601359650604086013595606081013595506080810135945060a0013592509050565b600060208284031215614e6457600080fd5b8135611a7681614b9a565b600080600080600080600060e0888a031215614e8a57600080fd5b8735614e9581614b9a565b96506020880135955060408801359450606088013593506080880135925060a0880135915060c0880135614ec881614b9a565b8091505092959891949750929550565b6001600160a01b0391909116815260200190565b948552602085019390935260408401919091526060830152608082015260a00190565b600080600080600080600060e0888a031215614f2a57600080fd5b873596506020880135614f3c81614b9a565b96999698505050506040850135946060810135946080820135945060a0820135935060c0909101359150565b60008060008060808587031215614f7e57600080fd5b8435935060208501359250604085013591506060850135614f9e81614b9a565b939692955090935050565b60008060008060808587031215614fbf57600080fd5b8435614fca81614b9a565b93506020850135614fda81614b9a565b93969395505050506040820135916060013590565b600080600080600060a0868803121561500757600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b6000806000806080858703121561504057600080fd5b5050823594602084013594506040840135936060013592509050565b60ff81168114614baf57600080fd5b600080600080600080600060e0888a03121561508657600080fd5b873561509181614b9a565b965060208801356150a181614b9a565b9550604088013594506060880135935060808801356150bf8161505c565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156150ef57600080fd5b82356150fa81614b9a565b9150602083013561510a81614b9a565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b6000600160ff1b820161514057615140615115565b5060000390565b81810381811115610ec857610ec8615115565b80820180821115610ec857610ec8615115565b6001600160a01b0394909416845260208401929092526040830152606082015260800190565b600181811c908216806151a757607f821691505b6020821081036151c757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601260045260246000fd5b6000826151f2576151f26151cd565b500490565b8051613ccd81614b9a565b60006020828403121561521457600080fd5b8151611a7681614b9a565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561524857600080fd5b82516001600160401b038082111561525f57600080fd5b818501915085601f83011261527357600080fd5b8151818111156152855761528561521f565b8060051b604051601f19603f830116810181811085821117156152aa576152aa61521f565b6040529182528482019250838101850191888311156152c857600080fd5b938501935b8285101561359d576152de856151f7565b845293850193928501926152cd565b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03929092168252602082015260400190565b60006020828403121561532e57600080fd5b81518015158114611a7657600080fd5b60006020828403121561535057600080fd5b5051919050565b818103600083128015838313168383128216171561537757615377615115565b5092915050565b80820260008212600160ff1b8414161561539a5761539a615115565b8181058314821517610ec857610ec8615115565b6000826153bd576153bd6151cd565b600160ff1b8214600019841416156153d7576153d7615115565b500590565b6001600160a01b0394851681529290931660208301526040820152606081019190915260800190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b6001600160a01b039390931683526020830191909152604082015260600190565b8082028115828204841417610ec857610ec8615115565b60006020828403121561549d57600080fd5b8151611a768161505c565b600181815b808511156154e35781600019048211156154c9576154c9615115565b808516156154d657918102915b93841c93908002906154ad565b509250929050565b6000826154fa57506001610ec8565b8161550757506000610ec8565b816001811461551d576002811461552757615543565b6001915050610ec8565b60ff84111561553857615538615115565b50506001821b610ec8565b5060208310610133831016604e8410600b8410161715615566575081810a610ec8565b61557083836154a8565b806000190482111561558457615584615115565b029392505050565b6000611a7683836154eb565b8082018281126000831280158216821582161715612f5a57612f5a615115565b60008083548160018260011c915060018316806155d657607f831692505b602080841082036155f557634e487b7160e01b86526022600452602486fd5b818015615609576001811461561e5761564b565b60ff198616895284151585028901965061564b565b60008a81526020902060005b868110156156435781548b82015290850190830161562a565b505084890196505b509498975050505050505050565b60208082526009908201526815539111519253915160ba1b604082015260600190565b6000825161568e818460208701614c7a565b9190910192915050565b600080600080600060a086880312156156b057600080fd5b505083516020850151604086015160608701516080909701519298919750959450909250905056fed4dbfaa7c0fe51eee24a1cdcafd0378cd3652cdba735dfc4b061aa55c2a458a5ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925a26469706673582212207adbecb2192ec8bda1542d799de934bea4ecf2e08f21a0ae2e8351a3eb5ab7ff64736f6c63430008160033000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0xd24e3f7206df70e78d319ba10f7c1f5e3ce12691fa2c37e320f07f41e79dbaf5", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0xcbC72d92b2dc8187414F6734718563898740C0BC", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x16e69", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x56", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "deposit(address,address,uint256,uint256)", + "arguments": [ + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22", + "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0", + "10000000000000000000000", + "1" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x35cd9", + "value": "0x0", + "input": "0x20e8c565000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d220000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca000000000000000000000000000000000000000000000021e19e0c9bab24000000000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x57", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3fab31ea1dd258cd391ffd22a52f5714f1b69ad44af079d5acc7b6b163f1dc5a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "transfer(address,uint256)", + "arguments": [ + "0xf3aBC972A0f537c1119C990d422463b93227Cd83", + "5000000000000000000000" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x20556", + "value": "0x0", + "input": "0xa9059cbb000000000000000000000000f3abc972a0f537c1119c990d422463b93227cd8300000000000000000000000000000000000000000000010f0cf064dd59200000", + "nonce": "0x58", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "mintPY(address,address)", + "arguments": [ + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22", + "0x687dEB45Decb0ff4AA0b2d46725F5d1d5a8e3d22" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x5a879", + "value": "0x0", + "input": "0xdb74aa15000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "nonce": "0x59", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x52ed9152611823990e2ef0eb3d5b2d218eabf47f22c1b7d82d67a8c2be7ec88d", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0xE3fFcA31BBA27392aF23B8018bd59c399f843093", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x24354", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5a", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x683363e625d8d88fe5e9fcee63e69530eb8d89846942b9b22e2b3ded547e5bac", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "approve(address,uint256)", + "arguments": [ + "0xE3fFcA31BBA27392aF23B8018bd59c399f843093", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x24468", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5b", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5d8786c090487f43c73f8c2803a4c52fdce295a84567bed71bd282fcfd2fe9a6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "function": "approve(address,uint256)", + "arguments": [ + "0xE3fFcA31BBA27392aF23B8018bd59c399f843093", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "gas": "0x265f8", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5c", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa25c15d300dda4403f569396b82bbeb03a39913bb77951feedd024f99e5fd5d8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "approve(address,uint256)", + "arguments": [ + "0xE3fFcA31BBA27392aF23B8018bd59c399f843093", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x2445f", + "value": "0x0", + "input": "0x095ea7b3000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5d", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x33ef469ecd1e0d486d27f8bb6c2a816e68a90c1d6b20e16818179e122e3c90d7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "gas": "0x14acc", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5e", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd3d38c05dcfb69c78ade1a951907b2492f403219194ffc15b448c9839981d64c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "gas": "0x14be0", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x5f", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0f9ddfc7ed993bf16316d36a4f094999b640c79c0c1541f530774ac43e160277", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "gas": "0x15ed3", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x60", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd5a66e52c1bca26b831ea9dce622b194128c452bfb828839197580cd71db5029", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x14bd7", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x61", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcd76ac53b2e1edc8ad6d851ff78dd57a641bd1b98c88bf6c4e0cfb65ac890e71", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "function": "approve(address,uint256)", + "arguments": [ + "0x00000000005BBB0EF59571E58418F9a4357b68A0", + "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "gas": "0x15fa8", + "value": "0x0", + "input": "0x095ea7b300000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "nonce": "0x62", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5d2eee73dd4446ca56b00d802a9f0f2b122448a5b2aa1f2ad7ddbc8f087c7b89", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "function": "pyIndexCurrent()", + "arguments": [], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "gas": "0x146b2", + "value": "0x0", + "input": "0x1d52edc4", + "nonce": "0x63", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionType": "CALL", + "contractName": "RMM", + "contractAddress": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "function": "init(address,uint256,uint256,uint256,uint256,uint256,address)", + "arguments": [ + "0xf99985822fb361117FCf3768D34a6353E6022F5F", + "1061268076054249761", + "4244756438299991009906", + "1093856203977024652", + "20000000000000000", + "200000000000000", + "0x0000000000000000000000000000000000000055" + ], + "transaction": { + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "gas": "0x29ed67", + "value": "0x0", + "input": "0x71ced336000000000000000000000000f99985822fb361117fcf3768d34a6353e6022f5f0000000000000000000000000000000000000000000000000eba61b13cad01210000000000000000000000000000000000000000000000e61bd442f34b46ea720000000000000000000000000000000000000000000000000f2e286c0968648c00000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000b5e620f480000000000000000000000000000000000000000000000000000000000000000055", + "nonce": "0x64", + "chainId": "0xb8030" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x46df79", + "logs": [ + { + "address": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "topics": [ + "0x87872cff65bf8ca4f79a292cd9e53c91877091fce56b3f9b04d976be3287a51d", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001b4c69646f205374616b6564204554482032342044656320323032350000000000000000000000000000000000000000000000000000000000000000000000000d73744554482d3234444543323500000000000000000000000000000000000000", + "blockHash": "0xb5f610e29c1c8860daade493bba80b8bcea57c6773afab1c37c72e11a6e478b5", + "blockNumber": "0x131a40d", + "transactionHash": "0xaaa66ce63c32dac54840e5d3d291fce2bcd45fdcc1922d076148aa286b67a457", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000200000000000000000000000000000000000000020000000000000000000000000000800000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000002000000000010000000000000000400000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000400000000000000000000000000", + "type": "0x2", + "transactionHash": "0xaaa66ce63c32dac54840e5d3d291fce2bcd45fdcc1922d076148aa286b67a457", + "transactionIndex": "0x0", + "blockHash": "0xb5f610e29c1c8860daade493bba80b8bcea57c6773afab1c37c72e11a6e478b5", + "blockNumber": "0x131a40d", + "gasUsed": "0x46df79", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xa61d6761ce83f1a2e3b128b7a5033e99bcdaa7d5", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x9949", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000f3abc972a0f537c1119c990d422463b93227cd83" + ], + "data": "0x00000000000000000000000000000000000000000000010f0cf064dd59200000", + "blockHash": "0x630d0df101dbcb364866570671ab5628de982a62c628cc4a69694640d7a29834", + "blockNumber": "0x131a40e", + "transactionHash": "0x3fab31ea1dd258cd391ffd22a52f5714f1b69ad44af079d5acc7b6b163f1dc5a", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000002000000008000000000000000000000000000000000000000000000001000000000040000000000000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100001000000000000400000000000000000000002000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x3fab31ea1dd258cd391ffd22a52f5714f1b69ad44af079d5acc7b6b163f1dc5a", + "transactionIndex": "0x0", + "blockHash": "0x630d0df101dbcb364866570671ab5628de982a62c628cc4a69694640d7a29834", + "blockNumber": "0x131a40e", + "gasUsed": "0x9949", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x72f4", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9d34696b7dfd28dd7137e00aaebdffc5fed88cd3c160955dcc83c701e88cf447", + "blockNumber": "0x131a40f", + "transactionHash": "0xd24e3f7206df70e78d319ba10f7c1f5e3ce12691fa2c37e320f07f41e79dbaf5", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000400000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd24e3f7206df70e78d319ba10f7c1f5e3ce12691fa2c37e320f07f41e79dbaf5", + "transactionIndex": "0x0", + "blockHash": "0x9d34696b7dfd28dd7137e00aaebdffc5fed88cd3c160955dcc83c701e88cf447", + "blockNumber": "0x131a40f", + "gasUsed": "0x72f4", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x1c66d", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0xaaeb679d08192e6237c7fc636524441629d0bd89582c123fbb9a9d1444b2509d", + "blockNumber": "0x131a410", + "transactionHash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000027b19204dc5e873ba10", + "blockHash": "0xaaeb679d08192e6237c7fc636524441629d0bd89582c123fbb9a9d1444b2509d", + "blockNumber": "0x131a410", + "transactionHash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000027b19204dc5e873ba10", + "blockHash": "0xaaeb679d08192e6237c7fc636524441629d0bd89582c123fbb9a9d1444b2509d", + "blockNumber": "0x131a410", + "transactionHash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0xc0025304673122449dd60b9b0093874b0e2fd6fe57af1c7c2fbfee0ccf5ead58", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000027b19204dc5e873ba10", + "blockHash": "0xaaeb679d08192e6237c7fc636524441629d0bd89582c123fbb9a9d1444b2509d", + "blockNumber": "0x131a410", + "transactionHash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000000000000000000000000000000000000000000040000000000000000000000001000000000000000000000000000002000000008000000000000000000000000000000000000000000010020020000000000000000000800000000000020000000000010000000000002000000000000000000000800400000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000200102000000000000000000200000000000000000000000000000200020000000000000000000000000010000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x6b4fda5f6d1f64628e1a2a59d735c29f11f442ec56128d06871614d8ee0c46e3", + "transactionIndex": "0x0", + "blockHash": "0xaaeb679d08192e6237c7fc636524441629d0bd89582c123fbb9a9d1444b2509d", + "blockNumber": "0x131a410", + "gasUsed": "0x1c66d", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb617", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x35968c03f17ceeba357f18d569f2216e81cca222292670638e72a852e9fcd7aa", + "blockNumber": "0x131a411", + "transactionHash": "0x683363e625d8d88fe5e9fcee63e69530eb8d89846942b9b22e2b3ded547e5bac", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000002000000000020000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000002000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x683363e625d8d88fe5e9fcee63e69530eb8d89846942b9b22e2b3ded547e5bac", + "transactionIndex": "0x0", + "blockHash": "0x35968c03f17ceeba357f18d569f2216e81cca222292670638e72a852e9fcd7aa", + "blockNumber": "0x131a411", + "gasUsed": "0xb617", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xff11", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x6dd0cbd48dcc578858094652a64f769c02f4e8f7f98d5d29d560b0039a6fb0d8", + "blockNumber": "0x131a412", + "transactionHash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xfffffffffffffffffffffffffffffffffffffffffffffde1e61f36454dbfffff", + "blockHash": "0x6dd0cbd48dcc578858094652a64f769c02f4e8f7f98d5d29d560b0039a6fb0d8", + "blockNumber": "0x131a412", + "transactionHash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x6dd0cbd48dcc578858094652a64f769c02f4e8f7f98d5d29d560b0039a6fb0d8", + "blockNumber": "0x131a412", + "transactionHash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x5fe47ed6d4225326d3303476197d782ded5a4e9c14f479dc9ec4992af4e85d59", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x0000000000000000000000007f39c581f595b53c5cb19bd0b3f8da6c935e2ca0" + ], + "data": "0x00000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000000000000000000000021e19e0c9bab2400000", + "blockHash": "0x6dd0cbd48dcc578858094652a64f769c02f4e8f7f98d5d29d560b0039a6fb0d8", + "blockNumber": "0x131a412", + "transactionHash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000001000000000000000000000000000000000000000000000000002000000000000010000000000000000200000000000000000002000000008000000000000000000000000080000000000000000000000020000000040000000000801000000000020000000000010000000000000000010000000000080000000000000000000000000000000000000002000020000000000000000000000000000100000000000000000000000000000000000000002000000100000000000000480000000000000000000000000200020000010000000000000000000008000000000000000004000000000000000000000", + "type": "0x2", + "transactionHash": "0x95777d590c531e907e4c81ff1cfce44f1e244418b7e15ae85ed2e7d1691233ea", + "transactionIndex": "0x0", + "blockHash": "0x6dd0cbd48dcc578858094652a64f769c02f4e8f7f98d5d29d560b0039a6fb0d8", + "blockNumber": "0x131a412", + "gasUsed": "0xff11", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5c0", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xeeb34a378f2968f14a5d6f5df53fcafc84b939b3338761d65bd482dd6fa4b5f1", + "blockNumber": "0x131a413", + "transactionHash": "0x52ed9152611823990e2ef0eb3d5b2d218eabf47f22c1b7d82d67a8c2be7ec88d", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000000002000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x52ed9152611823990e2ef0eb3d5b2d218eabf47f22c1b7d82d67a8c2be7ec88d", + "transactionIndex": "0x0", + "blockHash": "0xeeb34a378f2968f14a5d6f5df53fcafc84b939b3338761d65bd482dd6fa4b5f1", + "blockNumber": "0x131a413", + "gasUsed": "0xb5c0", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb614", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xf6f39fdd8e4980c187afe2b38821e929b5a2857b5ab14e434e535ae8b33229e6", + "blockNumber": "0x131a414", + "transactionHash": "0xa25c15d300dda4403f569396b82bbeb03a39913bb77951feedd024f99e5fd5d8", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0xa25c15d300dda4403f569396b82bbeb03a39913bb77951feedd024f99e5fd5d8", + "transactionIndex": "0x0", + "blockHash": "0xf6f39fdd8e4980c187afe2b38821e929b5a2857b5ab14e434e535ae8b33229e6", + "blockNumber": "0x131a414", + "gasUsed": "0xb614", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xb5eb", + "logs": [ + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xae26e572f071662dffe3ce6a257b144ee2314d8656abbb5d13040e5e884424e2", + "blockNumber": "0x131a415", + "transactionHash": "0x5d8786c090487f43c73f8c2803a4c52fdce295a84567bed71bd282fcfd2fe9a6", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000800000000000000000000000000000000000000020000000000002000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x5d8786c090487f43c73f8c2803a4c52fdce295a84567bed71bd282fcfd2fe9a6", + "transactionIndex": "0x0", + "blockHash": "0xae26e572f071662dffe3ce6a257b144ee2314d8656abbb5d13040e5e884424e2", + "blockNumber": "0x131a415", + "gasUsed": "0xb5eb", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x681c", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0xe5db88eb01a872a42ef9a258087d55af1582885e209be2e804d22df485e209c8", + "blockNumber": "0x131a416", + "transactionHash": "0xd5a66e52c1bca26b831ea9dce622b194128c452bfb828839197580cd71db5029", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0xd5a66e52c1bca26b831ea9dce622b194128c452bfb828839197580cd71db5029", + "transactionIndex": "0x0", + "blockHash": "0xe5db88eb01a872a42ef9a258087d55af1582885e209be2e804d22df485e209c8", + "blockNumber": "0x131a416", + "gasUsed": "0x681c", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x67c8", + "logs": [ + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x9a4e4e5ff8564d8fd953bc51ce312acbec2cd86d4b2b56419a6f189073db46c3", + "blockNumber": "0x131a417", + "transactionHash": "0x33ef469ecd1e0d486d27f8bb6c2a816e68a90c1d6b20e16818179e122e3c90d7", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000080000000000000000000000000000000000000000000020000000080000000000000000000000000000000000000000000000000000000000000000000100040000000000000000000000000000000000000200000000010000000000000000000008000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x33ef469ecd1e0d486d27f8bb6c2a816e68a90c1d6b20e16818179e122e3c90d7", + "transactionIndex": "0x0", + "blockHash": "0x9a4e4e5ff8564d8fd953bc51ce312acbec2cd86d4b2b56419a6f189073db46c3", + "blockNumber": "0x131a417", + "gasUsed": "0x67c8", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x67f3", + "logs": [ + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x269d8df94d0e9beb657027222185839a02bd47de33ed39617fcc749c8075a9bf", + "blockNumber": "0x131a418", + "transactionHash": "0x0f9ddfc7ed993bf16316d36a4f094999b640c79c0c1541f530774ac43e160277", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000020000000000000000000000000000000000000000000000800000000000000000000000000000000000000020000000080000000000200000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x0f9ddfc7ed993bf16316d36a4f094999b640c79c0c1541f530774ac43e160277", + "transactionIndex": "0x0", + "blockHash": "0x269d8df94d0e9beb657027222185839a02bd47de33ed39617fcc749c8075a9bf", + "blockNumber": "0x131a418", + "gasUsed": "0x67f3", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x109ac", + "logs": [ + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0x3c494eb98bd37ef8025690af62271ff0abd25a25da7306988324f8966ca8ef4f", + "blockNumber": "0x131a419", + "transactionHash": "0x5d2eee73dd4446ca56b00d802a9f0f2b122448a5b2aa1f2ad7ddbc8f087c7b89", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000010000000000000000000000000000000000000000000000000000040000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0x5d2eee73dd4446ca56b00d802a9f0f2b122448a5b2aa1f2ad7ddbc8f087c7b89", + "transactionIndex": "0x0", + "blockHash": "0x3c494eb98bd37ef8025690af62271ff0abd25a25da7306988324f8966ca8ef4f", + "blockNumber": "0x131a419", + "gasUsed": "0x109ac", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x6832", + "logs": [ + { + "address": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x8441ee27b5c1155c82cd91310af9fe7e80473b67e2edcdb5b4fd5f313b7ae2ba", + "blockNumber": "0x131a41a", + "transactionHash": "0xcd76ac53b2e1edc8ad6d851ff78dd57a641bd1b98c88bf6c4e0cfb65ac890e71", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000200000000000000000002000000000000000400000000000000000000000000000000000000000000000000000010000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xcd76ac53b2e1edc8ad6d851ff78dd57a641bd1b98c88bf6c4e0cfb65ac890e71", + "transactionIndex": "0x0", + "blockHash": "0x8441ee27b5c1155c82cd91310af9fe7e80473b67e2edcdb5b4fd5f313b7ae2ba", + "blockNumber": "0x131a41a", + "gasUsed": "0x6832", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xc374f7ec85f8c7de3207a10bb1978ba104bda3b2", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0xd7a50", + "logs": [ + { + "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + }, + { + "address": "0xae7ab96520de3a18e5e111b5eaab095312d7fe84", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x1", + "removed": false + }, + { + "address": "0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x2", + "removed": false + }, + { + "address": "0xf3abc972a0f537c1119c990d422463b93227cd83", + "topics": [ + "0x71475f2f645813fdbebf53a58968008bff11ee21a58f01c5a9cc263d0bc4703d", + "0x00000000000000000000000000000000000000000000000010422de20acd0431" + ], + "data": "0x", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x3", + "removed": false + }, + { + "address": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22" + ], + "data": "0x00000000000000000000000000000000000000000000012fb9d0e6968aee9981", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x4", + "removed": false + }, + { + "address": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000000000000000000000000000000000000000000000" + ], + "data": "0x00000000000000000000000000000000000000000000000000000000000003e8", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x5", + "removed": false + }, + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0x0000000000000000000000000000000000000000000000e61bd442f34b46ea72", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x6", + "removed": false + }, + { + "address": "0xf99985822fb361117fcf3768d34a6353e6022f5f", + "topics": [ + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x000000000000000000000000e3ffca31bba27392af23b8018bd59c399f843093" + ], + "data": "0x000000000000000000000000000000000000000000000023ce0c97a7af61cb07", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x7", + "removed": false + }, + { + "address": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "topics": [ + "0x8bc90c742951e08a032b3a6740fe951b7c19967da95942c0a168f66f7b9e59d1", + "0x000000000000000000000000cbc72d92b2dc8187414f6734718563898740c0bc", + "0x000000000000000000000000f99985822fb361117fcf3768d34a6353e6022f5f", + "0x0000000000000000000000000000000000000000000000000000000000000055" + ], + "data": "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d220000000000000000000000000000000000000000000000e61bd442f34b46ea72000000000000000000000000000000000000000000000023ce0c97a7af61cb0700000000000000000000000000000000000000000000012fb9d0e6968aee9d690000000000000000000000000000000000000000000000000f2e286c0968648c00000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000b5e620f4800000000000000000000000000000000000000000000000000000000000694c7e80", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "logIndex": "0x8", + "removed": false + } + ], + "logsBloom": "0x00000100000000000000001000000000010000101000000008000000000000000000000000000000000000040002000002000020080000001000000000200000000000000000002000000008000000000008000400000000000000000000000000010020020000100040000004200801000000000020000000000010000000000000000000000000000080000800400000000000000000000000000000000000020000000000003000008200000200100000000000000000000000000044000000000102000000104000000000200400000000000000000000000000200020000010200400000000000000008000000000000000000000010080000000000000", + "type": "0x2", + "transactionHash": "0xc3cfba0faff631dddf0eb7db3ae0982d9587521e71f90f0c7e827ec7001705b7", + "transactionIndex": "0x0", + "blockHash": "0x0fb1a52fe38361bc4352f7b04fa9f99d64137dcb1a338619a1a5d08a162a696d", + "blockNumber": "0x131a41b", + "gasUsed": "0xd7a50", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xe3ffca31bba27392af23b8018bd59c399f843093", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x681f", + "logs": [ + { + "address": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "topics": [ + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", + "0x000000000000000000000000687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "0x00000000000000000000000000000000005bbb0ef59571e58418f9a4357b68a0" + ], + "data": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + "blockHash": "0x31f85f157934eeb23f91709f3eb46acf559dd027252aa1e74feb2acadac94e5e", + "blockNumber": "0x131a41c", + "transactionHash": "0xd3d38c05dcfb69c78ade1a951907b2492f403219194ffc15b448c9839981d64c", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000400000000002000000000000000000000000000000200000000000000000002000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000080000000000000000000100000000000000000000000000000000000000000000000000040000000000000000000000000000000000000200000000010000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xd3d38c05dcfb69c78ade1a951907b2492f403219194ffc15b448c9839981d64c", + "transactionIndex": "0x0", + "blockHash": "0x31f85f157934eeb23f91709f3eb46acf559dd027252aa1e74feb2acadac94e5e", + "blockNumber": "0x131a41c", + "gasUsed": "0x681f", + "effectiveGasPrice": "0x3", + "blobGasUsed": "0x0", + "from": "0x687deb45decb0ff4aa0b2d46725f5d1d5a8e3d22", + "to": "0xcbc72d92b2dc8187414f6734718563898740c0bc", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1718651002, + "chain": 753712, + "commit": "1ed56b3" +} \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index 198b419..392d1ac 100644 --- a/foundry.toml +++ b/foundry.toml @@ -13,4 +13,5 @@ mainnet = "${MAINNET_RPC_URL}" op_sepolia = "${OP_SEPOLIA_RPC_URL}" testnet = "${TESTNET_RPC_URL}" -unknown_chain = { key = "", chain = 753712, url = "https://virtual.mainnet.rpc.tenderly.co/ab7a4b34-a4da-4803-8130-01cf2230dbe6" } +[etherscan] +unknown_chain = { key = "${TENDERLY_ACCESS_KEY}", chain = 753712, url = "https://virtual.mainnet.rpc.tenderly.co/ab7a4b34-a4da-4803-8130-01cf2230dbe6" } diff --git a/script/DeployPool.s.sol b/script/DeployPool.s.sol index 2291d20..b75ea1c 100644 --- a/script/DeployPool.s.sol +++ b/script/DeployPool.s.sol @@ -34,7 +34,7 @@ contract DeployPool is Script { address public constant PT_ADDRESS = address(0); uint256 public constant fee = 0.0002 ether; address public constant curator = address(0); - Factory FACTORY = Factory(0x6755436568792bC8E69020d8d77230fADCC4C9ef); + Factory FACTORY = Factory(0xA61D6761ce83F1A2E3B128B7a5033e99BcdAa7d5); IPMarket market = IPMarket(0xC374f7eC85F8C7DE3207a10bB1978bA104bdA3B2); IPAllActionV3 router = IPAllActionV3(0x00000000005BBB0EF59571E58418F9a4357b68A0); address wstETH = 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0; //real wsteth