ETH Price: $3,313.70 (-1.37%)

Token

KickToken (KICK)
 

Overview

Max Total Supply

1,251,233,467,009.30822106 KICK

Holders

1,251,890 ( 0.000%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Filtered by Token Holder
juchunko.eth
Balance
888,888 KICK

Value
$0.00
0xe8c8271baa2d476fecd5ae2727ece63d2ae661df
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

KickToken contract has migrated to 0x824a50df33ac1b41afc52f4194e2e8356c17c3ac.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
KickToken

Compiler Version
v0.5.11+commit.c082d0b4

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-08-27
*/

pragma solidity ^0.5.11;

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) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }
}

contract AccountFrozenBalances {
    using SafeMath for uint256;

    mapping (address => uint256) private frozen_balances;

    function _frozen_add(address _account, uint256 _amount) internal returns (bool) {
        frozen_balances[_account] = frozen_balances[_account].add(_amount);
        return true;
    }

    function _frozen_sub(address _account, uint256 _amount) internal returns (bool) {
        frozen_balances[_account] = frozen_balances[_account].sub(_amount);
        return true;
    }

    function _frozen_balanceOf(address _account) internal view returns (uint) {
        return frozen_balances[_account];
    }
}

contract Ownable {
    address private _owner;
    address public pendingOwner;

    modifier onlyOwner() {
        require(msg.sender == _owner, "caller is not the owner");
        _;
    }

    modifier onlyPendingOwner() {
        require(msg.sender == pendingOwner);
        _;
    }

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () internal {
        _owner = msg.sender;
    }

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

    function transferOwnership(address newOwner) public onlyOwner {
        pendingOwner = newOwner;
    }

    function claimOwnership() public onlyPendingOwner {
        emit OwnershipTransferred(_owner, pendingOwner);
        _owner = pendingOwner;
        pendingOwner = address(0);
    }
}

contract Whitelisted {
    address private _whitelistadmin;
    address public pendingWhiteListAdmin;

    mapping (address => bool) private _whitelisted;

    modifier onlyWhitelistAdmin() {
        require(msg.sender == _whitelistadmin, "caller is not admin of whitelist");
        _;
    }

    modifier onlyPendingWhitelistAdmin() {
        require(msg.sender == pendingWhiteListAdmin);
        _;
    }

    event WhitelistAdminTransferred(address indexed previousAdmin, address indexed newAdmin);

    constructor () internal {
        _whitelistadmin = msg.sender;
        _whitelisted[msg.sender] = true;
    }

    function whitelistadmin() public view returns (address){
        return _whitelistadmin;
    }
    function addWhitelisted(address account) public onlyWhitelistAdmin {
        _whitelisted[account] = true;
    }

    function removeWhitelisted(address account) public onlyWhitelistAdmin {
        _whitelisted[account] = false;
    }

    function isWhitelisted(address account) public view returns (bool) {
        return _whitelisted[account];
    }

    function transferWhitelistAdmin(address newAdmin) public onlyWhitelistAdmin {
        pendingWhiteListAdmin = newAdmin;
    }

    function claimWhitelistAdmin() public onlyPendingWhitelistAdmin {
        emit WhitelistAdminTransferred(_whitelistadmin, pendingWhiteListAdmin);
        _whitelistadmin = pendingWhiteListAdmin;
        pendingWhiteListAdmin = address(0);
    }
}

contract Burnable {
    bool private _burnallow;
    address private _burner;
    address public pendingBurner;

    modifier whenBurn() {
        require(_burnallow, "burnable: can't burn");
        _;
    }

    modifier onlyBurner() {
        require(msg.sender == _burner, "caller is not a burner");
        _;
    }

    modifier onlyPendingBurner() {
        require(msg.sender == pendingBurner);
        _;
    }

    event BurnerTransferred(address indexed previousBurner, address indexed newBurner);

    constructor () internal {
        _burnallow = true;
        _burner = msg.sender;
    }

    function burnallow() public view returns (bool) {
        return _burnallow;
    }

    function burner() public view returns (address) {
        return _burner;
    }

    function burnTrigger() public onlyBurner {
        _burnallow = !_burnallow;
    }

    function transferWhitelistAdmin(address newBurner) public onlyBurner {
        pendingBurner = newBurner;
    }

    function claimBurner() public onlyPendingBurner {
        emit BurnerTransferred(_burner, pendingBurner);
        _burner = pendingBurner;
        pendingBurner = address(0);
    }
}

contract Meltable {
    mapping (address => bool) private _melters;
    address private _melteradmin;
    address public pendingMelterAdmin;

    modifier onlyMelterAdmin() {
        require (msg.sender == _melteradmin, "caller not a melter admin");
        _;
    }

    modifier onlyMelter() {
        require (_melters[msg.sender] == true, "can't perform melt");
        _;
    }

    modifier onlyPendingMelterAdmin() {
        require(msg.sender == pendingMelterAdmin);
        _;
    }

    event MelterTransferred(address indexed previousMelter, address indexed newMelter);

    constructor () internal {
        _melteradmin = msg.sender;
        _melters[msg.sender] = true;
    }

    function melteradmin() public view returns (address) {
        return _melteradmin;
    }

    function addToMelters(address account) public onlyMelterAdmin {
        _melters[account] = true;
    }

    function removeFromMelters(address account) public onlyMelterAdmin {
        _melters[account] = false;
    }

    function transferMelterAdmin(address newMelter) public onlyMelterAdmin {
        pendingMelterAdmin = newMelter;
    }

    function claimMelterAdmin() public onlyPendingMelterAdmin {
        emit MelterTransferred(_melteradmin, pendingMelterAdmin);
        _melteradmin = pendingMelterAdmin;
        pendingMelterAdmin = address(0);
    }
}

contract Mintable {
    mapping (address => bool) private _minters;
    address private _minteradmin;
    address public pendingMinterAdmin;


    modifier onlyMinterAdmin() {
        require (msg.sender == _minteradmin, "caller not a minter admin");
        _;
    }

    modifier onlyMinter() {
        require (_minters[msg.sender] == true, "can't perform mint");
        _;
    }

    modifier onlyPendingMinterAdmin() {
        require(msg.sender == pendingMinterAdmin);
        _;
    }

    event MinterTransferred(address indexed previousMinter, address indexed newMinter);

    constructor () internal {
        _minteradmin = msg.sender;
        _minters[msg.sender] = true;
    }

    function minteradmin() public view returns (address) {
        return _minteradmin;
    }

    function addToMinters(address account) public onlyMinterAdmin {
        _minters[account] = true;
    }

    function removeFromMinters(address account) public onlyMinterAdmin {
        _minters[account] = false;
    }

    function transferMinterAdmin(address newMinter) public onlyMinterAdmin {
        pendingMinterAdmin = newMinter;
    }

    function claimMinterAdmin() public onlyPendingMinterAdmin {
        emit MinterTransferred(_minteradmin, pendingMinterAdmin);
        _minteradmin = pendingMinterAdmin;
        pendingMinterAdmin = address(0);
    }
}

contract Pausable {
    bool private _paused;
    address private _pauser;
    address public pendingPauser;

    modifier onlyPauser() {
        require(msg.sender == _pauser, "caller is not a pauser");
        _;
    }

    modifier onlyPendingPauser() {
        require(msg.sender == pendingPauser);
        _;
    }

    event PauserTransferred(address indexed previousPauser, address indexed newPauser);


    constructor () internal {
        _paused = false;
        _pauser = msg.sender;
    }

    function paused() public view returns (bool) {
        return _paused;
    }

    function pauser() public view returns (address) {
        return _pauser;
    }

    function pauseTrigger() public onlyPauser {
        _paused = !_paused;
    }

    function transferPauser(address newPauser) public onlyPauser {
        pendingPauser = newPauser;
    }

    function claimPauser() public onlyPendingPauser {
        emit PauserTransferred(_pauser, pendingPauser);
        _pauser = pendingPauser;
        pendingPauser = address(0);
    }
}

contract TokenRecipient {
    function receiveApproval(address _from, uint256 _value, address _token, bytes memory _extraData) public;
}

contract KickToken is AccountFrozenBalances, Ownable, Whitelisted, Burnable, Pausable, Mintable, Meltable {
    using SafeMath for uint256;

    string public name;
    string public symbol;
    uint8 public decimals;


    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    uint256 private _totalSupply;


    modifier canTransfer() {
        if(paused()){
            require (isWhitelisted(msg.sender) == true, "can't perform an action");
        }
        _;
    }

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);

    event Freeze(address indexed from, uint256 amount);
    event Melt(address indexed from, uint256 amount);
    event MintFrozen(address indexed to, uint256 amount);
    event FrozenTransfer(address indexed from, address indexed to, uint256 value);

    constructor (string memory _name, string memory _symbol, uint8 _decimals) public {
        name = _name;
        symbol = _symbol;
        decimals = _decimals;
        mint(msg.sender, 100000000);
    }

    function totalSupply() public view returns (uint256) {
        return _totalSupply;
    }

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

    function transfer(address recipient, uint256 amount) public canTransfer returns (bool) {
        require(recipient != address(this), "can't transfer tokens to the contract address");

        _transfer(msg.sender, recipient, amount);
        return true;
    }

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

    function approve(address spender, uint256 value) public returns (bool) {
        _approve(msg.sender, spender, value);
        return true;
    }

    /* Approve and then communicate the approved contract in a single tx */
    function approveAndCall(address _spender, uint256 _value, bytes memory _extraData) public returns (bool) {
        TokenRecipient spender = TokenRecipient(_spender);
        if (approve(_spender, _value)) {
            spender.receiveApproval(msg.sender, _value, address(this), _extraData);
            return true;
        } else {
            return false;
        }
    }

    function transferFrom(address sender, address recipient, uint256 amount) public canTransfer returns (bool) {
        require(recipient != address(this), "can't transfer tokens to the contract address");

        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount));
        return true;
    }


    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].add(addedValue));
        return true;
    }


    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        _approve(msg.sender, spender, _allowances[msg.sender][spender].sub(subtractedValue));
        return true;
    }

    function mint(address account, uint256 amount) public onlyMinter returns (bool) {
        _mint(account, amount);
        return true;
    }

    function burn(uint256 amount) public whenBurn {
        _burn(msg.sender, amount);
    }

    function burnFrom(address account, uint256 amount) public whenBurn {
        _burnFrom(account, amount);
    }

    function destroy(address account, uint256 amount) public onlyOwner {
        _burn(account, amount);
    }

    function destroyFrozen(address account, uint256 amount) public onlyOwner {
        _burnFrozen(account, amount);
    }

    function mintBatchToken(address[] calldata accounts, uint256[] calldata amounts) external onlyMinter returns (bool) {
        require(accounts.length > 0, "mintBatchToken: transfer should be to at least one address");
        require(accounts.length == amounts.length, "mintBatchToken: recipients.length != amounts.length");
        for (uint256 i = 0; i < accounts.length; i++) {
            _mint(accounts[i], amounts[i]);
        }

        return true;
    }

    function transferFrozenToken(address from, address to, uint256 amount) public onlyOwner returns (bool) {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");

        _frozen_sub(from, amount);
        _frozen_add(to, amount);

        emit FrozenTransfer(from, to, amount);
        emit Transfer(from, to, amount);

        return true;
    }

    function freezeTokens(address account, uint256 amount) public onlyOwner returns (bool) {
        _freeze(account, amount);
        emit Transfer(account, address(this), amount);
        return true;
    }

    function meltTokens(address account, uint256 amount) public onlyMelter returns (bool) {
        _melt(account, amount);
        emit Transfer(address(this), account, amount);
        return true;
    }

    function mintFrozenTokens(address account, uint256 amount) public onlyMinter returns (bool) {
        _mintfrozen(account, amount);
        return true;
    }

    function mintBatchFrozenTokens(address[] calldata accounts, uint256[] calldata amounts) external onlyMinter returns (bool) {
        require(accounts.length > 0, "mintBatchFrozenTokens: transfer should be to at least one address");
        require(accounts.length == amounts.length, "mintBatchFrozenTokens: recipients.length != amounts.length");
        for (uint256 i = 0; i < accounts.length; i++) {
            _mintfrozen(accounts[i], amounts[i]);
        }

        return true;
    }

    function meltBatchTokens(address[] calldata accounts, uint256[] calldata amounts) external onlyMelter returns (bool) {
        require(accounts.length > 0, "mintBatchFrozenTokens: transfer should be to at least one address");
        require(accounts.length == amounts.length, "mintBatchFrozenTokens: recipients.length != amounts.length");
        for (uint256 i = 0; i < accounts.length; i++) {
            _melt(accounts[i], amounts[i]);
            emit Transfer(address(this), accounts[i], amounts[i]);
        }

        return true;
    }

    function _transfer(address sender, address recipient, uint256 amount) internal {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        _balances[sender] = _balances[sender].sub(amount);
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
    }


    function _mint(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint to the zero address");
        require(account != address(this), "ERC20: mint to the contract address");
        require(amount > 0, "ERC20: mint amount should be > 0");

        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(this), account, amount);
    }

    function _burn(address account, uint256 value) internal {
        require(account != address(0), "ERC20: burn from the zero address");

        _totalSupply = _totalSupply.sub(value);
        _balances[account] = _balances[account].sub(value);
        emit Transfer(account, address(this), value);
    }

    function _approve(address _owner, address spender, uint256 value) internal {
        require(_owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[_owner][spender] = value;
        emit Approval(_owner, spender, value);
    }

    function _burnFrom(address account, uint256 amount) internal {
        _burn(account, amount);
        _approve(account, msg.sender, _allowances[account][msg.sender].sub(amount));
    }

    function _freeze(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: freeze from the zero address");
        require(amount > 0, "ERC20: freeze from the address: amount should be > 0");

        _balances[account] = _balances[account].sub(amount);
        _frozen_add(account, amount);

        emit Freeze(account, amount);
    }

    function _mintfrozen(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: mint frozen to the zero address");
        require(account != address(this), "ERC20: mint frozen to the contract address");
        require(amount > 0, "ERC20: mint frozen amount should be > 0");

        _totalSupply = _totalSupply.add(amount);

        emit Transfer(address(this), account, amount);

        _frozen_add(account, amount);

        emit MintFrozen(account, amount);
    }

    function _melt(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: melt from the zero address");
        require(amount > 0, "ERC20: melt from the address: value should be > 0");
        require(_frozen_balanceOf(account) >= amount, "ERC20: melt from the address: balance < amount");

        _frozen_sub(account, amount);
        _balances[account] = _balances[account].add(amount);

        emit Melt(account, amount);
    }

    function _burnFrozen(address account, uint256 amount) internal {
        require(account != address(0), "ERC20: frozen burn from the zero address");

        _totalSupply = _totalSupply.sub(amount);
        _frozen_sub(account, amount);

        emit Transfer(account, address(this), amount);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minteradmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pauseTrigger","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"meltTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burnallow","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addWhitelisted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"destroyFrozen","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimMinterAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimMelterAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromMelters","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeWhitelisted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"melteradmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"meltBatchTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newPauser","type":"address"}],"name":"transferPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newMelter","type":"address"}],"name":"transferMelterAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"mintBatchToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"mintBatchFrozenTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"whitelistadmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeFromMinters","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingMelterAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newBurner","type":"address"}],"name":"transferWhitelistAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingPauser","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pauser","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addToMinters","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"freezeTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"mintFrozenTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingMinterAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addToMelters","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"claimBurner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newMinter","type":"address"}],"name":"transferMinterAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingWhiteListAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrozenToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"burnTrigger","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingBurner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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"},{"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":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Freeze","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Melt","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"MintFrozen","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":"FrozenTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousMelter","type":"address"},{"indexed":true,"internalType":"address","name":"newMelter","type":"address"}],"name":"MelterTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousMinter","type":"address"},{"indexed":true,"internalType":"address","name":"newMinter","type":"address"}],"name":"MinterTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousPauser","type":"address"},{"indexed":true,"internalType":"address","name":"newPauser","type":"address"}],"name":"PauserTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousBurner","type":"address"},{"indexed":true,"internalType":"address","name":"newBurner","type":"address"}],"name":"BurnerTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"newAdmin","type":"address"}],"name":"WhitelistAdminTransferred","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"}]

60806040523480156200001157600080fd5b506040516200691f3803806200691f833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b838201915060208201858111156200006f57600080fd5b82518660018202830111640100000000821117156200008d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000c3578082015181840152602081019050620000a6565b50505050905090810190601f168015620000f15780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011557600080fd5b838201915060208201858111156200012c57600080fd5b82518660018202830111640100000000821117156200014a57600080fd5b8083526020830192505050908051906020019080838360005b838110156200018057808201518184015260208101905062000163565b50505050905090810190601f168015620001ae5780820380516001836020036101000a031916815260200191505b506040526020018051906020019092919050505033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660006101000a81548160ff02191690831515021790555033600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760146101000a81548160ff02191690831515021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555082601090805190602001906200049e9291906200092a565b508160119080519060200190620004b79291906200092a565b5080601260006101000a81548160ff021916908360ff160217905550620004e9336305f5e100620004f360201b60201c565b50505050620009d9565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514620005bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b620005ce8383620005d860201b60201c565b6001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200067c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000703576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180620068fc6023913960400191505060405180910390fd5b600081116200077a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a206d696e7420616d6f756e742073686f756c64206265203e203081525060200191505060405180910390fd5b6200079681601554620008a160201b620050641790919060201c565b601581905550620007f581601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620008a160201b620050641790919060201c565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101562000920576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200096d57805160ff19168380011785556200099e565b828001600101855582156200099e579182015b828111156200099d57825182559160200191906001019062000980565b5b509050620009ad9190620009b1565b5090565b620009d691905b80821115620009d2576000816000905550600101620009b8565b5090565b90565b615f1380620009e96000396000f3fe608060405234801561001057600080fd5b506004361061038e5760003560e01c806355e6ef34116101de578063a4df6c6a1161010f578063dba03d81116100ad578063e50d31801161007c578063e50d3180146114e4578063eeada4341461156a578063f2fbce9914611574578063f2fde38b146115be5761038e565b8063dba03d8114611394578063dd62ed3e146113d8578063e020455c14611450578063e30c39781461149a5761038e565b8063cae9ca51116100e9578063cae9ca51146111ff578063ce1d82f5146112fc578063d8da5ce914611346578063d9489aa21461138a5761038e565b8063a4df6c6a146110cd578063a9059cbb14611133578063c4157b29146111995761038e565b80638da5cb5b1161017c5780639fd0506d116101565780639fd0506d14610f8b578063a15c15af14610fd5578063a24835d114611019578063a457c2d7146110675761038e565b80638da5cb5b14610e7457806395d89b4114610ebe5780639a7165e414610f415761038e565b806370766280116101b85780637076628014610d4057806370a0823114610d8a57806373cfffa014610de257806379cc679014610e265761038e565b806355e6ef3414610c905780635c975abb14610cda5780636e72292014610cfc5761038e565b806327810b6e116102c357806340c10f1911610261578063483a8df911610230578063483a8df914610a765780634c80890414610aba5780634e71e0c814610ba057806354b2b17614610baa5761038e565b806340c10f191461099457806342966c68146109fa578063434450e814610a285780634421ea2114610a325761038e565b806335cde1ce1161029d57806335cde1ce146107a257806339509351146107ec5780633af32abf146108525780633d7cd488146108ae5761038e565b806327810b6e146106f0578063291d95491461073a578063313ce5671461077e5761038e565b806313d71f6e116103305780631d2c0b3d1161030a5780631d2c0b3d146106125780631e57a2b21461061c578063238fd7311461062657806323b872dd1461066a5761038e565b806313d71f6e1461059c578063171177b3146105a657806318160ddd146105f45761038e565b8063096a2e321161036c578063096a2e32146104c65780630c15f601146104d05780630dc6f69c1461053657806310154bad146105585761038e565b806306fdde031461039357806308c985bf14610416578063095ea7b314610460575b600080fd5b61039b611602565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103db5780820151818401526020810190506103c0565b50505050905090810190601f1680156104085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61041e6116a0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ac6004803603604081101561047657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ca565b604051808215151515815260200191505060405180910390f35b6104ce6116e1565b005b61051c600480360360408110156104e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117d0565b604051808215151515815260200191505060405180910390f35b61053e611911565b604051808215151515815260200191505060405180910390f35b61059a6004803603602081101561056e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611928565b005b6105a4611a46565b005b6105f2600480360360408110156105bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611be5565b005b6105fc611cb6565b6040518082815260200191505060405180910390f35b61061a611cc0565b005b610624611e5f565b005b6106686004803603602081101561063c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ffe565b005b6106d66004803603606081101561068057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061211c565b604051808215151515815260200191505060405180910390f35b6106f86122e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61077c6004803603602081101561075057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061230c565b005b61078661242a565b604051808260ff1660ff16815260200191505060405180910390f35b6107aa61243d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108386004803603604081101561080257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612467565b604051808215151515815260200191505060405180910390f35b6108946004803603602081101561086857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061250c565b604051808215151515815260200191505060405180910390f35b61097a600480360360408110156108c457600080fd5b81019080803590602001906401000000008111156108e157600080fd5b8201836020820111156108f357600080fd5b8035906020019184602083028401116401000000008311171561091557600080fd5b90919293919293908035906020019064010000000081111561093657600080fd5b82018360208201111561094857600080fd5b8035906020019184602083028401116401000000008311171561096a57600080fd5b9091929391929390505050612562565b604051808215151515815260200191505060405180910390f35b6109e0600480360360408110156109aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127f2565b604051808215151515815260200191505060405180910390f35b610a2660048036036020811015610a1057600080fd5b81019080803590602001909291905050506128ce565b005b610a3061295d565b005b610a7460048036036020811015610a4857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612afc565b005b610ab860048036036020811015610a8c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c03565b005b610b8660048036036040811015610ad057600080fd5b8101908080359060200190640100000000811115610aed57600080fd5b820183602082011115610aff57600080fd5b80359060200191846020830284011164010000000083111715610b2157600080fd5b909192939192939080359060200190640100000000811115610b4257600080fd5b820183602082011115610b5457600080fd5b80359060200191846020830284011164010000000083111715610b7657600080fd5b9091929391929390505050612d0a565b604051808215151515815260200191505060405180910390f35b610ba8612efb565b005b610c7660048036036040811015610bc057600080fd5b8101908080359060200190640100000000811115610bdd57600080fd5b820183602082011115610bef57600080fd5b80359060200191846020830284011164010000000083111715610c1157600080fd5b909192939192939080359060200190640100000000811115610c3257600080fd5b820183602082011115610c4457600080fd5b80359060200191846020830284011164010000000083111715610c6657600080fd5b909192939192939050505061309a565b604051808215151515815260200191505060405180910390f35b610c9861328b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ce26132b5565b604051808215151515815260200191505060405180910390f35b610d3e60048036036020811015610d1257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132cc565b005b610d486133ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610dcc60048036036020811015610da057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613410565b6040518082815260200191505060405180910390f35b610e2460048036036020811015610df857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613473565b005b610e7260048036036040811015610e3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061357a565b005b610e7c61360a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ec6613634565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f06578082015181840152602081019050610eeb565b50505050905090810190601f168015610f335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f496136d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610f936136f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61101760048036036020811015610feb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613722565b005b6110656004803603604081101561102f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613840565b005b6110b36004803603604081101561107d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613911565b604051808215151515815260200191505060405180910390f35b611119600480360360408110156110e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506139b6565b604051808215151515815260200191505060405180910390f35b61117f6004803603604081101561114957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613af4565b604051808215151515815260200191505060405180910390f35b6111e5600480360360408110156111af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613c20565b604051808215151515815260200191505060405180910390f35b6112e26004803603606081101561121557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125c57600080fd5b82018360208201111561126e57600080fd5b8035906020019184600183028401116401000000008311171561129057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613cfc565b604051808215151515815260200191505060405180910390f35b611304613e68565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6113886004803603602081101561135c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e8e565b005b611392613fac565b005b6113d6600480360360208110156113aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061414b565b005b61143a600480360360408110156113ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614252565b6040518082815260200191505060405180910390f35b6114586142d9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6114a26142ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611550600480360360608110156114fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614325565b604051808215151515815260200191505060405180910390f35b6115726145e1565b005b61157c6146d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611600600480360360208110156115d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506146f6565b005b60108054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116985780601f1061166d57610100808354040283529160200191611698565b820191906000526020600020905b81548152906001019060200180831161167b57829003601f168201915b505050505081565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006116d73384846147fd565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061207061757365720000000000000000000081525060200191505060405180910390fd5b600760149054906101000a900460ff1615600760146101000a81548160ff021916908315150217905550565b600060011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611898576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d656c74000000000000000000000000000081525060200191505060405180910390fd5b6118a283836149f4565b8273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600660009054906101000a900460ff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f63616c6c6572206973206e6f742061646d696e206f662077686974656c69737481525060200191505060405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611aa057600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f51c4874e0f23f262e04a38c51751336dde72126d67f53eb672aaff02996b3ef660405160405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ca8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b611cb28282614c26565b5050565b6000601554905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d1a57600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f02ad39e5173f89bdd5497202bd74024b5da045106c3163ddb078d2e89ff6d6de60405160405180910390a3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eb957600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2e564b778e0bd386914daff857c4db4480f555c393032a2f0ab2d62de42c297760405160405180910390a3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006121266132b5565b156121ae57600115156121383361250c565b1515146121ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616e277420706572666f726d20616e20616374696f6e00000000000000000081525060200191505060405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615eb2602d913960400191505060405180910390fd5b61223e848484614d3b565b6122d784336122d285601460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b600190509392505050565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f63616c6c6572206973206e6f742061646d696e206f662077686974656c69737481525060200191505060405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601260009054906101000a900460ff1681565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061250233846124fd85601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b6147fd565b6001905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600060011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461262a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d656c74000000000000000000000000000081525060200191505060405180910390fd5b60008585905011612686576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526041815260200180615bd36041913960600191505060405180910390fd5b8282905085859050146126e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615d4c603a913960400191505060405180910390fd5b60008090505b858590508110156127e55761273986868381811061270457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061272d57fe5b905060200201356149f4565b85858281811061274557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8686858181106127bc57fe5b905060200201356040518082815260200191505060405180910390a380806001019150506126ea565b5060019050949350505050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146128ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b6128c483836150ec565b6001905092915050565b600660009054906101000a900460ff16612950576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6275726e61626c653a2063616e2774206275726e00000000000000000000000081525060200191505060405180910390fd5b61295a33826153a3565b50565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146129b757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f780008ae49c9be745883f9a2ca6d2e68e9063350aaa0782ee3f00316965d251560405160405180910390a3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612bbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061207061757365720000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612dd2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b60008585905011612e2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615c86603a913960400191505060405180910390fd5b828290508585905014612e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180615d866033913960400191505060405180910390fd5b60008090505b85859050811015612eee57612ee1868683818110612eac57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858584818110612ed557fe5b905060200201356150ec565b8080600101915050612e92565b5060019050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f5557600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514613162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b600085859050116131be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526041815260200180615bd36041913960600191505060405180910390fd5b82829050858590501461321c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615d4c603a913960400191505060405180910390fd5b60008090505b8585905081101561327e5761327186868381811061323c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061326557fe5b90506020020135615542565b8080600101915050613222565b5060019050949350505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760149054906101000a900460ff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461338f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061346c61341e83615783565b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b9050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061206275726e65720000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900460ff166135fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6275726e61626c653a2063616e2774206275726e00000000000000000000000081525060200191505060405180910390fd5b61360682826157cb565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60118054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156136ca5780601f1061369f576101008083540402835291602001916136ca565b820191906000526020600020905b8154815290600101906020018083116136ad57829003601f168201915b505050505081565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146137e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b61390d82826153a3565b5050565b60006139ac33846139a785601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b6001905092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613a7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b613a858383615872565b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000613afe6132b5565b15613b865760011515613b103361250c565b151514613b85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616e277420706572666f726d20616e20616374696f6e00000000000000000081525060200191505060405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613c0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615eb2602d913960400191505060405180910390fd5b613c16338484614d3b565b6001905092915050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514613ce8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b613cf28383615542565b6001905092915050565b600080849050613d0c85856116ca565b15613e5b578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613dea578082015181840152602081019050613dcf565b50505050905090810190601f168015613e175780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613e3957600080fd5b505af1158015613e4d573d6000803e3d6000fd5b505050506001915050613e61565b60009150505b9392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613f51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b6001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461400657600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167feee90df09f0bc4f2408d904f2b5c22873e54185001290d225b5b2ced5212814960405160405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461420e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146143ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614470576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615e466025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156144f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615b826023913960400191505060405180910390fd5b6145008483615a43565b5061450b8383615ae2565b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f9958976925baa403abf86afa44976a9effff3e01931eafd0ea2689f40852fd59846040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146146a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061206275726e65720000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900460ff1615600660006101000a81548160ff021916908315150217905550565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146147b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614883576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180615e6b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614909576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615c3a6022913960400191505060405180910390fd5b80601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615db96021913960400191505060405180910390fd5b60008111614ad3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180615cf46031913960400191505060405180910390fd5b80614add83615783565b1015614b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615ba5602e913960400191505060405180910390fd5b614b3e8282615a43565b50614b9181601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f0bb0b52882b12b41cdf6b733954f1133183ca85efebcda11b4506bc6926d326b826040518082815260200191505060405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615e1e6028913960400191505060405180910390fd5b614cc181601554614fdb90919063ffffffff16565b601581905550614cd18282615a43565b503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615e466025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615b826023913960400191505060405180910390fd5b614e9981601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614f2e81601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115615053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6000808284019050838110156150e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561518f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415615214576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615e8f6023913960400191505060405180910390fd5b6000811161528a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a206d696e7420616d6f756e742073686f756c64206265203e203081525060200191505060405180910390fd5b61529f8160155461506490919063ffffffff16565b6015819055506152f781601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415615429576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615dfd6021913960400191505060405180910390fd5b61543e81601554614fdb90919063ffffffff16565b60158190555061549681601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156155c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180615c146026913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561564d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615c5c602a913960400191505060405180910390fd5b600081116156a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180615d256027913960400191505060405180910390fd5b6156bb8160155461506490919063ffffffff16565b6015819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36157308282615ae2565b508173ffffffffffffffffffffffffffffffffffffffff167fba89ad6709373f454c31524e8c39cef3cdd4b0e8cfde0ccddbd419a2e488be6b826040518082815260200191505060405180910390a25050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6157d582826153a3565b61586e823361586984601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156158f8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615dda6023913960400191505060405180910390fd5b60008111615951576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180615cc06034913960400191505060405180910390fd5b6159a381601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506159f08282615ae2565b508173ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0826040518082815260200191505060405180910390a25050565b6000615a96826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000615b35826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206d656c742066726f6d2074686520616464726573733a2062616c616e6365203c20616d6f756e746d696e74426174636846726f7a656e546f6b656e733a207472616e736665722073686f756c6420626520746f206174206c65617374206f6e65206164647265737345524332303a206d696e742066726f7a656e20746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206d696e742066726f7a656e20746f2074686520636f6e747261637420616464726573736d696e744261746368546f6b656e3a207472616e736665722073686f756c6420626520746f206174206c65617374206f6e65206164647265737345524332303a20667265657a652066726f6d2074686520616464726573733a20616d6f756e742073686f756c64206265203e203045524332303a206d656c742066726f6d2074686520616464726573733a2076616c75652073686f756c64206265203e203045524332303a206d696e742066726f7a656e20616d6f756e742073686f756c64206265203e20306d696e74426174636846726f7a656e546f6b656e733a20726563697069656e74732e6c656e67746820213d20616d6f756e74732e6c656e6774686d696e744261746368546f6b656e3a20726563697069656e74732e6c656e67746820213d20616d6f756e74732e6c656e67746845524332303a206d656c742066726f6d20746865207a65726f206164647265737345524332303a20667265657a652066726f6d20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a2066726f7a656e206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a206d696e7420746f2074686520636f6e7472616374206164647265737363616e2774207472616e7366657220746f6b656e7320746f2074686520636f6e74726163742061646472657373a265627a7a7231582052ba0146aebbe59deaa3187e8a68b14bfa25685afb6ec743248d4b0cda16f73e64736f6c634300050b003245524332303a206d696e7420746f2074686520636f6e74726163742061646472657373000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000094b69636b546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044b49434b00000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061038e5760003560e01c806355e6ef34116101de578063a4df6c6a1161010f578063dba03d81116100ad578063e50d31801161007c578063e50d3180146114e4578063eeada4341461156a578063f2fbce9914611574578063f2fde38b146115be5761038e565b8063dba03d8114611394578063dd62ed3e146113d8578063e020455c14611450578063e30c39781461149a5761038e565b8063cae9ca51116100e9578063cae9ca51146111ff578063ce1d82f5146112fc578063d8da5ce914611346578063d9489aa21461138a5761038e565b8063a4df6c6a146110cd578063a9059cbb14611133578063c4157b29146111995761038e565b80638da5cb5b1161017c5780639fd0506d116101565780639fd0506d14610f8b578063a15c15af14610fd5578063a24835d114611019578063a457c2d7146110675761038e565b80638da5cb5b14610e7457806395d89b4114610ebe5780639a7165e414610f415761038e565b806370766280116101b85780637076628014610d4057806370a0823114610d8a57806373cfffa014610de257806379cc679014610e265761038e565b806355e6ef3414610c905780635c975abb14610cda5780636e72292014610cfc5761038e565b806327810b6e116102c357806340c10f1911610261578063483a8df911610230578063483a8df914610a765780634c80890414610aba5780634e71e0c814610ba057806354b2b17614610baa5761038e565b806340c10f191461099457806342966c68146109fa578063434450e814610a285780634421ea2114610a325761038e565b806335cde1ce1161029d57806335cde1ce146107a257806339509351146107ec5780633af32abf146108525780633d7cd488146108ae5761038e565b806327810b6e146106f0578063291d95491461073a578063313ce5671461077e5761038e565b806313d71f6e116103305780631d2c0b3d1161030a5780631d2c0b3d146106125780631e57a2b21461061c578063238fd7311461062657806323b872dd1461066a5761038e565b806313d71f6e1461059c578063171177b3146105a657806318160ddd146105f45761038e565b8063096a2e321161036c578063096a2e32146104c65780630c15f601146104d05780630dc6f69c1461053657806310154bad146105585761038e565b806306fdde031461039357806308c985bf14610416578063095ea7b314610460575b600080fd5b61039b611602565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103db5780820151818401526020810190506103c0565b50505050905090810190601f1680156104085780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61041e6116a0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104ac6004803603604081101561047657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116ca565b604051808215151515815260200191505060405180910390f35b6104ce6116e1565b005b61051c600480360360408110156104e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506117d0565b604051808215151515815260200191505060405180910390f35b61053e611911565b604051808215151515815260200191505060405180910390f35b61059a6004803603602081101561056e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611928565b005b6105a4611a46565b005b6105f2600480360360408110156105bc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611be5565b005b6105fc611cb6565b6040518082815260200191505060405180910390f35b61061a611cc0565b005b610624611e5f565b005b6106686004803603602081101561063c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611ffe565b005b6106d66004803603606081101561068057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061211c565b604051808215151515815260200191505060405180910390f35b6106f86122e2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61077c6004803603602081101561075057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061230c565b005b61078661242a565b604051808260ff1660ff16815260200191505060405180910390f35b6107aa61243d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108386004803603604081101561080257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612467565b604051808215151515815260200191505060405180910390f35b6108946004803603602081101561086857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061250c565b604051808215151515815260200191505060405180910390f35b61097a600480360360408110156108c457600080fd5b81019080803590602001906401000000008111156108e157600080fd5b8201836020820111156108f357600080fd5b8035906020019184602083028401116401000000008311171561091557600080fd5b90919293919293908035906020019064010000000081111561093657600080fd5b82018360208201111561094857600080fd5b8035906020019184602083028401116401000000008311171561096a57600080fd5b9091929391929390505050612562565b604051808215151515815260200191505060405180910390f35b6109e0600480360360408110156109aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506127f2565b604051808215151515815260200191505060405180910390f35b610a2660048036036020811015610a1057600080fd5b81019080803590602001909291905050506128ce565b005b610a3061295d565b005b610a7460048036036020811015610a4857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612afc565b005b610ab860048036036020811015610a8c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612c03565b005b610b8660048036036040811015610ad057600080fd5b8101908080359060200190640100000000811115610aed57600080fd5b820183602082011115610aff57600080fd5b80359060200191846020830284011164010000000083111715610b2157600080fd5b909192939192939080359060200190640100000000811115610b4257600080fd5b820183602082011115610b5457600080fd5b80359060200191846020830284011164010000000083111715610b7657600080fd5b9091929391929390505050612d0a565b604051808215151515815260200191505060405180910390f35b610ba8612efb565b005b610c7660048036036040811015610bc057600080fd5b8101908080359060200190640100000000811115610bdd57600080fd5b820183602082011115610bef57600080fd5b80359060200191846020830284011164010000000083111715610c1157600080fd5b909192939192939080359060200190640100000000811115610c3257600080fd5b820183602082011115610c4457600080fd5b80359060200191846020830284011164010000000083111715610c6657600080fd5b909192939192939050505061309a565b604051808215151515815260200191505060405180910390f35b610c9861328b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ce26132b5565b604051808215151515815260200191505060405180910390f35b610d3e60048036036020811015610d1257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506132cc565b005b610d486133ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610dcc60048036036020811015610da057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613410565b6040518082815260200191505060405180910390f35b610e2460048036036020811015610df857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613473565b005b610e7260048036036040811015610e3c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061357a565b005b610e7c61360a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610ec6613634565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f06578082015181840152602081019050610eeb565b50505050905090810190601f168015610f335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610f496136d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610f936136f8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61101760048036036020811015610feb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613722565b005b6110656004803603604081101561102f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613840565b005b6110b36004803603604081101561107d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613911565b604051808215151515815260200191505060405180910390f35b611119600480360360408110156110e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506139b6565b604051808215151515815260200191505060405180910390f35b61117f6004803603604081101561114957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613af4565b604051808215151515815260200191505060405180910390f35b6111e5600480360360408110156111af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050613c20565b604051808215151515815260200191505060405180910390f35b6112e26004803603606081101561121557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561125c57600080fd5b82018360208201111561126e57600080fd5b8035906020019184600183028401116401000000008311171561129057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050613cfc565b604051808215151515815260200191505060405180910390f35b611304613e68565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6113886004803603602081101561135c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613e8e565b005b611392613fac565b005b6113d6600480360360208110156113aa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061414b565b005b61143a600480360360408110156113ee57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614252565b6040518082815260200191505060405180910390f35b6114586142d9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6114a26142ff565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611550600480360360608110156114fa57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050614325565b604051808215151515815260200191505060405180910390f35b6115726145e1565b005b61157c6146d0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b611600600480360360208110156115d457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506146f6565b005b60108054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116985780601f1061166d57610100808354040283529160200191611698565b820191906000526020600020905b81548152906001019060200180831161167b57829003601f168201915b505050505081565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006116d73384846147fd565b6001905092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146117a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061207061757365720000000000000000000081525060200191505060405180910390fd5b600760149054906101000a900460ff1615600760146101000a81548160ff021916908315150217905550565b600060011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611898576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d656c74000000000000000000000000000081525060200191505060405180910390fd5b6118a283836149f4565b8273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600660009054906101000a900460ff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f63616c6c6572206973206e6f742061646d696e206f662077686974656c69737481525060200191505060405180910390fd5b6001600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611aa057600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f51c4874e0f23f262e04a38c51751336dde72126d67f53eb672aaff02996b3ef660405160405180910390a3600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ca8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b611cb28282614c26565b5050565b6000601554905090565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d1a57600080fd5b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f02ad39e5173f89bdd5497202bd74024b5da045106c3163ddb078d2e89ff6d6de60405160405180910390a3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611eb957600080fd5b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f2e564b778e0bd386914daff857c4db4480f555c393032a2f0ab2d62de42c297760405160405180910390a3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146120c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60006121266132b5565b156121ae57600115156121383361250c565b1515146121ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616e277420706572666f726d20616e20616374696f6e00000000000000000081525060200191505060405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612233576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615eb2602d913960400191505060405180910390fd5b61223e848484614d3b565b6122d784336122d285601460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b600190509392505050565b6000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146123cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f63616c6c6572206973206e6f742061646d696e206f662077686974656c69737481525060200191505060405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601260009054906101000a900460ff1681565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600061250233846124fd85601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b6147fd565b6001905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600060011515600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461262a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d656c74000000000000000000000000000081525060200191505060405180910390fd5b60008585905011612686576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526041815260200180615bd36041913960600191505060405180910390fd5b8282905085859050146126e4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615d4c603a913960400191505060405180910390fd5b60008090505b858590508110156127e55761273986868381811061270457fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061272d57fe5b905060200201356149f4565b85858281811061274557fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8686858181106127bc57fe5b905060200201356040518082815260200191505060405180910390a380806001019150506126ea565b5060019050949350505050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515146128ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b6128c483836150ec565b6001905092915050565b600660009054906101000a900460ff16612950576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6275726e61626c653a2063616e2774206275726e00000000000000000000000081525060200191505060405180910390fd5b61295a33826153a3565b50565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146129b757600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f780008ae49c9be745883f9a2ca6d2e68e9063350aaa0782ee3f00316965d251560405160405180910390a3600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612bbf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061207061757365720000000000000000000081525060200191505060405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612cc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612dd2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b60008585905011612e2e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615c86603a913960400191505060405180910390fd5b828290508585905014612e8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526033815260200180615d866033913960400191505060405180910390fd5b60008090505b85859050811015612eee57612ee1868683818110612eac57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff16858584818110612ed557fe5b905060200201356150ec565b8080600101915050612e92565b5060019050949350505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612f5557600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514613162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b600085859050116131be576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526041815260200180615bd36041913960600191505060405180910390fd5b82829050858590501461321c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180615d4c603a913960400191505060405180910390fd5b60008090505b8585905081101561327e5761327186868381811061323c57fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1685858481811061326557fe5b90506020020135615542565b8080600101915050613222565b5060019050949350505050565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600760149054906101000a900460ff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461338f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061346c61341e83615783565b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b9050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613536576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061206275726e65720000000000000000000081525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660009054906101000a900460ff166135fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6275726e61626c653a2063616e2774206275726e00000000000000000000000081525060200191505060405180910390fd5b61360682826157cb565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60118054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156136ca5780601f1061369f576101008083540402835291602001916136ca565b820191906000526020600020905b8154815290600101906020018083116136ad57829003601f168201915b505050505081565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146137e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b6001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613903576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b61390d82826153a3565b5050565b60006139ac33846139a785601460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b6001905092915050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613a7b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b613a858383615872565b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000613afe6132b5565b15613b865760011515613b103361250c565b151514613b85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616e277420706572666f726d20616e20616374696f6e00000000000000000081525060200191505060405180910390fd5b5b3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613c0b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602d815260200180615eb2602d913960400191505060405180910390fd5b613c16338484614d3b565b6001905092915050565b600060011515600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514613ce8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f63616e277420706572666f726d206d696e74000000000000000000000000000081525060200191505060405180910390fd5b613cf28383615542565b6001905092915050565b600080849050613d0c85856116ca565b15613e5b578073ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338630876040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613dea578082015181840152602081019050613dcf565b50505050905090810190601f168015613e175780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015613e3957600080fd5b505af1158015613e4d573d6000803e3d6000fd5b505050506001915050613e61565b60009150505b9392505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613f51576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d656c7465722061646d696e0000000000000081525060200191505060405180910390fd5b6001600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461400657600080fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167feee90df09f0bc4f2408d904f2b5c22873e54185001290d225b5b2ced5212814960405160405180910390a3600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461420e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f63616c6c6572206e6f742061206d696e7465722061646d696e0000000000000081525060200191505060405180910390fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000601460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146143ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415614470576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615e466025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156144f6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615b826023913960400191505060405180910390fd5b6145008483615a43565b5061450b8383615ae2565b508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f9958976925baa403abf86afa44976a9effff3e01931eafd0ea2689f40852fd59846040518082815260200191505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146146a4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f63616c6c6572206973206e6f742061206275726e65720000000000000000000081525060200191505060405180910390fd5b600660009054906101000a900460ff1615600660006101000a81548160ff021916908315150217905550565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146147b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f63616c6c6572206973206e6f7420746865206f776e657200000000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614883576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526024815260200180615e6b6024913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614909576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180615c3a6022913960400191505060405180910390fd5b80601460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615db96021913960400191505060405180910390fd5b60008111614ad3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526031815260200180615cf46031913960400191505060405180910390fd5b80614add83615783565b1015614b34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180615ba5602e913960400191505060405180910390fd5b614b3e8282615a43565b50614b9181601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167f0bb0b52882b12b41cdf6b733954f1133183ca85efebcda11b4506bc6926d326b826040518082815260200191505060405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614cac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180615e1e6028913960400191505060405180910390fd5b614cc181601554614fdb90919063ffffffff16565b601581905550614cd18282615a43565b503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415614dc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180615e466025913960400191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415614e47576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615b826023913960400191505060405180910390fd5b614e9981601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550614f2e81601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b600082821115615053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6000808284019050838110156150e2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561518f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f45524332303a206d696e7420746f20746865207a65726f20616464726573730081525060200191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415615214576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615e8f6023913960400191505060405180910390fd5b6000811161528a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f45524332303a206d696e7420616d6f756e742073686f756c64206265203e203081525060200191505060405180910390fd5b61529f8160155461506490919063ffffffff16565b6015819055506152f781601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415615429576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180615dfd6021913960400191505060405180910390fd5b61543e81601554614fdb90919063ffffffff16565b60158190555061549681601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156155c8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180615c146026913960400191505060405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561564d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615c5c602a913960400191505060405180910390fd5b600081116156a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526027815260200180615d256027913960400191505060405180910390fd5b6156bb8160155461506490919063ffffffff16565b6015819055508173ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36157308282615ae2565b508173ffffffffffffffffffffffffffffffffffffffff167fba89ad6709373f454c31524e8c39cef3cdd4b0e8cfde0ccddbd419a2e488be6b826040518082815260200191505060405180910390a25050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6157d582826153a3565b61586e823361586984601460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6147fd565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156158f8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615dda6023913960400191505060405180910390fd5b60008111615951576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526034815260200180615cc06034913960400191505060405180910390fd5b6159a381601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506159f08282615ae2565b508173ffffffffffffffffffffffffffffffffffffffff167ff97a274face0b5517365ad396b1fdba6f68bd3135ef603e44272adba3af5a1e0826040518082815260200191505060405180910390a25050565b6000615a96826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054614fdb90919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b6000615b35826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461506490919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600190509291505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206d656c742066726f6d2074686520616464726573733a2062616c616e6365203c20616d6f756e746d696e74426174636846726f7a656e546f6b656e733a207472616e736665722073686f756c6420626520746f206174206c65617374206f6e65206164647265737345524332303a206d696e742066726f7a656e20746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a206d696e742066726f7a656e20746f2074686520636f6e747261637420616464726573736d696e744261746368546f6b656e3a207472616e736665722073686f756c6420626520746f206174206c65617374206f6e65206164647265737345524332303a20667265657a652066726f6d2074686520616464726573733a20616d6f756e742073686f756c64206265203e203045524332303a206d656c742066726f6d2074686520616464726573733a2076616c75652073686f756c64206265203e203045524332303a206d696e742066726f7a656e20616d6f756e742073686f756c64206265203e20306d696e74426174636846726f7a656e546f6b656e733a20726563697069656e74732e6c656e67746820213d20616d6f756e74732e6c656e6774686d696e744261746368546f6b656e3a20726563697069656e74732e6c656e67746820213d20616d6f756e74732e6c656e67746845524332303a206d656c742066726f6d20746865207a65726f206164647265737345524332303a20667265657a652066726f6d20746865207a65726f206164647265737345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a2066726f7a656e206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a206d696e7420746f2074686520636f6e7472616374206164647265737363616e2774207472616e7366657220746f6b656e7320746f2074686520636f6e74726163742061646472657373a265627a7a7231582052ba0146aebbe59deaa3187e8a68b14bfa25685afb6ec743248d4b0cda16f73e64736f6c634300050b0032

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000094b69636b546f6b656e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044b49434b00000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): KickToken
Arg [1] : _symbol (string): KICK
Arg [2] : _decimals (uint8): 8

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000008
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000009
Arg [4] : 4b69636b546f6b656e0000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 4b49434b00000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8732:9990:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8732:9990:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8880:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8880:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6809:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10605:148;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10605:148:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8199:79;;;:::i;:::-;;13811:205;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13811:205:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4093:84;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2698:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2698:114:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8399:184;;;:::i;:::-;;12528:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12528:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9939:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7268:219;;;:::i;:::-;;5859;;;:::i;:::-;;5612:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5612:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11228:365;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11228:365:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4185:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2820:118;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2820:118:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8932:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5400:91;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;11603:206;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11603:206:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2946:114;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2946:114:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14698:553;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14698:553:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;14698:553:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14698:553:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;14698:553:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;14698:553:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14698:553:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;14698:553:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12043:143;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12043:143:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12194:90;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12194:90:0;;;;;;;;;;;;;;;;;:::i;:::-;;3203:248;;;:::i;:::-;;8286:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8286:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5731:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5731:120:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12656:470;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12656:470:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;12656:470:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12656:470:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;12656:470:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;12656:470:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;12656:470:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;12656:470:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1758:184;;;:::i;:::-;;14193:497;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14193:497:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;14193:497:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14193:497:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;14193:497:0;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;14193:497:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;14193:497:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;14193:497:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2596:96;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8024:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7021:111;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7021:111:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4787:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10038:142;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10038:142:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4366:113;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4366:113:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12292:112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12292:112:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1559:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8905:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;8905:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7576:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8110:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6908:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6908:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;12412:108;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12412:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11819:216;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11819:216:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13595:208;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13595:208:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10188:265;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10188:265:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14024:161;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14024:161:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10838:382;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10838:382:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;10838:382:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;10838:382:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;10838:382:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;10838:382:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6194:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5499:105;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5499:105:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;4487:184;;;:::i;:::-;;7140:120;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7140:120:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10461:136;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10461:136:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2015:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1143:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13134:453;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13134:453:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4274:84;;;:::i;:::-;;3543:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1646:104;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1646:104:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;8880:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6809:91::-;6853:7;6880:12;;;;;;;;;;;6873:19;;6809:91;:::o;10605:148::-;10670:4;10687:36;10696:10;10708:7;10717:5;10687:8;:36::i;:::-;10741:4;10734:11;;10605:148;;;;:::o;8199:79::-;7668:7;;;;;;;;;;;7654:21;;:10;:21;;;7646:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8263:7;;;;;;;;;;;8262:8;8252:7;;:18;;;;;;;;;;;;;;;;;;8199:79::o;13811:205::-;13891:4;5026;5002:28;;:8;:20;5011:10;5002:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;4993:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13908:22;13914:7;13923:6;13908:5;:22::i;:::-;13970:7;13946:40;;13963:4;13946:40;;;13979:6;13946:40;;;;;;;;;;;;;;;;;;14004:4;13997:11;;13811:205;;;;:::o;4093:84::-;4135:4;4159:10;;;;;;;;;;;4152:17;;4093:84;:::o;2698:114::-;2178:15;;;;;;;;;;;2164:29;;:10;:29;;;2156:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2800:4;2776:12;:21;2789:7;2776:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;2698:114;:::o;8399:184::-;7792:13;;;;;;;;;;;7778:27;;:10;:27;;;7770:36;;;;;;8490:13;;;;;;;;;;;8463:41;;8481:7;;;;;;;;;;;8463:41;;;;;;;;;;;;8525:13;;;;;;;;;;;8515:7;;:23;;;;;;;;;;;;;;;;;;8573:1;8549:13;;:26;;;;;;;;;;;;;;;;;;8399:184::o;12528:120::-;1233:6;;;;;;;;;;;1219:20;;:10;:20;;;1211:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12612:28;12624:7;12633:6;12612:11;:28::i;:::-;12528:120;;:::o;9939:91::-;9983:7;10010:12;;10003:19;;9939:91;:::o;7268:219::-;6557:18;;;;;;;;;;;6543:32;;:10;:32;;;6535:41;;;;;;7374:18;;;;;;;;;;;7342:51;;7360:12;;;;;;;;;;;7342:51;;;;;;;;;;;;7419:18;;;;;;;;;;;7404:12;;:33;;;;;;;;;;;;;;;;;;7477:1;7448:18;;:31;;;;;;;;;;;;;;;;;;7268:219::o;5859:::-;5148:18;;;;;;;;;;;5134:32;;:10;:32;;;5126:41;;;;;;5965:18;;;;;;;;;;;5933:51;;5951:12;;;;;;;;;;;5933:51;;;;;;;;;;;;6010:18;;;;;;;;;;;5995:12;;:33;;;;;;;;;;;;;;;;;;6068:1;6039:18;;:31;;;;;;;;;;;;;;;;;;5859:219::o;5612:111::-;4890:12;;;;;;;;;;;4876:26;;:10;:26;;;4867:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5710:5;5690:8;:17;5699:7;5690:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;5612:111;:::o;11228:365::-;11329:4;9169:8;:6;:8::i;:::-;9166:109;;;9231:4;9202:33;;:25;9216:10;9202:13;:25::i;:::-;:33;;;9193:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9166:109;11375:4;11354:26;;:9;:26;;;;11346:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11443:36;11453:6;11461:9;11472:6;11443:9;:36::i;:::-;11490:73;11499:6;11507:10;11519:43;11555:6;11519:11;:19;11531:6;11519:19;;;;;;;;;;;;;;;:31;11539:10;11519:31;;;;;;;;;;;;;;;;:35;;:43;;;;:::i;:::-;11490:8;:73::i;:::-;11581:4;11574:11;;11228:365;;;;;:::o;4185:81::-;4224:7;4251;;;;;;;;;;;4244:14;;4185:81;:::o;2820:118::-;2178:15;;;;;;;;;;;2164:29;;:10;:29;;;2156:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2925:5;2901:12;:21;2914:7;2901:21;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;2820:118;:::o;8932:21::-;;;;;;;;;;;;;:::o;5400:91::-;5444:7;5471:12;;;;;;;;;;;5464:19;;5400:91;:::o;11603:206::-;11683:4;11700:79;11709:10;11721:7;11730:48;11767:10;11730:11;:23;11742:10;11730:23;;;;;;;;;;;;;;;:32;11754:7;11730:32;;;;;;;;;;;;;;;;:36;;:48;;;;:::i;:::-;11700:8;:79::i;:::-;11797:4;11790:11;;11603:206;;;;:::o;2946:114::-;3007:4;3031:12;:21;3044:7;3031:21;;;;;;;;;;;;;;;;;;;;;;;;;3024:28;;2946:114;;;:::o;14698:553::-;14809:4;5026;5002:28;;:8;:20;5011:10;5002:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;4993:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14852:1;14834:8;;:15;;:19;14826:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14961:7;;:14;;14942:8;;:15;;:33;14934:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15054:9;15066:1;15054:13;;15049:171;15073:8;;:15;;15069:1;:19;15049:171;;;15110:30;15116:8;;15125:1;15116:11;;;;;;;;;;;;;;;15129:7;;15137:1;15129:10;;;;;;;;;;;;;15110:5;:30::i;:::-;15184:8;;15193:1;15184:11;;;;;;;;;;;;;;;15160:48;;15177:4;15160:48;;;15197:7;;15205:1;15197:10;;;;;;;;;;;;;15160:48;;;;;;;;;;;;;;;;;;15090:3;;;;;;;15049:171;;;;15239:4;15232:11;;14698:553;;;;;;:::o;12043:143::-;12117:4;6435;6411:28;;:8;:20;6420:10;6411:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;6402:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12134:22;12140:7;12149:6;12134:5;:22::i;:::-;12174:4;12167:11;;12043:143;;;;:::o;12194:90::-;3619:10;;;;;;;;;;;3611:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12251:25;12257:10;12269:6;12251:5;:25::i;:::-;12194:90;:::o;3203:248::-;2328:21;;;;;;;;;;;2314:35;;:10;:35;;;2306:44;;;;;;3326:21;;;;;;;;;;;3283:65;;3309:15;;;;;;;;;;;3283:65;;;;;;;;;;;;3377:21;;;;;;;;;;;3359:15;;:39;;;;;;;;;;;;;;;;;;3441:1;3409:21;;:34;;;;;;;;;;;;;;;;;;3203:248::o;8286:105::-;7668:7;;;;;;;;;;;7654:21;;:10;:21;;;7646:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8374:9;8358:13;;:25;;;;;;;;;;;;;;;;;;8286:105;:::o;5731:120::-;4890:12;;;;;;;;;;;4876:26;;:10;:26;;;4867:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5834:9;5813:18;;:30;;;;;;;;;;;;;;;;;;5731:120;:::o;12656:470::-;12766:4;6435;6411:28;;:8;:20;6420:10;6411:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;6402:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12809:1;12791:8;;:15;;:19;12783:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12911:7;;:14;;12892:8;;:15;;:33;12884:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12997:9;13009:1;12997:13;;12992:103;13016:8;;:15;;13012:1;:19;12992:103;;;13053:30;13059:8;;13068:1;13059:11;;;;;;;;;;;;;;;13072:7;;13080:1;13072:10;;;;;;;;;;;;;13053:5;:30::i;:::-;13033:3;;;;;;;12992:103;;;;13114:4;13107:11;;12656:470;;;;;;:::o;1758:184::-;1356:12;;;;;;;;;;;1342:26;;:10;:26;;;1334:35;;;;;;1853:12;;;;;;;;;;;1824:42;;1845:6;;;;;;;;;;;1824:42;;;;;;;;;;;;1886:12;;;;;;;;;;;1877:6;;:21;;;;;;;;;;;;;;;;;;1932:1;1909:12;;:25;;;;;;;;;;;;;;;;;;1758:184::o;14193:497::-;14310:4;6435;6411:28;;:8;:20;6420:10;6411:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;6402:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14353:1;14335:8;;:15;;:19;14327:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14462:7;;:14;;14443:8;;:15;;:33;14435:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14555:9;14567:1;14555:13;;14550:109;14574:8;;:15;;14570:1;:19;14550:109;;;14611:36;14623:8;;14632:1;14623:11;;;;;;;;;;;;;;;14636:7;;14644:1;14636:10;;;;;;;;;;;;;14611:11;:36::i;:::-;14591:3;;;;;;;14550:109;;;;14678:4;14671:11;;14193:497;;;;;;:::o;2596:96::-;2643:7;2669:15;;;;;;;;;;;2662:22;;2596:96;:::o;8024:78::-;8063:4;8087:7;;;;;;;;;;;8080:14;;8024:78;:::o;7021:111::-;6299:12;;;;;;;;;;;6285:26;;:10;:26;;;6276:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7119:5;7099:8;:17;7108:7;7099:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;7021:111;:::o;4787:33::-;;;;;;;;;;;;;:::o;10038:142::-;10095:7;10122:50;10145:26;10163:7;10145:17;:26::i;:::-;10122:9;:18;10132:7;10122:18;;;;;;;;;;;;;;;;:22;;:50;;;;:::i;:::-;10115:57;;10038:142;;;:::o;4366:113::-;3737:7;;;;;;;;;;;3723:21;;:10;:21;;;3715:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4462:9;4446:13;;:25;;;;;;;;;;;;;;;;;;4366:113;:::o;12292:112::-;3619:10;;;;;;;;;;;3611:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12370:26;12380:7;12389:6;12370:9;:26::i;:::-;12292:112;;:::o;1559:79::-;1597:7;1624:6;;;;;;;;;;;1617:13;;1559:79;:::o;8905:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7576:28::-;;;;;;;;;;;;;:::o;8110:81::-;8149:7;8176;;;;;;;;;;;8169:14;;8110:81;:::o;6908:105::-;6299:12;;;;;;;;;;;6285:26;;:10;:26;;;6276:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7001:4;6981:8;:17;6990:7;6981:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;6908:105;:::o;12412:108::-;1233:6;;;;;;;;;;;1219:20;;:10;:20;;;1211:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12490:22;12496:7;12505:6;12490:5;:22::i;:::-;12412:108;;:::o;11819:216::-;11904:4;11921:84;11930:10;11942:7;11951:53;11988:15;11951:11;:23;11963:10;11951:23;;;;;;;;;;;;;;;:32;11975:7;11951:32;;;;;;;;;;;;;;;;:36;;:53;;;;:::i;:::-;11921:8;:84::i;:::-;12023:4;12016:11;;11819:216;;;;:::o;13595:208::-;13676:4;1233:6;;;;;;;;;;;1219:20;;:10;:20;;;1211:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13693:24;13701:7;13710:6;13693:7;:24::i;:::-;13759:4;13733:40;;13742:7;13733:40;;;13766:6;13733:40;;;;;;;;;;;;;;;;;;13791:4;13784:11;;13595:208;;;;:::o;10188:265::-;10269:4;9169:8;:6;:8::i;:::-;9166:109;;;9231:4;9202:33;;:25;9216:10;9202:13;:25::i;:::-;:33;;;9193:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9166:109;10315:4;10294:26;;:9;:26;;;;10286:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10383:40;10393:10;10405:9;10416:6;10383:9;:40::i;:::-;10441:4;10434:11;;10188:265;;;;:::o;14024:161::-;14110:4;6435;6411:28;;:8;:20;6420:10;6411:20;;;;;;;;;;;;;;;;;;;;;;;;;:28;;;6402:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14127:28;14139:7;14148:6;14127:11;:28::i;:::-;14173:4;14166:11;;14024:161;;;;:::o;10838:382::-;10937:4;10954:22;10994:8;10954:49;;11018:25;11026:8;11036:6;11018:7;:25::i;:::-;11014:199;;;11060:7;:23;;;11084:10;11096:6;11112:4;11119:10;11060:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;11060:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11060:70:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11060:70:0;;;;11152:4;11145:11;;;;;11014:199;11196:5;11189:12;;;10838:382;;;;;;:::o;6194:33::-;;;;;;;;;;;;;:::o;5499:105::-;4890:12;;;;;;;;;;;4876:26;;:10;:26;;;4867:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5592:4;5572:8;:17;5581:7;5572:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;5499:105;:::o;4487:184::-;3861:13;;;;;;;;;;;3847:27;;:10;:27;;;3839:36;;;;;;4578:13;;;;;;;;;;;4551:41;;4569:7;;;;;;;;;;;4551:41;;;;;;;;;;;;4613:13;;;;;;;;;;;4603:7;;:23;;;;;;;;;;;;;;;;;;4661:1;4637:13;;:26;;;;;;;;;;;;;;;;;;4487:184::o;7140:120::-;6299:12;;;;;;;;;;;6285:26;;:10;:26;;;6276:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7243:9;7222:18;;:30;;;;;;;;;;;;;;;;;;7140:120;:::o;10461:136::-;10534:7;10561:11;:19;10573:6;10561:19;;;;;;;;;;;;;;;:28;10581:7;10561:28;;;;;;;;;;;;;;;;10554:35;;10461:136;;;;:::o;2015:36::-;;;;;;;;;;;;;:::o;1143:27::-;;;;;;;;;;;;;:::o;13134:453::-;13231:4;1233:6;;;;;;;;;;;1219:20;;:10;:20;;;1211:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13272:1;13256:18;;:4;:18;;;;13248:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13349:1;13335:16;;:2;:16;;;;13327:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13404:25;13416:4;13422:6;13404:11;:25::i;:::-;;13440:23;13452:2;13456:6;13440:11;:23::i;:::-;;13502:2;13481:32;;13496:4;13481:32;;;13506:6;13481:32;;;;;;;;;;;;;;;;;;13544:2;13529:26;;13538:4;13529:26;;;13548:6;13529:26;;;;;;;;;;;;;;;;;;13575:4;13568:11;;13134:453;;;;;:::o;4274:84::-;3737:7;;;;;;;;;;;3723:21;;:10;:21;;;3715:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4340:10;;;;;;;;;;;4339:11;4326:10;;:24;;;;;;;;;;;;;;;;;;4274:84::o;3543:28::-;;;;;;;;;;;;;:::o;1646:104::-;1233:6;;;;;;;;;;;1219:20;;:10;:20;;;1211:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1734:8;1719:12;;:23;;;;;;;;;;;;;;;;;;1646:104;:::o;16483:339::-;16595:1;16577:20;;:6;:20;;;;16569:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16676:1;16657:21;;:7;:21;;;;16649:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16761:5;16730:11;:19;16742:6;16730:19;;;;;;;;;;;;;;;:28;16750:7;16730:28;;;;;;;;;;;;;;;:36;;;;16799:7;16782:32;;16791:6;16782:32;;;16808:5;16782:32;;;;;;;;;;;;;;;;;;16483:339;;;:::o;17932:474::-;18027:1;18008:21;;:7;:21;;;;18000:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18095:1;18086:6;:10;18078:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18199:6;18169:26;18187:7;18169:17;:26::i;:::-;:36;;18161:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18269:28;18281:7;18290:6;18269:11;:28::i;:::-;;18329:30;18352:6;18329:9;:18;18339:7;18329:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;18308:9;:18;18318:7;18308:18;;;;;;;;;;;;;;;:51;;;;18382:7;18377:21;;;18391:6;18377:21;;;;;;;;;;;;;;;;;;17932:474;;:::o;18414:305::-;18515:1;18496:21;;:7;:21;;;;18488:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18590:24;18607:6;18590:12;;:16;;:24;;;;:::i;:::-;18575:12;:39;;;;18625:28;18637:7;18646:6;18625:11;:28::i;:::-;;18697:4;18671:40;;18680:7;18671:40;;;18704:6;18671:40;;;;;;;;;;;;;;;;;;18414:305;;:::o;15259:429::-;15375:1;15357:20;;:6;:20;;;;15349:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15459:1;15438:23;;:9;:23;;;;15430:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15534:29;15556:6;15534:9;:17;15544:6;15534:17;;;;;;;;;;;;;;;;:21;;:29;;;;:::i;:::-;15514:9;:17;15524:6;15514:17;;;;;;;;;;;;;;;:49;;;;15597:32;15622:6;15597:9;:20;15607:9;15597:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15574:9;:20;15584:9;15574:20;;;;;;;;;;;;;;;:55;;;;15662:9;15645:35;;15654:6;15645:35;;;15673:6;15645:35;;;;;;;;;;;;;;;;;;15259:429;;;:::o;243:184::-;301:7;334:1;329;:6;;321:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;381:9;397:1;393;:5;381:17;;418:1;411:8;;;243:184;;;;:::o;54:181::-;112:7;132:9;148:1;144;:5;132:17;;173:1;168;:6;;160:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;226:1;219:8;;;54:181;;;;:::o;15698:460::-;15793:1;15774:21;;:7;:21;;;;15766:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15869:4;15850:24;;:7;:24;;;;15842:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15942:1;15933:6;:10;15925:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16008:24;16025:6;16008:12;;:16;;:24;;;;:::i;:::-;15993:12;:39;;;;16064:30;16087:6;16064:9;:18;16074:7;16064:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;16043:9;:18;16053:7;16043:18;;;;;;;;;;;;;;;:51;;;;16134:7;16110:40;;16127:4;16110:40;;;16143:6;16110:40;;;;;;;;;;;;;;;;;;15698:460;;:::o;16166:309::-;16260:1;16241:21;;:7;:21;;;;16233:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16328:23;16345:5;16328:12;;:16;;:23;;;;:::i;:::-;16313:12;:38;;;;16383:29;16406:5;16383:9;:18;16393:7;16383:18;;;;;;;;;;;;;;;;:22;;:29;;;;:::i;:::-;16362:9;:18;16372:7;16362:18;;;;;;;;;;;;;;;:50;;;;16454:4;16428:39;;16437:7;16428:39;;;16461:5;16428:39;;;;;;;;;;;;;;;;;;16166:309;;:::o;17411:513::-;17512:1;17493:21;;:7;:21;;;;17485:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17595:4;17576:24;;:7;:24;;;;17568:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17675:1;17666:6;:10;17658:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17748:24;17765:6;17748:12;;:16;;:24;;;;:::i;:::-;17733:12;:39;;;;17814:7;17790:40;;17807:4;17790:40;;;17823:6;17790:40;;;;;;;;;;;;;;;;;;17843:28;17855:7;17864:6;17843:11;:28::i;:::-;;17900:7;17889:27;;;17909:6;17889:27;;;;;;;;;;;;;;;;;;17411:513;;:::o;958:125::-;1026:4;1050:15;:25;1066:8;1050:25;;;;;;;;;;;;;;;;1043:32;;958:125;;;:::o;16830:188::-;16902:22;16908:7;16917:6;16902:5;:22::i;:::-;16935:75;16944:7;16953:10;16965:44;17002:6;16965:11;:20;16977:7;16965:20;;;;;;;;;;;;;;;:32;16986:10;16965:32;;;;;;;;;;;;;;;;:36;;:44;;;;:::i;:::-;16935:8;:75::i;:::-;16830:188;;:::o;17026:377::-;17123:1;17104:21;;:7;:21;;;;17096:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17193:1;17184:6;:10;17176:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17285:30;17308:6;17285:9;:18;17295:7;17285:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;17264:9;:18;17274:7;17264:18;;;;;;;;;;;;;;;:51;;;;17326:28;17338:7;17347:6;17326:11;:28::i;:::-;;17379:7;17372:23;;;17388:6;17372:23;;;;;;;;;;;;;;;;;;17026:377;;:::o;763:187::-;837:4;882:38;912:7;882:15;:25;898:8;882:25;;;;;;;;;;;;;;;;:29;;:38;;;;:::i;:::-;854:15;:25;870:8;854:25;;;;;;;;;;;;;;;:66;;;;938:4;931:11;;763:187;;;;:::o;568:::-;642:4;687:38;717:7;687:15;:25;703:8;687:25;;;;;;;;;;;;;;;;:29;;:38;;;;:::i;:::-;659:15;:25;675:8;659:25;;;;;;;;;;;;;;;:66;;;;743:4;736:11;;568:187;;;;:::o

Swarm Source

bzzr://52ba0146aebbe59deaa3187e8a68b14bfa25685afb6ec743248d4b0cda16f73e
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.