// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
/*
CREATOR AGENT , Instant-DEX Launch Factory for Robinhood Chain (NOXA style)
---------------------------------------------------------------------------
Model (like NOXA Fun): NO bonding curve. On createToken() we:
1) mint a 1,000,000,000 fixed-supply ERC20,
2) create the token/WETH Uniswap V3 pool,
3) deposit the whole supply as SINGLE-SIDED liquidity (token only, 0 WETH),
4) keep the LP position NFT in this factory so trading fees accrue to it.
=> token is instantly tradeable on the DEX and shows on DexScreener
(once DexScreener indexes Robinhood Chain), with no curve-to-DEX migration.
Fees you earn:
- deploy fee (native) on every createToken() -> platform (you)
- Uniswap V3 swap fees from the pool (in token + WETH) -> collected by you,
then split platform / creator via collectFees().
WHY SOME THINGS ARE PARAMETERS (read this):
- Uniswap V3 addresses differ on every chain. You MUST pass the real
Robinhood Chain addresses for: v3Factory, positionManager, WETH.
Find them from the DEX docs, or open an existing NOXA/Pons pool on
https://robinhoodchain.blockscout.com and read its factory/manager.
- The starting price (sqrtPriceX96) and the single-sided tick range
(tickLower/tickUpper) are computed OFF-CHAIN by your frontend and passed
in, so the math is verifiable and this contract stays simple/safe.
For a token-only position the range must sit ENTIRELY on the token side
of the current price (see notes in createToken).
SAFETY (do not skip):
- UNAUDITED and it handles real liquidity. TEST ON A TESTNET, then get an
AUDIT before mainnet. A wrong tick/price makes mint revert or mis-price.
- No mint-after-deploy, no blacklist, LP NFT stays in the factory (you can
add a timelock/locker). I am not a financial or legal advisor.
*/
interface IERC20Min {
function approve(address spender, uint256 value) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);
function balanceOf(address a) external view returns (uint256);
}
interface IUniswapV3Factory {
function getPool(address tokenA, address tokenB, uint24 fee) external view returns (address pool);
function createPool(address tokenA, address tokenB, uint24 fee) external returns (address pool);
}
interface IUniswapV3Pool {
function initialize(uint160 sqrtPriceX96) external;
function slot0() external view returns (
uint160 sqrtPriceX96, int24 tick, uint16, uint16, uint16, uint8, bool
);
}
interface INonfungiblePositionManager {
struct MintParams {
address token0; address token1; uint24 fee;
int24 tickLower; int24 tickUpper;
uint256 amount0Desired; uint256 amount1Desired;
uint256 amount0Min; uint256 amount1Min;
address recipient; uint256 deadline;
}
function mint(MintParams calldata params)
external payable
returns (uint256 tokenId, uint128 liquidity, uint256 amount0, uint256 amount1);
struct CollectParams { uint256 tokenId; address recipient; uint128 amount0Max; uint128 amount1Max; }
function collect(CollectParams calldata params) external payable returns (uint256 amount0, uint256 amount1);
}
abstract contract Guard {
uint256 private _l = 1;
modifier nonReentrant() { require(_l == 1, "reentrant"); _l = 2; _; _l = 1; }
}
/* ------------------------------- the token -------------------------------- */
contract LaunchToken {
string public name;
string public symbol;
uint8 public constant decimals = 18;
uint256 public totalSupply;
mapping(address => uint256) public balanceOf;
mapping(address => mapping(address => uint256)) public allowance;
address public creator;
string public metaURI;
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
constructor(string memory _name, string memory _symbol, uint256 _supply, address _to, address _creator, string memory _meta) {
name = _name; symbol = _symbol; creator = _creator; metaURI = _meta;
totalSupply = _supply; balanceOf[_to] = _supply;
emit Transfer(address(0), _to, _supply);
}
function approve(address s, uint256 v) external returns (bool) { allowance[msg.sender][s] = v; emit Approval(msg.sender, s, v); return true; }
function transfer(address t, uint256 v) external returns (bool) { _t(msg.sender, t, v); return true; }
function transferFrom(address f, address t, uint256 v) external returns (bool) {
uint256 a = allowance[f][msg.sender];
if (a != type(uint256).max) { require(a >= v, "allowance"); allowance[f][msg.sender] = a - v; }
_t(f, t, v); return true;
}
function _t(address f, address t, uint256 v) internal {
require(t != address(0), "zero"); uint256 b = balanceOf[f]; require(b >= v, "bal");
unchecked { balanceOf[f] = b - v; } balanceOf[t] += v; emit Transfer(f, t, v);
}
}
/* ------------------------------ the factory ------------------------------- */
contract RobinhoodInstantLaunch is Guard {
uint256 public constant TOKEN_SUPPLY = 1_000_000_000 ether; // 1e9 * 1e18
uint16 public constant MAX_FEE_BPS = 5000; // 50% cap on how you split collected swap fees
// ---- chain config (pass real Robinhood Chain addresses) ----
IUniswapV3Factory public immutable v3Factory;
INonfungiblePositionManager public immutable positionManager;
address public immutable WETH;
uint24 public poolFee; // e.g. 10000 = 1% tier
// ---- platform config ----
address public owner; // platform (you)
uint256 public deployFee; // native charged per launch -> platform
uint16 public creatorSwapFeeShareBps; // of the SWAP fees you collect, this share -> creator (rest -> platform)
// ---- registry ----
struct Launch { address creator; address pool; uint256 lpTokenId; }
mapping(address => Launch) public launches; // token => launch
address[] public allTokens;
mapping(address => address[]) public tokensByCreator;
// ---- accrued native (deploy fees + your WETH-unwrapped share if you choose) ----
uint256 public platformNativeAccrued;
event TokenLaunched(address indexed token, address indexed creator, address pool, uint256 lpTokenId);
event FeesCollected(address indexed token, uint256 tokenAmount, uint256 wethAmount, uint256 toCreator, uint256 toPlatform);
event ConfigUpdated();
event OwnerUpdated(address indexed owner);
modifier onlyOwner() { require(msg.sender == owner, "not owner"); _; }
constructor(
address _v3Factory,
address _positionManager,
address _weth,
uint24 _poolFee,
uint256 _deployFee,
uint16 _creatorSwapFeeShareBps
) {
require(_v3Factory != address(0) && _positionManager != address(0) && _weth != address(0), "zero cfg");
require(_creatorSwapFeeShareBps <= 10000, "share");
v3Factory = IUniswapV3Factory(_v3Factory);
positionManager = INonfungiblePositionManager(_positionManager);
WETH = _weth;
poolFee = _poolFee;
owner = msg.sender;
deployFee = _deployFee;
creatorSwapFeeShareBps = _creatorSwapFeeShareBps;
}
/*
createToken , launches a token and seeds single-sided V3 liquidity.
sqrtPriceX96 : the starting price of the pool, encoded as sqrt(price)*2^96,
where price = amount(token1) / amount(token0). Compute it
off-chain for your target start market cap (see JS helper).
tickLower/tickUpper : the position range. For a TOKEN-ONLY position the
whole range must be on the token side of the current tick:
- if the launch token is token0 (token < WETH):
range ABOVE current tick (tickLower >= currentTick)
- if the launch token is token1 (token > WETH):
range BELOW current tick (tickUpper <= currentTick)
Both must be multiples of the fee tier's tickSpacing.
*/
function createToken(
string calldata name,
string calldata symbol,
string calldata metaURI,
uint160 sqrtPriceX96,
int24 tickLower,
int24 tickUpper
) external payable nonReentrant returns (address token) {
require(msg.value >= deployFee, "deploy fee");
LaunchToken t = new LaunchToken(name, symbol, TOKEN_SUPPLY, address(this), msg.sender, metaURI);
token = address(t);
// order tokens
(address token0, address token1) = token < WETH ? (token, WETH) : (WETH, token);
// The caller passes sqrtPriceX96 + ticks for the CANONICAL case (token == token0),
// so the same three numbers work for every launch at a given market cap, no matter
// what address the new token gets. If the token is actually token1, flip the price
// (1/price) and mirror the ticks so the position stays single-sided (token only).
if (token != token0) {
sqrtPriceX96 = uint160((uint256(1) << 192) / uint256(sqrtPriceX96));
int24 _tl = tickLower;
tickLower = -tickUpper;
tickUpper = -_tl;
}
// create + init pool
address pool = v3Factory.getPool(token0, token1, poolFee);
if (pool == address(0)) {
pool = v3Factory.createPool(token0, token1, poolFee);
}
// initialize price (reverts if already initialized; a fresh token/pool is new)
IUniswapV3Pool(pool).initialize(sqrtPriceX96);
// single-sided amounts: put full supply on the token side, 0 WETH
(uint256 amount0Desired, uint256 amount1Desired) =
token == token0 ? (TOKEN_SUPPLY, uint256(0)) : (uint256(0), TOKEN_SUPPLY);
IERC20Min(token).approve(address(positionManager), TOKEN_SUPPLY);
(uint256 lpTokenId, , , ) = positionManager.mint(
INonfungiblePositionManager.MintParams({
token0: token0, token1: token1, fee: poolFee,
tickLower: tickLower, tickUpper: tickUpper,
amount0Desired: amount0Desired, amount1Desired: amount1Desired,
amount0Min: 0, amount1Min: 0,
recipient: address(this), // factory holds the LP NFT -> fees accrue here
deadline: block.timestamp + 1200
})
);
launches[token] = Launch({ creator: msg.sender, pool: pool, lpTokenId: lpTokenId });
allTokens.push(token);
tokensByCreator[msg.sender].push(token);
if (deployFee > 0) platformNativeAccrued += deployFee;
if (msg.value > deployFee) _send(msg.sender, msg.value - deployFee);
emit TokenLaunched(token, msg.sender, pool, lpTokenId);
}
/*
collectFees , pull the accrued V3 swap fees for a token's LP position and
split them: creator gets creatorSwapFeeShareBps, platform gets the rest.
Fees come in BOTH the token and WETH. Anyone can call; funds only ever go
to the creator and the platform owner.
*/
function collectFees(address token) external nonReentrant {
Launch memory L = launches[token];
require(L.pool != address(0), "no launch");
(uint256 a0, uint256 a1) = positionManager.collect(
INonfungiblePositionManager.CollectParams({
tokenId: L.lpTokenId, recipient: address(this),
amount0Max: type(uint128).max, amount1Max: type(uint128).max
})
);
(address token0, ) = token < WETH ? (token, WETH) : (WETH, token);
uint256 tokenAmt = token == token0 ? a0 : a1;
uint256 wethAmt = token == token0 ? a1 : a0;
uint256 tCreator = (tokenAmt * creatorSwapFeeShareBps) / 10000;
uint256 wCreator = (wethAmt * creatorSwapFeeShareBps) / 10000;
if (tCreator > 0) IERC20Min(token).transfer(L.creator, tCreator);
if (tokenAmt - tCreator > 0) IERC20Min(token).transfer(owner, tokenAmt - tCreator);
if (wCreator > 0) IERC20Min(WETH).transfer(L.creator, wCreator);
if (wethAmt - wCreator > 0) IERC20Min(WETH).transfer(owner, wethAmt - wCreator);
emit FeesCollected(token, tokenAmt, wethAmt, tCreator + wCreator, (tokenAmt - tCreator));
}
// withdraw accrued native deploy fees
function claimPlatformNative(address to) external onlyOwner nonReentrant {
uint256 amt = platformNativeAccrued; require(amt > 0, "nothing");
platformNativeAccrued = 0; _send(to, amt);
}
// ---- views ----
function totalTokens() external view returns (uint256) { return allTokens.length; }
function tokensOf(address c) external view returns (address[] memory) { return tokensByCreator[c]; }
// ---- owner config ----
function setDeployFee(uint256 f) external onlyOwner { deployFee = f; emit ConfigUpdated(); }
function setPoolFee(uint24 f) external onlyOwner { poolFee = f; emit ConfigUpdated(); }
function setCreatorSwapFeeShareBps(uint16 b) external onlyOwner { require(b <= 10000, "share"); creatorSwapFeeShareBps = b; emit ConfigUpdated(); }
function transferOwnership(address n) external onlyOwner { require(n != address(0)); owner = n; emit OwnerUpdated(n); }
function _send(address to, uint256 amount) internal { (bool ok, ) = to.call{value: amount}(""); require(ok, "send"); }
receive() external payable {}
}[
{
"type": "constructor",
"inputs": [
{
"name": "_v3Factory",
"type": "address",
"internalType": "address"
},
{
"name": "_positionManager",
"type": "address",
"internalType": "address"
},
{
"name": "_weth",
"type": "address",
"internalType": "address"
},
{
"name": "_poolFee",
"type": "uint24",
"internalType": "uint24"
},
{
"name": "_deployFee",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "_creatorSwapFeeShareBps",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "nonpayable"
},
{
"name": "ConfigUpdated",
"type": "event",
"inputs": [],
"anonymous": false
},
{
"name": "FeesCollected",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "tokenAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "wethAmount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "toCreator",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
},
{
"name": "toPlatform",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "OwnerUpdated",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "TokenLaunched",
"type": "event",
"inputs": [
{
"name": "token",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "creator",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "pool",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "lpTokenId",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "MAX_FEE_BPS",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "TOKEN_SUPPLY",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "WETH",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "allTokens",
"type": "function",
"inputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "claimPlatformNative",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "collectFees",
"type": "function",
"inputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "createToken",
"type": "function",
"inputs": [
{
"name": "name",
"type": "string",
"internalType": "string"
},
{
"name": "symbol",
"type": "string",
"internalType": "string"
},
{
"name": "metaURI",
"type": "string",
"internalType": "string"
},
{
"name": "sqrtPriceX96",
"type": "uint160",
"internalType": "uint160"
},
{
"name": "tickLower",
"type": "int24",
"internalType": "int24"
},
{
"name": "tickUpper",
"type": "int24",
"internalType": "int24"
}
],
"outputs": [
{
"name": "token",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "payable"
},
{
"name": "creatorSwapFeeShareBps",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint16",
"internalType": "uint16"
}
],
"stateMutability": "view"
},
{
"name": "deployFee",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "launches",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "creator",
"type": "address",
"internalType": "address"
},
{
"name": "pool",
"type": "address",
"internalType": "address"
},
{
"name": "lpTokenId",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "platformNativeAccrued",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "poolFee",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint24",
"internalType": "uint24"
}
],
"stateMutability": "view"
},
{
"name": "positionManager",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract INonfungiblePositionManager"
}
],
"stateMutability": "view"
},
{
"name": "setCreatorSwapFeeShareBps",
"type": "function",
"inputs": [
{
"name": "b",
"type": "uint16",
"internalType": "uint16"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setDeployFee",
"type": "function",
"inputs": [
{
"name": "f",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setPoolFee",
"type": "function",
"inputs": [
{
"name": "f",
"type": "uint24",
"internalType": "uint24"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "tokensByCreator",
"type": "function",
"inputs": [
{
"name": "",
"type": "address",
"internalType": "address"
},
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "tokensOf",
"type": "function",
"inputs": [
{
"name": "c",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "address[]",
"internalType": "address[]"
}
],
"stateMutability": "view"
},
{
"name": "totalTokens",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "n",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "v3Factory",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "contract IUniswapV3Factory"
}
],
"stateMutability": "view"
},
{
"type": "receive",
"stateMutability": "payable"
}
]0x60e060405260015f55348015610013575f80fd5b5060405161488938038061488983398181016040528101906100359190610386565b5f73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561009d57505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156100d557505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b610114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161010b90610469565b60405180910390fd5b6127108161ffff16111561015d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610154906104d1565b60405180910390fd5b8573ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508473ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508260015f6101000a81548162ffffff021916908362ffffff16021790555033600160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816002819055508060035f6101000a81548161ffff021916908361ffff1602179055505050505050506104ef565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6102b38261028a565b9050919050565b6102c3816102a9565b81146102cd575f80fd5b50565b5f815190506102de816102ba565b92915050565b5f62ffffff82169050919050565b6102fb816102e4565b8114610305575f80fd5b50565b5f81519050610316816102f2565b92915050565b5f819050919050565b61032e8161031c565b8114610338575f80fd5b50565b5f8151905061034981610325565b92915050565b5f61ffff82169050919050565b6103658161034f565b811461036f575f80fd5b50565b5f815190506103808161035c565b92915050565b5f805f805f8060c087890312156103a05761039f610286565b5b5f6103ad89828a016102d0565b96505060206103be89828a016102d0565b95505060406103cf89828a016102d0565b94505060606103e089828a01610308565b93505060806103f189828a0161033b565b92505060a061040289828a01610372565b9150509295509295509295565b5f82825260208201905092915050565b7f7a65726f206366670000000000000000000000000000000000000000000000005f82015250565b5f61045360088361040f565b915061045e8261041f565b602082019050919050565b5f6020820190508181035f83015261048081610447565b9050919050565b7f73686172650000000000000000000000000000000000000000000000000000005f82015250565b5f6104bb60058361040f565b91506104c682610487565b602082019050919050565b5f6020820190508181035f8301526104e8816104af565b9050919050565b60805160a05160c0516143156105745f395f81816108b0015281816109030152818161092b015281816116470152818161169a015281816116c20152818161190e015281816119c10152611be001525f8181610c3a01528181610cc701528181611315015261154c01525f81816109cc01528181610aad015261133901526143155ff3fe608060405260043610610138575f3560e01c80637e1c0c09116100aa578063ad5c46481161006e578063ad5c464814610417578063b152f6cf14610441578063d55be8c61461046b578063d80d03a214610495578063eb2a5d2c146104d1578063f2fde38b146104fb5761013f565b80637e1c0c09146103495780638da5cb5b14610373578063a480ca791461039d578063a6d64576146103c5578063a9e52987146103ef5761013f565b8063634282af116100fc578063634282af1461023957806372bbe6711461027557806373dd250c146102a5578063781f28c3146102cd578063791b98bc146102f55780637c887c591461031f5761013f565b8063089fe6aa146101435780631362e64f1461016d5780631f2d8550146101975780632091eea3146101d55780635a3f2672146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b50610157610523565b6040516101649190611e8b565b60405180910390f35b348015610178575f80fd5b50610181610537565b60405161018e9190611ebc565b60405180910390f35b3480156101a2575f80fd5b506101bd60048036038101906101b89190611f37565b61053d565b6040516101cc93929190611f71565b60405180910390f35b3480156101e0575f80fd5b506101fb60048036038101906101f69190611fdd565b6105a1565b005b348015610208575f80fd5b50610223600480360381019061021e9190611f37565b6106c5565b60405161023091906120bf565b60405180910390f35b348015610244575f80fd5b5061025f600480360381019061025a9190612109565b61078d565b60405161026c9190612134565b60405180910390f35b61028f600480360381019061028a919061220e565b6107c8565b60405161029c9190612134565b60405180910390f35b3480156102b0575f80fd5b506102cb60048036038101906102c69190612321565b6110f7565b005b3480156102d8575f80fd5b506102f360048036038101906102ee9190611f37565b6111d4565b005b348015610300575f80fd5b50610309611313565b60405161031691906123a7565b60405180910390f35b34801561032a575f80fd5b50610333611337565b60405161034091906123e0565b60405180910390f35b348015610354575f80fd5b5061035d61135b565b60405161036a9190611ebc565b60405180910390f35b34801561037e575f80fd5b50610387611367565b6040516103949190612134565b60405180910390f35b3480156103a8575f80fd5b506103c360048036038101906103be9190611f37565b61138d565b005b3480156103d0575f80fd5b506103d9611b05565b6040516103e69190612408565b60405180910390f35b3480156103fa575f80fd5b5061041560048036038101906104109190612109565b611b18565b005b348015610422575f80fd5b5061042b611bde565b6040516104389190612134565b60405180910390f35b34801561044c575f80fd5b50610455611c02565b6040516104629190611ebc565b60405180910390f35b348015610476575f80fd5b5061047f611c12565b60405161048c9190612408565b60405180910390f35b3480156104a0575f80fd5b506104bb60048036038101906104b69190612421565b611c18565b6040516104c89190612134565b60405180910390f35b3480156104dc575f80fd5b506104e5611c60565b6040516104f29190611ebc565b60405180910390f35b348015610506575f80fd5b50610521600480360381019061051c9190611f37565b611c66565b005b60015f9054906101000a900462ffffff1681565b60075481565b6004602052805f5260405f205f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610631576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610628906124b9565b60405180910390fd5b6127108161ffff16111561067a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067190612521565b60405180910390fd5b8060035f6101000a81548161ffff021916908361ffff1602179055507ffe891c6ab12cf73707f8deb6600c12ba382e4cc31eb2b0a2754cad13075ed2d160405160405180910390a150565b606060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080548060200260200160405190810160405280929190818152602001828054801561078157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610738575b50505050509050919050565b6005818154811061079c575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f541461080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080490612589565b60405180910390fd5b60025f81905550600254341015610859576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610850906125f1565b60405180910390fd5b5f8a8a8a8a6b033b2e3c9fd0803ce800000030338d8d60405161087b90611e61565b61088d99989796959493929190612659565b604051809103905ff0801580156108a6573d5f803e3d5ffd5b5090508091505f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610928577f00000000000000000000000000000000000000000000000000000000000000008461094b565b837f00000000000000000000000000000000000000000000000000000000000000005b915091508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146109c9578673ffffffffffffffffffffffffffffffffffffffff1660c06001901b6109a9919061272d565b96505f869050856109b99061275d565b9650806109c59061275d565b9550505b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16631698ee82848460015f9054906101000a900462ffffff166040518463ffffffff1660e01b8152600401610a37939291906127a3565b602060405180830381865afa158015610a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7691906127ec565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b5b577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a1671295848460015f9054906101000a900462ffffff166040518463ffffffff1660e01b8152600401610b18939291906127a3565b6020604051808303815f875af1158015610b34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5891906127ec565b90505b8073ffffffffffffffffffffffffffffffffffffffff1663f637731d896040518263ffffffff1660e01b8152600401610b949190612826565b5f604051808303815f87803b158015610bab575f80fd5b505af1158015610bbd573d5f803e3d5ffd5b505050505f808473ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614610c09575f6b033b2e3c9fd0803ce8000000610c18565b6b033b2e3c9fd0803ce80000005f5b915091508673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000000000000000000000000000000000000000000006b033b2e3c9fd0803ce80000006040518363ffffffff1660e01b8152600401610c8392919061283f565b6020604051808303815f875af1158015610c9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cc3919061289b565b505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663883164566040518061016001604052808973ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff16815260200160015f9054906101000a900462ffffff1662ffffff1681526020018d60020b81526020018c60020b81526020018681526020018581526020015f81526020015f81526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016104b042610db491906128c6565b8152506040518263ffffffff1660e01b8152600401610dd39190612a05565b6080604051808303815f875af1158015610def573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e139190612a78565b505050905060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018281525060045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155905050600588908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2088908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60025411156110535760025460075f82825461104b91906128c6565b925050819055505b60025434111561107557611074336002543461106f9190612adc565b611db4565b5b3373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167faa1fd485cb601a5b85e2cd1f22e0ca8107bde33fe09c9783a4d42871a0c6d0e186846040516110d492919061283f565b60405180910390a35050505050505060015f819055509998505050505050505050565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117e906124b9565b60405180910390fd5b8060015f6101000a81548162ffffff021916908362ffffff1602179055507ffe891c6ab12cf73707f8deb6600c12ba382e4cc31eb2b0a2754cad13075ed2d160405160405180910390a150565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125b906124b9565b60405180910390fd5b60015f54146112a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129f90612589565b60405180910390fd5b60025f819055505f60075490505f81116112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee90612b59565b60405180910390fd5b5f6007819055506113088282611db4565b5060015f8190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600580549050905090565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f54146113d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c890612589565b60405180910390fd5b60025f819055505f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060600160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152505090505f73ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff1603611548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153f90612bc1565b60405180910390fd5b5f807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fc6f78656040518060800160405280866040015181526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016fffffffffffffffffffffffffffffffff801681526020016fffffffffffffffffffffffffffffffff80168152506040518263ffffffff1660e01b81526004016116019190612c41565b60408051808303815f875af115801561161c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116409190612c5a565b915091505f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16106116bf577f0000000000000000000000000000000000000000000000000000000000000000856116e2565b847f00000000000000000000000000000000000000000000000000000000000000005b5090505f8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461171f5782611721565b835b90505f8273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461175d578461175f565b835b90505f61271060035f9054906101000a900461ffff1661ffff16846117849190612c98565b61178e919061272d565b90505f61271060035f9054906101000a900461ffff1661ffff16846117b39190612c98565b6117bd919061272d565b90505f821115611847578873ffffffffffffffffffffffffffffffffffffffff1663a9059cbb895f0151846040518363ffffffff1660e01b815260040161180592919061283f565b6020604051808303815f875af1158015611821573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611845919061289b565b505b5f82856118549190612adc565b1115611904578873ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684876118a59190612adc565b6040518363ffffffff1660e01b81526004016118c292919061283f565b6020604051808303815f875af11580156118de573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611902919061289b565b505b5f8111156119ac577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb895f0151836040518363ffffffff1660e01b815260040161196a92919061283f565b6020604051808303815f875af1158015611986573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119aa919061289b565b505b5f81846119b99190612adc565b1115611a89577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff168386611a2a9190612adc565b6040518363ffffffff1660e01b8152600401611a4792919061283f565b6020604051808303815f875af1158015611a63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a87919061289b565b505b8873ffffffffffffffffffffffffffffffffffffffff167f7169048ac0fa5092b61a37205ccfd5269382afea33491901921d313ebb0d6b8c85858486611acf91906128c6565b8689611adb9190612adc565b604051611aeb9493929190612cd9565b60405180910390a2505050505050505060015f8190555050565b60035f9054906101000a900461ffff1681565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9f906124b9565b60405180910390fd5b806002819055507ffe891c6ab12cf73707f8deb6600c12ba382e4cc31eb2b0a2754cad13075ed2d160405160405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b6b033b2e3c9fd0803ce800000081565b61138881565b6006602052815f5260405f208181548110611c31575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ced906124b9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d2d575f80fd5b80600160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b60405160405180910390a250565b5f8273ffffffffffffffffffffffffffffffffffffffff1682604051611dd990612d49565b5f6040518083038185875af1925050503d805f8114611e13576040519150601f19603f3d011682016040523d82523d5f602084013e611e18565b606091505b5050905080611e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5390612da7565b60405180910390fd5b505050565b61151a80612dc683390190565b5f62ffffff82169050919050565b611e8581611e6e565b82525050565b5f602082019050611e9e5f830184611e7c565b92915050565b5f819050919050565b611eb681611ea4565b82525050565b5f602082019050611ecf5f830184611ead565b92915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f0682611edd565b9050919050565b611f1681611efc565b8114611f20575f80fd5b50565b5f81359050611f3181611f0d565b92915050565b5f60208284031215611f4c57611f4b611ed5565b5b5f611f5984828501611f23565b91505092915050565b611f6b81611efc565b82525050565b5f606082019050611f845f830186611f62565b611f916020830185611f62565b611f9e6040830184611ead565b949350505050565b5f61ffff82169050919050565b611fbc81611fa6565b8114611fc6575f80fd5b50565b5f81359050611fd781611fb3565b92915050565b5f60208284031215611ff257611ff1611ed5565b5b5f611fff84828501611fc9565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61203a81611efc565b82525050565b5f61204b8383612031565b60208301905092915050565b5f602082019050919050565b5f61206d82612008565b6120778185612012565b935061208283612022565b805f5b838110156120b25781516120998882612040565b97506120a483612057565b925050600181019050612085565b5085935050505092915050565b5f6020820190508181035f8301526120d78184612063565b905092915050565b6120e881611ea4565b81146120f2575f80fd5b50565b5f81359050612103816120df565b92915050565b5f6020828403121561211e5761211d611ed5565b5b5f61212b848285016120f5565b91505092915050565b5f6020820190506121475f830184611f62565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261216e5761216d61214d565b5b8235905067ffffffffffffffff81111561218b5761218a612151565b5b6020830191508360018202830111156121a7576121a6612155565b5b9250929050565b6121b781611edd565b81146121c1575f80fd5b50565b5f813590506121d2816121ae565b92915050565b5f8160020b9050919050565b6121ed816121d8565b81146121f7575f80fd5b50565b5f81359050612208816121e4565b92915050565b5f805f805f805f805f60c08a8c03121561222b5761222a611ed5565b5b5f8a013567ffffffffffffffff81111561224857612247611ed9565b5b6122548c828d01612159565b995099505060208a013567ffffffffffffffff81111561227757612276611ed9565b5b6122838c828d01612159565b975097505060408a013567ffffffffffffffff8111156122a6576122a5611ed9565b5b6122b28c828d01612159565b955095505060606122c58c828d016121c4565b93505060806122d68c828d016121fa565b92505060a06122e78c828d016121fa565b9150509295985092959850929598565b61230081611e6e565b811461230a575f80fd5b50565b5f8135905061231b816122f7565b92915050565b5f6020828403121561233657612335611ed5565b5b5f6123438482850161230d565b91505092915050565b5f819050919050565b5f61236f61236a61236584611edd565b61234c565b611edd565b9050919050565b5f61238082612355565b9050919050565b5f61239182612376565b9050919050565b6123a181612387565b82525050565b5f6020820190506123ba5f830184612398565b92915050565b5f6123ca82612376565b9050919050565b6123da816123c0565b82525050565b5f6020820190506123f35f8301846123d1565b92915050565b61240281611fa6565b82525050565b5f60208201905061241b5f8301846123f9565b92915050565b5f806040838503121561243757612436611ed5565b5b5f61244485828601611f23565b9250506020612455858286016120f5565b9150509250929050565b5f82825260208201905092915050565b7f6e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f6124a360098361245f565b91506124ae8261246f565b602082019050919050565b5f6020820190508181035f8301526124d081612497565b9050919050565b7f73686172650000000000000000000000000000000000000000000000000000005f82015250565b5f61250b60058361245f565b9150612516826124d7565b602082019050919050565b5f6020820190508181035f830152612538816124ff565b9050919050565b7f7265656e7472616e7400000000000000000000000000000000000000000000005f82015250565b5f61257360098361245f565b915061257e8261253f565b602082019050919050565b5f6020820190508181035f8301526125a081612567565b9050919050565b7f6465706c6f7920666565000000000000000000000000000000000000000000005f82015250565b5f6125db600a8361245f565b91506125e6826125a7565b602082019050919050565b5f6020820190508181035f830152612608816125cf565b9050919050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f612638838561245f565b935061264583858461260f565b61264e8361261d565b840190509392505050565b5f60c0820190508181035f830152612672818b8d61262d565b9050818103602083015261268781898b61262d565b90506126966040830188611ead565b6126a36060830187611f62565b6126b06080830186611f62565b81810360a08301526126c381848661262d565b90509a9950505050505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61273782611ea4565b915061274283611ea4565b925082612752576127516126d3565b5b828204905092915050565b5f612767826121d8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000820361279957612798612700565b5b815f039050919050565b5f6060820190506127b65f830186611f62565b6127c36020830185611f62565b6127d06040830184611e7c565b949350505050565b5f815190506127e681611f0d565b92915050565b5f6020828403121561280157612800611ed5565b5b5f61280e848285016127d8565b91505092915050565b61282081611edd565b82525050565b5f6020820190506128395f830184612817565b92915050565b5f6040820190506128525f830185611f62565b61285f6020830184611ead565b9392505050565b5f8115159050919050565b61287a81612866565b8114612884575f80fd5b50565b5f8151905061289581612871565b92915050565b5f602082840312156128b0576128af611ed5565b5b5f6128bd84828501612887565b91505092915050565b5f6128d082611ea4565b91506128db83611ea4565b92508282019050808211156128f3576128f2612700565b5b92915050565b61290281611e6e565b82525050565b612911816121d8565b82525050565b61292081611ea4565b82525050565b61016082015f82015161293b5f850182612031565b50602082015161294e6020850182612031565b50604082015161296160408501826128f9565b5060608201516129746060850182612908565b5060808201516129876080850182612908565b5060a082015161299a60a0850182612917565b5060c08201516129ad60c0850182612917565b5060e08201516129c060e0850182612917565b506101008201516129d5610100850182612917565b506101208201516129ea610120850182612031565b506101408201516129ff610140850182612917565b50505050565b5f61016082019050612a195f830184612926565b92915050565b5f81519050612a2d816120df565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b612a5781612a33565b8114612a61575f80fd5b50565b5f81519050612a7281612a4e565b92915050565b5f805f8060808587031215612a9057612a8f611ed5565b5b5f612a9d87828801612a1f565b9450506020612aae87828801612a64565b9350506040612abf87828801612a1f565b9250506060612ad087828801612a1f565b91505092959194509250565b5f612ae682611ea4565b9150612af183611ea4565b9250828203905081811115612b0957612b08612700565b5b92915050565b7f6e6f7468696e67000000000000000000000000000000000000000000000000005f82015250565b5f612b4360078361245f565b9150612b4e82612b0f565b602082019050919050565b5f6020820190508181035f830152612b7081612b37565b9050919050565b7f6e6f206c61756e636800000000000000000000000000000000000000000000005f82015250565b5f612bab60098361245f565b9150612bb682612b77565b602082019050919050565b5f6020820190508181035f830152612bd881612b9f565b9050919050565b612be881612a33565b82525050565b608082015f820151612c025f850182612917565b506020820151612c156020850182612031565b506040820151612c286040850182612bdf565b506060820151612c3b6060850182612bdf565b50505050565b5f608082019050612c545f830184612bee565b92915050565b5f8060408385031215612c7057612c6f611ed5565b5b5f612c7d85828601612a1f565b9250506020612c8e85828601612a1f565b9150509250929050565b5f612ca282611ea4565b9150612cad83611ea4565b9250828202612cbb81611ea4565b91508282048414831517612cd257612cd1612700565b5b5092915050565b5f608082019050612cec5f830187611ead565b612cf96020830186611ead565b612d066040830185611ead565b612d136060830184611ead565b95945050505050565b5f81905092915050565b50565b5f612d345f83612d1c565b9150612d3f82612d26565b5f82019050919050565b5f612d5382612d29565b9150819050919050565b7f73656e64000000000000000000000000000000000000000000000000000000005f82015250565b5f612d9160048361245f565b9150612d9c82612d5d565b602082019050919050565b5f6020820190508181035f830152612dbe81612d85565b905091905056fe608060405234801561000f575f80fd5b5060405161151a38038061151a83398181016040528101906100319190610333565b855f908161003f9190610614565b50846001908161004f9190610614565b508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806006908161009f9190610614565b50836002819055508360035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161014691906106f2565b60405180910390a350505050505061070b565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101b882610172565b810181811067ffffffffffffffff821117156101d7576101d6610182565b5b80604052505050565b5f6101e9610159565b90506101f582826101af565b919050565b5f67ffffffffffffffff82111561021457610213610182565b5b61021d82610172565b9050602081019050919050565b8281835e5f83830152505050565b5f61024a610245846101fa565b6101e0565b9050828152602081018484840111156102665761026561016e565b5b61027184828561022a565b509392505050565b5f82601f83011261028d5761028c61016a565b5b815161029d848260208601610238565b91505092915050565b5f819050919050565b6102b8816102a6565b81146102c2575f80fd5b50565b5f815190506102d3816102af565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610302826102d9565b9050919050565b610312816102f8565b811461031c575f80fd5b50565b5f8151905061032d81610309565b92915050565b5f805f805f8060c0878903121561034d5761034c610162565b5b5f87015167ffffffffffffffff81111561036a57610369610166565b5b61037689828a01610279565b965050602087015167ffffffffffffffff81111561039757610396610166565b5b6103a389828a01610279565b95505060406103b489828a016102c5565b94505060606103c589828a0161031f565b93505060806103d689828a0161031f565b92505060a087015167ffffffffffffffff8111156103f7576103f6610166565b5b61040389828a01610279565b9150509295509295509295565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061045e57607f821691505b6020821081036104715761047061041a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610498565b6104dd8683610498565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61051861051361050e846102a6565b6104f5565b6102a6565b9050919050565b5f819050919050565b610531836104fe565b61054561053d8261051f565b8484546104a4565b825550505050565b5f90565b61055961054d565b610564818484610528565b505050565b5b818110156105875761057c5f82610551565b60018101905061056a565b5050565b601f8211156105cc5761059d81610477565b6105a684610489565b810160208510156105b5578190505b6105c96105c185610489565b830182610569565b50505b505050565b5f82821c905092915050565b5f6105ec5f19846008026105d1565b1980831691505092915050565b5f61060483836105dd565b9150826002028217905092915050565b61061d82610410565b67ffffffffffffffff81111561063657610635610182565b5b6106408254610447565b61064b82828561058b565b5f60209050601f83116001811461067c575f841561066a578287015190505b61067485826105f9565b8655506106db565b601f19841661068a86610477565b5f5b828110156106b15784890151825560018201915060208501945060208101905061068c565b868310156106ce57848901516106ca601f8916826105dd565b8355505b6001600288020188555050505b505050505050565b6106ec816102a6565b82525050565b5f6020820190506107055f8301846106e3565b92915050565b610e02806107185f395ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c8063313ce5671161006f578063313ce56714610165578063676057871461018357806370a08231146101a157806395d89b41146101d1578063a9059cbb146101ef578063dd62ed3e1461021f576100a7565b806302d05d3f146100ab57806306fdde03146100c9578063095ea7b3146100e757806318160ddd1461011757806323b872dd14610135575b5f80fd5b6100b361024f565b6040516100c09190610914565b60405180910390f35b6100d1610274565b6040516100de919061099d565b60405180910390f35b61010160048036038101906100fc9190610a1e565b6102ff565b60405161010e9190610a76565b60405180910390f35b61011f6103ec565b60405161012c9190610a9e565b60405180910390f35b61014f600480360381019061014a9190610ab7565b6103f2565b60405161015c9190610a76565b60405180910390f35b61016d610579565b60405161017a9190610b22565b60405180910390f35b61018b61057e565b604051610198919061099d565b60405180910390f35b6101bb60048036038101906101b69190610b3b565b61060a565b6040516101c89190610a9e565b60405180910390f35b6101d961061f565b6040516101e6919061099d565b60405180910390f35b61020960048036038101906102049190610a1e565b6106ab565b6040516102169190610a76565b60405180910390f35b61023960048036038101906102349190610b66565b6106c1565b6040516102469190610a9e565b60405180910390f35b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805461028090610bd1565b80601f01602080910402602001604051908101604052809291908181526020018280546102ac90610bd1565b80156102f75780601f106102ce576101008083540402835291602001916102f7565b820191905f5260205f20905b8154815290600101906020018083116102da57829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103da9190610a9e565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461056257828110156104d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d090610c4b565b60405180910390fd5b82816104e59190610c96565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b61056d8585856106e1565b60019150509392505050565b601281565b6006805461058b90610bd1565b80601f01602080910402602001604051908101604052809291908181526020018280546105b790610bd1565b80156106025780601f106105d957610100808354040283529160200191610602565b820191905f5260205f20905b8154815290600101906020018083116105e557829003601f168201915b505050505081565b6003602052805f5260405f205f915090505481565b6001805461062c90610bd1565b80601f016020809104026020016040519081016040528092919081815260200182805461065890610bd1565b80156106a35780601f1061067a576101008083540402835291602001916106a3565b820191905f5260205f20905b81548152906001019060200180831161068657829003601f168201915b505050505081565b5f6106b73384846106e1565b6001905092915050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361074f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074690610d13565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156107d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ca90610d7b565b60405180910390fd5b81810360035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108639190610d99565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108c79190610a9e565b60405180910390a350505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108fe826108d5565b9050919050565b61090e816108f4565b82525050565b5f6020820190506109275f830184610905565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61096f8261092d565b6109798185610937565b9350610989818560208601610947565b61099281610955565b840191505092915050565b5f6020820190508181035f8301526109b58184610965565b905092915050565b5f80fd5b6109ca816108f4565b81146109d4575f80fd5b50565b5f813590506109e5816109c1565b92915050565b5f819050919050565b6109fd816109eb565b8114610a07575f80fd5b50565b5f81359050610a18816109f4565b92915050565b5f8060408385031215610a3457610a336109bd565b5b5f610a41858286016109d7565b9250506020610a5285828601610a0a565b9150509250929050565b5f8115159050919050565b610a7081610a5c565b82525050565b5f602082019050610a895f830184610a67565b92915050565b610a98816109eb565b82525050565b5f602082019050610ab15f830184610a8f565b92915050565b5f805f60608486031215610ace57610acd6109bd565b5b5f610adb868287016109d7565b9350506020610aec868287016109d7565b9250506040610afd86828701610a0a565b9150509250925092565b5f60ff82169050919050565b610b1c81610b07565b82525050565b5f602082019050610b355f830184610b13565b92915050565b5f60208284031215610b5057610b4f6109bd565b5b5f610b5d848285016109d7565b91505092915050565b5f8060408385031215610b7c57610b7b6109bd565b5b5f610b89858286016109d7565b9250506020610b9a858286016109d7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610be857607f821691505b602082108103610bfb57610bfa610ba4565b5b50919050565b7f616c6c6f77616e636500000000000000000000000000000000000000000000005f82015250565b5f610c35600983610937565b9150610c4082610c01565b602082019050919050565b5f6020820190508181035f830152610c6281610c29565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610ca0826109eb565b9150610cab836109eb565b9250828203905081811115610cc357610cc2610c69565b5b92915050565b7f7a65726f000000000000000000000000000000000000000000000000000000005f82015250565b5f610cfd600483610937565b9150610d0882610cc9565b602082019050919050565b5f6020820190508181035f830152610d2a81610cf1565b9050919050565b7f62616c00000000000000000000000000000000000000000000000000000000005f82015250565b5f610d65600383610937565b9150610d7082610d31565b602082019050919050565b5f6020820190508181035f830152610d9281610d59565b9050919050565b5f610da3826109eb565b9150610dae836109eb565b9250828201905080821115610dc657610dc5610c69565b5b9291505056fea264697066735822122058be6f9348cc86f7396012f4c04dfe64b841cfe7b72092ef92038d422f776de564736f6c634300081a0033a264697066735822122017433262016536f8deb926ef3b4ca20bd636f39ff51320f62a997053b0a0c15664736f6c634300081a00330000000000000000000000001f7d7550b1b028f7571e69a784071f0205fd2efa00000000000000000000000073991a25c818bf1f1128deaab1492d45638de0d30000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad73000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001388
0x608060405260043610610138575f3560e01c80637e1c0c09116100aa578063ad5c46481161006e578063ad5c464814610417578063b152f6cf14610441578063d55be8c61461046b578063d80d03a214610495578063eb2a5d2c146104d1578063f2fde38b146104fb5761013f565b80637e1c0c09146103495780638da5cb5b14610373578063a480ca791461039d578063a6d64576146103c5578063a9e52987146103ef5761013f565b8063634282af116100fc578063634282af1461023957806372bbe6711461027557806373dd250c146102a5578063781f28c3146102cd578063791b98bc146102f55780637c887c591461031f5761013f565b8063089fe6aa146101435780631362e64f1461016d5780631f2d8550146101975780632091eea3146101d55780635a3f2672146101fd5761013f565b3661013f57005b5f80fd5b34801561014e575f80fd5b50610157610523565b6040516101649190611e8b565b60405180910390f35b348015610178575f80fd5b50610181610537565b60405161018e9190611ebc565b60405180910390f35b3480156101a2575f80fd5b506101bd60048036038101906101b89190611f37565b61053d565b6040516101cc93929190611f71565b60405180910390f35b3480156101e0575f80fd5b506101fb60048036038101906101f69190611fdd565b6105a1565b005b348015610208575f80fd5b50610223600480360381019061021e9190611f37565b6106c5565b60405161023091906120bf565b60405180910390f35b348015610244575f80fd5b5061025f600480360381019061025a9190612109565b61078d565b60405161026c9190612134565b60405180910390f35b61028f600480360381019061028a919061220e565b6107c8565b60405161029c9190612134565b60405180910390f35b3480156102b0575f80fd5b506102cb60048036038101906102c69190612321565b6110f7565b005b3480156102d8575f80fd5b506102f360048036038101906102ee9190611f37565b6111d4565b005b348015610300575f80fd5b50610309611313565b60405161031691906123a7565b60405180910390f35b34801561032a575f80fd5b50610333611337565b60405161034091906123e0565b60405180910390f35b348015610354575f80fd5b5061035d61135b565b60405161036a9190611ebc565b60405180910390f35b34801561037e575f80fd5b50610387611367565b6040516103949190612134565b60405180910390f35b3480156103a8575f80fd5b506103c360048036038101906103be9190611f37565b61138d565b005b3480156103d0575f80fd5b506103d9611b05565b6040516103e69190612408565b60405180910390f35b3480156103fa575f80fd5b5061041560048036038101906104109190612109565b611b18565b005b348015610422575f80fd5b5061042b611bde565b6040516104389190612134565b60405180910390f35b34801561044c575f80fd5b50610455611c02565b6040516104629190611ebc565b60405180910390f35b348015610476575f80fd5b5061047f611c12565b60405161048c9190612408565b60405180910390f35b3480156104a0575f80fd5b506104bb60048036038101906104b69190612421565b611c18565b6040516104c89190612134565b60405180910390f35b3480156104dc575f80fd5b506104e5611c60565b6040516104f29190611ebc565b60405180910390f35b348015610506575f80fd5b50610521600480360381019061051c9190611f37565b611c66565b005b60015f9054906101000a900462ffffff1681565b60075481565b6004602052805f5260405f205f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610631576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610628906124b9565b60405180910390fd5b6127108161ffff16111561067a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067190612521565b60405180910390fd5b8060035f6101000a81548161ffff021916908361ffff1602179055507ffe891c6ab12cf73707f8deb6600c12ba382e4cc31eb2b0a2754cad13075ed2d160405160405180910390a150565b606060065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2080548060200260200160405190810160405280929190818152602001828054801561078157602002820191905f5260205f20905b815f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311610738575b50505050509050919050565b6005818154811061079c575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60015f541461080d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080490612589565b60405180910390fd5b60025f81905550600254341015610859576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610850906125f1565b60405180910390fd5b5f8a8a8a8a6b033b2e3c9fd0803ce800000030338d8d60405161087b90611e61565b61088d99989796959493929190612659565b604051809103905ff0801580156108a6573d5f803e3d5ffd5b5090508091505f807f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad7373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1610610928577f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad738461094b565b837f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad735b915091508173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146109c9578673ffffffffffffffffffffffffffffffffffffffff1660c06001901b6109a9919061272d565b96505f869050856109b99061275d565b9650806109c59061275d565b9550505b5f7f0000000000000000000000001f7d7550b1b028f7571e69a784071f0205fd2efa73ffffffffffffffffffffffffffffffffffffffff16631698ee82848460015f9054906101000a900462ffffff166040518463ffffffff1660e01b8152600401610a37939291906127a3565b602060405180830381865afa158015610a52573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7691906127ec565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b5b577f0000000000000000000000001f7d7550b1b028f7571e69a784071f0205fd2efa73ffffffffffffffffffffffffffffffffffffffff1663a1671295848460015f9054906101000a900462ffffff166040518463ffffffff1660e01b8152600401610b18939291906127a3565b6020604051808303815f875af1158015610b34573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5891906127ec565b90505b8073ffffffffffffffffffffffffffffffffffffffff1663f637731d896040518263ffffffff1660e01b8152600401610b949190612826565b5f604051808303815f87803b158015610bab575f80fd5b505af1158015610bbd573d5f803e3d5ffd5b505050505f808473ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614610c09575f6b033b2e3c9fd0803ce8000000610c18565b6b033b2e3c9fd0803ce80000005f5b915091508673ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f00000000000000000000000073991a25c818bf1f1128deaab1492d45638de0d36b033b2e3c9fd0803ce80000006040518363ffffffff1660e01b8152600401610c8392919061283f565b6020604051808303815f875af1158015610c9f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cc3919061289b565b505f7f00000000000000000000000073991a25c818bf1f1128deaab1492d45638de0d373ffffffffffffffffffffffffffffffffffffffff1663883164566040518061016001604052808973ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff16815260200160015f9054906101000a900462ffffff1662ffffff1681526020018d60020b81526020018c60020b81526020018681526020018581526020015f81526020015f81526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016104b042610db491906128c6565b8152506040518263ffffffff1660e01b8152600401610dd39190612a05565b6080604051808303815f875af1158015610def573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e139190612a78565b505050905060405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018281525060045f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020155905050600588908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2088908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60025411156110535760025460075f82825461104b91906128c6565b925050819055505b60025434111561107557611074336002543461106f9190612adc565b611db4565b5b3373ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167faa1fd485cb601a5b85e2cd1f22e0ca8107bde33fe09c9783a4d42871a0c6d0e186846040516110d492919061283f565b60405180910390a35050505050505060015f819055509998505050505050505050565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117e906124b9565b60405180910390fd5b8060015f6101000a81548162ffffff021916908362ffffff1602179055507ffe891c6ab12cf73707f8deb6600c12ba382e4cc31eb2b0a2754cad13075ed2d160405160405180910390a150565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125b906124b9565b60405180910390fd5b60015f54146112a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161129f90612589565b60405180910390fd5b60025f819055505f60075490505f81116112f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ee90612b59565b60405180910390fd5b5f6007819055506113088282611db4565b5060015f8190555050565b7f00000000000000000000000073991a25c818bf1f1128deaab1492d45638de0d381565b7f0000000000000000000000001f7d7550b1b028f7571e69a784071f0205fd2efa81565b5f600580549050905090565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f54146113d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c890612589565b60405180910390fd5b60025f819055505f60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060600160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152505090505f73ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff1603611548576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153f90612bc1565b60405180910390fd5b5f807f00000000000000000000000073991a25c818bf1f1128deaab1492d45638de0d373ffffffffffffffffffffffffffffffffffffffff1663fc6f78656040518060800160405280866040015181526020013073ffffffffffffffffffffffffffffffffffffffff1681526020016fffffffffffffffffffffffffffffffff801681526020016fffffffffffffffffffffffffffffffff80168152506040518263ffffffff1660e01b81526004016116019190612c41565b60408051808303815f875af115801561161c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116409190612c5a565b915091505f7f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad7373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16106116bf577f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad73856116e2565b847f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad735b5090505f8173ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461171f5782611721565b835b90505f8273ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161461175d578461175f565b835b90505f61271060035f9054906101000a900461ffff1661ffff16846117849190612c98565b61178e919061272d565b90505f61271060035f9054906101000a900461ffff1661ffff16846117b39190612c98565b6117bd919061272d565b90505f821115611847578873ffffffffffffffffffffffffffffffffffffffff1663a9059cbb895f0151846040518363ffffffff1660e01b815260040161180592919061283f565b6020604051808303815f875af1158015611821573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611845919061289b565b505b5f82856118549190612adc565b1115611904578873ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684876118a59190612adc565b6040518363ffffffff1660e01b81526004016118c292919061283f565b6020604051808303815f875af11580156118de573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611902919061289b565b505b5f8111156119ac577f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad7373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb895f0151836040518363ffffffff1660e01b815260040161196a92919061283f565b6020604051808303815f875af1158015611986573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119aa919061289b565b505b5f81846119b99190612adc565b1115611a89577f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad7373ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff168386611a2a9190612adc565b6040518363ffffffff1660e01b8152600401611a4792919061283f565b6020604051808303815f875af1158015611a63573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a87919061289b565b505b8873ffffffffffffffffffffffffffffffffffffffff167f7169048ac0fa5092b61a37205ccfd5269382afea33491901921d313ebb0d6b8c85858486611acf91906128c6565b8689611adb9190612adc565b604051611aeb9493929190612cd9565b60405180910390a2505050505050505060015f8190555050565b60035f9054906101000a900461ffff1681565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ba8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9f906124b9565b60405180910390fd5b806002819055507ffe891c6ab12cf73707f8deb6600c12ba382e4cc31eb2b0a2754cad13075ed2d160405160405180910390a150565b7f0000000000000000000000000bd7d308f8e1639fab988df18a8011f41eacad7381565b6b033b2e3c9fd0803ce800000081565b61138881565b6006602052815f5260405f208181548110611c31575f80fd5b905f5260205f20015f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b600160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611cf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ced906124b9565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d2d575f80fd5b80600160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff167f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b60405160405180910390a250565b5f8273ffffffffffffffffffffffffffffffffffffffff1682604051611dd990612d49565b5f6040518083038185875af1925050503d805f8114611e13576040519150601f19603f3d011682016040523d82523d5f602084013e611e18565b606091505b5050905080611e5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e5390612da7565b60405180910390fd5b505050565b61151a80612dc683390190565b5f62ffffff82169050919050565b611e8581611e6e565b82525050565b5f602082019050611e9e5f830184611e7c565b92915050565b5f819050919050565b611eb681611ea4565b82525050565b5f602082019050611ecf5f830184611ead565b92915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611f0682611edd565b9050919050565b611f1681611efc565b8114611f20575f80fd5b50565b5f81359050611f3181611f0d565b92915050565b5f60208284031215611f4c57611f4b611ed5565b5b5f611f5984828501611f23565b91505092915050565b611f6b81611efc565b82525050565b5f606082019050611f845f830186611f62565b611f916020830185611f62565b611f9e6040830184611ead565b949350505050565b5f61ffff82169050919050565b611fbc81611fa6565b8114611fc6575f80fd5b50565b5f81359050611fd781611fb3565b92915050565b5f60208284031215611ff257611ff1611ed5565b5b5f611fff84828501611fc9565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61203a81611efc565b82525050565b5f61204b8383612031565b60208301905092915050565b5f602082019050919050565b5f61206d82612008565b6120778185612012565b935061208283612022565b805f5b838110156120b25781516120998882612040565b97506120a483612057565b925050600181019050612085565b5085935050505092915050565b5f6020820190508181035f8301526120d78184612063565b905092915050565b6120e881611ea4565b81146120f2575f80fd5b50565b5f81359050612103816120df565b92915050565b5f6020828403121561211e5761211d611ed5565b5b5f61212b848285016120f5565b91505092915050565b5f6020820190506121475f830184611f62565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261216e5761216d61214d565b5b8235905067ffffffffffffffff81111561218b5761218a612151565b5b6020830191508360018202830111156121a7576121a6612155565b5b9250929050565b6121b781611edd565b81146121c1575f80fd5b50565b5f813590506121d2816121ae565b92915050565b5f8160020b9050919050565b6121ed816121d8565b81146121f7575f80fd5b50565b5f81359050612208816121e4565b92915050565b5f805f805f805f805f60c08a8c03121561222b5761222a611ed5565b5b5f8a013567ffffffffffffffff81111561224857612247611ed9565b5b6122548c828d01612159565b995099505060208a013567ffffffffffffffff81111561227757612276611ed9565b5b6122838c828d01612159565b975097505060408a013567ffffffffffffffff8111156122a6576122a5611ed9565b5b6122b28c828d01612159565b955095505060606122c58c828d016121c4565b93505060806122d68c828d016121fa565b92505060a06122e78c828d016121fa565b9150509295985092959850929598565b61230081611e6e565b811461230a575f80fd5b50565b5f8135905061231b816122f7565b92915050565b5f6020828403121561233657612335611ed5565b5b5f6123438482850161230d565b91505092915050565b5f819050919050565b5f61236f61236a61236584611edd565b61234c565b611edd565b9050919050565b5f61238082612355565b9050919050565b5f61239182612376565b9050919050565b6123a181612387565b82525050565b5f6020820190506123ba5f830184612398565b92915050565b5f6123ca82612376565b9050919050565b6123da816123c0565b82525050565b5f6020820190506123f35f8301846123d1565b92915050565b61240281611fa6565b82525050565b5f60208201905061241b5f8301846123f9565b92915050565b5f806040838503121561243757612436611ed5565b5b5f61244485828601611f23565b9250506020612455858286016120f5565b9150509250929050565b5f82825260208201905092915050565b7f6e6f74206f776e657200000000000000000000000000000000000000000000005f82015250565b5f6124a360098361245f565b91506124ae8261246f565b602082019050919050565b5f6020820190508181035f8301526124d081612497565b9050919050565b7f73686172650000000000000000000000000000000000000000000000000000005f82015250565b5f61250b60058361245f565b9150612516826124d7565b602082019050919050565b5f6020820190508181035f830152612538816124ff565b9050919050565b7f7265656e7472616e7400000000000000000000000000000000000000000000005f82015250565b5f61257360098361245f565b915061257e8261253f565b602082019050919050565b5f6020820190508181035f8301526125a081612567565b9050919050565b7f6465706c6f7920666565000000000000000000000000000000000000000000005f82015250565b5f6125db600a8361245f565b91506125e6826125a7565b602082019050919050565b5f6020820190508181035f830152612608816125cf565b9050919050565b828183375f83830152505050565b5f601f19601f8301169050919050565b5f612638838561245f565b935061264583858461260f565b61264e8361261d565b840190509392505050565b5f60c0820190508181035f830152612672818b8d61262d565b9050818103602083015261268781898b61262d565b90506126966040830188611ead565b6126a36060830187611f62565b6126b06080830186611f62565b81810360a08301526126c381848661262d565b90509a9950505050505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61273782611ea4565b915061274283611ea4565b925082612752576127516126d3565b5b828204905092915050565b5f612767826121d8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000820361279957612798612700565b5b815f039050919050565b5f6060820190506127b65f830186611f62565b6127c36020830185611f62565b6127d06040830184611e7c565b949350505050565b5f815190506127e681611f0d565b92915050565b5f6020828403121561280157612800611ed5565b5b5f61280e848285016127d8565b91505092915050565b61282081611edd565b82525050565b5f6020820190506128395f830184612817565b92915050565b5f6040820190506128525f830185611f62565b61285f6020830184611ead565b9392505050565b5f8115159050919050565b61287a81612866565b8114612884575f80fd5b50565b5f8151905061289581612871565b92915050565b5f602082840312156128b0576128af611ed5565b5b5f6128bd84828501612887565b91505092915050565b5f6128d082611ea4565b91506128db83611ea4565b92508282019050808211156128f3576128f2612700565b5b92915050565b61290281611e6e565b82525050565b612911816121d8565b82525050565b61292081611ea4565b82525050565b61016082015f82015161293b5f850182612031565b50602082015161294e6020850182612031565b50604082015161296160408501826128f9565b5060608201516129746060850182612908565b5060808201516129876080850182612908565b5060a082015161299a60a0850182612917565b5060c08201516129ad60c0850182612917565b5060e08201516129c060e0850182612917565b506101008201516129d5610100850182612917565b506101208201516129ea610120850182612031565b506101408201516129ff610140850182612917565b50505050565b5f61016082019050612a195f830184612926565b92915050565b5f81519050612a2d816120df565b92915050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b612a5781612a33565b8114612a61575f80fd5b50565b5f81519050612a7281612a4e565b92915050565b5f805f8060808587031215612a9057612a8f611ed5565b5b5f612a9d87828801612a1f565b9450506020612aae87828801612a64565b9350506040612abf87828801612a1f565b9250506060612ad087828801612a1f565b91505092959194509250565b5f612ae682611ea4565b9150612af183611ea4565b9250828203905081811115612b0957612b08612700565b5b92915050565b7f6e6f7468696e67000000000000000000000000000000000000000000000000005f82015250565b5f612b4360078361245f565b9150612b4e82612b0f565b602082019050919050565b5f6020820190508181035f830152612b7081612b37565b9050919050565b7f6e6f206c61756e636800000000000000000000000000000000000000000000005f82015250565b5f612bab60098361245f565b9150612bb682612b77565b602082019050919050565b5f6020820190508181035f830152612bd881612b9f565b9050919050565b612be881612a33565b82525050565b608082015f820151612c025f850182612917565b506020820151612c156020850182612031565b506040820151612c286040850182612bdf565b506060820151612c3b6060850182612bdf565b50505050565b5f608082019050612c545f830184612bee565b92915050565b5f8060408385031215612c7057612c6f611ed5565b5b5f612c7d85828601612a1f565b9250506020612c8e85828601612a1f565b9150509250929050565b5f612ca282611ea4565b9150612cad83611ea4565b9250828202612cbb81611ea4565b91508282048414831517612cd257612cd1612700565b5b5092915050565b5f608082019050612cec5f830187611ead565b612cf96020830186611ead565b612d066040830185611ead565b612d136060830184611ead565b95945050505050565b5f81905092915050565b50565b5f612d345f83612d1c565b9150612d3f82612d26565b5f82019050919050565b5f612d5382612d29565b9150819050919050565b7f73656e64000000000000000000000000000000000000000000000000000000005f82015250565b5f612d9160048361245f565b9150612d9c82612d5d565b602082019050919050565b5f6020820190508181035f830152612dbe81612d85565b905091905056fe608060405234801561000f575f80fd5b5060405161151a38038061151a83398181016040528101906100319190610333565b855f908161003f9190610614565b50846001908161004f9190610614565b508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806006908161009f9190610614565b50836002819055508360035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8660405161014691906106f2565b60405180910390a350505050505061070b565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6101b882610172565b810181811067ffffffffffffffff821117156101d7576101d6610182565b5b80604052505050565b5f6101e9610159565b90506101f582826101af565b919050565b5f67ffffffffffffffff82111561021457610213610182565b5b61021d82610172565b9050602081019050919050565b8281835e5f83830152505050565b5f61024a610245846101fa565b6101e0565b9050828152602081018484840111156102665761026561016e565b5b61027184828561022a565b509392505050565b5f82601f83011261028d5761028c61016a565b5b815161029d848260208601610238565b91505092915050565b5f819050919050565b6102b8816102a6565b81146102c2575f80fd5b50565b5f815190506102d3816102af565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610302826102d9565b9050919050565b610312816102f8565b811461031c575f80fd5b50565b5f8151905061032d81610309565b92915050565b5f805f805f8060c0878903121561034d5761034c610162565b5b5f87015167ffffffffffffffff81111561036a57610369610166565b5b61037689828a01610279565b965050602087015167ffffffffffffffff81111561039757610396610166565b5b6103a389828a01610279565b95505060406103b489828a016102c5565b94505060606103c589828a0161031f565b93505060806103d689828a0161031f565b92505060a087015167ffffffffffffffff8111156103f7576103f6610166565b5b61040389828a01610279565b9150509295509295509295565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061045e57607f821691505b6020821081036104715761047061041a565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026104d37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610498565b6104dd8683610498565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61051861051361050e846102a6565b6104f5565b6102a6565b9050919050565b5f819050919050565b610531836104fe565b61054561053d8261051f565b8484546104a4565b825550505050565b5f90565b61055961054d565b610564818484610528565b505050565b5b818110156105875761057c5f82610551565b60018101905061056a565b5050565b601f8211156105cc5761059d81610477565b6105a684610489565b810160208510156105b5578190505b6105c96105c185610489565b830182610569565b50505b505050565b5f82821c905092915050565b5f6105ec5f19846008026105d1565b1980831691505092915050565b5f61060483836105dd565b9150826002028217905092915050565b61061d82610410565b67ffffffffffffffff81111561063657610635610182565b5b6106408254610447565b61064b82828561058b565b5f60209050601f83116001811461067c575f841561066a578287015190505b61067485826105f9565b8655506106db565b601f19841661068a86610477565b5f5b828110156106b15784890151825560018201915060208501945060208101905061068c565b868310156106ce57848901516106ca601f8916826105dd565b8355505b6001600288020188555050505b505050505050565b6106ec816102a6565b82525050565b5f6020820190506107055f8301846106e3565b92915050565b610e02806107185f395ff3fe608060405234801561000f575f80fd5b50600436106100a7575f3560e01c8063313ce5671161006f578063313ce56714610165578063676057871461018357806370a08231146101a157806395d89b41146101d1578063a9059cbb146101ef578063dd62ed3e1461021f576100a7565b806302d05d3f146100ab57806306fdde03146100c9578063095ea7b3146100e757806318160ddd1461011757806323b872dd14610135575b5f80fd5b6100b361024f565b6040516100c09190610914565b60405180910390f35b6100d1610274565b6040516100de919061099d565b60405180910390f35b61010160048036038101906100fc9190610a1e565b6102ff565b60405161010e9190610a76565b60405180910390f35b61011f6103ec565b60405161012c9190610a9e565b60405180910390f35b61014f600480360381019061014a9190610ab7565b6103f2565b60405161015c9190610a76565b60405180910390f35b61016d610579565b60405161017a9190610b22565b60405180910390f35b61018b61057e565b604051610198919061099d565b60405180910390f35b6101bb60048036038101906101b69190610b3b565b61060a565b6040516101c89190610a9e565b60405180910390f35b6101d961061f565b6040516101e6919061099d565b60405180910390f35b61020960048036038101906102049190610a1e565b6106ab565b6040516102169190610a76565b60405180910390f35b61023960048036038101906102349190610b66565b6106c1565b6040516102469190610a9e565b60405180910390f35b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805461028090610bd1565b80601f01602080910402602001604051908101604052809291908181526020018280546102ac90610bd1565b80156102f75780601f106102ce576101008083540402835291602001916102f7565b820191905f5260205f20905b8154815290600101906020018083116102da57829003601f168201915b505050505081565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103da9190610a9e565b60405180910390a36001905092915050565b60025481565b5f8060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461056257828110156104d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104d090610c4b565b60405180910390fd5b82816104e59190610c96565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b61056d8585856106e1565b60019150509392505050565b601281565b6006805461058b90610bd1565b80601f01602080910402602001604051908101604052809291908181526020018280546105b790610bd1565b80156106025780601f106105d957610100808354040283529160200191610602565b820191905f5260205f20905b8154815290600101906020018083116105e557829003601f168201915b505050505081565b6003602052805f5260405f205f915090505481565b6001805461062c90610bd1565b80601f016020809104026020016040519081016040528092919081815260200182805461065890610bd1565b80156106a35780601f1061067a576101008083540402835291602001916106a3565b820191905f5260205f20905b81548152906001019060200180831161068657829003601f168201915b505050505081565b5f6106b73384846106e1565b6001905092915050565b6004602052815f5260405f20602052805f5260405f205f91509150505481565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361074f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161074690610d13565b60405180910390fd5b5f60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156107d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ca90610d7b565b60405180910390fd5b81810360035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108639190610d99565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108c79190610a9e565b60405180910390a350505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6108fe826108d5565b9050919050565b61090e816108f4565b82525050565b5f6020820190506109275f830184610905565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61096f8261092d565b6109798185610937565b9350610989818560208601610947565b61099281610955565b840191505092915050565b5f6020820190508181035f8301526109b58184610965565b905092915050565b5f80fd5b6109ca816108f4565b81146109d4575f80fd5b50565b5f813590506109e5816109c1565b92915050565b5f819050919050565b6109fd816109eb565b8114610a07575f80fd5b50565b5f81359050610a18816109f4565b92915050565b5f8060408385031215610a3457610a336109bd565b5b5f610a41858286016109d7565b9250506020610a5285828601610a0a565b9150509250929050565b5f8115159050919050565b610a7081610a5c565b82525050565b5f602082019050610a895f830184610a67565b92915050565b610a98816109eb565b82525050565b5f602082019050610ab15f830184610a8f565b92915050565b5f805f60608486031215610ace57610acd6109bd565b5b5f610adb868287016109d7565b9350506020610aec868287016109d7565b9250506040610afd86828701610a0a565b9150509250925092565b5f60ff82169050919050565b610b1c81610b07565b82525050565b5f602082019050610b355f830184610b13565b92915050565b5f60208284031215610b5057610b4f6109bd565b5b5f610b5d848285016109d7565b91505092915050565b5f8060408385031215610b7c57610b7b6109bd565b5b5f610b89858286016109d7565b9250506020610b9a858286016109d7565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610be857607f821691505b602082108103610bfb57610bfa610ba4565b5b50919050565b7f616c6c6f77616e636500000000000000000000000000000000000000000000005f82015250565b5f610c35600983610937565b9150610c4082610c01565b602082019050919050565b5f6020820190508181035f830152610c6281610c29565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610ca0826109eb565b9150610cab836109eb565b9250828203905081811115610cc357610cc2610c69565b5b92915050565b7f7a65726f000000000000000000000000000000000000000000000000000000005f82015250565b5f610cfd600483610937565b9150610d0882610cc9565b602082019050919050565b5f6020820190508181035f830152610d2a81610cf1565b9050919050565b7f62616c00000000000000000000000000000000000000000000000000000000005f82015250565b5f610d65600383610937565b9150610d7082610d31565b602082019050919050565b5f6020820190508181035f830152610d9281610d59565b9050919050565b5f610da3826109eb565b9150610dae836109eb565b9250828201905080821115610dc657610dc5610c69565b5b9291505056fea264697066735822122058be6f9348cc86f7396012f4c04dfe64b841cfe7b72092ef92038d422f776de564736f6c634300081a0033a264697066735822122017433262016536f8deb926ef3b4ca20bd636f39ff51320f62a997053b0a0c15664736f6c634300081a0033
| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| DIH | 1 | $0.0000102 | $0 | |
| Creator Agent (CA) | CA | 0.000000 | $0.00000277 | $0 |
| Uniswap V3 Positions NFT-V1 (UNI-V3-POS) | UNI-V3-POS | 16 | — | — |
| Nyan Cat (NYAN) | NYAN | 0.000000 | — | — |
| Zoom (ZM) | ZM | 0.000000 | — | — |
| Agent Hood (AGENT) | AGENT | 0.000000 | — | — |
| The Big Racoon (TBR) | TBR | 0.000000 | — | — |
| test (TEST) | TEST | 0.000000 | — | — |
| test (TES) | TES | 0.000000 | — | — |
| test (TEST) | TEST | 0.000000 | — | — |
| capybara (CAPY) | CAPY | 0.000000 | — | — |
| test (TEST) | TEST | 0.000000 | — | — |
| deploy token CASHCAT use this image (CASHCAT) | CASHCAT | 0.000000 | — | — |
| Creator (CREATOR) | CREATOR | 0.000000 | — | — |
| test (TEST) | TEST | 0.000000 | — | — |
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0x8b2af2…9a691d | 26 days agoTue, 21 Jul 2026 19:13:55 UTC | 0x716904…6b8c | [0] 0x000000000000…5736a767 data: 0x000000000000000000…2358b563 |
| 0x90bcdb…3f286d | 28 days agoMon, 20 Jul 2026 08:53:16 UTC | 0x716904…6b8c | [0] 0x000000000000…5736a767 data: 0x000000000000000000…866b46fd |
| 0x0ec735…c6e5fe | 29 days agoSun, 19 Jul 2026 15:05:08 UTC | 0x716904…6b8c | [0] 0x000000000000…5736a767 data: 0x000000000000000000…e0d63c6c |
| 0x68906e…e277cf | 29 days agoSun, 19 Jul 2026 14:58:31 UTC | 0x716904…6b8c | [0] 0x000000000000…8667d10b data: 0x000000000000000000…00000000 |
| 0x404cf0…f9fb57 | 29 days agoSun, 19 Jul 2026 14:53:31 UTC | 0x716904…6b8c | [0] 0x000000000000…8667d10b data: 0x000000000000000000…00000000 |
| 0xb3ebe4…ed3d0d | 29 days agoSun, 19 Jul 2026 14:52:39 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…8667d10b [1] 0x000000000000…c3f935bc data: 0x000000000000000000…000379e2 |
| 0x3238f3…4622e8 | 29 days agoSun, 19 Jul 2026 14:31:59 UTC | 0x716904…6b8c | [0] 0x000000000000…5736a767 data: 0x000000000000000000…0326e8f1 |
| 0xbd42f7…4dc4da | 29 days agoSun, 19 Jul 2026 14:29:19 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…446d9c82 [1] 0x000000000000…5976c873 data: 0x000000000000000000…00037859 |
| 0xea729a…699838 | 29 days agoSun, 19 Jul 2026 14:18:34 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…5717a826 [1] 0x000000000000…b263df9f data: 0x000000000000000000…000377bf |
| 0x6eb807…7fdf7a | 29 days agoSun, 19 Jul 2026 14:15:35 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…dbca46a7 [1] 0x000000000000…b263df9f data: 0x000000000000000000…0003777f |
| 0x77efbe…4bb707 | 29 days agoSun, 19 Jul 2026 14:03:38 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…f2b08458 [1] 0x000000000000…be69bac0 data: 0x000000000000000000…000376a4 |
| 0xb97058…501dd7 | 29 days agoSun, 19 Jul 2026 13:50:55 UTC | 0x716904…6b8c | [0] 0x000000000000…5736a767 data: 0x000000000000000000…a8e5305a |
| 0xfd093d…c11860 | 29 days agoSun, 19 Jul 2026 12:56:35 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…77651ca0 [1] 0x000000000000…f6ba453c data: 0x000000000000000000…00037348 |
| 0x3170ce…44bc51 | 29 days agoSun, 19 Jul 2026 11:02:58 UTC | 0x716904…6b8c | [0] 0x000000000000…5736a767 data: 0x000000000000000000…1a5c458a |
| 0x57f6c1…1cc0f3 | 30 days agoSat, 18 Jul 2026 17:41:18 UTC | 0x716904…6b8c | [0] 0x000000000000…5736a767 data: 0x000000000000000000…8cbf9c29 |
| 0x478273…36b718 | 30 days agoSat, 18 Jul 2026 16:50:01 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…7db9231c [1] 0x000000000000…312f64c9 data: 0x000000000000000000…000342c7 |
| 0x0fdb0e…8e9e96 | 30 days agoSat, 18 Jul 2026 16:08:48 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…5736a767 [1] 0x000000000000…a7b2a62a data: 0x000000000000000000…00033fd9 |
| 0xbb91ca…a03e58 | 30 days agoSat, 18 Jul 2026 11:27:01 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…e9488b0b [1] 0x000000000000…a7b2a62a data: 0x000000000000000000…00033320 |
| 0x4ea67d…65b144 | 30 days agoSat, 18 Jul 2026 11:21:57 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…b33632b9 [1] 0x000000000000…a7b2a62a data: 0x000000000000000000…000332fd |
| 0x9a9160…c31c99 | 30 days agoSat, 18 Jul 2026 11:17:31 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…8b39e657 [1] 0x000000000000…a7b2a62a data: 0x000000000000000000…000332d9 |
| 0x2e8143…62fb13 | 30 days agoSat, 18 Jul 2026 11:09:41 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…0d4422d9 [1] 0x000000000000…a7b2a62a data: 0x000000000000000000…000332a1 |
| 0x49d9e6…0c6193 | 30 days agoSat, 18 Jul 2026 10:06:17 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…0a639381 [1] 0x000000000000…a7b2a62a data: 0x000000000000000000…00033097 |
| 0x0490ea…3625de | 30 days agoSat, 18 Jul 2026 09:51:10 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…4fa9e9c3 [1] 0x000000000000…a7b2a62a data: 0x000000000000000000…0003301a |
| 0x388bfb…114086 | 30 days agoSat, 18 Jul 2026 07:16:24 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…7665a082 [1] 0x000000000000…a7b2a62a data: 0x000000000000000000…00032b59 |
| 0x66f07c…bb125b | 32 days agoThu, 16 Jul 2026 09:29:36 UTC | 0xaa1fd4…d0e1 | [0] 0x000000000000…098b222a [1] 0x000000000000…a7b2a62a data: 0x000000000000000000…00028109 |
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xf35a29f9…1f89e8 | Transfer | 18,499,070 | 23 days agoFri, 24 Jul 2026 22:13:22 UTC | 0xcaf7…5d11 | IN | 0x1a75…d8ea | $0.001 DIH | ||
| 0x8b2af2d8…9a691d | Transfer | 15,805,946 | 26 days agoTue, 21 Jul 2026 19:13:55 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | 0.002178 WETH | WETH (WETH) | |
| 0x8b2af2d8…9a691d | Transfer | 15,805,946 | 26 days agoTue, 21 Jul 2026 19:13:55 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | 0.002177 WETH | WETH (WETH) | |
| 0x8b2af2d8…9a691d | Transfer | 15,805,946 | 26 days agoTue, 21 Jul 2026 19:13:55 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | $NaN1,244,294.803544 CA | Creator Agent (CA) | |
| 0x8b2af2d8…9a691d | Transfer | 15,805,946 | 26 days agoTue, 21 Jul 2026 19:13:55 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | $NaN1,244,294.803544 CA | Creator Agent (CA) | |
| 0x8b2af2d8…9a691d | Transfer | 15,805,946 | 26 days agoTue, 21 Jul 2026 19:13:55 UTC | 0xf346…cdee | IN | 0x1a75…d8ea | $NaN2,488,589.607088 CA | Creator Agent (CA) | |
| 0x8b2af2d8…9a691d | Transfer | 15,805,946 | 26 days agoTue, 21 Jul 2026 19:13:55 UTC | 0xf346…cdee | IN | 0x1a75…d8ea | 0.004355 WETH | WETH (WETH) | |
| 0x90bcdb99…3f286d | Transfer | 14,572,507 | 28 days agoMon, 20 Jul 2026 08:53:16 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | 0.000420 WETH | WETH (WETH) | |
| 0x90bcdb99…3f286d | Transfer | 14,572,507 | 28 days agoMon, 20 Jul 2026 08:53:16 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | 0.000420 WETH | WETH (WETH) | |
| 0x90bcdb99…3f286d | Transfer | 14,572,507 | 28 days agoMon, 20 Jul 2026 08:53:16 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | $NaN1,100,346.029975 CA | Creator Agent (CA) | |
| 0x90bcdb99…3f286d | Transfer | 14,572,507 | 28 days agoMon, 20 Jul 2026 08:53:16 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | $NaN1,100,346.029975 CA | Creator Agent (CA) | |
| 0x90bcdb99…3f286d | Transfer | 14,572,507 | 28 days agoMon, 20 Jul 2026 08:53:16 UTC | 0xf346…cdee | IN | 0x1a75…d8ea | $NaN2,200,692.059950 CA | Creator Agent (CA) | |
| 0x90bcdb99…3f286d | Transfer | 14,572,507 | 28 days agoMon, 20 Jul 2026 08:53:16 UTC | 0xf346…cdee | IN | 0x1a75…d8ea | 0.000841 WETH | WETH (WETH) | |
| 0x0ec73591…c6e5fe | Transfer | 13,934,263 | 29 days agoSun, 19 Jul 2026 15:05:08 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | 0.000834 WETH | WETH (WETH) | |
| 0x0ec73591…c6e5fe | Transfer | 13,934,263 | 29 days agoSun, 19 Jul 2026 15:05:08 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | 0.000834 WETH | WETH (WETH) | |
| 0x0ec73591…c6e5fe | Transfer | 13,934,263 | 29 days agoSun, 19 Jul 2026 15:05:08 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | $NaN593,938.201988 CA | Creator Agent (CA) | |
| 0x0ec73591…c6e5fe | Transfer | 13,934,263 | 29 days agoSun, 19 Jul 2026 15:05:08 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | $NaN593,938.201988 CA | Creator Agent (CA) | |
| 0x0ec73591…c6e5fe | Transfer | 13,934,263 | 29 days agoSun, 19 Jul 2026 15:05:08 UTC | 0xf346…cdee | IN | 0x1a75…d8ea | $NaN1,187,876.403977 CA | Creator Agent (CA) | |
| 0x0ec73591…c6e5fe | Transfer | 13,934,263 | 29 days agoSun, 19 Jul 2026 15:05:08 UTC | 0xf346…cdee | IN | 0x1a75…d8ea | 0.001669 WETH | WETH (WETH) | |
| 0x68906e35…e277cf | Transfer | 13,930,310 | 29 days agoSun, 19 Jul 2026 14:58:31 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | 0.000000 WETH | WETH (WETH) | |
| 0x68906e35…e277cf | Transfer | 13,930,310 | 29 days agoSun, 19 Jul 2026 14:58:31 UTC | 0x1a75…d8ea | OUT | 0xe678…35bc | 0.000000 WETH | WETH (WETH) | |
| 0x68906e35…e277cf | Transfer | 13,930,310 | 29 days agoSun, 19 Jul 2026 14:58:31 UTC | 0xcdfe…b004 | IN | 0x1a75…d8ea | 0.000000 WETH | WETH (WETH) | |
| 0xb3ebe43e…ed3d0d | Transfer | 13,926,803 | 29 days agoSun, 19 Jul 2026 14:52:39 UTC | 0x1a75…d8ea | OUT | 0xcdfe…b004 | 1,000,000,000.000000 TBR | The Big Racoon (TBR) | |
| 0xb3ebe43e…ed3d0d | Transfer | 13,926,803 | 29 days agoSun, 19 Jul 2026 14:52:39 UTC | 0x0000…0000 | IN | 0x1a75…d8ea | 1,000,000,000.000000 TBR | The Big Racoon (TBR) | |
| 0x3238f37f…4622e8 | Transfer | 13,914,446 | 29 days agoSun, 19 Jul 2026 14:31:59 UTC | 0x1a75…d8ea | OUT | 0x0755…a62a | 0.001619 WETH | WETH (WETH) |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0x8b2af2…9a691d | collectFees | 15,805,946 | 26 days agoTue, 21 Jul 2026 19:13:55 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00001375 | |
| 0x90bcdb…3f286d | collectFees | 14,572,507 | 28 days agoMon, 20 Jul 2026 08:53:16 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00001061 | |
| 0x0ec735…c6e5fe | collectFees | 13,934,263 | 29 days agoSun, 19 Jul 2026 15:05:08 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00001050 | |
| 0x68906e…e277cf | collectFees | 13,930,310 | 29 days agoSun, 19 Jul 2026 14:58:31 UTC | 0xe678…35bc | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00001154 | |
| 0x404cf0…f9fb57 | collectFees | 13,927,323 | 29 days agoSun, 19 Jul 2026 14:53:31 UTC | 0xe678…35bc | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00000602 | |
| 0xb3ebe4…ed3d0d | createToken | 13,926,803 | 29 days agoSun, 19 Jul 2026 14:52:39 UTC | 0xe678…35bc | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00033642 | |
| 0x3238f3…4622e8 | collectFees | 13,914,446 | 29 days agoSun, 19 Jul 2026 14:31:59 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00001042 | |
| 0xbd42f7…4dc4da | createToken | 13,912,857 | 29 days agoSun, 19 Jul 2026 14:29:19 UTC | 0xec02…c873 | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00033622 | |
| 0xea729a…699838 | createToken | 13,906,429 | 29 days agoSun, 19 Jul 2026 14:18:34 UTC | 0x2ce7…df9f | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00033530 | |
| 0x6eb807…7fdf7a | createToken | 13,904,644 | 29 days agoSun, 19 Jul 2026 14:15:35 UTC | 0x2ce7…df9f | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00033870 | |
| 0x77efbe…4bb707 | createToken | 13,897,497 | 29 days agoSun, 19 Jul 2026 14:03:38 UTC | 0xa927…bac0 | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00033631 | |
| 0xb97058…501dd7 | collectFees | 13,889,902 | 29 days agoSun, 19 Jul 2026 13:50:55 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00001037 | |
| 0xfd093d…c11860 | createToken | 13,857,435 | 29 days agoSun, 19 Jul 2026 12:56:35 UTC | 0xa799…453c | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00033690 | |
| 0x3170ce…44bc51 | collectFees | 13,789,558 | 29 days agoSun, 19 Jul 2026 11:02:58 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00001071 | |
| 0x57f6c1…1cc0f3 | collectFees | 13,167,344 | 30 days agoSat, 18 Jul 2026 17:41:18 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00001802 | |
| 0x478273…36b718 | createToken | 13,136,658 | 30 days agoSat, 18 Jul 2026 16:50:01 UTC | 0xd316…64c9 | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00040189 | |
| 0x0fdb0e…8e9e96 | createToken | 13,112,005 | 30 days agoSat, 18 Jul 2026 16:08:48 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00040212 | |
| 0xbb91ca…a03e58 | createToken | 12,943,559 | 30 days agoSat, 18 Jul 2026 11:27:01 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00041705 | |
| 0x4ea67d…65b144 | createToken | 12,940,529 | 30 days agoSat, 18 Jul 2026 11:21:57 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00041559 | |
| 0x9a9160…c31c99 | createToken | 12,937,894 | 30 days agoSat, 18 Jul 2026 11:17:31 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00041931 | |
| 0x2e8143…62fb13 | createToken | 12,933,220 | 30 days agoSat, 18 Jul 2026 11:09:41 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00042049 | |
| 0x49d9e6…0c6193 | createToken | 12,895,383 | 30 days agoSat, 18 Jul 2026 10:06:17 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00042522 | |
| 0x0490ea…3625de | createToken | 12,886,396 | 30 days agoSat, 18 Jul 2026 09:51:10 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00042518 | |
| 0x388bfb…114086 | createToken | 12,794,053 | 30 days agoSat, 18 Jul 2026 07:16:24 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00044407 | |
| 0x66f07c…bb125b | createToken | 11,149,872 | 32 days agoThu, 16 Jul 2026 09:29:36 UTC | 0x0755…a62a | IN | RobinhoodInstantLaunch | $0.000 ETH | 0.00038861 |
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| 13,926,803 | 29 days agoSun, 19 Jul 2026 14:52:39 UTC | 0xb3ebe4…ed3d0d | CREATE | createToken | 0x1a75…d8ea | OUT | 0x44ca…d10b | 0 ETH |
| 13,912,857 | 29 days agoSun, 19 Jul 2026 14:29:19 UTC | 0xbd42f7…4dc4da | CREATE | createToken | 0x1a75…d8ea | OUT | 0x7cc3…9c82 | 0 ETH |
| 13,906,429 | 29 days agoSun, 19 Jul 2026 14:18:34 UTC | 0xea729a…699838 | CREATE | createToken | 0x1a75…d8ea | OUT | 0xf107…a826 | 0 ETH |
| 13,904,644 | 29 days agoSun, 19 Jul 2026 14:15:35 UTC | 0x6eb807…7fdf7a | CREATE | createToken | 0x1a75…d8ea | OUT | 0x63f4…46a7 | 0 ETH |
| 13,897,497 | 29 days agoSun, 19 Jul 2026 14:03:38 UTC | 0x77efbe…4bb707 | CREATE | createToken | 0x1a75…d8ea | OUT | 0x9cb3…8458 | 0 ETH |
| 13,857,435 | 29 days agoSun, 19 Jul 2026 12:56:35 UTC | 0xfd093d…c11860 | CREATE | createToken | 0x1a75…d8ea | OUT | 0xb3ed…1ca0 | 0 ETH |
| 13,136,658 | 30 days agoSat, 18 Jul 2026 16:50:01 UTC | 0x478273…36b718 | CREATE | createToken | 0x1a75…d8ea | OUT | 0xaa4b…231c | 0 ETH |
| 13,112,005 | 30 days agoSat, 18 Jul 2026 16:08:48 UTC | 0x0fdb0e…8e9e96 | CREATE | createToken | 0x1a75…d8ea | OUT | 0x571b…a767 | 0 ETH |
| 12,943,559 | 30 days agoSat, 18 Jul 2026 11:27:01 UTC | 0xbb91ca…a03e58 | CREATE | createToken | 0x1a75…d8ea | OUT | 0xde6d…8b0b | 0 ETH |
| 12,940,529 | 30 days agoSat, 18 Jul 2026 11:21:57 UTC | 0x4ea67d…65b144 | CREATE | createToken | 0x1a75…d8ea | OUT | 0xd08a…32b9 | 0 ETH |
| 12,937,894 | 30 days agoSat, 18 Jul 2026 11:17:31 UTC | 0x9a9160…c31c99 | CREATE | createToken | 0x1a75…d8ea | OUT | 0x0e0d…e657 | 0 ETH |
| 12,933,220 | 30 days agoSat, 18 Jul 2026 11:09:41 UTC | 0x2e8143…62fb13 | CREATE | createToken | 0x1a75…d8ea | OUT | 0xccc0…22d9 | 0 ETH |
| 12,895,383 | 30 days agoSat, 18 Jul 2026 10:06:17 UTC | 0x49d9e6…0c6193 | CREATE | createToken | 0x1a75…d8ea | OUT | 0x7176…9381 | 0 ETH |
| 12,886,396 | 30 days agoSat, 18 Jul 2026 09:51:10 UTC | 0x0490ea…3625de | CREATE | createToken | 0x1a75…d8ea | OUT | 0x4fcb…e9c3 | 0 ETH |
| 12,794,053 | 30 days agoSat, 18 Jul 2026 07:16:24 UTC | 0x388bfb…114086 | CREATE | createToken | 0x1a75…d8ea | OUT | 0xac79…a082 | 0 ETH |
| 11,149,872 | 32 days agoThu, 16 Jul 2026 09:29:36 UTC | 0x66f07c…bb125b | CREATE | createToken | 0x1a75…d8ea | OUT | 0x1809…222a | 0 ETH |