ETH Price: $3,648.02 (+0.80%)
 

Overview

Max Total Supply

1,000,000,000,000 💠 DSHIU 🐕

Holders

7

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
4,344,823,103.639747248 💠 DSHIU 🐕

Value
$0.00
0x0cec4474e6b78e2703dcaae57de283f96a34614e
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DimondShibaInu

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-06-11
*/

pragma solidity ^0.6.12;

// SPDX-License-Identifier: MIT

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;
    address private _previousOwner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() public {
        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(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract DimondShibaInu is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string private constant _name = "DimondShiba Inu";
    string private constant _symbol = "\xF0\x9F\x92\xA0 DSHIU \xF0\x9F\x90\x95";
    uint8 private constant _decimals = 9;

    // RFI
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 10 ** 12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    uint256 private _taxFee = 0;
    uint256 private _teamFee = 10;

    address private burnAddress = 0x000000000000000000000000000000000000dEaD;

    // Bot detection
    address[] private botArray;
    mapping(address => bool) private bots;
    mapping(address => uint256) private cooldown;
    address payable private _marketingFunds;
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor(address payable addr1) public {
        _marketingFunds = addr1;
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingFunds] = 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 view override returns (uint256) {
        return _tTotal;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_taxFee == 0 && _teamFee == 0) return;
        _taxFee = 0;
        _teamFee = 0;
    }

    function restoreAllFee() private {
        _taxFee = 0;
        _teamFee = 10;
    }

    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 from,
        address to,
        uint256 amount
    ) private {
        require(from != 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");

        if (from != owner() && to != owner()) {
            if (cooldownEnabled) {
                if (
                    from != address(this) &&
                    to != address(this) &&
                    from != address(uniswapV2Router) &&
                    to != address(uniswapV2Router)
                ) {
                    require(
                        _msgSender() == address(uniswapV2Router) ||
                            _msgSender() == uniswapV2Pair,
                        "ERR: Uniswap only"
                    );
                }
            }
            require(amount <= _maxTxAmount);
            require(!bots[from] && !bots[to]);
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to] &&
                cooldownEnabled
            ) {
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (60 seconds);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        bool takeFee = true;

        if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
            takeFee = false;
        }

        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(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 sendETHToFee(uint256 amount) private {
        _marketingFunds.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen, "trading is already open");
        IUniswapV2Router02 _uniswapV2Router =
            IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _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
        );
        swapEnabled = true;
        cooldownEnabled = false;
        _maxTxAmount = 5000000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(
            address(uniswapV2Router),
            type(uint256).max
        );
    }

    function manualswap() external {
        require(_msgSender() == _marketingFunds);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _marketingFunds);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

    function setBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
            botArray.push(bots_[i]);
        }
    }

    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
    
    function burnBots() public onlyOwner {
        for (uint256 i = 0; i < botArray.length; i ++) {
            if (bots[botArray[i]]) {
                _transfer(botArray[i], burnAddress, balanceOf(botArray[i]));
            }
        }
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) removeAllFee();
        _transferStandard(sender, recipient, amount);
        if (!takeFee) restoreAllFee();
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _taxFee, _teamFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 taxFee,
        uint256 TeamFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }

    function setMaxTxPercent(uint256 maxTxPercent) external onlyOwner() {
        require(maxTxPercent > 0, "Amount must be greater than 0");
        _maxTxAmount = _tTotal.mul(maxTxPercent).div(10**2);
        emit MaxTxAmountUpdated(_maxTxAmount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"addr1","type":"address"}],"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":"_maxTxAmount","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":"burnBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxPercent","type":"uint256"}],"name":"setMaxTxPercent","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":"view","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"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea00000600019816200001957fe5b06600019036006556000600855600a60095561dead600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060176101000a81548160ff021916908315150217905550683635c9adc5dea00000601155348015620000d957600080fd5b506040516200368e3803806200368e83398181016040526020811015620000ff57600080fd5b81019080805190602001909291905050506000620001226200041460201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060065460026000620002186200041460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600560006200026c6200041c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160056000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200039f6200041460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040518082815260200191505060405180910390a35062000445565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61323980620004556000396000f3fe6080604052600436106101185760003560e01c8063715018a6116100a0578063c3c8cd8011610064578063c3c8cd8014610637578063c9567bf91461064e578063d543dbeb14610665578063dd62ed3e146106a0578063fe598ba1146107255761011f565b8063715018a6146104195780638da5cb5b1461043057806395d89b4114610471578063a9059cbb14610501578063b515566a146105725761011f565b8063273123b7116100e7578063273123b7146102e1578063313ce567146103325780635932ead1146103605780636fc3eaec1461039d57806370a08231146103b45761011f565b806306fdde0314610124578063095ea7b3146101b457806318160ddd1461022557806323b872dd146102505761011f565b3661011f57005b600080fd5b34801561013057600080fd5b5061013961073c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c057600080fd5b5061020d600480360360408110156101d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610779565b60405180821515815260200191505060405180910390f35b34801561023157600080fd5b5061023a610797565b6040518082815260200191505060405180910390f35b34801561025c57600080fd5b506102c96004803603606081101561027357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107a8565b60405180821515815260200191505060405180910390f35b3480156102ed57600080fd5b506103306004803603602081101561030457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610881565b005b34801561033e57600080fd5b506103476109a4565b604051808260ff16815260200191505060405180910390f35b34801561036c57600080fd5b5061039b6004803603602081101561038357600080fd5b810190808035151590602001909291905050506109ad565b005b3480156103a957600080fd5b506103b2610a92565b005b3480156103c057600080fd5b50610403600480360360208110156103d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b04565b6040518082815260200191505060405180910390f35b34801561042557600080fd5b5061042e610b55565b005b34801561043c57600080fd5b50610445610cdb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561047d57600080fd5b50610486610d04565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104c65780820151818401526020810190506104ab565b50505050905090810190601f1680156104f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050d57600080fd5b5061055a6004803603604081101561052457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d41565b60405180821515815260200191505060405180910390f35b34801561057e57600080fd5b506106356004803603602081101561059557600080fd5b81019080803590602001906401000000008111156105b257600080fd5b8201836020820111156105c457600080fd5b803590602001918460208302840111640100000000831117156105e657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610d5f565b005b34801561064357600080fd5b5061064c610f25565b005b34801561065a57600080fd5b50610663610f9f565b005b34801561067157600080fd5b5061069e6004803603602081101561068857600080fd5b810190808035906020019092919050505061161c565b005b3480156106ac57600080fd5b5061070f600480360360408110156106c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117cb565b6040518082815260200191505060405180910390f35b34801561073157600080fd5b5061073a611852565b005b60606040518060400160405280600f81526020017f44696d6f6e64536869626120496e750000000000000000000000000000000000815250905090565b600061078d610786611a67565b8484611a6f565b6001905092915050565b6000683635c9adc5dea00000905090565b60006107b5848484611c66565b610876846107c1611a67565b6108718560405180606001604052806028815260200161316a60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610827611a67565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124919092919063ffffffff16565b611a6f565b600190509392505050565b610889611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610949576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6109b5611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ad3611a67565b73ffffffffffffffffffffffffffffffffffffffff1614610af357600080fd5b6000479050610b0181612551565b50565b6000610b4e600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125bd565b9050919050565b610b5d611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600f81526020017ff09f92a020445348495520f09f90950000000000000000000000000000000000815250905090565b6000610d55610d4e611a67565b8484611c66565b6001905092915050565b610d67611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8151811015610f21576001600c6000848481518110610e4557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b828281518110610eac57fe5b60200260200101519080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508080600101915050610e2a565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f66611a67565b73ffffffffffffffffffffffffffffffffffffffff1614610f8657600080fd5b6000610f9130610b04565b9050610f9c81612641565b50565b610fa7611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611067576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601060149054906101000a900460ff16156110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f74726164696e6720697320616c7265616479206f70656e00000000000000000081525060200191505060405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061117a30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000611a6f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156111c057600080fd5b505afa1580156111d4573d6000803e3d6000fd5b505050506040513d60208110156111ea57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561130157600080fd5b505af1158015611315573d6000803e3d6000fd5b505050506040513d602081101561132b57600080fd5b8101908080519060200190929190505050601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306113c530610b04565b6000806113d0610cdb565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561145557600080fd5b505af1158015611469573d6000803e3d6000fd5b50505050506040513d606081101561148057600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506001601060166101000a81548160ff0219169083151502179055506000601060176101000a81548160ff021916908315150217905550674563918244f400006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156115dd57600080fd5b505af11580156115f1573d6000803e3d6000fd5b505050506040513d602081101561160757600080fd5b81019080805190602001909291905050505050565b611624611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000811161175a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416d6f756e74206d7573742062652067726561746572207468616e203000000081525060200191505060405180910390fd5b611789606461177b83683635c9adc5dea0000061292b90919063ffffffff16565b6129b190919063ffffffff16565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6011546040518082815260200191505060405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61185a611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461191a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b600b80549050811015611a6457600c6000600b838154811061193b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a5757611a56600b82815481106119c357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611a51600b8581548110611a2157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610b04565b611c66565b5b808060010191505061191d565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611af5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806131e06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806131276022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806131bb6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806130da6023913960400191505060405180910390fd5b60008111611dcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806131926029913960400191505060405180910390fd5b611dd3610cdb565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e415750611e11610cdb565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156123ce57601060179054906101000a900460ff16156120a7573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ec357503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f1d5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f775750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156120a657600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611fbd611a67565b73ffffffffffffffffffffffffffffffffffffffff1614806120335750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661201b611a67565b73ffffffffffffffffffffffffffffffffffffffff16145b6120a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4552523a20556e6973776170206f6e6c7900000000000000000000000000000081525060200191505060405180910390fd5b5b5b6011548111156120b657600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561215a5750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61216357600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561220e5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156122645750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561227c5750601060179054906101000a900460ff165b156123145742600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106122cc57600080fd5b603c4201600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600061231f30610b04565b9050601060159054906101000a900460ff1615801561238c5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156123a45750601060169054906101000a900460ff165b156123cc576123b281612641565b600047905060008111156123ca576123c947612551565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124755750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561247f57600090505b61248b848484846129fb565b50505050565b600083831115829061253e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125035780820151818401526020810190506124e8565b50505050905090810190601f1680156125305780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125b9573d6000803e3d6000fd5b5050565b600060065482111561261a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806130fd602a913960400191505060405180910390fd5b6000612624612a28565b905061263981846129b190919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506060600267ffffffffffffffff8111801561267657600080fd5b506040519080825280602002602001820160405280156126a55781602001602082028036833780820191505090505b50905030816000815181106126b657fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561275857600080fd5b505afa15801561276c573d6000803e3d6000fd5b505050506040513d602081101561278257600080fd5b8101908080519060200190929190505050816001815181106127a057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061280730600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a6f565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156128cb5780820151818401526020810190506128b0565b505050509050019650505050505050600060405180830381600087803b1580156128f457600080fd5b505af1158015612908573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b60008083141561293e57600090506129ab565b600082840290508284828161294f57fe5b04146129a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131496021913960400191505060405180910390fd5b809150505b92915050565b60006129f383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a53565b905092915050565b80612a0957612a08612b19565b5b612a14848484612b4a565b80612a2257612a21612d15565b5b50505050565b6000806000612a35612d27565b91509150612a4c81836129b190919063ffffffff16565b9250505090565b60008083118290612aff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ac4578082015181840152602081019050612aa9565b50505050905090810190601f168015612af15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612b0b57fe5b049050809150509392505050565b6000600854148015612b2d57506000600954145b15612b3757612b48565b600060088190555060006009819055505b565b600080600080600080612b5c87612d89565b955095509550955095509550612bba86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612df190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c4f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c9b81612ec3565b612ca58483612f80565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000600881905550600a600981905550565b600080600060065490506000683635c9adc5dea000009050612d5d683635c9adc5dea000006006546129b190919063ffffffff16565b821015612d7c57600654683635c9adc5dea00000935093505050612d85565b81819350935050505b9091565b6000806000806000806000806000612da68a600854600954612fba565b9250925092506000612db6612a28565b90506000806000612dc98e878787613050565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612e3383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612491565b905092915050565b600080828401905083811015612eb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612ecd612a28565b90506000612ee4828461292b90919063ffffffff16565b9050612f3881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612f9582600654612df190919063ffffffff16565b600681905550612fb081600754612e3b90919063ffffffff16565b6007819055505050565b600080600080612fe66064612fd8888a61292b90919063ffffffff16565b6129b190919063ffffffff16565b905060006130106064613002888b61292b90919063ffffffff16565b6129b190919063ffffffff16565b905060006130398261302b858c612df190919063ffffffff16565b612df190919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080613069858961292b90919063ffffffff16565b90506000613080868961292b90919063ffffffff16565b90506000613097878961292b90919063ffffffff16565b905060006130c0826130b28587612df190919063ffffffff16565b612df190919063ffffffff16565b905083818496509650965050505050945094509491505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220e161c73fc435ec55b0d55776a62f91e6221fbc8fb76a4ce304ee4732fcafc23e64736f6c634300060c00330000000000000000000000003372bdecb816497fbb941ed323be4fd9756f5050

Deployed Bytecode

0x6080604052600436106101185760003560e01c8063715018a6116100a0578063c3c8cd8011610064578063c3c8cd8014610637578063c9567bf91461064e578063d543dbeb14610665578063dd62ed3e146106a0578063fe598ba1146107255761011f565b8063715018a6146104195780638da5cb5b1461043057806395d89b4114610471578063a9059cbb14610501578063b515566a146105725761011f565b8063273123b7116100e7578063273123b7146102e1578063313ce567146103325780635932ead1146103605780636fc3eaec1461039d57806370a08231146103b45761011f565b806306fdde0314610124578063095ea7b3146101b457806318160ddd1461022557806323b872dd146102505761011f565b3661011f57005b600080fd5b34801561013057600080fd5b5061013961073c565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c057600080fd5b5061020d600480360360408110156101d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610779565b60405180821515815260200191505060405180910390f35b34801561023157600080fd5b5061023a610797565b6040518082815260200191505060405180910390f35b34801561025c57600080fd5b506102c96004803603606081101561027357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107a8565b60405180821515815260200191505060405180910390f35b3480156102ed57600080fd5b506103306004803603602081101561030457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610881565b005b34801561033e57600080fd5b506103476109a4565b604051808260ff16815260200191505060405180910390f35b34801561036c57600080fd5b5061039b6004803603602081101561038357600080fd5b810190808035151590602001909291905050506109ad565b005b3480156103a957600080fd5b506103b2610a92565b005b3480156103c057600080fd5b50610403600480360360208110156103d757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b04565b6040518082815260200191505060405180910390f35b34801561042557600080fd5b5061042e610b55565b005b34801561043c57600080fd5b50610445610cdb565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561047d57600080fd5b50610486610d04565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104c65780820151818401526020810190506104ab565b50505050905090810190601f1680156104f35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561050d57600080fd5b5061055a6004803603604081101561052457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d41565b60405180821515815260200191505060405180910390f35b34801561057e57600080fd5b506106356004803603602081101561059557600080fd5b81019080803590602001906401000000008111156105b257600080fd5b8201836020820111156105c457600080fd5b803590602001918460208302840111640100000000831117156105e657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610d5f565b005b34801561064357600080fd5b5061064c610f25565b005b34801561065a57600080fd5b50610663610f9f565b005b34801561067157600080fd5b5061069e6004803603602081101561068857600080fd5b810190808035906020019092919050505061161c565b005b3480156106ac57600080fd5b5061070f600480360360408110156106c357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117cb565b6040518082815260200191505060405180910390f35b34801561073157600080fd5b5061073a611852565b005b60606040518060400160405280600f81526020017f44696d6f6e64536869626120496e750000000000000000000000000000000000815250905090565b600061078d610786611a67565b8484611a6f565b6001905092915050565b6000683635c9adc5dea00000905090565b60006107b5848484611c66565b610876846107c1611a67565b6108718560405180606001604052806028815260200161316a60289139600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610827611a67565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124919092919063ffffffff16565b611a6f565b600190509392505050565b610889611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610949576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006009905090565b6109b5611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b80601060176101000a81548160ff02191690831515021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ad3611a67565b73ffffffffffffffffffffffffffffffffffffffff1614610af357600080fd5b6000479050610b0181612551565b50565b6000610b4e600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125bd565b9050919050565b610b5d611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c1d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600f81526020017ff09f92a020445348495520f09f90950000000000000000000000000000000000815250905090565b6000610d55610d4e611a67565b8484611c66565b6001905092915050565b610d67611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e27576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b8151811015610f21576001600c6000848481518110610e4557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b828281518110610eac57fe5b60200260200101519080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508080600101915050610e2a565b5050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f66611a67565b73ffffffffffffffffffffffffffffffffffffffff1614610f8657600080fd5b6000610f9130610b04565b9050610f9c81612641565b50565b610fa7611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611067576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b601060149054906101000a900460ff16156110ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f74726164696e6720697320616c7265616479206f70656e00000000000000000081525060200191505060405180910390fd5b6000737a250d5630b4cf539739df2c5dacb4c659f2488d905080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061117a30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16683635c9adc5dea00000611a6f565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156111c057600080fd5b505afa1580156111d4573d6000803e3d6000fd5b505050506040513d60208110156111ea57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff16815260200192505050602060405180830381600087803b15801561130157600080fd5b505af1158015611315573d6000803e3d6000fd5b505050506040513d602081101561132b57600080fd5b8101908080519060200190929190505050601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306113c530610b04565b6000806113d0610cdb565b426040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561145557600080fd5b505af1158015611469573d6000803e3d6000fd5b50505050506040513d606081101561148057600080fd5b810190808051906020019092919080519060200190929190805190602001909291905050505050506001601060166101000a81548160ff0219169083151502179055506000601060176101000a81548160ff021916908315150217905550674563918244f400006011819055506001601060146101000a81548160ff021916908315150217905550601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156115dd57600080fd5b505af11580156115f1573d6000803e3d6000fd5b505050506040513d602081101561160757600080fd5b81019080805190602001909291905050505050565b611624611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b6000811161175a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416d6f756e74206d7573742062652067726561746572207468616e203000000081525060200191505060405180910390fd5b611789606461177b83683635c9adc5dea0000061292b90919063ffffffff16565b6129b190919063ffffffff16565b6011819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6011546040518082815260200191505060405180910390a150565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61185a611a67565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461191a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657281525060200191505060405180910390fd5b60005b600b80549050811015611a6457600c6000600b838154811061193b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a5757611a56600b82815481106119c357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611a51600b8581548110611a2157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610b04565b611c66565b5b808060010191505061191d565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611af5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806131e06024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260228152602001806131276022913960400191505060405180910390fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611cec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260258152602001806131bb6025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611d72576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806130da6023913960400191505060405180910390fd5b60008111611dcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260298152602001806131926029913960400191505060405180910390fd5b611dd3610cdb565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e415750611e11610cdb565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156123ce57601060179054906101000a900460ff16156120a7573073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ec357503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611f1d5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611f775750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156120a657600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611fbd611a67565b73ffffffffffffffffffffffffffffffffffffffff1614806120335750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661201b611a67565b73ffffffffffffffffffffffffffffffffffffffff16145b6120a5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4552523a20556e6973776170206f6e6c7900000000000000000000000000000081525060200191505060405180910390fd5b5b5b6011548111156120b657600080fd5b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561215a5750600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61216357600080fd5b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561220e5750600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156122645750600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561227c5750601060179054906101000a900460ff165b156123145742600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106122cc57600080fd5b603c4201600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600061231f30610b04565b9050601060159054906101000a900460ff1615801561238c5750601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156123a45750601060169054906101000a900460ff165b156123cc576123b281612641565b600047905060008111156123ca576123c947612551565b5b505b505b600060019050600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806124755750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561247f57600090505b61248b848484846129fb565b50505050565b600083831115829061253e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156125035780820151818401526020810190506124e8565b50505050905090810190601f1680156125305780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125b9573d6000803e3d6000fd5b5050565b600060065482111561261a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a8152602001806130fd602a913960400191505060405180910390fd5b6000612624612a28565b905061263981846129b190919063ffffffff16565b915050919050565b6001601060156101000a81548160ff0219169083151502179055506060600267ffffffffffffffff8111801561267657600080fd5b506040519080825280602002602001820160405280156126a55781602001602082028036833780820191505090505b50905030816000815181106126b657fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561275857600080fd5b505afa15801561276c573d6000803e3d6000fd5b505050506040513d602081101561278257600080fd5b8101908080519060200190929190505050816001815181106127a057fe5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061280730600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611a6f565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b815260040180868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156128cb5780820151818401526020810190506128b0565b505050509050019650505050505050600060405180830381600087803b1580156128f457600080fd5b505af1158015612908573d6000803e3d6000fd5b50505050506000601060156101000a81548160ff02191690831515021790555050565b60008083141561293e57600090506129ab565b600082840290508284828161294f57fe5b04146129a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806131496021913960400191505060405180910390fd5b809150505b92915050565b60006129f383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612a53565b905092915050565b80612a0957612a08612b19565b5b612a14848484612b4a565b80612a2257612a21612d15565b5b50505050565b6000806000612a35612d27565b91509150612a4c81836129b190919063ffffffff16565b9250505090565b60008083118290612aff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612ac4578082015181840152602081019050612aa9565b50505050905090810190601f168015612af15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612b0b57fe5b049050809150509392505050565b6000600854148015612b2d57506000600954145b15612b3757612b48565b600060088190555060006009819055505b565b600080600080600080612b5c87612d89565b955095509550955095509550612bba86600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612df190919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c4f85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3b90919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c9b81612ec3565b612ca58483612f80565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3505050505050505050565b6000600881905550600a600981905550565b600080600060065490506000683635c9adc5dea000009050612d5d683635c9adc5dea000006006546129b190919063ffffffff16565b821015612d7c57600654683635c9adc5dea00000935093505050612d85565b81819350935050505b9091565b6000806000806000806000806000612da68a600854600954612fba565b9250925092506000612db6612a28565b90506000806000612dc98e878787613050565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b6000612e3383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612491565b905092915050565b600080828401905083811015612eb9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000612ecd612a28565b90506000612ee4828461292b90919063ffffffff16565b9050612f3881600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e3b90919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b612f9582600654612df190919063ffffffff16565b600681905550612fb081600754612e3b90919063ffffffff16565b6007819055505050565b600080600080612fe66064612fd8888a61292b90919063ffffffff16565b6129b190919063ffffffff16565b905060006130106064613002888b61292b90919063ffffffff16565b6129b190919063ffffffff16565b905060006130398261302b858c612df190919063ffffffff16565b612df190919063ffffffff16565b905080838395509550955050505093509350939050565b600080600080613069858961292b90919063ffffffff16565b90506000613080868961292b90919063ffffffff16565b90506000613097878961292b90919063ffffffff16565b905060006130c0826130b28587612df190919063ffffffff16565b612df190919063ffffffff16565b905083818496509650965050505050945094509491505056fe45524332303a207472616e7366657220746f20746865207a65726f2061646472657373416d6f756e74206d757374206265206c657373207468616e20746f74616c207265666c656374696f6e7345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655472616e7366657220616d6f756e74206d7573742062652067726561746572207468616e207a65726f45524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a2646970667358221220e161c73fc435ec55b0d55776a62f91e6221fbc8fb76a4ce304ee4732fcafc23e64736f6c634300060c0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000003372bdecb816497fbb941ed323be4fd9756f5050

-----Decoded View---------------
Arg [0] : addr1 (address): 0x3372BDeCB816497Fbb941eD323be4fD9756F5050

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003372bdecb816497fbb941ed323be4fd9756f5050


Deployed Bytecode Sourcemap

3862:12666:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5700:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6625:193;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5977:95;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6826:446;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12522:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5886:83;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7280:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12107:194;;;;;;;;;;;;;:::i;:::-;;6080:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2814:148;;;;;;;;;;;;;:::i;:::-;;2600:79;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5791:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6226:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;12309:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11904:195;;;;;;;;;;;;;:::i;:::-;;10918:978;;;;;;;;;;;;;:::i;:::-;;16270:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6433:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12622:245;;;;;;;;;;;;;:::i;:::-;;5700:83;5737:13;5770:5;;;;;;;;;;;;;;;;;5763:12;;5700:83;:::o;6625:193::-;6727:4;6749:39;6758:12;:10;:12::i;:::-;6772:7;6781:6;6749:8;:39::i;:::-;6806:4;6799:11;;6625:193;;;;:::o;5977:95::-;6030:7;4467:16;6050:14;;5977:95;:::o;6826:446::-;6958:4;6975:36;6985:6;6993:9;7004:6;6975:9;:36::i;:::-;7022:220;7045:6;7066:12;:10;:12::i;:::-;7093:138;7149:6;7093:138;;;;;;;;;;;;;;;;;:11;:19;7105:6;7093:19;;;;;;;;;;;;;;;:33;7113:12;:10;:12::i;:::-;7093:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;7022:8;:220::i;:::-;7260:4;7253:11;;6826:446;;;;;:::o;12522:88::-;2737:12;:10;:12::i;:::-;2727:22;;:6;;;;;;;;;;:22;;;2719:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12597:5:::1;12582:4;:12;12587:6;12582:12;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;12522:88:::0;:::o;5886:83::-;5927:5;4129:1;5945:16;;5886:83;:::o;7280:103::-;2737:12;:10;:12::i;:::-;2727:22;;:6;;;;;;;;;;:22;;;2719:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7370:5:::1;7352:15;;:23;;;;;;;;;;;;;;;;;;7280:103:::0;:::o;12107:194::-;12173:15;;;;;;;;;;;12157:31;;:12;:10;:12::i;:::-;:31;;;12149:40;;;;;;12200:26;12229:21;12200:50;;12261:32;12274:18;12261:12;:32::i;:::-;12107:194;:::o;6080:138::-;6146:7;6173:37;6193:7;:16;6201:7;6193:16;;;;;;;;;;;;;;;;6173:19;:37::i;:::-;6166:44;;6080:138;;;:::o;2814:148::-;2737:12;:10;:12::i;:::-;2727:22;;:6;;;;;;;;;;:22;;;2719:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2921:1:::1;2884:40;;2905:6;::::0;::::1;;;;;;;;2884:40;;;;;;;;;;;;2952:1;2935:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2814:148::o:0;2600:79::-;2638:7;2665:6;;;;;;;;;;;2658:13;;2600:79;:::o;5791:87::-;5830:13;5863:7;;;;;;;;;;;;;;;;;5856:14;;5791:87;:::o;6226:199::-;6331:4;6353:42;6363:12;:10;:12::i;:::-;6377:9;6388:6;6353:9;:42::i;:::-;6413:4;6406:11;;6226:199;;;;:::o;12309:205::-;2737:12;:10;:12::i;:::-;2727:22;;:6;;;;;;;;;;:22;;;2719:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12383:9:::1;12378:129;12402:5;:12;12398:1;:16;12378:129;;;12453:4;12436;:14;12441:5;12447:1;12441:8;;;;;;;;;;;;;;12436:14;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12472:8;12486:5;12492:1;12486:8;;;;;;;;;;;;;;12472:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12416:3;;;;;;;12378:129;;;;12309:205:::0;:::o;11904:195::-;11970:15;;;;;;;;;;;11954:31;;:12;:10;:12::i;:::-;:31;;;11946:40;;;;;;11997:23;12023:24;12041:4;12023:9;:24::i;:::-;11997:50;;12058:33;12075:15;12058:16;:33::i;:::-;11904:195;:::o;10918:978::-;2737:12;:10;:12::i;:::-;2727:22;;:6;;;;;;;;;;:22;;;2719:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10982:11:::1;;;;;;;;;;;10981:12;10973:48;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;11032:35;11102:42;11032:113;;11174:16;11156:15;;:34;;;;;;;;;;;;;;;;;;11201:58;11218:4;11233:15;;;;;;;;;;;4467:16;11201:8;:58::i;:::-;11304:16;:24;;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;11286:70;;;11365:4;11372:16;:21;;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;11286:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;11270:13;;:126;;;;;;;;;;;;;;;;;;11407:15;;;;;;;;;;;:31;;;11446:21;11491:4;11511:24;11529:4;11511:9;:24::i;:::-;11550:1;11566::::0;11582:7:::1;:5;:7::i;:::-;11604:15;11407:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11655:4;11641:11;;:18;;;;;;;;;;;;;;;;;;11688:5;11670:15;;:23;;;;;;;;;;;;;;;;;;11719:18;11704:12;:33;;;;11762:4;11748:11;;:18;;;;;;;;;;;;;;;;;;11784:13;;;;;;;;;;;11777:29;;;11829:15;;;;;;;;;;;11860:17;11777:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;2797:1;10918:978::o:0;16270:255::-;2737:12;:10;:12::i;:::-;2727:22;;:6;;;;;;;;;;:22;;;2719:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16372:1:::1;16357:12;:16;16349:58;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;16433:36;16463:5;16433:25;16445:12;4467:16;16433:11;;:25;;;;:::i;:::-;:29;;:36;;;;:::i;:::-;16418:12;:51;;;;16485:32;16504:12;;16485:32;;;;;;;;;;;;;;;;;;16270:255:::0;:::o;6433:184::-;6550:7;6582:11;:18;6594:5;6582:18;;;;;;;;;;;;;;;:27;6601:7;6582:27;;;;;;;;;;;;;;;;6575:34;;6433:184;;;;:::o;12622:245::-;2737:12;:10;:12::i;:::-;2727:22;;:6;;;;;;;;;;:22;;;2719:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12675:9:::1;12670:190;12694:8;:15;;;;12690:1;:19;12670:190;;;12736:4;:17;12741:8;12750:1;12741:11;;;;;;;;;;;;;;;;;;;;;;;;;12736:17;;;;;;;;;;;;;;;;;;;;;;;;;12732:117;;;12774:59;12784:8;12793:1;12784:11;;;;;;;;;;;;;;;;;;;;;;;;;12797;;;;;;;;;;;12810:22;12820:8;12829:1;12820:11;;;;;;;;;;;;;;;;;;;;;;;;;12810:9;:22::i;:::-;12774:9;:59::i;:::-;12732:117;12711:4;;;;;;;12670:190;;;;12622:245::o:0;96:98::-;149:7;176:10;169:17;;96:98;:::o;7962:369::-;8106:1;8089:19;;:5;:19;;;;8081:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8187:1;8168:21;;:7;:21;;;;8160:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8269:6;8239:11;:18;8251:5;8239:18;;;;;;;;;;;;;;;:27;8258:7;8239:27;;;;;;;;;;;;;;;:36;;;;8307:7;8291:32;;8300:5;8291:32;;;8316:6;8291:32;;;;;;;;;;;;;;;;;;7962:369;;;:::o;8339:1975::-;8477:1;8461:18;;:4;:18;;;;8453:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8554:1;8540:16;;:2;:16;;;;8532:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8624:1;8615:6;:10;8607:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8696:7;:5;:7::i;:::-;8688:15;;:4;:15;;;;:32;;;;;8713:7;:5;:7::i;:::-;8707:13;;:2;:13;;;;8688:32;8684:1429;;;8741:15;;;;;;;;;;;8737:526;;;8819:4;8803:21;;:4;:21;;;;:65;;;;;8863:4;8849:19;;:2;:19;;;;8803:65;:122;;;;;8909:15;;;;;;;;;;;8893:32;;:4;:32;;;;8803:122;:177;;;;;8964:15;;;;;;;;;;;8950:30;;:2;:30;;;;8803:177;8777:471;;;9081:15;;;;;;;;;;;9057:40;;:12;:10;:12::i;:::-;:40;;;:102;;;;9146:13;;;;;;;;;;;9130:29;;:12;:10;:12::i;:::-;:29;;;9057:102;9023:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8777:471;8737:526;9295:12;;9285:6;:22;;9277:31;;;;;;9332:4;:10;9337:4;9332:10;;;;;;;;;;;;;;;;;;;;;;;;;9331:11;:24;;;;;9347:4;:8;9352:2;9347:8;;;;;;;;;;;;;;;;;;;;;;;;;9346:9;9331:24;9323:33;;;;;;9401:13;;;;;;;;;;;9393:21;;:4;:21;;;:72;;;;;9449:15;;;;;;;;;;;9435:30;;:2;:30;;;;9393:72;:116;;;;;9487:18;:22;9506:2;9487:22;;;;;;;;;;;;;;;;;;;;;;;;;9486:23;9393:116;:152;;;;;9530:15;;;;;;;;;;;9393:152;9371:328;;;9603:15;9588:8;:12;9597:2;9588:12;;;;;;;;;;;;;;;;:30;9580:39;;;;;;9672:10;9653:15;:30;9638:8;:12;9647:2;9638:12;;;;;;;;;;;;;;;:45;;;;9371:328;9713:28;9744:24;9762:4;9744:9;:24::i;:::-;9713:55;;9788:6;;;;;;;;;;;9787:7;:32;;;;;9806:13;;;;;;;;;;;9798:21;;:4;:21;;;;9787:32;:47;;;;;9823:11;;;;;;;;;;;9787:47;9783:319;;;9855:38;9872:20;9855:16;:38::i;:::-;9912:26;9941:21;9912:50;;10006:1;9985:18;:22;9981:106;;;10032:35;10045:21;10032:12;:35::i;:::-;9981:106;9783:319;;8684:1429;;10123:12;10138:4;10123:19;;10159:18;:24;10178:4;10159:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;10187:18;:22;10206:2;10187:22;;;;;;;;;;;;;;;;;;;;;;;;;10159:50;10155:98;;;10236:5;10226:15;;10155:98;10265:41;10280:4;10286:2;10290:6;10298:7;10265:14;:41::i;:::-;8339:1975;;;;:::o;1358:224::-;1478:7;1511:1;1506;:6;;1514:12;1498:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1538:9;1554:1;1550;:5;1538:17;;1573:1;1566:8;;;1358:224;;;;;:::o;10813:97::-;10870:15;;;;;;;;;;;:24;;:32;10895:6;10870:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10813:97;:::o;7391:323::-;7486:7;7544;;7533;:18;;7511:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7632:19;7654:10;:8;:10::i;:::-;7632:32;;7682:24;7694:11;7682:7;:11;;:24;;;;:::i;:::-;7675:31;;;7391:323;;;:::o;10322:483::-;5301:4;5292:6;;:13;;;;;;;;;;;;;;;;;;10400:21:::1;10438:1;10424:16;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10400:40;;10469:4;10451;10456:1;10451:7;;;;;;;;;;;;;:23;;;;;;;;;::::0;::::1;10495:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;10485:4;10490:1;10485:7;;;;;;;;;;;;;:32;;;;;;;;;::::0;::::1;10528:62;10545:4;10560:15;;;;;;;;;;;10578:11;10528:8;:62::i;:::-;10601:15;;;;;;;;;;;:66;;;10682:11;10708:1;10724:4;10751;10771:15;10601:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5316:1;5337:5:::0;5328:6;;:14;;;;;;;;;;;;;;;;;;10322:483;:::o;1590:246::-;1648:7;1677:1;1672;:6;1668:47;;;1702:1;1695:8;;;;1668:47;1725:9;1741:1;1737;:5;1725:17;;1770:1;1765;1761;:5;;;;;;:10;1753:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1827:1;1820:8;;;1590:246;;;;;:::o;1844:132::-;1902:7;1929:39;1933:1;1936;1929:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1922:46;;1844:132;;;;:::o;12875:282::-;13031:7;13026:28;;13040:14;:12;:14::i;:::-;13026:28;13065:44;13083:6;13091:9;13102:6;13065:17;:44::i;:::-;13125:7;13120:29;;13134:15;:13;:15::i;:::-;13120:29;12875:282;;;;:::o;15833:164::-;15875:7;15896:15;15913;15932:19;:17;:19::i;:::-;15895:56;;;;15969:20;15981:7;15969;:11;;:20;;;;:::i;:::-;15962:27;;;;15833:164;:::o;1984:223::-;2104:7;2136:1;2132;:5;2139:12;2124:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2163:9;2179:1;2175;:5;;;;;;2163:17;;2198:1;2191:8;;;1984:223;;;;;:::o;7722:137::-;7780:1;7769:7;;:12;:29;;;;;7797:1;7785:8;;:13;7769:29;7765:42;;;7800:7;;7765:42;7827:1;7817:7;:11;;;;7850:1;7839:8;:12;;;;7722:137;:::o;13165:610::-;13312:15;13342:23;13380:12;13407:23;13445:12;13472:13;13499:19;13510:7;13499:10;:19::i;:::-;13297:221;;;;;;;;;;;;13547:28;13567:7;13547;:15;13555:6;13547:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;13529:7;:15;13537:6;13529:15;;;;;;;;;;;;;;;:46;;;;13607:39;13630:15;13607:7;:18;13615:9;13607:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;13586:7;:18;13594:9;13586:18;;;;;;;;;;;;;;;:60;;;;13657:16;13667:5;13657:9;:16::i;:::-;13684:23;13696:4;13702;13684:11;:23::i;:::-;13740:9;13723:44;;13732:6;13723:44;;;13751:15;13723:44;;;;;;;;;;;;;;;;;;13165:610;;;;;;;;;:::o;7867:87::-;7921:1;7911:7;:11;;;;7944:2;7933:8;:13;;;;7867:87::o;16005:257::-;16056:7;16065;16085:15;16103:7;;16085:25;;16121:15;4467:16;16121:25;;16171:20;4467:16;16171:7;;:11;;:20;;;;:::i;:::-;16161:7;:30;16157:61;;;16201:7;;4467:16;16193:25;;;;;;;;16157:61;16237:7;16246;16229:25;;;;;;16005:257;;;:::o;14194:614::-;14294:7;14316;14338;14360;14382;14404;14440:23;14465:12;14479:13;14509:39;14521:7;14530;;14539:8;;14509:11;:39::i;:::-;14439:109;;;;;;14559:19;14581:10;:8;:10::i;:::-;14559:32;;14603:15;14620:23;14645:12;14674:46;14686:7;14695:4;14701:5;14708:11;14674;:46::i;:::-;14602:118;;;;;;14739:7;14748:15;14765:4;14771:15;14788:4;14794:5;14731:69;;;;;;;;;;;;;;;;;;;14194:614;;;;;;;:::o;1214:136::-;1272:7;1299:43;1303:1;1306;1299:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1292:50;;1214:136;;;;:::o;1027:179::-;1085:7;1105:9;1121:1;1117;:5;1105:17;;1146:1;1141;:6;;1133:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1197:1;1190:8;;;1027:179;;;;:::o;13783:211::-;13836:19;13858:10;:8;:10::i;:::-;13836:32;;13879:13;13895:22;13905:11;13895:5;:9;;:22;;;;:::i;:::-;13879:38;;13953:33;13980:5;13953:7;:22;13969:4;13953:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;13928:7;:22;13944:4;13928:22;;;;;;;;;;;;;;;:58;;;;13783:211;;;:::o;14002:147::-;14080:17;14092:4;14080:7;;:11;;:17;;;;:::i;:::-;14070:7;:27;;;;14121:20;14136:4;14121:10;;:14;;:20;;;;:::i;:::-;14108:10;:33;;;;14002:147;;:::o;14816:467::-;14984:7;15006;15028;15063:12;15078:28;15102:3;15078:19;15090:6;15078:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;15063:43;;15117:13;15133:29;15158:3;15133:20;15145:7;15133;:11;;:20;;;;:::i;:::-;:24;;:29;;;;:::i;:::-;15117:45;;15173:23;15199:28;15221:5;15199:17;15211:4;15199:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15173:54;;15246:15;15263:4;15269:5;15238:37;;;;;;;;;14816:467;;;;;;;:::o;15291:534::-;15485:7;15507;15529;15564:15;15582:24;15594:11;15582:7;:11;;:24;;;;:::i;:::-;15564:42;;15617:12;15632:21;15641:11;15632:4;:8;;:21;;;;:::i;:::-;15617:36;;15664:13;15680:22;15690:11;15680:5;:9;;:22;;;;:::i;:::-;15664:38;;15713:23;15739:28;15761:5;15739:17;15751:4;15739:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;15713:54;;15786:7;15795:15;15812:4;15778:39;;;;;;;;;;15291:534;;;;;;;;:::o

Swarm Source

ipfs://e161c73fc435ec55b0d55776a62f91e6221fbc8fb76a4ce304ee4732fcafc23e
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.